From 103b4575556d8c18a5707c162099070b82640554 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 17 十一月 2023 09:45:55 +0800 Subject: [PATCH] 车间订单客户附件bug解决 --- src/views/technology/completeproductstructure/completeproductstructure-form.vue | 1 src/views/plan/manufacturingorder/customerorder.vue | 307 +++++++++++++++++++++++++++++++++++++++++++++------ src/views/plan/manufacturingorder/productorder-form.vue | 22 ++- src/api/plan/manufacturingorder.js | 8 + src/views/plan/customerorder/customerorder-form.vue | 4 5 files changed, 291 insertions(+), 51 deletions(-) diff --git a/src/api/plan/manufacturingorder.js b/src/api/plan/manufacturingorder.js index cb98b76..e9b8d5d 100644 --- a/src/api/plan/manufacturingorder.js +++ b/src/api/plan/manufacturingorder.js @@ -80,6 +80,14 @@ }) } +export function getProcessConfigFile(obj) { + return request({ + url: '/mes/plan/customerOrder/processConfigFiles', + method: 'get', + params: obj + }) +} + export function checkOutTechnologyRouting(query) { return request({ url: '/mes/plan/manufacturingOrder/checkout', diff --git a/src/views/plan/customerorder/customerorder-form.vue b/src/views/plan/customerorder/customerorder-form.vue index 22b36b5..ec8dfc5 100644 --- a/src/views/plan/customerorder/customerorder-form.vue +++ b/src/views/plan/customerorder/customerorder-form.vue @@ -1299,9 +1299,6 @@ this.getConfigFiles() }, delProcessConfigFile(row) { - if (row.lineNumber !== this.dataForm.otcLineNo) { - this.$message.error('涓婁紶鏂囦欢琛屽彿涓庡綋鍓嶉攢鍞鍗曡鍙蜂笉涓�鑷达紝涓嶅厑璁稿垹闄�') - } else { this.$confirm('鏄惁鍒犻櫎宸ヨ壓閰嶇疆鏂囦欢', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', @@ -1314,7 +1311,6 @@ .then((data) => { this.getConfigFiles() }) - } }, downloadProcessConfigFile(row) { downloadProcessConfigFile( diff --git a/src/views/plan/manufacturingorder/customerorder.vue b/src/views/plan/manufacturingorder/customerorder.vue index 8cc4949..18f47fd 100644 --- a/src/views/plan/manufacturingorder/customerorder.vue +++ b/src/views/plan/manufacturingorder/customerorder.vue @@ -22,18 +22,18 @@ @keyup.enter.native="dataFormSubmit()" label-width="100px" class="l-mes productorder-order" - :disabled="!editable" > - <el-tabs type="border-card"> + <!-- :disabled="!editable" --> + <el-tabs type="border-card" @tab-click="downs" v-model="activeFileName"> <el-tab-pane label="涓昏" type="card"> <el-row> <el-col :span="12"> <el-form-item label="鍚屾鏁版嵁鏉ユ簮" prop="sourceId"> - <el-input - v-model="dataForm.sourceId" - placeholder="" - :disabled="!ediSource" - ></el-input> + <el-input + v-model="dataForm.sourceId == 0 ? '鍚屾' : '鎵嬪姩'" + placeholder="" + disabled + ></el-input> </el-form-item> </el-col> <el-col :span="12"> @@ -86,7 +86,7 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item label="琛屽彿" prop="coLineNo"> <el-input v-model="dataForm.coLineNo" @@ -94,7 +94,17 @@ :disabled="!ediSource" ></el-input> </el-form-item> - </el-col> + </el-col> --> + <el-col :span="6"> + <el-form-item label="浜у搧鍚嶇О" prop="productName"> + <el-input + v-model="dataForm.productName" + placeholder="" + disabled + > + </el-input> + </el-form-item> + </el-col> </el-row> <el-row> <el-col :span="12"> @@ -121,9 +131,9 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="鏈熸湜浜よ揣鏃堕棿" prop="wantedDeliveryDate"> + <el-form-item label="鏈熸湜浜よ揣鏃堕棿" prop="deliveryDate"> <el-date-picker - v-model="dataForm.wantedDeliveryDate" + v-model="dataForm.deliveryDate" style="width: 100%" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" @@ -132,7 +142,16 @@ </el-date-picker> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="12"> + <el-form-item label="宸ヨ壓鏂囦欢鍚嶇О" prop="docName"> + <el-input + v-model="dataForm.docName" + placeholder="" + disabled + ></el-input> + </el-form-item> + </el-col> + <!-- <el-col :span="12"> <el-form-item label="璁″垝浜よ揣鏃堕棿" prop="plannedDeliveryDate"> <el-date-picker v-model="dataForm.plannedDeliveryDate" @@ -143,13 +162,37 @@ > </el-date-picker> </el-form-item> - </el-col> + </el-col> --> </el-row> - <el-card + <el-row> + <el-col :span="24"> + <el-form-item label="璁㈠崟澶囨敞" prop="comment"> + <el-input + v-model="dataForm.comment" + placeholder="" + :disabled="!ediSource" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="浜у搧澶囨敞" prop="remark"> + <el-input + v-model="dataForm.remark" + placeholder="" + :disabled="!ediSource" + > + </el-input> + </el-form-item> + </el-col> + </el-row> + <!-- <el-card header="璁㈠崟鍙傛暟" shadow="never" class="productorder-order-param" - > + > --> <el-row> <el-form-item style="float:left;width: 50%" @@ -166,8 +209,33 @@ </el-row> </el-card> </el-tab-pane> - <el-tab-pane label="闄勪欢" type="card"> + <el-tab-pane label="闄勪欢" type="card" name="闄勪欢"> + <div style="display: flex;justify-content:flex-end;"> + <div></div> + </div> + <div + v-loading="progrecessFileLoading" + element-loading-text="璇风◢绛夛紝鏂囦欢涓婁紶涓�" + > <el-upload + drag + ref="upload" + action="/mes/plan/customerOrder/upload" + :auto-upload="true" + :headers="headers" + :before-upload="submitUpload" + :on-success="uploadSuccess" + :data="paramData" + :with-credentials="true" + :show-file-list="false" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em> + </div> + </el-upload> + </div> + <!-- <el-upload disabled action="" ref="upload" @@ -176,10 +244,93 @@ :on-preview="handlePreview" :with-credentials="true" > - </el-upload> + </el-upload> --> + <el-table :data="processConfigFileTableData" height="400px"> + <el-table-column + prop="orderNumber" + align="center" + label="璁㈠崟鍙�" + show-overflow-tooltip + > + </el-table-column> + <!-- <el-table-column prop="lineNumber" align="center" label="琛屽彿"> --> + <!-- </el-table-column> --> + <el-table-column + prop="originalFileName" + align="center" + label="鍘熸枃浠跺悕" + width="200" + > + </el-table-column> + <el-table-column prop="fileName" align="center" label="鏂囦欢鍚庣紑"> + </el-table-column> + <el-table-column prop="createUser" align="center" label="涓婁紶浜�"> + </el-table-column> + <el-table-column + prop="createTime" + align="center" + label="涓婁紶鏃堕棿" + show-overflow-tooltip + > + </el-table-column> + <el-table-column prop="updateUser" align="center" label="鏇存柊浜�"> + </el-table-column> + <el-table-column + prop="updateTime" + align="center" + label="鏇存柊鏃堕棿" + show-overflow-tooltip + > + </el-table-column> + <!-- <el-table-column align="center" label="鏄惁鍚屾宸ヨ壓閰嶇疆鍗�">--> + <!-- <template slot-scope="scope">--> + <!-- <el-switch--> + <!-- :value="scope.row.effectiveRange"--> + <!-- active-value="1"--> + <!-- inactive-value="0"--> + <!-- @input="handleInput(scope.row)"--> + <!-- :disabled="scope.row.lineNumber !== dataForm.otcLineNo"--> + <!-- />--> + <!-- </template>--> + <!-- </el-table-column>--> + <el-table-column fixed="right" align="center" label="鎿嶄綔"> + <template slot-scope="scope"> + <!-- <el-button + @click="synchronizeFile(scope.row)" + type="text" + size="small" + :disabled="scope.row.lineNumber !== dataForm.customerNo" + >鍚屾</el-button + > --> + <el-button + @click="delProcessConfigFile(scope.row)" + type="text" + size="small" + :disabled="scope.row.lineNumber !== dataForm.customerNo" + >鍒犻櫎</el-button + > + <el-button + @click="downloadProcessConfigFile(scope.row)" + type="text" + size="small" + >涓嬭浇</el-button + > + </template> + </el-table-column> + </el-table> </el-tab-pane> </el-tabs> </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="visible = false">鍙栨秷</el-button> + <el-button + type="primary" + :disabled="buttonDisable" + v-thinclick="`dataFormSubmit`" + v-if="editable" + >纭畾</el-button + > + </span> </el-tab-pane> </el-tabs> </template> @@ -196,11 +347,14 @@ addCustomerOrder, download, getCustomerOrder, + deleteProcessConfigFile, + downloadProcessConfigFile, putCustomerOrder } from '@/api/plan/customerorder' import { remote } from '@/api/admin/dict' import { validateSixDecimal } from '@/util/validate' -import { getCustomer } from '../../../api/plan/manufacturingorder' +import { getStore } from '@/util/store' +import { getCustomer,getProcessConfigFile } from '../../../api/plan/manufacturingorder' export default { props: { @@ -277,37 +431,71 @@ { validator: validateSixDecimal, trigger: 'blur' } ] }, + paramData: { + // range: '1', + orderNumber: '', + lineNumber: '' + }, + headers: { + Authorization: 'Bearer ' + getStore({ name: 'access_token' }) + }, units: [], coStates: [ + // { + // value: '01plan', + // label: '寰呰鍒�' + // }, + // { + // value: '03planed', + // label: '宸茶鍒�' + // }, + // { + // value: '02planing', + // label: '璁″垝涓�' + // }, + // { + // value: '04complete', + // label: '宸插畬鎴�' + // } + { + value: '01partUnCheck', + label: '闆朵欢寰呴��' + }, { - value: '01plan', + value: '02technologyUnCheck', + label: '宸ヨ壓鏂囦欢寰呴��' + }, + { + value: '03plan', label: '寰呰鍒�' }, { - value: '03planed', - label: '宸茶鍒�' + value: '04planed', + label: '宸蹭笅鍙�' }, { - value: '02planing', - label: '璁″垝涓�' + value: '05cancel', + label: '宸蹭綔搴�' }, { - value: '04complete', - label: '宸插畬鎴�' + value: '06unedit', + label: '璁㈠崟缂栬緫' } - ] + ], + processConfigFileTableData: [], + activeFileName: "" } }, computed: { - editable: function() { - if (!this.dataForm.id) { - return true - } - if (this.dataForm.id && this.dataForm.coState !== '04complete') { - return true - } - return false - }, + // editable: function() { + // if (!this.dataForm.id) { + // return true + // } + // if (this.dataForm.id && this.dataForm.coState !== '04complete') { + // return true + // } + // return false + // }, ediSource: function() { if (!this.dataForm.id) { return true @@ -360,8 +548,8 @@ } this.fileList = response.data.data.customerOrderAttachmentList this.orderParamList = response.data.data.orderParamList - - + //闄勪欢 + this.processConfigFileTableData = response.data.data.configFiles this.title = this.dataForm.customerName + this.dataForm.customerOrderNo }) @@ -371,6 +559,48 @@ this.$refs.tabs.currentName = '0' } }) + }, + submitUpload() { + this.paramData.orderNumber = this.dataForm.contractNo + this.paramData.lineNumber = this.dataForm.customerNo + this.progrecessFileLoading = true + }, + uploadSuccess() { + this.progrecessFileLoading = false + this.downs() + }, + //闄勪欢鐨勬煡璇� + downs(label, e){ + if(this.activeFileName=='闄勪欢'){ + console.log('1'); + getProcessConfigFile({ + orderNumber: this.dataForm.contractNo, + lineNumber: this.dataForm.customerNo + }).then((res)=>{ + this.processConfigFileTableData = res.data.data + }) + } + }, + downloadProcessConfigFile(row) { + downloadProcessConfigFile( + row.fileName, + row.bucketName, + row.originalFileName + ) + }, + delProcessConfigFile(row) { + this.$confirm('鏄惁鍒犻櫎宸ヨ壓閰嶇疆鏂囦欢', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + closeOnClickModal: false + }) + .then(function() { + return deleteProcessConfigFile(row.id) + }) + .then((data) => { + this.downs() + }) }, // 闄勪欢鐨勭偣鍑� handlePreview(file) { @@ -425,6 +655,9 @@ }, handleTabClick(tab, event) { this.init(parseInt(tab.name)) + if(tab.name){ + + } }, // 闆朵欢閫夋嫨 openPartDialog() { diff --git a/src/views/plan/manufacturingorder/productorder-form.vue b/src/views/plan/manufacturingorder/productorder-form.vue index 039af71..ba11120 100644 --- a/src/views/plan/manufacturingorder/productorder-form.vue +++ b/src/views/plan/manufacturingorder/productorder-form.vue @@ -638,17 +638,11 @@ </el-row> <el-row> <el-table - default-expand-all - :data="components" + :data="components[0]" @selection-change="structSelectionChange" - row-key="id" border - :tree-props="{ - children: 'children' - }" style="width: 100%" height="400px" - :default-sort="{ prop: 'index' }" > <el-table-column type="selection" width="40" fixed="left" /> <el-table-column @@ -1071,6 +1065,7 @@ data() { return { + componentsTable:[], typeOptions: [], paramTemplateSelArr: [], paramTemplateSelCol: 'operationTemplateNo', @@ -1232,6 +1227,7 @@ this.getBomTypeDbOptions() this.getManufactureAttrs('manufacture_attr_type') this.getSysParam(sysParam.IS_REPORT_OPERATION) + // console.log(this.components); }, watch: { 'dataForm.partId'(newValue, oldValue) { @@ -1245,7 +1241,11 @@ } } }, - + components(newVal,oldVal){ + console.log("鏂�",newVal); + console.log("鑰�",oldVal); + console.log(this.components); + }, currentRouting(newValue, oldValue) { if (newValue && newValue.id) { if (this.dataForm.id != null && this.dataForm.id !== 0) { @@ -1295,7 +1295,8 @@ if (newValue && newValue.id) { // 鏌ヨ浜у搧缁撴瀯瀵瑰簲鐨勭粍浠� getBom(newValue.id).then((response) => { - this.components = [response.data.data.tree] + console.log("鏌�",this.components); + // this.components = [response.data.data.tree] }) } }, @@ -1397,6 +1398,7 @@ }, // 鏌ヨ褰撳墠杞﹂棿璁㈠崟淇℃伅 getOrderInfo() { + let that=this getManufacturingOrder(this.dataForm.id).then((response) => { this.dataForm = response.data.data // 鎶婂伐鑹烘寕涓婂幓 @@ -1416,7 +1418,7 @@ } // 鎶婁骇鍝佺粨鏋勭粍浠舵寕涓婂幓 if (this.dataForm.bomRoot) { - this.components = [this.dataForm.bomRoot] + that.components = [this.dataForm.bomRoot] } }) }, diff --git a/src/views/technology/completeproductstructure/completeproductstructure-form.vue b/src/views/technology/completeproductstructure/completeproductstructure-form.vue index c821f69..74b5c07 100644 --- a/src/views/technology/completeproductstructure/completeproductstructure-form.vue +++ b/src/views/technology/completeproductstructure/completeproductstructure-form.vue @@ -134,6 +134,7 @@ <el-table-column label="闆朵欢鍚嶇О" prop="partName"></el-table-column> <el-table-column label="鍗曚綅" prop="unit"></el-table-column> <el-table-column label="鏁伴噺" prop="qpa"></el-table-column> + <el-table-column label="鐩樻暟" prop="discNum"></el-table-column> </el-table> <!-- <el-table class="tree-select-table" -- Gitblit v1.9.3