Browse Source

RFQ 编辑模版

java8
han\hanst 2 months ago
parent
commit
946b670e2e
  1. 1
      src/api/part/quicklyCreateBom.js
  2. 131
      src/views/modules/part/part_create.vue

1
src/api/part/quicklyCreateBom.js

@ -17,6 +17,7 @@ export const resetNodePartInfo = data => createAPI(`/part/quicklyBom/resetNodePa
export const getPartInfoByNo = data => createAPI(`/part/quicklyBom/getPartInfoByNo`,'post',data)
export const saveMainPartInfo = data => createAPI(`/part/quicklyBom/saveMainPartInfo`,'post',data)
export const templateAdd = data => createAPI(`/part/quicklyBom/templateAdd`,'post',data)
export const templateUpdate = data => createAPI(`/part/quicklyBom/templateUpdate`,'post',data)
export const getTemplateList = data => createAPI(`/part/quicklyBom/getTemplateList`,'post',data)
export const chooseTemplate = data => createAPI(`/part/quicklyBom/chooseTemplate`,'post',data)
export const getBomAndRoutingRevision = data => createAPI(`/part/quicklyBom/getBomAndRoutingRevision`,'post',data)

131
src/views/modules/part/part_create.vue

@ -41,9 +41,11 @@
<el-option label="原材料" value="Purchased (raw)"></el-option>
</el-select>
</el-form-item>
<el-form-item label="模板(新增)">
<span style="cursor: pointer" slot="label" @click="handleTemplateAdd"><a herf="#">模板(新增)</a></span>
<el-select v-model="modalData.tempNo" @change="chooseTemplate" style="width: 105px">
<el-form-item>
<span slot="label">
模板(<span style="color: #409EFF;cursor: pointer;" @click="handleTemplateAdd">{{ modalData.tempNo ? '编辑' : '新增' }}</span>)
</span>
<el-select v-model="modalData.tempNo" clearable @change="chooseTemplate" style="width: 150px">
<el-option
v-for="option in templateList"
:key="option.templateNo"
@ -766,7 +768,7 @@
</el-footer>
</el-dialog>
<el-dialog :title="'模板新增'" top="18vh" :close-on-click-modal="false" v-drag :visible.sync="templateAddFlag" width="850px">
<el-dialog :title="templateEditMode ? '模板编辑' : '模板新增'" top="18vh" :close-on-click-modal="false" v-drag :visible.sync="templateAddFlag" width="850px">
<el-form :inline="true" :rules="tempRules" label-position="top" :model="tempData" style="margin-top: -5px;">
<el-form-item label="BU" prop="bu">
<el-select v-model="tempData.bu" placeholder="请选择" @change="getPreviousPartNo" style="width: 380px">
@ -883,7 +885,7 @@ import partUploadFile from "./part_upload_file"
import {updateInquiryDetailStatusAndPart} from "../../../api/inquiry/inquiryDetail";
import {EventBus} from "../../../main";
import {getChooselist1} from "../../../api/chooselist/chooselist";
import {chooseTemplate, getTemplateList, templateAdd} from "../../../api/part/quicklyCreateBom";
import {chooseTemplate, getTemplateList, templateAdd, templateUpdate} from "../../../api/part/quicklyCreateBom";
export default {
name: 'partCreate',
components: {
@ -1106,6 +1108,7 @@ export default {
copyAttributeList: [],
fileList: [],
templateList: [],
templateEditMode: false, // true=, false=
// ======== ========
columnList: [
{
@ -3470,12 +3473,31 @@ export default {
this.$message.warning("请填写模板名称!")
return
}
templateAdd(this.tempData).then(({data}) => {
// buNo bu
if (!this.tempData.buNo || this.tempData.buNo === '') {
// bu "site_buNo" buNo
if (this.tempData.bu && this.tempData.bu.includes('_')) {
this.tempData.buNo = this.tempData.bu.split('_')[1]
} else {
// bu buNo
this.tempData.buNo = this.tempData.bu
}
}
console.log('保存模板数据:', this.tempData)
console.log('保存模式:', this.templateEditMode ? '编辑' : '新增')
// API
const apiMethod = this.templateEditMode ? templateUpdate : templateAdd
const actionText = this.templateEditMode ? '更新' : '新增'
apiMethod(this.tempData).then(({data}) => {
if (data&&data.code===0){
this.getTemplateList()
this.templateAddFlag = false
this.$message({
message: '操作成功',
message: actionText + '成功',
type: 'success',
duration: 1500,
onClose: () => {}
@ -3485,6 +3507,8 @@ export default {
confirmButtonText: '确定'
})
}
}).catch(error => {
this.$message.error(actionText + '失败: ' + error.message)
})
},
@ -3498,10 +3522,14 @@ export default {
},
chooseTemplate(){
//
const selectedTempNo = this.modalData.tempNo
chooseTemplate(this.modalData).then(({data}) => {
if (data&&data.code===0) {
Object.keys(data.data).forEach(key => {
if (key !== 'templateNo') {
// templateNo tempNo
if (key !== 'templateNo' && key !== 'tempNo') {
this.modalData[key] = data.data[key];
}
});
@ -3511,6 +3539,9 @@ export default {
this.modalData.templateNo = data.data.bomTemplateNo
this.modalData.templateName = data.data.bomTemplateName
}
//
this.modalData.tempNo = selectedTempNo
}
})
},
@ -3536,8 +3567,88 @@ export default {
},
handleTemplateAdd() {
this.tempData.templateNo = 'TEMPLATE' + Date.now()
this.templateAddFlag = true
//
if (this.modalData.tempNo && this.modalData.tempNo !== '') {
//
this.templateEditMode = true
// templateList
const selectedTemplate = this.templateList.find(t => t.templateNo === this.modalData.tempNo)
const templateName = selectedTemplate ? selectedTemplate.templateName : ''
// API modalData
chooseTemplate(this.modalData).then(({data}) => {
console.log('获取模板数据返回:', data)
if (data && data.code === 0 && data.data) {
console.log('模板详情数据:', data.data)
// BU
let buValue = data.data.buNo || this.modalData.buNo || ''
let buNoValue = buValue
// buValue 线 "site_buNo"
if (buValue && buValue.includes('_')) {
buNoValue = buValue.split('_')[1]
}
// tempData
this.tempData = {
site: this.$store.state.user.site,
bu: buValue,
buNo: buNoValue,
templateNo: this.modalData.tempNo,
templateName: templateName || data.data.templateName || '',
umId: data.data.umId || '',
umName: data.data.umName || '',
familyId: data.data.familyId || '',
familyName: data.data.familyName || '',
productGroupId1: data.data.productGroupId1 || '',
productGroupName1: data.data.productGroupName1 || '',
productGroupId2: data.data.productGroupId2 || '',
productGroupName2: data.data.productGroupName2 || '',
productGroupId3: data.data.productGroupId3 || '',
productGroupName3: data.data.productGroupName3 || '',
codeNo: data.data.codeNo || '',
codeDesc: data.data.codeDesc || '',
bomTemplateNo: data.data.bomTemplateNo || '',
bomTemplateName: data.data.bomTemplateName || '',
}
console.log('填充到 tempData 的数据:', this.tempData)
this.templateAddFlag = true
} else {
console.error('获取模板数据失败,返回数据:', data)
this.$message.error('获取模板数据失败: ' + (data ? data.msg : '未知错误'))
}
}).catch(error => {
console.error('获取模板数据异常:', error)
this.$message.error('获取模板数据异常: ' + error.message)
})
} else {
//
this.templateEditMode = false
this.tempData = {
site: this.$store.state.user.site,
bu: '',
buNo: '',
templateNo: 'TEMPLATE' + Date.now(),
templateName: '',
umId: '',
umName: '',
familyId: '',
familyName: '',
productGroupId1: '',
productGroupName1: '',
productGroupId2: '',
productGroupName2: '',
productGroupId3: '',
productGroupName3: '',
codeNo: '',
codeDesc: '',
bomTemplateNo: '',
bomTemplateName: '',
}
this.templateAddFlag = true
}
}
}
}

Loading…
Cancel
Save