|
|
@ -320,17 +320,25 @@ |
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
|
|
|
|
|
|
<el-dialog :title="inquiryPartModalData.title" v-drag @close="closeInquiryPartSaveDataDialog" |
|
|
<el-dialog :title="inquiryPartModalData.title" v-drag @close="closeInquiryPartSaveDataDialog" |
|
|
:close-on-click-modal="false" top="10%" :visible.sync="inquiryPartModalFlag" width="422px"> |
|
|
|
|
|
|
|
|
:close-on-click-modal="false" top="10%" :visible.sync="inquiryPartModalFlag" width="526px"> |
|
|
<!-- @open="openInquiryPartSaveDataDialog"--> |
|
|
<!-- @open="openInquiryPartSaveDataDialog"--> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
<!-- <el-form-item prop="partNo" label="产品编码">--> |
|
|
|
|
|
<!-- <el-input v-model="inquiryPartModalData.partNo" disabled style="width: 128px;"></el-input>--> |
|
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
|
<el-form-item prop="partDesc" label="产品名称"> |
|
|
|
|
|
<el-input v-model="inquiryPartModalData.partDesc" style="width: 128px"></el-input> |
|
|
|
|
|
|
|
|
<el-form-item prop="partNo" :rules="inquiryPartRules.partNo"> |
|
|
|
|
|
<span v-if="noFlag === 'N' || !inquiryPartModalDisableFlag" style="cursor: pointer" slot="label" |
|
|
|
|
|
@click="getBaseList(2005)"><a |
|
|
|
|
|
herf="#">产品编码 |
|
|
|
|
|
</a></span> |
|
|
|
|
|
<span v-else style="cursor: pointer" slot="label">产品编码</span> |
|
|
|
|
|
<el-input v-model="inquiryPartModalData.partNo" :disabled="noFlag === 'Y' || inquiryPartModalDisableFlag" @blur="partNoBlur(2005)" |
|
|
|
|
|
style="width: 128px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="BU" prop="bu" :rules="inquiryPartRules.bu"> |
|
|
|
|
|
<el-select v-model="inquiryPartModalData.bu" placeholder="请选择" :disabled="inquiryPartModalDisableFlag" style="width: 118px"> |
|
|
|
|
|
|
|
|
<el-form-item prop="partDesc" label="产品名称" style="margin-left: -10px"> |
|
|
|
|
|
<el-input v-model="inquiryPartModalData.partDesc" :disabled="noFlag === 'N' || inquiryPartModalDisableFlag" |
|
|
|
|
|
style="width: 178px;"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="BU" prop="bu" :rules="inquiryPartRules.bu" style="margin-left: -10px"> |
|
|
|
|
|
<el-select v-model="inquiryPartModalData.bu" placeholder="请选择" :disabled="inquiryPartModalDisableFlag" |
|
|
|
|
|
style="width: 78px;"> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for = "i in userBuList" |
|
|
v-for = "i in userBuList" |
|
|
:key = "i.buNo" |
|
|
:key = "i.buNo" |
|
|
@ -339,8 +347,9 @@ |
|
|
</el-option> |
|
|
</el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="询价数量" prop="inquiryQty" :rules="inquiryPartRules.inquiryQty"> |
|
|
|
|
|
<el-input-number :controls="false" :step="0" v-model="inquiryPartModalData.inquiryQty" style="width: 118px;"></el-input-number> |
|
|
|
|
|
|
|
|
<el-form-item :label="' '"> |
|
|
|
|
|
<el-checkbox v-model="noFlag" true-label="Y" false-label="N" :disabled="inquiryPartModalDisableFlag">{{ '产品编码为' + ' ' + '*' |
|
|
|
|
|
}}</el-checkbox><br> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
@ -349,6 +358,10 @@ |
|
|
<el-input v-model="inquiryPartModalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input> |
|
|
<el-input v-model="inquiryPartModalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input> |
|
|
<el-input v-model="inquiryPartModalData.umName" disabled style="width: 260px"></el-input> |
|
|
<el-input v-model="inquiryPartModalData.umName" disabled style="width: 260px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="询价数量" prop="inquiryQty" :rules="inquiryPartRules.inquiryQty"> |
|
|
|
|
|
<el-input-number :controls="false" :step="0" v-model="inquiryPartModalData.inquiryQty" |
|
|
|
|
|
style="width: 90px;"></el-input-number> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="inquiryPartModalData" :rules="inquiryPartRules" style="margin-top: -5px;"> |
|
|
<el-form-item prop="codeNo" :rules="rules.codeNo"> |
|
|
<el-form-item prop="codeNo" :rules="rules.codeNo"> |
|
|
@ -509,6 +522,15 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
watch: { |
|
|
|
|
|
noFlag: { |
|
|
|
|
|
handler: function (newV, oldV) { |
|
|
|
|
|
if (this.noFlag === 'Y') { |
|
|
|
|
|
this.inquiryPartModalData.partNo = '*' |
|
|
|
|
|
} else { |
|
|
|
|
|
this.inquiryPartModalData.partNo = '' |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
searchData: { |
|
|
searchData: { |
|
|
deep: true, |
|
|
deep: true, |
|
|
handler: function (newV, oldV) { |
|
|
handler: function (newV, oldV) { |
|
|
@ -544,6 +566,7 @@ export default { |
|
|
copyPriceCheckDetail:{}, |
|
|
copyPriceCheckDetail:{}, |
|
|
loading:false, |
|
|
loading:false, |
|
|
attributeDialog:true, |
|
|
attributeDialog:true, |
|
|
|
|
|
noFlag:'Y', |
|
|
priceCheckRule: { |
|
|
priceCheckRule: { |
|
|
associatedPartNo:[{required: true, message: ' ', trigger: 'change'},], |
|
|
associatedPartNo:[{required: true, message: ' ', trigger: 'change'},], |
|
|
materialRequired:[{required: true, message: ' ', trigger: 'change'},], |
|
|
materialRequired:[{required: true, message: ' ', trigger: 'change'},], |
|
|
@ -2139,6 +2162,10 @@ export default { |
|
|
conSql = " and b.site = '" + this.$store.state.user.site + "'" |
|
|
conSql = " and b.site = '" + this.$store.state.user.site + "'" |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (val === 2005) { |
|
|
|
|
|
strVal = this.inquiryPartModalData.partNo ? this.inquiryPartModalData.partNo : '' |
|
|
|
|
|
conSql = " and a.site = '" + this.$store.state.user.site + "'" |
|
|
|
|
|
} |
|
|
this.$refs.baseList.init(val, strVal, conSql) |
|
|
this.$refs.baseList.init(val, strVal, conSql) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
@ -2190,6 +2217,10 @@ export default { |
|
|
this.modalData.requesterName = val.user_display |
|
|
this.modalData.requesterName = val.user_display |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (this.tagNo === 2005) { |
|
|
|
|
|
this.inquiryPartModalData.partNo = val.part_no |
|
|
|
|
|
this.inquiryPartModalData.partDesc = val.part_desc |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// ======== 询价产品相关方法 ======== |
|
|
// ======== 询价产品相关方法 ======== |
|
|
@ -2223,7 +2254,7 @@ export default { |
|
|
buNo: this.inquiryCurrentRow.buNo, |
|
|
buNo: this.inquiryCurrentRow.buNo, |
|
|
buDesc: this.inquiryCurrentRow.buDesc, |
|
|
buDesc: this.inquiryCurrentRow.buDesc, |
|
|
rfqId: this.inquiryCurrentRow.id, |
|
|
rfqId: this.inquiryCurrentRow.id, |
|
|
partNo: '', |
|
|
|
|
|
|
|
|
partNo: '*', |
|
|
partDesc: '', |
|
|
partDesc: '', |
|
|
inquiryQty: '', |
|
|
inquiryQty: '', |
|
|
umId: '', |
|
|
umId: '', |
|
|
@ -2240,6 +2271,13 @@ export default { |
|
|
async saveInquiryPartData() { |
|
|
async saveInquiryPartData() { |
|
|
await this.modelBlur(220) |
|
|
await this.modelBlur(220) |
|
|
await this.umIdBlur(510) |
|
|
await this.umIdBlur(510) |
|
|
|
|
|
if (this.noFlag === 'N'){ |
|
|
|
|
|
await this.partNoBlur(2005) |
|
|
|
|
|
} |
|
|
|
|
|
if (this.inquiryPartModalData.partNo === '' || this.inquiryPartModalData.partNo == null) { |
|
|
|
|
|
this.$message.warning('请输入产品编码!') |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
if (this.inquiryPartModalData.partDesc === '' || this.inquiryPartModalData.partDesc == null) { |
|
|
if (this.inquiryPartModalData.partDesc === '' || this.inquiryPartModalData.partDesc == null) { |
|
|
this.$message.warning('请输入产品描述!') |
|
|
this.$message.warning('请输入产品描述!') |
|
|
return |
|
|
return |
|
|
@ -2522,6 +2560,37 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
async partNoBlur(tagNo) { |
|
|
|
|
|
if (this.inquiryPartModalData.partNo != null && this.inquiryPartModalData.partNo !== '') { |
|
|
|
|
|
let tempData = { |
|
|
|
|
|
tagno: tagNo, |
|
|
|
|
|
conditionSql: " and a.part_no = '" + this.inquiryPartModalData.partNo + "'" + |
|
|
|
|
|
" and a.site = '" + this.inquiryPartModalData.bu.split('_')[0] + "'" |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// 返回 Promise |
|
|
|
|
|
return verifyData(tempData).then(({ data }) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
if (data.baseListData.length > 0) { |
|
|
|
|
|
this.inquiryPartModalData.partDesc = data.baseListData[0].part_desc; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.inquiryPartModalData.partDesc = ''; |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.warning(data.msg); |
|
|
|
|
|
this.inquiryPartModalData.partDesc = ''; |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
console.error(error); |
|
|
|
|
|
this.$message.error('校验失败,请重试'); |
|
|
|
|
|
this.inquiryPartModalData.partDesc = ''; |
|
|
|
|
|
}); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.inquiryPartModalData.partDesc = ''; |
|
|
|
|
|
return Promise.resolve(); // 如果 umId 为空,直接返回 resolved Promise |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// ======== 导出相关方法 ======== |
|
|
// ======== 导出相关方法 ======== |
|
|
/** |
|
|
/** |
|
|
* 导出excel |
|
|
* 导出excel |
|
|
@ -2686,6 +2755,7 @@ export default { |
|
|
remark: '', |
|
|
remark: '', |
|
|
createBy: '' |
|
|
createBy: '' |
|
|
} |
|
|
} |
|
|
|
|
|
this.noFlag = 'Y' |
|
|
this.inquiryPartModalFlag = false |
|
|
this.inquiryPartModalFlag = false |
|
|
}, |
|
|
}, |
|
|
rowStyle({row}) { |
|
|
rowStyle({row}) { |
|
|
|