Commit abefb734 by 肖康

Merge branch 'master' of http://119.23.72.7/xiaokang/cloudSystem

parents a7ef6fa9 cf90e32a
......@@ -15,7 +15,7 @@ export let NODE_ENVS = "/";
switch (envs) {
case 'development':
//开发环境
NODE_ENVS = 'http://192.168.2.164:8080';
NODE_ENVS = 'http://192.168.2.142:8080';
break;
case 'test':
//测试环境
......
.messagexk .message-box{background:#fff;padding:20px;height:calc(100vh - 136px)}.messagexk .message-box .h3{font-size:16px;color:#333;font-weight:bold;position:relative}.messagexk .message-box .h3::before{content:"";width:3px;height:100%;background:#1969F9;position:absolute;left:-20px;top:0px}.messagexk .message-box .el-form{float:left;padding-top:35px}.messagexk .message-box .el-form .el-form-item__label{color:#333}.messagexk .message-box .el-form .el-input{width:280px;color:#333}.messagexk .message-box .el-form .el-input.is-disabled .el-input__inner{background:#F1F4FA;border:1px solid #F1F4FA;color:#333}.messagexk .message-box .el-form .submits{margin-top:26px;cursor:pointer;width:76px;height:37px;line-height:37px;background:#1969F9;border-radius:2px;font-size:14px;color:#fff;text-align:center}.messagexk .message-box .el-form .submits:hover{background:#0050E0}.messagexk .message-box .up-box{position:relative;margin-left:90px;padding-top:37px}.messagexk .message-box .up-box .avatar-uploader{width:98px;height:34px;border-radius:2px;border:1px solid #BEC9DF;overflow:hidden;line-height:34px;font-size:14px;color:#646B78}.messagexk .message-box .up-box .avatar-uploader .iconfont{font-size:18px;position:relative;top:-1px;margin-left:10px}.messagexk .message-box .up-box .avatar-uploader:hover,.messagexk .message-box .up-box .avatar-uploader .el-upload--picture-card:hover,.messagexk .message-box .up-box .avatar-uploader .el-upload:focus{color:#1969F9 !important;border-color:#1969F9 !important}.messagexk .message-box .up-box .imspre{width:100px;height:100px;border-radius:50px;margin-bottom:16px}
\ No newline at end of file
.messagexk .message-box {
background: #fff;
padding: 20px;
height: calc(100vh - 136px);
}
.messagexk .message-box .h3 {
font-size: 16px;
color: #333;
font-weight: bold;
position: relative;
}
.messagexk .message-box .h3::before {
content: "";
width: 3px;
height: 100%;
background: #1969F9;
position: absolute;
left: -20px;
top: 0px;
}
.messagexk .message-box .el-form {
float: left;
padding-top: 35px;
}
.messagexk .message-box .el-form .el-form-item__label {
color: #333;
}
.messagexk .message-box .el-form .el-input {
width: 280px;
color: #333;
}
.messagexk .message-box .el-form .el-input.is-disabled .el-input__inner {
background: #F1F4FA;
border: 1px solid #F1F4FA;
color: #333;
}
.messagexk .message-box .el-form .submits {
margin-top: 26px;
cursor: pointer;
width: 76px;
height: 37px;
line-height: 37px;
background: #1969F9;
border-radius: 2px;
font-size: 14px;
color: #fff;
text-align: center;
}
.messagexk .message-box .el-form .submits:hover {
background: #0050E0;
}
.messagexk .message-box .up-box {
position: relative;
margin-left: 90px;
padding-top: 37px;
}
.messagexk .message-box .up-box .avatar-uploader {
width: 98px;
height: 34px;
border-radius: 2px;
border: 1px solid #BEC9DF;
overflow: hidden;
line-height: 34px;
font-size: 14px;
color: #646B78;
}
.messagexk .message-box .up-box .avatar-uploader .iconfont {
font-size: 18px;
position: relative;
top: -1px;
margin-left: 10px;
}
.messagexk .message-box .up-box .avatar-uploader:hover,
.messagexk .message-box .up-box .avatar-uploader .el-upload--picture-card:hover,
.messagexk .message-box .up-box .avatar-uploader .el-upload:focus {
color: #1969F9 !important;
border-color: #1969F9 !important;
}
.messagexk .message-box .up-box .imspre {
width: 100px;
height: 100px;
border-radius: 50px;
margin-bottom: 16px;
}
/*# sourceMappingURL=message.min.css.map */
\ No newline at end of file
{"version":3,"sources":["message.less"],"names":[],"mappings":"AAAA,UAEI;EACI,gBAAA;EACA,aAAA;EACA,QAAO,mBAAP;;AALR,UAEI,aAII;EACI,eAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;;AACA,UATR,aAII,IAKK;EACG,SAAQ,EAAR;EACA,UAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,QAAA;;AAlBhB,UAEI,aAmBI;EACI,WAAA;EAGA,iBAAA;;AAzBZ,UAEI,aAmBI,SAEI;EAAqB,WAAA;;AAvBjC,UAEI,aAmBI,SAGI;EAAU,YAAA;EAAY,WAAA;;AAxBlC,UAEI,aAmBI,SAKI,UAAS,YAAa;EAClB,mBAAA;EACA,yBAAA;EACA,WAAA;;AA7BhB,UAEI,aAmBI,SAUI;EACI,gBAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;;AACA,UAxCZ,aAmBI,SAUI,SAWK;EACG,mBAAA","file":"message.min.css"}
\ No newline at end of file
{"version":3,"sources":["message.less"],"names":[],"mappings":"AAAA,UAEI;EACI,gBAAA;EACA,aAAA;EACA,QAAO,mBAAP;;AALR,UAEI,aAII;EACI,eAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;;AACA,UATR,aAII,IAKK;EACG,SAAQ,EAAR;EACA,UAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,QAAA;;AAlBhB,UAEI,aAmBI;EACI,WAAA;EAGA,iBAAA;;AAzBZ,UAEI,aAmBI,SAEI;EAAqB,WAAA;;AAvBjC,UAEI,aAmBI,SAGI;EAAU,YAAA;EAAY,WAAA;;AAxBlC,UAEI,aAmBI,SAKI,UAAS,YAAa;EAClB,mBAAA;EACA,yBAAA;EACA,WAAA;;AA7BhB,UAEI,aAmBI,SAUI;EACI,gBAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;;AACA,UAxCZ,aAmBI,SAUI,SAWK;EACG,mBAAA;;AA3CpB,UAEI,aA6CI;EACI,kBAAA;EACA,iBAAA;EACA,iBAAA;;AAlDZ,UAEI,aA6CI,QAII;EACI,WAAA;EACA,YAAA;EACA,kBAAA;EACA,yBAAA;EACA,gBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;;AA3DhB,UAEI,aA6CI,QAII,iBASI;EAAU,eAAA;EAAgB,kBAAA;EAAmB,SAAA;EAAS,iBAAA;;AACtD,UA3DZ,aA6CI,QAII,iBAUK;AA7DjB,UAEI,aA6CI,QAII,iBAUY,CAAA,wBAAwB;AA7DhD,UAEI,aA6CI,QAII,iBAU4C,WAAU;EAC9C,cAAA;EACA,qBAAA;;AA/DpB,UAEI,aA6CI,QAmBI;EACI,YAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA","file":"message.min.css"}
\ No newline at end of file
......@@ -278,3 +278,25 @@
}
}
.price-more{
.more-search-btn{
width: 70px;
height: 26px;
background: #F1F4FA;
border-radius: 2px;
border: 1px solid #BEC9DF;
font-size: 12px;
color:#1969F9;
text-align: center;
transition: all 0.5s;
position: relative;
cursor: pointer;
&:hover{
border: 1px solid #1969F9;
}
}
}
\ No newline at end of file
......@@ -225,4 +225,20 @@
.xx .updatebox .selectdw .el-select .el-input__suffix {
display: none !important;
}
.price-more .more-search-btn {
width: 70px;
height: 26px;
background: #F1F4FA;
border-radius: 2px;
border: 1px solid #BEC9DF;
font-size: 12px;
color: #1969F9;
text-align: center;
transition: all 0.5s;
position: relative;
cursor: pointer;
}
.price-more .more-search-btn:hover {
border: 1px solid #1969F9;
}
/*# sourceMappingURL=inquireDetail.min.css.map */
\ No newline at end of file
{"version":3,"sources":["inquireDetail.less"],"names":[],"mappings":"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","file":"inquireDetail.min.css"}
\ No newline at end of file
{"version":3,"sources":["inquireDetail.less"],"names":[],"mappings":"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","file":"inquireDetail.min.css"}
\ No newline at end of file
......@@ -213,7 +213,7 @@
} else {
this.$http('get', "/api/user/getuserinfo").then(res => {
this.userinfo = res.data;
if(res.data){
if (res.data) {
sessionStorage.setItem('userInfox', JSON.stringify(res.data));
}
......@@ -301,13 +301,9 @@
logout() {
this.$http('post', "/auth/logout").then(res => {
Util.delCookie('token');
if (res.err_code === 0) {
window.location.href = '/#/login';
sessionStorage.removeItem('userInfox')
history.go(0);
} else {
Message(res.err_msg);
}
}).catch(err => {
console.log(err.message);
})
......
......@@ -3,13 +3,10 @@
<div class="store-con">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="型号">
<el-input v-model="formInline.goods_name" placeholder="请输入型号"></el-input>
<el-autocomplete v-model="formInline.goods_name" :trigger-on-focus="false" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" @select="handleSelectGoodsName" ></el-autocomplete>
</el-form-item>
<el-form-item label="品牌">
<el-select v-model="formInline.brand" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
<el-autocomplete v-model="formInline.brand_name" :trigger-on-focus="false" :fetch-suggestions="querySearchAsync2" placeholder="请输入品牌" @select="handleSelectBrandName" ></el-autocomplete>
</el-form-item>
<el-form-item label="询价日期">
<el-date-picker v-model="formInline.date" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
......@@ -69,10 +66,11 @@
Message,
MessageBox,
Dialog,
Pagination
Pagination,
Autocomplete
} from 'element-ui'
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog);
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Autocomplete);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination);
export default {
......@@ -190,6 +188,42 @@
}
})
})
},
handleSelectGoodsName(item) {
this.formInline.goods_name=item.value
},
handleSelectBrandName(item){
this.formInline.brand_name=item.value;
this.formInline.brand_id=item.brand_id;
},
querySearchAsync(queryString, cb) {
this.$http('get', "/api/search/getspu", {
spu_name: this.formInline.goods_name
}).then(res => {
if (res.err_code == 0) {
var arrlist_=res.data||[];
var arr_=[]
for(var i=0;i<arrlist_.length;i++){
arr_.push({value:arrlist_[i]['spu_name']})
}
cb(arr_);
}
})
},
querySearchAsync2(queryString, cb) {
this.$http('get', "/api/search/getbrand", {
brand_name: this.formInline.brand_name
}).then(res => {
if (res.err_code == 0) {
var arrlist_=res.data||[];
this.brandList=[]
this.formInline.brand_id=""
for(var i=0;i<arrlist_.length;i++){
this.brandList.push({value:arrlist_[i]['brand_name'],brand_id:arrlist_[i]['brand_id']})
}
cb(this.brandList);
}
})
}
},
components: {
......
......@@ -28,7 +28,7 @@
<p class="tit">询价信息</p>
<div class="btn-nav clr">
<div class="fl dcg" @click="added" style="margin-left: 0px;">新增</div>
<div class="fl dcg updatex">修改</div>
<div class="fl dcg updatex" @click="modify">修改</div>
<div class="fl dcg delbtn" @click="del">删除</div>
</div>
<div class="data-box th-all">
......@@ -73,41 +73,115 @@
<div class="assistant">
<i class="ic"></i>
<ul class="tab row verCenter">
<li class="boxsiz row rowCenter verCenter curr">匹配库存</li>
<li class="boxsiz row rowCenter verCenter">历史报价</li>
<li @click="tab(index)" class="boxsiz row rowCenter verCenter" :class="{'curr':active==index}" v-for="(item,index) in textArr" :key="index">{{item}}</li>
</ul>
<div class="data-box th-all">
<el-table :data="quote_list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column prop="inquiry_sn" label="询价单号" min-width="10%"></el-table-column>
<el-table-column prop="goods_name" label="型号" min-width="10%"></el-table-column>
<el-table-column prop="brand_name" label="品牌" min-width="10%"></el-table-column>
<el-table-column prop="inquiry_number" label="数量" min-width="10%"></el-table-column>
<el-table-column prop="batch" label="批次" min-width="10%"></el-table-column>
<el-table-column prop="delivery_time" label="交货日期" min-width="10%"></el-table-column>
<el-table-column prop="i_status" label="状态" min-width="10%">
<template v-if="active==0">
<el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed prop="goods_name" label="型号" width="180">
</el-table-column>
<el-table-column fixed prop="goods_sn" label="供应商内部型号编码" width="180">
</el-table-column>
<el-table-column fixed prop="brand_name" label="品牌" width="180">
</el-table-column>
<el-table-column prop="batch_sn" label="封装" width="180">
</el-table-column>
<el-table-column prop="moq" label="起订量" width="150">
</el-table-column>
<el-table-column prop="mpq" label="标准包装量" width="150">
</el-table-column>
<el-table-column prop="stock" label="库存数量" width="150">
</el-table-column>
<el-table-column prop="cn_ladder_price" label="国内含税价(¥)" width="140">
<template slot-scope="scope" v-if="scope.row.cn_ladder_price&&scope.row.cn_ladder_price.length>0">
<div class="price-more">
<el-tooltip placement="bottom" effect="light">
<div slot="content">
<div class="boxxrth2021">
<p class="clr" v-for="item in scope.row.cn_ladder_price">
<span class="fl">{{item.purchases}}+</span>
<span class="fl">&yen;{{item.price}}</span>
</p>
</div>
</div>
<div class="more-search-btn">查看更多</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column prop="hk_ladder_price" label="香港交货价($)" width="150">
<template slot-scope="scope" v-if="scope.row.hk_ladder_price&&scope.row.hk_ladder_price.length>0">
<div class="price-more">
<el-tooltip placement="bottom" effect="light">
<div slot="content">
<div class="boxxrth2021">
<p class="clr" v-for="item in scope.row.hk_ladder_price">
<span class="fl">{{item.purchases}}+</span>
<span class="fl">&yen;{{item.price}}</span>
</p>
</div>
</div>
<div class="more-search-btn">查看更多</div>
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column prop="cn_delivery_time" label="大陆交期" width="150">
</el-table-column>
<el-table-column prop="hk_delivery_time" label="香港交期" width="150">
</el-table-column>
<el-table-column prop="goods_status" label="状态" width="150">
<template slot-scope="scope">
<span v-if="scope.row.goods_status==1" class="f-green">上架</span>
<span v-else-if="scope.row.goods_status==3">下架</span>
</template>
</el-table-column>
</el-table>
<el-pagination layout="prev, pager, next,jumper" :page-size="limit" :total="total" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</template>
<template v-else-if="active==1">
<el-table :data="historyList" border style="width: 100%">
<el-table-column prop="goods_name" label="报价型号" width="200"></el-table-column>
<el-table-column prop="brand_name" label="报价品牌" width="200"></el-table-column>
<el-table-column prop="status" label="状态" min-width="100">
<template slot-scope="scope">
<span v-if="scope.row.i_status==2" class="f-green">已报价</span>
<span v-else-if="scope.row.i_status==1" class="f-yellow1">待报价</span>
<span v-else-if="scope.row.i_status==9">已删除</span>
<span v-else-if="scope.row.i_status==-1" class="f-red1">已关闭</span>
<span v-if="scope.row.status==2" class="f-green">已报价</span>
<span v-else-if="scope.row.status==1" class="f-yellow1">待报价</span>
<span v-else-if="scope.row.status==9">已删除</span>
<span v-else-if="scope.row.status==-1" class="f-red1">已关闭</span>
</template>
</el-table-column>
<el-table-column prop="quote_num" label="报价数" min-width="10%"></el-table-column>
<el-table-column prop="create_time" label="报价时间" min-width="10%"></el-table-column>
<el-table-column prop="" label="是否有效" width="100"></el-table-column>
<el-table-column prop="price_origin" label="价格" width="100"></el-table-column>
<el-table-column prop="currency" label="币种" width="100"></el-table-column>
<el-table-column prop="tax_rate" label="税率" width="100"></el-table-column>
<el-table-column prop="batch" label="批次" width="100"></el-table-column>
<el-table-column prop="delivery_time" label="货期" width="100"></el-table-column>
<el-table-column prop="mpq" label="最小包装数量" width="100"></el-table-column>
<el-table-column prop="moq" label="起订量" width="100"></el-table-column>
<el-table-column prop="price_other" label="其他费用" width="200"></el-table-column>
<el-table-column prop="expire_time" label="报价有效期" width="200"></el-table-column>
<el-table-column prop="remark" label="备注" width="200"></el-table-column>
<el-table-column prop="create_time" label="最近报价时间" width="200"></el-table-column>
<el-table-column prop="expire_time" label="型号" width="100"></el-table-column>
<el-table-column prop="expire_time" label="品牌" width="100"></el-table-column>
<el-table-column prop="inquiry_sn" label="询价单号" width="200"></el-table-column>
</el-table>
<el-pagination layout="prev, pager, next,jumper" :page-size="limit" :total="total" @current-change="handleCurrentChange" :current-page="page"></el-pagination>
</template>
</div>
</div>
<!--新增弹窗-->
<el-dialog title="新增" :visible.sync="dialogVisible" width="656px" class="xx">
<el-dialog :title="title" :visible.sync="dialogVisible" width="656px" class="xx">
<div class="dialog-form">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<div class="row bothSide">
<div class="box">
<el-form-item label="报价型号" prop="goods_name">
<el-input v-model="ruleForm.goods_name" placeholder="请输入型号"></el-input>
<el-input v-model="ruleForm.goods_name" :disabled="isModify" placeholder="请输入型号" :value="ruleForm.goods_name"></el-input>
</el-form-item>
<el-form-item label="报价数量" prop="quote_number">
<el-input v-model="ruleForm.quote_number" placeholder="请输入数量"></el-input>
<el-input v-model="ruleForm.quote_number" placeholder="请输入数量" :value="ruleForm.quote_number"></el-input>
</el-form-item>
<el-form-item label="币种">
<el-select v-model="ruleForm.currency" @change="currentChange">
......@@ -116,13 +190,13 @@
</el-select>
</el-form-item>
<el-form-item label="批次" prop="batch">
<el-input v-model="ruleForm.batch" placeholder="请输入D/C"></el-input>
<el-input v-model="ruleForm.batch" placeholder="请输入D/C" :value="ruleForm.batch"></el-input>
</el-form-item>
<el-form-item label="最小包装数量">
<el-input v-model="ruleForm.mpq" placeholder="请输入MPQ"></el-input>
<el-input v-model="ruleForm.mpq" placeholder="请输入MPQ" :value="ruleForm.mpq"></el-input>
</el-form-item>
<el-form-item label="其他费用" class="updatebox">
<el-input placeholder="" v-model="ruleForm.price_other" placeholder="请输入其他费用"></el-input>
<el-input placeholder="" v-model="ruleForm.price_other" placeholder="请输入其他费用" :value="ruleForm.price_other"></el-input>
<div class="selectdw">
<el-select v-model="ruleForm.unit" placeholder="RGB" class="placehoload">
<el-option label="RGB" value="RGB"></el-option>
......@@ -133,25 +207,25 @@
</div>
<div class="box">
<el-form-item label="报价品牌" prop="brand_s">
<el-input v-model="ruleForm.brand_s" placeholder="请输入品牌"></el-input>
<el-autocomplete :disabled="isModify" :value="ruleForm.brand" v-model="ruleForm.brand" :trigger-on-focus="true" :fetch-suggestions="querySearchAsync" placeholder="请输入品牌" @select="handleSelectBrandName"></el-autocomplete>
</el-form-item>
<el-form-item label="价格" prop="price_origin">
<el-input v-model="ruleForm.price_origin" placeholder="请输入价格"></el-input>
<el-input v-model="ruleForm.price_origin" placeholder="请输入价格" :value="ruleForm.price_origin"></el-input>
</el-form-item>
<el-form-item label="税率">
<el-input disabled v-model="ruleForm.tax_rate" style="width: 100px"></el-input>
<el-input disabled v-model="ruleForm.tax_rate" style="width: 100px" :value="ruleForm.tax_rate"></el-input>
</el-form-item>
<el-form-item label="货期" prop="delivery_time" class="updatebox">
<el-input placeholder="" v-model="ruleForm.delivery_time"></el-input>
<el-form-item label="货期" prop="delivery_time_val" class="updatebox">
<el-input placeholder="" v-model="ruleForm.delivery_time_val" :value="ruleForm.delivery_time" onkeyup="this.value = this.value.replace(/[^\d]/g,'');" @keyup.native="keyup(ruleForm.delivery_time_val)"></el-input>
<div class="selectdw">
<el-select v-model="ruleForm.dlhqdw" placeholder="天" class="placehoload">
<el-select v-model="ruleForm.delivery_time_unit" placeholder="天" class="placehoload" @change="unitChange">
<el-option label="天" value="天"></el-option>
<el-option label="周" value="周"></el-option>
</el-select>
</div>
</el-form-item>
<el-form-item label="起订量">
<el-input v-model="ruleForm.moq" placeholder="请输入起订量"></el-input>
<el-input v-model="ruleForm.moq" placeholder="请输入起订量" :value="ruleForm.moq"></el-input>
</el-form-item>
<el-form-item label="报价有效期" prop="expire_time">
<el-date-picker type="date" placeholder="选择报价有效期" v-model="ruleForm.expire_time"></el-date-picker>
......@@ -190,25 +264,37 @@
Message,
MessageBox,
Dialog,
Pagination
Pagination,
Autocomplete,
Loading,
Tooltip
} from 'element-ui'
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog);
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Autocomplete).use(Loading).use(Tooltip);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination);
export default {
name: "InquireDetail",
data() {
return {
active: 0,
total: 0,
limit: 1,
limit: 2,
page: 1,
tableData: [],
multipleSelection: [],
quote_info: {},
inquiry_info: {},
quote_list: [],
title: '新增',
isModify: false,
tableData: [],
historyList: [],
ruleForm: {
inquiry_id: '',
inquiry_sn: '',
inquiry_items_id: '',
quote_id: '',
goods_name: '',
quote_number: '',
currency: '1',
......@@ -216,11 +302,13 @@
mpq: '',
price_other: '',
unit: '',
brand: '',
brand_s: '',
price_origin: '',
tax_rate: '13%',
delivery_time: '',
dlhqdw: '',
delivery_time_val: '',
delivery_time_unit: '天',
moq: '',
expire_time: '',
remark: ''
......@@ -238,41 +326,80 @@
batch: [
{required: true, message: '请输入批次', trigger: 'blur'}
],
brand_s: [
{required: true, message: '请选择报价品牌', trigger: 'blur'}
brand: [
{required: true, message: '请选择报价品牌'}
],
price_origin: [
{required: true, message: '请输入价格', trigger: 'blur'},
{type: 'number', message: '价格必须为纯数字'}
],
delivery_time: [
delivery_time_val: [
{required: true, message: '请输入货期', trigger: 'blur'}
],
expire_time: [
{required: true, message: '请输入报价有效期', trigger: 'blur'}
]
},
dialogVisible: true
dialogVisible: false,
brandList: [],
textArr: ['匹配库存', '历史报价']
};
},
watch: {},
created() {
this.getData();
},
methods: {
getData() {
console.log(this.$route)
this.$http('get', "/api/inquiry/detail", {
inquiry_item_id: this.$route.query.id
}).then(res => {
if (res.err_code === 0) {
this.inquiry_info = res.data.inquiry_info;
this.quote_list = res.data.quote_list;
this.ruleForm.inquiry_sn = res.data.inquiry_info.inquiry_sn;
this.ruleForm.inquiry_id = res.data.inquiry_info.inquiry_id;
this.ruleForm.inquiry_items_id = res.data.inquiry_info.id;
this.getSkulist();
} else {
Message(res.err_msg);
}
});
},
getSkulist() {
this.$http('get', "/api/sku/list", {
brand_id: this.inquiry_info.brand_id,
goods_name: this.inquiry_info.goods_name,
goods_status: 1,
}).then(res => {
if (res.err_code === 0) {
this.tableData = res.data.list || [];
this.total = Number(res.data.count) || 0;
} else {
Message(res.err_msg);
}
})
},
getHistory() {
this.$http('get', "/api/quote/history", {
page: this.page,
limit: this.limit,
goods_name: this.inquiry_info.goods_name,
brand_name: this.inquiry_info.brand_name,
inquiry_items_id: this.$route.query.id
}).then(res => {
if (res.err_code === 0) {
this.total = res.data.total;
this.historyList = res.data.list || [];
} else {
Message(res.err_msg);
}
})
},
handleCurrentChange(val) {
this.page = val;
this.getHistory();
},
onSubmit() {
this.page = 1;
this.getData();
......@@ -280,8 +407,33 @@
handleSelectionChange(val) {
this.multipleSelection = val;
},
added() {
this.dialogVisible = true;
tab(index) {
this.active = index;
this.page = 1;
if (index == 1) {
this.getHistory();
} else if (index == 1) {
this.getSkulist();
}
},
keyup(val) {
if (this.ruleForm.delivery_time_unit == '天') {
if (val >= 6) {
this.ruleForm.delivery_time_val = 6;
}
this.ruleForm.delivery_time = this.ruleForm.delivery_time_val;
} else if (this.ruleForm.delivery_time_unit == '周') {
this.ruleForm.delivery_time = this.ruleForm.delivery_time_val * 7;
}
},
unitChange(val) {
if (val == '周') {
this.ruleForm.delivery_time = this.ruleForm.delivery_time_val * 7;
} else {
this.ruleForm.delivery_time = this.ruleForm.delivery_time_val;
}
},
currentChange(val) {
if (val == 1) {
......@@ -293,13 +445,117 @@
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
let loadingInstance = Loading.service({
background: 'rgba(0, 0, 0, 0)'
});
this.$http('post', "/api/quote/save", this.ruleForm).then(res => {
if (res.err_code == 0) {
Message('保存成功');
setTimeout(() => {
window.location.reload();
}, 3000)
} else {
console.log('error submit!!');
Message(res.err_msg);
}
loadingInstance.close();
}).catch(err => {
loadingInstance.close();
});
} else {
console.log(this.ruleForm.delivery_time);
return false;
}
});
},
querySearchAsync(queryString, cb) {
this.$http('get', "/api/search/getbrand", {
brand_name: this.ruleForm.brand
}).then(res => {
if (res.err_code == 0) {
var arrlist_ = res.data || [];
this.brandList = [];
this.ruleForm.brand = "";
for (var i = 0; i < arrlist_.length; i++) {
this.brandList.push({value: arrlist_[i]['brand_name'], brand_id: arrlist_[i]['brand_id']})
}
cb(this.brandList);
}
})
},
handleSelectBrandName(item) {
let brand_ss = [{brand_id: '', brand_name: ''}];
brand_ss[0].brand_id = item.value;
brand_ss[0].brand_name = item.brand_id;
this.ruleForm.brand_s = JSON.stringify(brand_ss);
},
added() {
this.title = '新增';
this.dialogVisible = true;
this.isModify = false;
this.ruleForm.brand = '';
this.ruleForm.tax_rate = '13%';
this.ruleForm.moq = '';
this.ruleForm.mpq = '';
this.ruleForm.price_other = '';
this.ruleForm.quote_id = '';
this.$refs['ruleForm'].resetFields();
},
modify() {
var arr = [];
if (this.multipleSelection.length == 0) {
Message("请至少选择一条询价信息");
return;
}
if (this.multipleSelection.length > 1) {
Message("请选择一条询价信息");
return;
}
for (var i = 0; i < this.multipleSelection.length; i++) {
arr.push(this.multipleSelection[i]['id'])
}
this.title = '修改';
this.dialogVisible = true;
this.ruleForm.quote_id = arr.join(",");
this.isModify = true;
this.$http('get', "/api/quote/getinfo", {
id: arr.join(",")
}).then(res => {
if (res.err_code === 0) {
this.ruleForm.goods_name = res.data.quote_info.goods_name;
this.ruleForm.quote_number = res.data.quote_info.quote_number;
this.ruleForm.currency = res.data.quote_info.currency.toString();
this.ruleForm.batch = res.data.quote_info.batch;
this.ruleForm.mpq = res.data.quote_info.mpq;
this.ruleForm.price_other = res.data.quote_info.price_other;
this.ruleForm.unit = res.data.quote_info.unit;
this.ruleForm.brand = res.data.quote_info.brand_name;
this.ruleForm.brand_s = res.data.quote_info.brand_name;
this.ruleForm.price_origin = res.data.quote_info.price_origin;
this.ruleForm.tax_rate = res.data.quote_info.tax_rate;
this.ruleForm.delivery_time = res.data.quote_info.delivery_time;
this.ruleForm.delivery_time_val = this.ruleForm.delivery_time;
this.ruleForm.delivery_time_unit = '天'
this.ruleForm.moq = res.data.quote_info.moq;
this.ruleForm.expire_time = res.data.quote_info.expire_time;
this.ruleForm.remark = res.data.quote_info.remark;
let brand_ss = [{brand_id: '', brand_name: ''}];
brand_ss[0].brand_id = res.data.quote_info.brand_id;
brand_ss[0].brand_name = res.data.quote_info.brand_name;
this.ruleForm.brand_s = JSON.stringify(brand_ss);
} else {
Message(res.err_msg);
}
})
},
del() {
var arr = [];
if (this.multipleSelection.length == 0) {
......
......@@ -2,22 +2,17 @@
<section class="store pagex">
<div class="store-con">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="型号">
<el-input v-model="formInline.goods_name" placeholder="请输入型号"></el-input>
<el-form-item label="报价型号">
<el-autocomplete v-model="formInline.goods_name" :trigger-on-focus="false" :fetch-suggestions="querySearchAsync" placeholder="请输入型号" @select="handleSelectGoodsName"></el-autocomplete>
</el-form-item>
<el-form-item label="品牌">
<el-select v-model="formInline.brand" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="报价型号">
<el-input v-model="formInline.goods_name" placeholder="请输入型号"></el-input>
<el-autocomplete v-model="formInline.brand_name" :trigger-on-focus="false" :fetch-suggestions="querySearchAsync2" placeholder="请输入品牌" @select="handleSelectBrandName"></el-autocomplete>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="formInline.brand" placeholder="请选择">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="比价中" value="1"></el-option>
<el-option label="已确认" value="3"></el-option>
<el-option label="已成单" value="4"></el-option>
</el-select>
</el-form-item>
<div>
......@@ -47,6 +42,7 @@
<span v-if="scope.row.status==1" class="f-green">已报价</span>
<span v-else-if="scope.row.status==2" class="f-yellow1">已选中</span>
<span v-else-if="scope.row.status==3">已确认</span>
<span v-else-if="scope.row.status==4">已成单</span>
<span v-else-if="scope.row.status==5" class="f-red1">已关闭</span>
<span v-else-if="scope.row.status==9" class="f-red1">已删除</span>
<span v-else-if="scope.row.status==-1" class="f-red1">已撤销</span>
......@@ -91,10 +87,11 @@
Message,
MessageBox,
Dialog,
Pagination
Pagination,
Autocomplete
} from 'element-ui'
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog);
Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Autocomplete);
Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Pagination);
export default {
......@@ -109,7 +106,8 @@
formInline: {
goods_name: '',
brand: '',
date: ''
date: '',
status:''
}
};
},
......@@ -126,7 +124,8 @@
goods_name: this.formInline.goods_name,
brand: this.formInline.brand,
start_time: this.formInline.date[0],
end_time: this.formInline.date[1]
end_time: this.formInline.date[1],
status:this.formInline.status
}).then(res => {
if (res.err_code === 0) {
this.tableData = res.data.list || [];
......@@ -210,6 +209,42 @@
})
})
},
handleSelectGoodsName(item) {
this.formInline.goods_name = item.value
},
handleSelectBrandName(item) {
this.formInline.brand_name = item.value;
this.formInline.brand_id = item.brand_id;
},
querySearchAsync(queryString, cb) {
this.$http('get', "/api/search/getspu", {
spu_name: this.formInline.goods_name
}).then(res => {
if (res.err_code == 0) {
var arrlist_ = res.data || [];
var arr_ = []
for (var i = 0; i < arrlist_.length; i++) {
arr_.push({value: arrlist_[i]['spu_name']})
}
cb(arr_);
}
})
},
querySearchAsync2(queryString, cb) {
this.$http('get', "/api/search/getbrand", {
brand_name: this.formInline.brand_name
}).then(res => {
if (res.err_code == 0) {
var arrlist_ = res.data || [];
this.brandList = []
this.formInline.brand_id = ""
for (var i = 0; i < arrlist_.length; i++) {
this.brandList.push({value: arrlist_[i]['brand_name'], brand_id: arrlist_[i]['brand_id']})
}
cb(this.brandList);
}
})
}
},
components: {
Menu
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment