From f443b27dd9dcf5af1339439689531536e85836c7 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 12 三月 2024 15:55:48 +0800 Subject: [PATCH] 合并冲突 --- src/views/quality/rawMaterial/rawMaterial-form.vue | 23 src/views/quality/teststandard/standard-form.vue | 4 /dev/null | 71 --- src/views/quality/packageinspect/packageInspect-form.vue | 299 ++++++++++--- src/views/quality/teststandard/index.vue | 4 src/views/accounting/jmreport/index.vue | 70 +++ src/api/quality/attachment.js | 36 + src/views/plan/manufacturingorder/edit-order-operation.vue | 14 src/views/quality/finishedProductInspection/finishedProduct-form.vue | 347 +++++++++++----- src/views/quality/processInspect/processInspect-form.vue | 350 +++++++++++----- 10 files changed, 830 insertions(+), 388 deletions(-) diff --git a/src/api/quality/attachment.js b/src/api/quality/attachment.js new file mode 100644 index 0000000..04e27b2 --- /dev/null +++ b/src/api/quality/attachment.js @@ -0,0 +1,36 @@ +import request from '@/router/axios' + +export function getProcessConfigFiles(data) { + return request({ + url: '/mes/attachment/processConfigFiles', + method: 'get', + params: data + }) + } + + export function deleteProcessConfigFile(id) { + return request({ + url: '/mes/attachment/processConfigFile/'+id, + method: 'delete', + }) + } + + export function downloadProcessConfigFile(data) { + return request({ + url: '/mes/attachment/processConfig/'+data.bucket+'/'+data.fileName, + method: 'post', + responseType: 'blob' + }).then((response) => { + // 澶勭悊杩斿洖鐨勬枃浠舵祦 + const blob = response.data + const link = document.createElement('a') + link.href = URL.createObjectURL(blob) + link.download = data.originalFileName + document.body.appendChild(link) + link.click() + window.setTimeout(function() { + URL.revokeObjectURL(blob) + document.body.removeChild(link) + }, 0) + }) + } diff --git a/src/views/accounting/jmreport/index.vue b/src/views/accounting/jmreport/index.vue index 0d5f8ab..5837437 100644 --- a/src/views/accounting/jmreport/index.vue +++ b/src/views/accounting/jmreport/index.vue @@ -42,7 +42,7 @@ isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H isSearch: true, // 楂樼骇鏌ヨ鎸夐挳 defaultOrderBy: { column: 'createTime', direction: 'desc' }, - cancelRunCreated: true + cancelRunCreated: false }, table: { total: 0, @@ -53,9 +53,71 @@ column: [ { minWidth: '100', - width: '100px', - prop: 'contractNo', - label: '鍚堝悓缂栧彿', + prop: 'createTime', + label: '鐢熶骇鏃ユ湡', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'date', + }, + { + minWidth: '100', + prop: 'workShop', + label: '杞﹂棿', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'partName', + label: '鐢熶骇闆朵欢', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'partNo', + label: '鐢熶骇闆朵欢鍙�', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'staffName', + label: '鐢熶骇浜哄憳', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'workSum', + label: '鎶ュ伐鎬绘暟閲�', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'unit', + label: '鍗曚綅', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, + { + minWidth: '100', + prop: 'workTotal', + label: '鎶ュ伐鎬绘鏁�', sort: true, isTrue: true, isSearch: true, diff --git a/src/views/plan/manufacturingorder/edit-order-operation.vue b/src/views/plan/manufacturingorder/edit-order-operation.vue index 8ac91c1..d62cc04 100644 --- a/src/views/plan/manufacturingorder/edit-order-operation.vue +++ b/src/views/plan/manufacturingorder/edit-order-operation.vue @@ -46,7 +46,7 @@ style="width: 100%" > <el-option - v-for="item in isSpecialIns" + v-for="item in isSpecialInss" :key="item.id" :label="item.label" :value="item.value" @@ -167,10 +167,11 @@ return { innerVisible: false, workCenterOptions: [], - isSpecialIns: [{ label: '鏄�', value: true} ,{label: '鍚�', value: false }], + isSpecialInss: [{ label: '鏄�', value: true} ,{label: '鍚�', value: false }], dataForm: { id: 0, workCenter: null, + isSpecialIns: null, machRunFactor: 0, machSetupTime: 0, laborClassNo: null, @@ -211,7 +212,7 @@ }, methods: { saveSelectRow() { - this.$refs.operationDataForm.validate((valid) => { + /* this.$refs.operationDataForm.validate((valid) => { if (valid) { if ( this.dataForm.machRunFactor == 0 && @@ -250,11 +251,12 @@ } if (remindFlag) { this.$message.error(remindInfo) - } else { + } else { */ moRouringOperation(this.dataForm).then((response) => { const data = response.data if (data.code === 0) { this.currOrderOperation.workCenter = this.dataForm.workCenter + this.currOrderOperation.isSpecialIns = this.dataForm.isSpecialIns this.currOrderOperation.machRunFactor = this.dataForm.machRunFactor this.currOrderOperation.machSetupTime = @@ -276,10 +278,10 @@ this.$message.error('缂栬緫澶辫触') } }) - } + /* } } } - }) + }) */ }, // 鑾峰彇IFS浜哄伐绫诲埆鐨勬暟鎹瓧鍏� getLaborClassNo() { diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue index 10715eb..02135a1 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue @@ -99,112 +99,191 @@ </div> </el-form> </div> - <div class="finishedProduct-detail"> - <el-row style="width:100%;z-index: 10;height:30px;"> - <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col> - <el-col v-if="resultVal==null" :span="12" class="inspectionProject_span" style="text-align: right;"> - <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button> - <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> - </el-col> - </el-row> - <el-row style="width:100%;"> - <el-col :span="24"> - <el-table border :data="inspectionItems" height="400" - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" - :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all - style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> - <template scope="scope"> - <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> - </template> - </el-table-column> - <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140" ></el-table-column> - <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140" ></el-table-column> - <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140" ></el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�" width="140" show-overflow-tooltip ></el-table-column> - <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" - width="140" style="text-align: center;"> - <template slot-scope="scope"> - <el-col v-if="scope.row.itype === '1'"> - <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" - placement="top-start"> - <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span> - </el-tooltip> - </el-col> - <el-col v-else> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> - <el-option v-for="item in dataVal" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> + <div> + <el-tabs class="finishedProduct-detail" @tab-click="tabsClick"> + <el-tab-pane label="妫�楠岄」鐩�"> + <el-row> + <el-col v-if="resultVal==null" :span="24" class="inspectionProject_span" style="text-align: right;"> + <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-table border :data="inspectionItems" height="400" + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all + style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> + <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> + <template scope="scope"> + <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> + </template> + </el-table-column> + <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="required" label="鏍囧噯鍊�" width="140" show-overflow-tooltip ></el-table-column> + <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" + width="140" style="text-align: center;"> + <template slot-scope="scope"> + <el-col v-if="scope.row.itype === '1'"> + <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" + placement="top-start"> + <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span> + </el-tooltip> + </el-col> + <el-col v-else> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> + <el-option v-for="item in dataVal" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.empiricalValueAddss[index]"></span> + </el-tooltip> + </el-col> + </template> + </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> + <template slot-scope="scope"> + <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> + <div v-else> + <el-select style="width:60%" v-model="scope.row.eId" + v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)"> + <el-option v-for="(item,index) in deviceList" + :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> </el-select> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.empiricalValueAddss[index]"></span> - </el-tooltip> - </el-col> - </template> - </el-table-column> - <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> - <template slot-scope="scope"> - <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> - <div v-else> - <el-select style="width:60%" v-model="scope.row.eId" - v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)"> - <el-option v-for="(item,index) in deviceList" - :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> - </el-select> - <el-button - size="small" - slot="append" - icon="el-icon-full-screen" - v-if="scope.row.iname != null" - @click="codeDevice(scope.row,scope.$index)"></el-button> - </div> - </template> - </el-table-column> - <el-table-column prop="inspectionValue" - label="妫�楠屾弿杩�" width="140" style="text-align: center;"> - <template slot-scope="scope"> - <el-col v-if="scope.row.itype === '1'"> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-button + size="small" + slot="append" + icon="el-icon-full-screen" + v-if="scope.row.iname != null" + @click="codeDevice(scope.row,scope.$index)"></el-button> + </div> + </template> + </el-table-column> + <el-table-column prop="inspectionValue" + label="妫�楠屾弿杩�" width="140" style="text-align: center;"> + <template slot-scope="scope"> + <el-col v-if="scope.row.itype === '1'"> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-input :disabled="scope.row.eId == null" - v-model="scope.row.inote" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + <el-input :disabled="scope.row.eId == null" + v-model="scope.row.inote" + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.inote"></span> - </el-tooltip> - </el-col> - <el-col v-else> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-input :disabled="scope.row.eId == null" - v-model="scope.row.inote" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.inote"></span> - </el-tooltip> - </el-col> - </template> - </el-table-column> - <el-table-column label="缁撹" fixed="right" min-width="100"> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.inote"></span> + </el-tooltip> + </el-col> + <el-col v-else> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-input :disabled="scope.row.eId == null" + v-model="scope.row.inote" + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.inote"></span> + </el-tooltip> + </el-col> + </template> + </el-table-column> + <el-table-column label="缁撹" fixed="right" min-width="100"> + <template slot-scope="scope"> + <div v-if="scope.row.iname!=null"> + <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span> + <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span> + <span v-else>鏆傛棤缁撹</span> + </div> + </template> + </el-table-column> + </el-table> + </el-col> + </el-row> + </el-tab-pane> + <el-tab-pane label="闄勪欢涓婁紶" type="card"> + <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/attachment/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-table :data="processConfigFileTableData" height="260px"> + <el-table-column + prop="finishedInsNo" + align="center" + width="120" + label="浜у搧妫�楠岀紪鍙�" + show-overflow-tooltip + ></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"> - <div v-if="scope.row.iname!=null"> - <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span> - <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span> - <span v-else>鏆傛棤缁撹</span> - </div> + <el-button + @click="delProcessConfigFile(scope.row)" + type="text" + size="small" + :disabled="(resultVal!=null && resultVal!='')" + >鍒犻櫎</el-button + > + <el-button + @click="downloadProcessConfigFile(scope.row)" + type="text" + size="small" + >涓嬭浇</el-button + > </template> </el-table-column> - </el-table> - </el-col> - </el-row> + </el-table> + </el-tab-pane> + </el-tabs> + </div> <div class="finishedProduct-result"> <el-row style="width:100%"> @@ -260,15 +339,30 @@ selectDeviceAPI, updateLocationIdById, } from '@/api/quality/finishedProduct' + import { + getProcessConfigFiles, + deleteProcessConfigFile, + downloadProcessConfigFile + } from '@/api/quality/attachment' import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' - import { remote } from '@/api/admin/dict' import qrCodeApp from '@/views/common/qrCodeApp' + import { getStore } from '@/util/store' export default { components:{ qrCodeApp }, data() { return { + progrecessFileLoading: false, + processConfigFileTableData: [], + headers: { + Authorization: 'Bearer ' + getStore({ name: 'access_token' }) + }, + paramData: { + no: '', + lineNumber: '', + type: 1, + }, row: null, proIndex: 0, deviceCode: false, @@ -333,7 +427,50 @@ this.init() }, methods: { - cancelDeviceCodeDialog(){ + delProcessConfigFile(row) { + this.$confirm('鏄惁鍒犻櫎璇ラ檮浠�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + closeOnClickModal: false + }).then(function() { + return deleteProcessConfigFile(row.id) + }).then((data) => { + this.getConfigFiles() + }) + }, + getConfigFiles() { + const param = { + no: this.processInspectVo.finInsNo, + lineNumber: this.processInspectVo.id, + type: 1 + } + getProcessConfigFiles(param).then((res) => { + this.processConfigFileTableData = res.data.data + }) + }, + downloadProcessConfigFile(row) { + downloadProcessConfigFile({ + bucket: row.bucketName, + fileName: row.fileName, + originalFileName: row.originalFileName + }) + }, + submitUpload() { + this.paramData.no = this.processInspectVo.finInsNo + this.paramData.lineNumber = this.processInspectVo.id + this.progrecessFileLoading = true + }, + uploadSuccess() { + this.progrecessFileLoading = false + this.getConfigFiles() + }, + tabsClick(tab,even){ + if(tab.index == 1){ + this.getConfigFiles(); + } + }, + cancelDeviceCodeDialog(){ this.deviceCode = false }, getDeviceResultInfo(val){ @@ -665,14 +802,14 @@ <style scoped> .finishedProduct-detail { width: 100%; - height: 500px; + height: 520px; padding: 10px 20px; - display: flex; border: 1px solid #ddd; background-color: #fff; margin-top: 10px; box-sizing: border-box; - flex-wrap: wrap; + /* display: flex; + flex-wrap: wrap; */ } basic.finishedProduct-result { diff --git a/src/views/quality/packageinspect/packageInspect-form.vue b/src/views/quality/packageinspect/packageInspect-form.vue index 2cf2980..21a93ae 100644 --- a/src/views/quality/packageinspect/packageInspect-form.vue +++ b/src/views/quality/packageinspect/packageInspect-form.vue @@ -62,87 +62,165 @@ </el-row> </el-form> </div> - <div class="packageInspect-detail"> - <el-row :gutter="10" style="width:100%;z-index: 10;height:30px;"> - <el-col :span="12">妫�楠岄」鐩�</el-col> - <el-col :span="12" style="text-align: right;"> - <el-dropdown @command="handleCommand" v-if="isShow"> - <el-button size="mini" style="margin-right: 10px;" type="primary" > - 鍒囨崲妫�楠岄」妯℃澘<i class="el-icon-arrow-down el-icon--right"></i> - </el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item :key="index" v-for="(item,index) in inspectMoulds" :command="item.father">{{item.father}}</el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - <el-button v-if="resultVal=='' || resultVal==null" size="mini" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> - <el-button v-if="resultVal=='' || resultVal==null" type="primary" size="mini" - @click="savePackIns()">淇濆瓨</el-button> - </el-col> - </el-row> - <el-row style="width:100%;"> - <el-col :span="24"> - <el-table - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" - :cell-style="{textAlign:'center'}" - ref="table" - :data="list" - border - style="width: 100%;" - height="400" - row-key="randomId" class="l-mes" - default-expand-all - :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> - <template scope="scope"> - <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> - </template> - </el-table-column> - <el-table-column prop="name" label="椤圭洰" width="160"> - <template slot-scope="scope"> - <el-input :readonly="resultVal!=null || !scope.row.isEdit" v-if="scope.row.children" class="inline-input" style="width:80%;" v-model="scope.row.name" - placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> - </template> - </el-table-column> - <el-table-column prop="required" label="瑕佹眰" width="160"> - <template slot-scope="scope"> - <div v-if="!scope.row.children"> - <el-tooltip :content="scope.row.required"> - <el-input :readonly="resultVal!=null || !scope.row.isEdit" - v-model="scope.row.required" - placeholder="璇疯緭鍏ヨ姹�"></el-input> - </el-tooltip> - </div> - </template> - </el-table-column> - <el-table-column prop="note" label="妫�楠屾弿杩�" width="160"> - <template slot-scope="scope"> - <div v-if="!scope.row.children"> - <el-input :readonly="resultVal!=null" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> - </div> - </template> - </el-table-column> - <el-table-column prop="testState" label="缁撹" min-width="150"> - <template slot-scope="scope"> - <el-select style="width:100%" :disabled="resultVal!=null" @change="changeResult" v-model="scope.row.result" v-if="!scope.row.children"> - <el-option label="鍚堟牸" value="鍚堟牸"></el-option> - <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"></el-option> - <el-option label="涓嶉�傜敤" value="涓嶉�傜敤"></el-option> - </el-select> - </template> - </el-table-column> - <el-table-column v-if="resultVal=='' || resultVal==null" fixed="right" style="background-color: white;" label="鎿嶄綔" width="200"> - <template slot-scope="scope"> - <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-plus-outline" type="text" @click="clickAddChildren(scope.row,scope.$index)">娣诲姞琛�</el-button> - <el-button v-if="!scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text" - @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍙栨秷</el-button> - <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text" - @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍒犻櫎椤圭洰</el-button> + <div> + <el-tabs class="packageInspect-detail" @tab-click="tabsClick"> + <el-tab-pane label="妫�楠岄」鐩�"> + <el-row> + <el-col :span="24" style="text-align: right;"> + <el-dropdown @command="handleCommand" v-if="isShow && (resultVal==null || resultVal=='')"> + <el-button size="mini" style="margin-right: 10px;" type="primary" > + 鍒囨崲妫�楠岄」妯℃澘<i class="el-icon-arrow-down el-icon--right"></i> + </el-button> + <el-dropdown-menu slot="dropdown"> + <el-dropdown-item :key="index" v-for="(item,index) in inspectMoulds" :command="item.father">{{item.father}}</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + <el-button v-if="resultVal=='' || resultVal==null" size="mini" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> + <el-button v-if="resultVal=='' || resultVal==null" type="primary" size="mini" + @click="savePackIns()">淇濆瓨</el-button> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-table + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :cell-style="{textAlign:'center'}" + ref="table" + :data="list" + border + style="width: 100%;" + height="400" + row-key="randomId" class="l-mes" + default-expand-all + :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> + <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> + <template scope="scope"> + <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> + </template> + </el-table-column> + <el-table-column prop="name" label="椤圭洰" min-width="160"> + <template slot-scope="scope"> + <el-input :readonly="resultVal!=null || !scope.row.isEdit" v-if="scope.row.children" class="inline-input" style="width:80%;" v-model="scope.row.name" + placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> + </template> + </el-table-column> + <el-table-column prop="required" label="瑕佹眰" min-width="160"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-tooltip :content="scope.row.required"> + <el-input :readonly="resultVal!=null || !scope.row.isEdit" + v-model="scope.row.required" + placeholder="璇疯緭鍏ヨ姹�"></el-input> + </el-tooltip> + </div> + </template> + </el-table-column> + <el-table-column prop="note" label="妫�楠屾弿杩�" min-width="160"> + <template slot-scope="scope"> + <div v-if="!scope.row.children"> + <el-input :readonly="resultVal!=null" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + </div> + </template> + </el-table-column> + <el-table-column prop="testState" label="缁撹" min-width="150"> + <template slot-scope="scope"> + <el-select style="width:100%" :disabled="resultVal!=null" @change="changeResult" v-model="scope.row.result" v-if="!scope.row.children"> + <el-option label="鍚堟牸" value="鍚堟牸"></el-option> + <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"></el-option> + <el-option label="涓嶉�傜敤" value="涓嶉�傜敤"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column v-if="resultVal=='' || resultVal==null" fixed="right" style="background-color: white;" label="鎿嶄綔" width="200"> + <template slot-scope="scope"> + <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-plus-outline" type="text" @click="clickAddChildren(scope.row,scope.$index)">娣诲姞琛�</el-button> + <el-button v-if="!scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text" + @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍙栨秷</el-button> + <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text" + @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍒犻櫎椤圭洰</el-button> + </template> + </el-table-column> + </el-table> + </el-col> + </el-row> + </el-tab-pane> + <el-tab-pane label="闄勪欢涓婁紶" type="card"> + <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/attachment/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-table :data="processConfigFileTableData" height="260px"> + <el-table-column + prop="rawInsNo" + align="center" + width="120" + label="鍘熸潗鏂欐楠岀紪鍙�" + show-overflow-tooltip + ></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-button + @click="delProcessConfigFile(scope.row)" + type="text" + size="small" + :disabled="(resultVal!=null && resultVal!='')" + >鍒犻櫎</el-button + > + <el-button + @click="downloadProcessConfigFile(scope.row)" + type="text" + size="small" + >涓嬭浇</el-button + > </template> - </el-table-column> + </el-table-column> </el-table> - </el-col> - </el-row> + </el-tab-pane> + </el-tabs> </div> <div class="packageInspect-result"> <el-row> @@ -197,7 +275,13 @@ updatePackageInspectById, getCustomer, } from '@/api/quality/packageInspect' +import { + getProcessConfigFiles, + deleteProcessConfigFile, + downloadProcessConfigFile + } from '@/api/quality/attachment' import {getAllTemplateByEnable} from '@/api/quality/packageInspectTemp' +import { getStore } from '@/util/store' export default { computed:{ }, @@ -205,6 +289,16 @@ }, data(){ return{ + progrecessFileLoading: false, + processConfigFileTableData: [], + headers: { + Authorization: 'Bearer ' + getStore({ name: 'access_token' }) + }, + paramData: { + rawInsNo: '', + lineNumber: '', + type: 4 + }, inspectMoulds: [], isShow: true, submitData: { @@ -269,6 +363,49 @@ } }, methods:{ + delProcessConfigFile(row) { + this.$confirm('鏄惁鍒犻櫎璇ラ檮浠�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + closeOnClickModal: false + }).then(function() { + return deleteProcessConfigFile(row.id) + }).then((data) => { + this.getConfigFiles() + }) + }, + getConfigFiles() { + const param = { + no: this.dataForm.packInsNo, + lineNumber: this.dataForm.id, + type: 4 + } + getProcessConfigFiles(param).then((res) => { + this.processConfigFileTableData = res.data.data + }) + }, + downloadProcessConfigFile(row) { + downloadProcessConfigFile({ + bucket: row.bucketName, + fileName: row.fileName, + originalFileName: row.originalFileName + }) + }, + submitUpload() { + this.paramData.no = this.dataForm.packInsNo + this.paramData.lineNumber = this.dataForm.id + this.progrecessFileLoading = true + }, + uploadSuccess() { + this.progrecessFileLoading = false + this.getConfigFiles() + }, + tabsClick(tab,even){ + if(tab.index == 1){ + this.getConfigFiles(); + } + }, checkShowState(){ let num = 0 this.list.forEach(ele=>{ @@ -539,14 +676,14 @@ <style> .packageInspect-detail { width: 100%; - height: 490px; + height: 520px; padding: 10px 20px; - display: flex; border: 1px solid #ddd; background-color: #fff; margin-top: 10px; box-sizing: border-box; - flex-wrap: wrap; + /* display: flex; + flex-wrap: wrap; */ } .packageInspect-result { diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue index ba99dd7..99272dd 100644 --- a/src/views/quality/processInspect/processInspect-form.vue +++ b/src/views/quality/processInspect/processInspect-form.vue @@ -105,107 +105,186 @@ </div> </el-form> </div> - <div class="finishedProduct-detail"> - <el-row style="width:100%;z-index: 10;height:30px;"> - <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col> - <el-col v-if="resultVal == null" :span="12" class="inspectionProject_span" style="text-align: right;"> - <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button> - <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> - </el-col> - </el-row> - <el-row style="width:100%;"> - <el-col :span="24"> - <el-table border - :data="inspectionItems" - height="400" - :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }" - :cell-style="{ textAlign: 'center' }" - row-key="iid" - default-expand-all style="width: 100%" - ref="table" - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> - <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> - <template scope="scope"> - <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> - </template> - </el-table-column> - <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140"></el-table-column> - <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140"></el-table-column> - <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140"></el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�" width="140"></el-table-column> - <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" - label="妫�娴嬪��" width="140" style="text-align: center;"> - <template slot-scope="scope"> - <el-col v-if="scope.row.itype === '1'"> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-input :disabled="scope.row.eId == null" - v-model="scope.row.empiricalValueAddss[index]" - @blur="changeState(scope.row,true)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.empiricalValueAddss[index]"></span> - </el-tooltip> - </el-col> - <el-col v-else> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> - <el-option v-for="item in dataVal" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> - </el-select> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.empiricalValueAddss[index]"></span> - </el-tooltip> - </el-col> - </template> - </el-table-column> - <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> - <template slot-scope="scope"> - <span v-if="resultVal != null && scope.row.iname != null" - v-text="scope.row.ename"></span> - <div v-else> - <el-select style="width:60%" v-model="scope.row.eId" v-if="scope.row.iname != null" - filterable @change="updateDevice(scope.row, scope.$index)"> - <el-option v-for="(item, index) in deviceList" :key="index" :value="item.id" - :label="item.code + '-' + item.name"></el-option> - </el-select> - <el-button - size="small" - slot="append" - icon="el-icon-full-screen" - v-if="scope.row.iname != null" - @click="codeDevice(scope.row,scope.$index)"></el-button> - </div> - </template> - </el-table-column> - <el-table-column show-overflow-tooltip - label="妫�楠屾弿杩�" width="140" style="text-align: center;"> - <template slot-scope="scope"> - <el-col> - <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" - class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-input :disabled="scope.row.eId == null" - v-model="scope.row.inote" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> - <span v-if="resultVal != null && processInspectVo.id != null" - v-text="scope.row.inote"></span> - </el-tooltip> - </el-col> - </template> - </el-table-column> - <el-table-column label="缁撹" fixed="right" min-width="100"> - <template slot-scope="scope"> - <div v-if="scope.row.iname != null"> - <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span> - <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span> - <span v-else>鏆傛棤缁撹</span> - </div> - </template> - </el-table-column> + <div> + <el-tabs class="finishedProduct-detail" @tab-click="tabsClick"> + <el-tab-pane label="妫�楠岄」鐩�"> + <el-row> + <el-col v-if="resultVal == null" :span="24" class="inspectionProject_span" style="text-align: right;"> + <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-table border + :data="inspectionItems" + height="400" + :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }" + :cell-style="{ textAlign: 'center' }" + row-key="iid" + default-expand-all style="width: 100%" + ref="table" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> + <template scope="scope"> + <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> + </template> + </el-table-column> + <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140"></el-table-column> + <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140"></el-table-column> + <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140"></el-table-column> + <el-table-column prop="required" label="鏍囧噯鍊�" width="140"></el-table-column> + <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" + label="妫�娴嬪��" width="140" style="text-align: center;"> + <template slot-scope="scope"> + <el-col v-if="scope.row.itype === '1'"> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-input :disabled="scope.row.eId == null" + v-model="scope.row.empiricalValueAddss[index]" + @blur="changeState(scope.row,true)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.empiricalValueAddss[index]"></span> + </el-tooltip> + </el-col> + <el-col v-else> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> + <el-option v-for="item in dataVal" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.empiricalValueAddss[index]"></span> + </el-tooltip> + </el-col> + </template> + </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> + <template slot-scope="scope"> + <span v-if="resultVal != null && scope.row.iname != null" + v-text="scope.row.ename"></span> + <div v-else> + <el-select style="width:60%" v-model="scope.row.eId" v-if="scope.row.iname != null" + filterable @change="updateDevice(scope.row, scope.$index)"> + <el-option v-for="(item, index) in deviceList" :key="index" :value="item.id" + :label="item.code + '-' + item.name"></el-option> + </el-select> + <el-button + size="small" + slot="append" + icon="el-icon-full-screen" + v-if="scope.row.iname != null" + @click="codeDevice(scope.row,scope.$index)"></el-button> + </div> + </template> + </el-table-column> + <el-table-column show-overflow-tooltip + label="妫�楠屾弿杩�" width="140" style="text-align: center;"> + <template slot-scope="scope"> + <el-col> + <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" + class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-input :disabled="scope.row.eId == null" + v-model="scope.row.inote" + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.inote"></span> + </el-tooltip> + </el-col> + </template> + </el-table-column> + <el-table-column label="缁撹" fixed="right" min-width="100"> + <template slot-scope="scope"> + <div v-if="scope.row.iname != null"> + <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span> + <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span> + <span v-else>鏆傛棤缁撹</span> + </div> + </template> + </el-table-column> + </el-table> + </el-col> + </el-row> + </el-tab-pane> + <el-tab-pane label="闄勪欢涓婁紶" type="card"> + <div style="display: flex;justify-content:flex-end;"> + <div></div> + </div> + <div + v-loading="progrecessFileLoading" + element-loading-text="璇风◢绛夛紝鏂囦欢涓婁紶涓�" + > + <el-upload + :disabled="processInspectVo.proInsNo==null || (resultVal!=null && resultVal!='')" + drag + ref="upload" + action="/mes/rawInsProduct/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-table :data="processConfigFileTableData" height="260px"> + <el-table-column + prop="rawInsNo" + align="center" + width="120" + label="鍘熸潗鏂欐楠岀紪鍙�" + show-overflow-tooltip + ></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-button + @click="delProcessConfigFile(scope.row)" + type="text" + size="small" + :disabled="(resultVal!=null && resultVal!='')" + >鍒犻櫎</el-button + > + <el-button + @click="downloadProcessConfigFile(scope.row)" + type="text" + size="small" + >涓嬭浇</el-button + > + </template> + </el-table-column> </el-table> - </el-col> - </el-row> + </el-tab-pane> + </el-tabs> </div> <div class="finishedProduct-result"> <el-row style="width:100%"> @@ -273,16 +352,32 @@ updateProcessInsProduct, updateProcessInspectsById, } from '@/api/quality/processInspect' +import { + getProcessConfigFiles, + deleteProcessConfigFile, + downloadProcessConfigFile + } from '@/api/quality/attachment' import processPart from '@/views/common/processinspect-part' import { selectDevice } from '@/api/quality/processInspect' import qrCodeApp from '@/views/common/qrCodeApp' import { validatePositiveInteger } from '@/util/validate' +import { getStore } from '@/util/store' export default { components:{ qrCodeApp,processPart }, data() { return { + progrecessFileLoading: false, + processConfigFileTableData: [], + headers: { + Authorization: 'Bearer ' + getStore({ name: 'access_token' }) + }, + paramData: { + rawInsNo: '', + lineNumber: '', + type: 2 + }, paramObj:{}, qrcode: false, row: null, @@ -348,12 +443,55 @@ this.init() }, methods: { + delProcessConfigFile(row) { + this.$confirm('鏄惁鍒犻櫎璇ラ檮浠�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + closeOnClickModal: false + }).then(function() { + return deleteProcessConfigFile(row.id) + }).then((data) => { + this.getConfigFiles() + }) + }, + getConfigFiles() { + const param = { + no: this.processInspectVo.rawInsNo, + lineNumber: this.processInspectVo.id, + type: 2 + } + getProcessConfigFiles(param).then((res) => { + this.processConfigFileTableData = res.data.data + }) + }, + downloadProcessConfigFile(row) { + downloadProcessConfigFile({ + bucket: row.bucketName, + fileName: row.fileName, + originalFileName: row.originalFileName + }) + }, + submitUpload() { + this.paramData.no = this.processInspectVo.proInsNo + this.paramData.lineNumber = this.processInspectVo.id + this.progrecessFileLoading = true + }, + uploadSuccess() { + this.progrecessFileLoading = false + this.getConfigFiles() + }, + tabsClick(tab,even){ + if(tab.index == 1){ + if(this.processInspectVo.proInsNo==null){ + this.$message.error("璇峰厛淇濆瓨杩囩▼妫�楠屼俊鎭�") + return + } + this.getConfigFiles(); + } + }, queryCode(){ this.workshop = true - console.log(this.workshop); - // this.paramObj = { - // code: this.dataForm.code - // } }, cancelCodeDialog(){ this.qrcode = false @@ -710,14 +848,12 @@ <style scoped> .finishedProduct-detail { width: 100%; - height: 470px; + height: 520px; padding: 10px 20px; - display: flex; border: 1px solid #ddd; background-color: #fff; margin-top: 10px; box-sizing: border-box; - flex-wrap: wrap; } .finishedProduct-result { diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 31e5075..f57a0cb 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -255,7 +255,7 @@ :disabled="dataForm.rawInsNo==null || (resultVal!=null && resultVal!='')" drag ref="upload" - action="/mes/rawInsProduct/upload" + action="/mes/attachment/upload" :auto-upload="true" :headers="headers" :before-upload="submitUpload" @@ -270,7 +270,6 @@ </div> </el-upload> </div> - <el-table :data="processConfigFileTableData" height="260px"> <el-table-column prop="rawInsNo" @@ -400,10 +399,12 @@ getObj, updateRawInsProduct, updateRawInspectsById, - getProcessConfigFiles, - downloadProcessConfigFile, - deleteProcessConfigFile, updateDeviceById, chooseIFS} from '@/api/quality/rawMaterial' + import { + getProcessConfigFiles, + deleteProcessConfigFile, + downloadProcessConfigFile + } from '@/api/quality/attachment' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' import { getStore } from '@/util/store' import qrCodeApp from '@/views/common/qrCodeApp' @@ -422,8 +423,9 @@ Authorization: 'Bearer ' + getStore({ name: 'access_token' }) }, paramData: { - rawInsNo: '', - lineNumber: '' + no: '', + lineNumber: '', + type: 0 }, row: null, proIndex: 0, @@ -519,8 +521,9 @@ }, getConfigFiles() { const param = { - rawInsNo: this.dataForm.rawInsNo, - lineNumber: this.dataForm.id + no: this.dataForm.rawInsNo, + lineNumber: this.dataForm.id, + type: 0 } getProcessConfigFiles(param).then((res) => { this.processConfigFileTableData = res.data.data @@ -546,7 +549,7 @@ }) }, submitUpload() { - this.paramData.rawInsNo = this.dataForm.rawInsNo + this.paramData.no = this.dataForm.rawInsNo this.paramData.lineNumber = this.dataForm.id this.progrecessFileLoading = true }, diff --git a/src/views/quality/rawMaterial/testValue-select.vue b/src/views/quality/rawMaterial/testValue-select.vue deleted file mode 100644 index 3435f79..0000000 --- a/src/views/quality/rawMaterial/testValue-select.vue +++ /dev/null @@ -1,71 +0,0 @@ -<!-- 鍘熸潗鏂欐楠�-妫�娴嬪�艰緭鍏ユ缁勪欢 --> -<template> - <el-select v-model="selectedValue" @change="handleChange" clearable> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - <el-input - v-model="inputValue" - slot="prefix" - placeholder="鑷畾涔夎緭鍏�" - @input="handleInput" - ></el-input> - </el-select> -</template> - -<script> -export default { - props:{ - value: { - type: [String, Number], - default: '' - }, - options: { - type: Array, - default: () => [] - } - }, - data(){ - return { - selectedValue: '', - inputValue: '', - // options: [{ - // label:'鏄�', - // value: '鏄�' - // },{ - // label:'鍚�', - // value: '鍚�' - // }] - } - }, - created() { - this.selectedValue = this.value; - }, - watch: { - value(newValue) { - this.selectedValue = newValue; - } - }, - methods: { - handleChange(value) { - this.$emit('input1', value); - }, - handleInput(value) { - this.$emit('input1', value); - } - } -} -</script> - -<style scope> - .dropdown{ - position: relative; - right: 30px; - top: 5px; - color: #C0C4CC; - font-size: 14px; - } -</style> diff --git a/src/views/quality/teststandard/index.vue b/src/views/quality/teststandard/index.vue index d861caa..1398ad8 100644 --- a/src/views/quality/teststandard/index.vue +++ b/src/views/quality/teststandard/index.vue @@ -382,7 +382,7 @@ return this.getInspectionTypeOptionList() } }, - { + /* { minWidth: '120', prop: 'operationName', label: '宸ュ簭鍚嶇О', @@ -390,7 +390,7 @@ isTrue: true, isSearch: true, searchInfoType: 'text' - }, + }, */ { minWidth: '120', prop: 'state', diff --git a/src/views/quality/teststandard/standard-form.vue b/src/views/quality/teststandard/standard-form.vue index 4cc5f4c..45b2db6 100644 --- a/src/views/quality/teststandard/standard-form.vue +++ b/src/views/quality/teststandard/standard-form.vue @@ -32,7 +32,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="宸ュ簭" prop="operationName"> + <!-- <el-form-item label="宸ュ簭" prop="operationName"> <el-input v-model="dataForm.operationName" placeholder="璇烽�夋嫨宸ュ簭"> <el-button slot="append" @@ -40,7 +40,7 @@ @click="openOperationDialog()" ></el-button> </el-input> - </el-form-item> + </el-form-item> --> <el-form-item label="澶囨敞" prop="remark"> <el-input v-model="dataForm.remark" placeholder=""></el-input> </el-form-item> -- Gitblit v1.9.3