Commit a1018244 by LJM

css

parent d116efe8
......@@ -142,3 +142,148 @@
}
}
}
.xx {
.el-form-item__label {
white-space: nowrap;
}
.dialog-footer {
text-align: center !important;
}
.updatebox {
position: relative;
.selectdw {
width: 64px;
position: absolute;
top: 1px;
right: 2px;
.el-select {
width: 100%;
border-left: 1px solid #C0C4CC;
input {
border: 0px;
padding: 0px;
width: 100%;
height: 25px;
font-size: 14px;
color: #333;
text-align: center;
}
.el-input__prefix, .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;
&:hover {
border: 1px solid #1969F9;
}
}
}
.batch-layer {
width: 100%;
.batch-box {
flex: 0 0 33.3%;
border-bottom: 1px solid #eee;
.title {
width: 100%;
height: 30px;
border-bottom: 1px solid #eee;
i {
cursor: pointer;
}
}
.content {
padding-top: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
border-right: 1px solid #eee;
width: 100%;
.period-list {
height: 240px;
flex-wrap: wrap;
padding: 0 7px;
li {
width: 36px;
height: 30px;
line-height: 30px;
color: #666;
cursor: pointer;
font-size: 13px;
transition: all 0.4s ease-in-out;
&:hover, &.curr {
color: #FFF;
background-color: #409EFF;
}
}
}
.year-list {
height: 240px;
flex-wrap: wrap;
padding: 0 7px;
li {
flex: 0 0 33.3%;
height: 30px;
line-height: 30px;
color: #666;
cursor: pointer;
font-size: 13px;
margin: 10px 0;
transition: all 0.4s ease-in-out;
&:hover, &.curr {
color: #FFF;
background-color: #409EFF;
}
}
}
}
.footer-btn {
padding-right: 10px;
height: 44px;
justify-content: flex-end;
border-right: 1px solid #eee;
}
}
}
......@@ -113,4 +113,119 @@
.quote-con .price-mores .more-search-btn:hover {
color: #1969f9;
}
.xx .el-form-item__label {
white-space: nowrap;
}
.xx .dialog-footer {
text-align: center !important;
}
.xx .updatebox {
position: relative;
}
.xx .updatebox .selectdw {
width: 64px;
position: absolute;
top: 1px;
right: 2px;
}
.xx .updatebox .selectdw .el-select {
width: 100%;
border-left: 1px solid #C0C4CC;
}
.xx .updatebox .selectdw .el-select input {
border: 0px;
padding: 0px;
width: 100%;
height: 25px;
font-size: 14px;
color: #333;
text-align: center;
}
.xx .updatebox .selectdw .el-select .el-input__prefix,
.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;
}
.batch-layer {
width: 100%;
}
.batch-layer .batch-box {
flex: 0 0 33.3%;
border-bottom: 1px solid #eee;
}
.batch-layer .batch-box .title {
width: 100%;
height: 30px;
border-bottom: 1px solid #eee;
}
.batch-layer .batch-box .title i {
cursor: pointer;
}
.batch-layer .batch-box .content {
padding-top: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
border-right: 1px solid #eee;
width: 100%;
}
.batch-layer .batch-box .content .period-list {
height: 240px;
flex-wrap: wrap;
padding: 0 7px;
}
.batch-layer .batch-box .content .period-list li {
width: 36px;
height: 30px;
line-height: 30px;
color: #666;
cursor: pointer;
font-size: 13px;
transition: all 0.4s ease-in-out;
}
.batch-layer .batch-box .content .period-list li:hover,
.batch-layer .batch-box .content .period-list li.curr {
color: #FFF;
background-color: #409EFF;
}
.batch-layer .batch-box .content .year-list {
height: 240px;
flex-wrap: wrap;
padding: 0 7px;
}
.batch-layer .batch-box .content .year-list li {
flex: 0 0 33.3%;
height: 30px;
line-height: 30px;
color: #666;
cursor: pointer;
font-size: 13px;
margin: 10px 0;
transition: all 0.4s ease-in-out;
}
.batch-layer .batch-box .content .year-list li:hover,
.batch-layer .batch-box .content .year-list li.curr {
color: #FFF;
background-color: #409EFF;
}
.batch-layer .batch-box .footer-btn {
padding-right: 10px;
height: 44px;
justify-content: flex-end;
border-right: 1px solid #eee;
}
/*# sourceMappingURL=quote.min.css.map */
\ No newline at end of file
{"version":3,"sources":["quote.less"],"names":[],"mappings":"AAAA;EACE,mBAAA;EACA,kBAAA;EACA,aAAA;;AAHF,UAKE;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;;AAEA,UAXF,YAWG;EACC,mBAAA;;AAjBN,UAqBE;EACE,gBAAA;EACA,mBAAA;;AAvBJ,UAqBE,SAIE;EAEE,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,kBAAA;EACA,cAAA;EACA,eAAA;EACA,eAAA;EACA,WAAA;;AApCN,UAqBE,SAIE,QAaE;EACE,gBAAA;;AAGF,UArBJ,SAIE,QAiBG;EAEC,mBAAA;EACA,WAAA;;AA7CR,UAqBE,SA6BE;EACE,WAAA;EACA,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,mBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,oBAAA;;AAEA,UA1CJ,SA6BE,KAaG;EACC,mBAAA;EACA,eAAA;EACA,WAAA;;AAGF,UAhDJ,SA6BE,KAmBG;EACC,WAAA;EACA,gBAAA;;AAEA,UApDN,SA6BE,KAmBG,KAIE;EACC,mBAAA;EACA,cAAA;;AAIJ,UA1DJ,SA6BE,KA6BG;EACC,kBAAA;EACA,WAAA;EACA,8BAAA;;AAEA,UA/DN,SA6BE,KA6BG,IAKE;EACC,8BAAA;;AAIJ,UApEJ,SA6BE,KAuCG;EACC,yBAAA;EACA,mBAAA;EACA,cAAA;;AAEA,UAzEN,SA6BE,KAuCG,OAKE;EACC,mBAAA;EACA,WAAA;;AAhGV,UAsGE;EACE,kBAAA;;AAvGJ,UAsGE,WAGE;EACE,YAAA;EACA,WAAA;EAEA,kBAAA;EACA,QAAA;EACA,UAAA;;AA/GN,UAsGE,WAGE,UAQE;EACE,WAAA;EACA,8BAAA;;AAnHR,UAsGE,WAGE,UAQE,WAIE;EACE,WAAA;EACA,YAAA;EACA,YAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,kBAAA;;AA5HV,UAsGE,WAGE,UAQE,WAeE;AAhIR,UAsGE,WAGE,UAQE,WAeqB;EACjB,wBAAA;;AASJ,UAFJ,aACE,iBACG;EACC,cAAA","file":"quote.min.css"}
\ No newline at end of file
{"version":3,"sources":["quote.less"],"names":[],"mappings":"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","file":"quote.min.css"}
\ No newline at end of file
......@@ -364,7 +364,7 @@ export default {
let has_more = data.has_more;
let html = '';
if (has_more) {
html = '<P class="notify-text"><b>' + data.date + '</b><b>' + data.title + '</b><a class="alink" target="_blank" href="' + data.link + '">' + data.title_suffix + '</a><a style="margin-left: 8px" class="alink" target="_blank" href="' + data.link + '">更多>>></a></P>';
html = '<P class="notify-text"><b>' + data.date + '</b><b>' + data.title + '</b><a class="alink" target="_blank" href="' + data.link + '">' + data.title_suffix + '</a><a style="margin-left: 8px" class="alink" target="_blank" href="' + data.has_more + '">更多>>></a></P>';
} else {
html = '<P class="notify-text"><b>' + data.date + '</b><b>' + data.title + '</b><a class="alink" target="_blank" href="' + data.link + '">' + data.title_suffix + '</a></P>';
}
......
......@@ -41,10 +41,10 @@
</el-select>
</el-form-item>
<el-form-item label="询价时间">
<el-date-picker v-model="formParam.create_time" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-date-picker v-model="create_time_val" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item label="询价有效期">
<el-date-picker v-model="formParam.deadline_time" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-date-picker v-model="deadline_time_val" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
......@@ -550,6 +550,8 @@ export default {
trigger: 'blur'
}]
},
create_time_val: '',//询价时间
deadline_time_val: '',//询价有效期
formParam: {
inquiry_sn: '',//询价单号
goods_name: '',//型号
......@@ -573,12 +575,17 @@ export default {
methods: {
getData() {
//格式化时间
if (this.formParam.create_time) {
this.formParam.create_time = this.formParam.create_time[0] + '~' + this.formParam.create_time[1];
if (this.create_time_val) {
this.formParam.create_time = this.create_time_val[0] + '~' + this.create_time_val[1];
} else {
this.formParam.create_time = '';
}
if (this.formParam.deadline_time) {
this.formParam.deadline_time = this.formParam.deadline_time[0] + '~' + this.formParam.deadline_time[1];
if (this.deadline_time_val) {
this.formParam.deadline_time = this.deadline_time_val[0] + '~' + this.deadline_time_val[1];
} else {
this.formParam.deadline_time = '';
}
var params = Object.assign({}, {page: this.page}, {limit: this.limit}, this.formParam)
this.$http('get', "/api/inquiry/getlist", params).then(res => {
if (res.code === 0) {
......
......@@ -11,6 +11,7 @@
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="formParam.status" placeholder="请选择" clearable>
<el-option label="待确认" value="7"></el-option>
<el-option label="确认中" value="1"></el-option>
<el-option label="已选中" value="2"></el-option>
<el-option label="已成单" value="3"></el-option>
......@@ -18,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item label="最近报价时间">
<el-date-picker v-model="formParam.date" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-date-picker v-model="quote_time_val" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">搜索</el-button>
......@@ -30,7 +31,7 @@
<div class="operation-button row verCenter">
<el-button type="primary" @click="exportChange">导出</el-button>
<el-button type="primary" @click="close">关闭</el-button>
<el-button type="primary">修改</el-button>
<el-button type="primary" @click="update">修改</el-button>
</div>
<div class="text-tip row verCenter">
<i class="el-icon-warning"></i>
......@@ -41,8 +42,8 @@
<div class="data-box th-all">
<el-table :data="tableData" border max-height="600" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" width="40" align="center"></el-table-column>
<el-table-column prop="quote_sn" fixed="left" label="报价单号" width="200" align="center"></el-table-column>
<el-table-column prop="inquiry_goods_name" fixed="left" label="型号" width="200" align="center">
<el-table-column prop="quote_sn" label="报价单号" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="inquiry_goods_name" label="型号" width="200" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div class="price-mores">
<el-popover effect="light" trigger="hover" placement="bottom-start" popper-class="popper-class-box">
......@@ -73,12 +74,12 @@
</div>
</template>
</el-table-column>
<el-table-column prop="inquiry_brand_name" fixed="left" label="品牌" width="200" align="center"></el-table-column>
<el-table-column prop="inquiry_sn" label="询价单号" width="200" align="center"></el-table-column>
<el-table-column prop="quote_goods_name" label="报价型号" width="200" align="center"></el-table-column>
<el-table-column prop="quote_brand_name" label="报价品牌" width="200" align="center"></el-table-column>
<el-table-column prop="quote_goods_name" label="原因" width="100" align="center"></el-table-column>
<el-table-column prop="status" label="状态" width="100" align="center">
<el-table-column prop="inquiry_brand_name" label="品牌" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="inquiry_sn" label="询价单号" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="quote_goods_name" label="报价型号" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="quote_brand_name" label="报价品牌" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="unchecked_reason" label="原因" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="status" label="状态" width="100" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-tag type="primary" v-if="scope.row.quote_status == 1" disable-transitions>{{ scope.row.quote_status_val }}</el-tag>
<el-tag type="info" v-else-if="scope.row.quote_status == 2" disable-transitions>{{ scope.row.quote_status_val }}</el-tag>
......@@ -87,33 +88,26 @@
<el-tag type="primary" v-else>{{ scope.row.quote_status_val }}</el-tag>
<el-tooltip :aa="scope" class="item" effect="dark" placement="top-start">
<i class="el-icon-question" style="color:#ff7e11;margin-left:5px;cursor:pointer;font-size:16px;"></i>
<!--确认中-->
<div slot="content" v-if="scope.row.quote_status == 1">该条报价信息已推送到猎芯系统,等待猎芯客户确认</div>
<!--已选中-->
<div slot="content" v-if="scope.row.quote_status == 2">该条报价信息已被猎芯客户选中,等待下单中</div>
<!--已成单-->
<div slot="content" v-if="scope.row.quote_status == 3">该条报价信息已关闭(未下单)</div>
<!--已关闭-->
<div slot="content" v-if="scope.row.quote_status == 4">该条报价信息已被猎芯客户下单</div>
<div slot="content">{{ scope.row.status_tips }}</div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="expire_status_val" label="是否有效" width="100" align="center"></el-table-column>
<el-table-column prop="quote_number" label="报价数量" width="100" align="center"></el-table-column>
<el-table-column prop="price" label="价格" width="200" align="center"></el-table-column>
<el-table-column prop="currency_val" label="币种" width="100" align="center"></el-table-column>
<el-table-column prop="tax_rate" label="税率" width="100" align="center"></el-table-column>
<el-table-column prop="batch" label="批次" width="100" align="center"></el-table-column>
<el-table-column prop="delivery_time" label="货期" width="100" align="center"></el-table-column>
<el-table-column prop="mpq" label="最小包装数量" width="150" align="center"></el-table-column>
<el-table-column prop="moq" label="起订量" width="100" align="center"></el-table-column>
<el-table-column prop="price_other" label="其他费用" width="100" align="center">
<el-table-column prop="expire_status_val" label="是否有效" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="quote_number" label="报价数量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="price" label="价格" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="currency_val" label="币种" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="tax_rate" label="税率" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="batch" label="批次" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="delivery_time" label="货期" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="mpq" label="最小包装数量" width="150" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="moq" label="起订量" width="100" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="price_other" label="其他费用" width="100" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.price_other|floatZero }}</span>
</template>
</el-table-column>
<el-table-column prop="expire_time" label="报价有效期" width="200" align="center"></el-table-column>
<el-table-column prop="remark" label="备注" width="200" align="center"></el-table-column>
<el-table-column prop="expire_time" label="报价有效期" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="remark" label="备注" width="200" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="quote_time" label="最近报价时间" width="200" align="center"></el-table-column>
<el-table-column fixed="right" label="操作" width="110" align="center">
<template slot-scope="scope">
......@@ -132,6 +126,123 @@
<el-table-column prop="operator" label="操作人" min-width="150" align="center"></el-table-column>
</el-table>
</el-dialog>
<!--弹窗报价-->
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="dialogQuoteVisible" 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 zdypop">
<div class="box">
<el-form-item label="报价型号" prop="goods_name">
<el-input v-model="ruleForm.goods_name" placeholder="请输入型号" :value="ruleForm.goods_name" disabled></el-input>
</el-form-item>
<el-form-item label="报价数量" prop="quote_number">
<el-input v-model="ruleForm.quote_number" placeholder="请输入数量" :value="ruleForm.quote_number"></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model="ruleForm.currency" @change="currentChange">
<el-option label="RMB(人民币)" value="1"></el-option>
<el-option label="USD(美元)" value="2"></el-option>
<el-option label="HKD(港币)" value="3"></el-option>
<el-option label="EUR(欧元)" value="4"></el-option>
<el-option label="GBP(英磅)" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="批次" prop="batch">
<el-popover placement="bottom" width="800" trigger="click" v-model="visible">
<div class="row batch-layer">
<div class="batch-box verCenter">
<div class="title row bothSide verCenter">
<i class="el-icon-arrow-left" @click="prevChange"></i>
<span>年份</span>
<i class="el-icon-arrow-right" @click="nextChange"></i>
</div>
<div class="content row">
<ul class="row year-list">
<li class="row rowCenter verCenter" v-for="(v,indexY) in year" :class="{curr:yearIndex==indexY}" @click="tabChange(indexY,1)">{{ v }}年</li>
</ul>
</div>
<div class="footer-btn row verCenter">
<el-button size="mini" round @click="clear(1,index)">清空</el-button>
<el-button size="mini" round @click="confirm(1,year[yearIndex])">确定</el-button>
</div>
</div>
<div class="batch-box verCenter">
<div class="title row rowCenter verCenter">
<span>第一周期</span>
</div>
<div class="content row">
<ul class="row period-list">
<li class="row rowCenter verCenter" v-for="(v,indexY) in period" :class="{curr:periodIndex==indexY}" @click="tabChange(indexY,2)">{{ v }}</li>
</ul>
</div>
<div class="footer-btn row verCenter">
<el-button size="mini" round @click="clear(1,index)">清空</el-button>
<el-button size="mini" round @click="confirm(2,period[periodIndex])">确定</el-button>
</div>
</div>
<div class="batch-box verCenter">
<div class="title row rowCenter verCenter">
<span>第二周期</span>
</div>
<div class="content row">
<ul class="row period-list">
<li class="row rowCenter verCenter" v-for="(v,indexY) in period" :class="{curr:periodIndexTwo==indexY}" @click="tabChange(indexY,3)">{{ v }}</li>
</ul>
</div>
<div class="footer-btn row verCenter">
<el-button size="mini" round @click="clear(1,index)">清空</el-button>
<el-button size="mini" round @click="confirm(3,period[periodIndexTwo])">确定</el-button>
</div>
</div>
</div>
<el-input slot="reference" v-model="ruleForm.batch" placeholder="请输入D/C" :value="ruleForm.batch"></el-input>
</el-popover>
</el-form-item>
<el-form-item label="最小包装数量">
<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="" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" v-model="ruleForm.price_other" placeholder="请输入其他费用" :value="ruleForm.price_other"></el-input>
</el-form-item>
</div>
<div class="box">
<el-form-item label="报价品牌" prop="brand_name">
<el-input v-model="ruleForm.brand_name" placeholder="请输入品牌" :value="ruleForm.brand_name" disabled></el-input>
</el-form-item>
<el-form-item label="价格" prop="price_origin">
<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" :value="ruleForm.tax_rate">
</el-input>
</el-form-item>
<el-form-item label="货期" prop="delivery_int" class="updatebox">
<el-input placeholder="货期" v-model="ruleForm.delivery_int" :value="ruleForm.delivery_int"></el-input>
<div class="selectdw">
<el-select v-model="ruleForm.delivery_unit_val" placeholder="请选择" class="placehoload">
<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="请输入起订量" :value="ruleForm.moq"></el-input>
</el-form-item>
<el-form-item label="报价有效期" prop="expire_time">
<el-date-picker type="date" placeholder="选择报价有效期" value-format="yyyy-MM-dd" v-model="ruleForm.expire_time" :picker-options="pickerOptions"></el-date-picker>
</el-form-item>
</div>
</div>
<el-form-item label="备注">
<el-input type="textarea" v-model="ruleForm.remark" placeholder="请输入备注"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogQuoteVisible = false">取 消</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
......@@ -149,18 +260,91 @@ export default {
name: "quote",
data() {
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < (Date.now() - (24 * 60 * 60 * 1000));
}
},
title: '新增报价',
total: 0,
limit: 10,
page: 1,
tableData: [],
multipleSelection: [],
dialogVisible: false,
dialogQuoteVisible: false,
logs: [],
formParam: {
quote_time_val: "",//最近报价时间
yearIndex: -1,//年份
periodIndex: -1,//第一周期
periodIndexTwo: -1,//第二周期
pin_obj_id: '',//关联库存id
visible: false,
year: ['2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024'],
period: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54'],
ruleForm: {
inquiry_id: '',
inquiry_sn: '',
inquiry_items_id: '',
quote_id: '',
goods_name: '',
quote_number: '',
currency: '1',
batch: '',
mpq: '',
price_other: '',
brand_name: '',
price_origin: '',
tax_rate: '13%',
delivery_int: '',
delivery_unit_val: '工作日',
delivery_time: '',//delivery_int+delivery_unit_val
moq: '',
expire_time: '',
remark: ''
},
rules: {
goods_name: [{
required: true,
message: '请输入报价型号',
trigger: 'blur'
}],
quote_number: [{
required: true,
message: '请输入报价数量',
trigger: 'blur'
}],
currency: [{
required: true,
message: '请选择币种',
trigger: 'blur'
}],
batch: [{
required: true,
message: '请输入批次',
trigger: 'change'
}],
price_origin: [{
required: true,
message: '请输入价格',
trigger: 'blur'
},],
delivery_int: [{
required: true,
message: '请输入货期',
trigger: 'blur'
}],
expire_time: [{
required: true,
message: '请输入报价有效期',
trigger: 'blur'
}]
},
formParam: {
goods_name: "",
brand_name: "",
date: '',
status: ''
quote_time: "",
status: ""
}
};
},
......@@ -173,16 +357,14 @@ export default {
},
methods: {
getData() {
this.$http('get', "/api/quote/getlist", {
page: this.page,
limit: this.limit,
goods_name: this.formParam.goods_name,
brand_id: this.formParam.brand_id,
brand_name: this.formParam.brand_name,
start_time: this.formParam.date ? this.formParam.date[0] : '',
end_time: this.formParam.date ? this.formParam.date[1] : '',
status: this.formParam.status
}).then(res => {
//格式化时间
if (this.quote_time_val) {
this.formParam.quote_time = this.quote_time_val[0] + '~' + this.quote_time_val[1];
} else {
this.formParam.quote_time = '';
}
var params = Object.assign({}, {page: this.page}, {limit: this.limit}, this.formParam);
this.$http('get', "/api/quote/getlist", params).then(res => {
if (res.code === 0) {
this.tableData = res.data.list || [];
this.total = res.data.total;
......@@ -211,6 +393,235 @@ export default {
}
});
},
/**
* 格式化数据
* @param value
* @returns {number}
*/
float(value) {
let num = Number(value)
if (num) {
return num
} else {
return 0
}
},
/**
* 前进年份
*/
prevChange() {
this.yearIndex = -1;
let starYear = this.year[0];
let arr = [];
for (let i = 0; i < 15; i++) {
arr.push(starYear - (i + 1))
}
this.year = arr.sort();
},
/**
* 后退年份
*/
nextChange() {
this.yearIndex = -1;
let starYear = this.year[this.year.length - 1] * 1;
let arr = [];
for (let i = 0; i < 15; i++) {
arr.push(starYear + (i + 1))
}
this.year = arr;
},
/**
* 批次年月选择
* @param index
* @param type
*/
tabChange(index, type) {
if (type == 1) {
this.yearIndex = index;
} else if (type == 2) {
this.periodIndex = index;
} else if (type == 3) {
this.periodIndexTwo = index;
}
},
/**
* 批次关闭
* @param type
* @param index
*/
clear(type, index) {
this.visible = false;
this.ruleForm.batch = '';
},
/**
* 批次确定
* @param type
* @param val
* @param index
* @returns {boolean}
*/
confirm(type, val, index) {
if (this.yearIndex == -1) {
this.$message({
message: '请选择年份',
type: 'warning'
});
return false;
}
if (type == 1) {
val = val.toString();
val = val.substring(val.length - 2);
this.ruleForm.batch = val + '+';
} else if (type == 2) {
if (!val) {
this.$message({
message: '请选择第一周期',
type: 'warning'
});
return false;
}
let year = this.year[this.yearIndex].toString();
year = year.substring(year.length - 2);
this.ruleForm.batch = year + val;
} else if (type == 3) {
if (this.periodIndex == -1) {
this.$message({
message: '请选择第一周期',
type: 'warning'
});
return false;
}
if (!val) {
this.$message({
message: '请选择第二周期',
type: 'warning'
});
return false;
}
var one = parseInt(this.period[this.periodIndex]);
var two = parseInt(val);
if (two <= one) {
this.$message({
message: '不可小于第一周期',
type: 'warning'
});
return false;
}
let year = this.year[this.yearIndex].toString();
year = year.substring(year.length - 2);
let period = this.period[this.periodIndex].toString();
period = period.substring(period.length - 2);
val = val.toString();
val = val.substring(val.length - 2);
let prev = year + period;
let next = year + val;
this.ruleForm.batch = prev + '-' + next;
}
this.visible = false;
},
/**
* 税率切换
* @param val
*/
currentChange(val) {
if (val == 1) {
this.ruleForm.tax_rate = '13%';
} else {
this.ruleForm.tax_rate = '0%';
}
},
/**
*报价弹窗提交
* @param formName
*/
submitForm(formName) {
var that = this;
this.$refs[formName].validate((valid) => {
if (valid) {
var params = this.ruleForm;
//转化税率
if (params.tax_rate == '13%') {
params.tax_rate = 0.13;
} else {
params.tax_rate = 0;
}
this.ruleForm.delivery_time = this.ruleForm.delivery_int + this.ruleForm.delivery_unit_val; //拼接货期字段
this.$http('post', "/api/quote/save", params).then(res => {
if (res.code == 0) {
this.$message({
message: '操作成功',
type: 'success',
onClose() {
that.dialogQuoteVisible = false;
that.getData();
}
});
} else {
this.$message({
message: res.msg,
type: 'error'
});
}
}).catch(err => {
this.$message({
message: '网络出现问题',
type: 'error'
});
});
} else {
return false;
}
});
},
/**
* 修改
*/
update() {
if (this.multipleSelection.length != 1) {
this.$message({
showClose: true,
message: '请选择一条询价信息',
type: 'warning'
});
return;
}
var row=this.multipleSelection[0];
this.title = '修改报价';
this.dialogQuoteVisible = true;
this.ruleForm.inquiry_sn = row.inquiry_sn;
this.ruleForm.inquiry_id = row.inquiry_id;
this.ruleForm.inquiry_items_id = row.inquiry_items_id;
this.ruleForm.quote_id = row.quote_id; //编辑的时候需要
this.ruleForm.goods_name = row.quote_goods_name;//赋值型号
this.ruleForm.brand_name = row.quote_brand_name;//赋值品牌
this.ruleForm.quote_number = row.quote_number;//报价数量
row.price_origin = this.float(row.price_origin);//价格转换
this.ruleForm.price_origin = row.price_origin;//价格
this.ruleForm.currency = row.currency.toString();//币种
this.ruleForm.tax_rate = Number(row.tax_rate) * 100 + '%';//税率
this.ruleForm.batch = row.batch;//批次
this.ruleForm.delivery_int = row.delivery_info.delivery_int; //货期
this.ruleForm.delivery_unit_val = row.delivery_info.delivery_unit_val;//货期单位
this.ruleForm.mpq = row.mpq;//最小包装数量
this.ruleForm.moq = row.moq;//起订量
row.price_other = this.float(row.price_other);//其他费用
this.ruleForm.price_other = row.price_other;//其他费用
this.ruleForm.remark = row.remark;//备注
//报价有效期
if (row.expire_time_val == '0000-00-00 00:00:00') {
this.ruleForm.expire_time = '';
} else {
this.ruleForm.expire_time = row.expire_time_val;
}
},
handleClick(row) {
this.getLogs(505, row.quote_id);
console.log(row);
......
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