From d271f2493796a557eac67b95b310df776abaf48b Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 06 五月 2024 16:15:24 +0800 Subject: [PATCH] 修改产品检,不合格处理等页面 --- src/views/quality/processconfiguration/index.vue | 273 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 172 insertions(+), 101 deletions(-) diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue index 11e2ab4..6d53f3e 100644 --- a/src/views/quality/processconfiguration/index.vue +++ b/src/views/quality/processconfiguration/index.vue @@ -9,6 +9,7 @@ :prelang="prelang" :options="options" :ajaxFun="ajaxFun" + @queryParam="getQueryParam($event)" ref="processconfiguration" > <template #toolbar></template> @@ -22,32 +23,76 @@ <table></table> </basic-container> <div> - <el-dialog title="鏈�缁堝缃剰瑙�" :visible.sync="dialogVisible" width="38%"> + <el-dialog title="鏈�缁堝缃剰瑙�" :visible.sync="dialogVisible" width="30%"> <el-form label-width="120px"> - <div> - <el-form-item label="鏈�缁堝缃剰瑙侊細"> + <div v-if="type === '鍘熸潗鏂欐楠�'"> + <!-- <el-form-item label="鏈�缁堝缃剰瑙侊細"> <el-input type="textarea" :rows="3" placeholder="璇疯緭鍏ュ唴瀹�" v-model="WayIdea" /> - </el-form-item> - <!-- <el-checkbox-group v-model="checkList"> - <el-checkbox label="杩斾慨"></el-checkbox> - <el-checkbox label="鎹㈣揣"></el-checkbox> - <el-checkbox label="閫�璐�"></el-checkbox> - <el-checkbox label="浣滃簾"></el-checkbox> - <el-checkbox label="璁╂鎺ユ敹"></el-checkbox> - <el-checkbox label="闄嶇骇浣跨敤"></el-checkbox> - </el-checkbox-group> --> + </el-form-item> --> <el-radio-group v-model="checkList"> <el-radio label="杩斾慨">杩斾慨</el-radio> <el-radio label="鎹㈣揣">鎹㈣揣</el-radio> <el-radio label="閫�璐�">閫�璐�</el-radio> - <el-radio label="浣滃簾">浣滃簾</el-radio> - <el-radio label="璁╂鎺ュ彈">璁╂鎺ュ彈</el-radio> - <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio> + <el-radio label="璁╂鎺ユ敹">璁╂鎺ユ敹</el-radio> + <el-radio label="鎺ユ敹">鎺ユ敹</el-radio> </el-radio-group> + </div> + <div v-if="type === '浜у搧妫�楠�' "> + <el-radio-group v-model="checkList"> + <el-row> + <div style="padding: 20px;"> + <el-radio label="杩斾慨">杩斾慨</el-radio> + <el-radio label="鎺ユ敹">鎺ユ敹</el-radio> + <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio> + <el-radio label="鎶ュ簾">鎶ュ簾</el-radio> + </div> + <div style="padding: 20px;"> + <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio> + </div> + </el-row> + </el-radio-group> + <div class="search" style="margin-left: 20px;" v-if="checkList=='杩斾慨'"> + <label style="margin-right: 10px;">宸ュ簭</label> + <el-select v-model="moRoutingOperationId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in listOptions" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </div> + </div> + <div v-if="type === '杩囩▼妫�楠�'"> + <el-radio-group v-model="checkList"> + <el-row> + <div style="padding: 20px;"> + <el-radio label="杩斾慨">杩斾慨</el-radio> + <el-radio label="鎺ユ敹">鎺ユ敹</el-radio> + <el-radio label="闄嶇骇浣跨敤">闄嶇骇浣跨敤</el-radio> + <el-radio label="鎶ュ簾">鎶ュ簾</el-radio> + </div> + <div style="padding: 20px;"> + <el-radio label="杩斿伐">杩斿伐</el-radio> + <el-radio label="闄嶄负浠栫敤">闄嶄负浠栫敤</el-radio> + </div> + </el-row> + </el-radio-group> + <div class="search" style="margin-left: 20px;" v-if="checkList=='杩斾慨'"> + <label style="margin-right: 10px;">宸ュ簭</label> + <el-select v-model="moRoutingOperationId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in listOptions" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </div> </div> </el-form> <span slot="footer" > - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button @click="WayCancel()">鍙� 娑�</el-button> <el-button type="primary" @click="WaySure()">纭� 瀹�</el-button> </span> </el-dialog> @@ -56,19 +101,28 @@ </template> <script> -import { UnqualifiedList,pullInsUnapi,AuditSuggestion +import { + UnqualifiedList, + pullInsUnapi, + AuditSuggestion, + exportData, + chooseMoRoutingOperation, } from '@/api/quality/unqualifiedprocess' import TableForm from './table-form' import { mapGetters } from 'vuex' // import { remote } from '@/api/admin/dict' +import { transform } from '@/util/fileTransform' import ttable from '@/views/common/ztt-table.vue' export default { data() { return { + queryParam: {}, checkList: "", - WayIdea:'', + moRoutingOperationId:"", + // WayIdea:'', UserId:{}, - ajaxFun: UnqualifiedList, + type:'', + ajaxFun: UnqualifiedList,pullInsUnapi,AuditSuggestion, addOrUpdateVisible: false, multipleSelection: [], typeOptions: [], @@ -90,6 +144,7 @@ multiSelect: true, // seqNo: true, isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳 + isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳 isSearch: true, // 楂樼骇鏌ヨ鎸夐挳 defaultOrderBy: { column: 'createTime', direction: 'desc' } }, @@ -114,6 +169,15 @@ // render: { fun: this.addOrUpdateHandle } } }, + // 妫�楠岀紪鍙� + { + minWidth: '140', + prop: 'inspectNo', + label: '妫�楠岀紪鍙�', + isTrue: true, + isSearch: true, + searchInfoType: 'text', + }, // 浜у搧鍚嶇О { minWidth: '140', @@ -135,7 +199,7 @@ { minWidth: '140', prop: 'materialCode', - label: '浜у搧缂栧彿', + label: '闆朵欢鍙�', isTrue: true, isSearch: true, searchInfoType: 'text', @@ -238,65 +302,16 @@ // return this.processModeOptions // } // }, - //鍙戣捣浜� - // { - // minWidth: '200', - // prop: 'originator', - // label: '鍙戣捣浜�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - // 瀹℃牳浜� - // { - // minWidth: '140', - // prop: 'examiner', - // label: '瀹℃牳浜�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - // 澶勭悊浜� - // { - // minWidth: '120', - // prop: 'handler', - // label: '澶勭悊浜�', - // sort: true, - // isTrue: true, - // isSearch: true, - // searchInfoType: 'text' - // }, - + ], toolbar: [ - { - text: '瀵煎嚭', - type: 'primary', - // fun: this.addOrUpdateHandle - }, - ], - operator: [ // { - // text: '鍒犻櫎', - // type: 'text', - // size: 'small', - // fun: this.deleteHandle + // text: '瀵煎嚭', + // type: 'primary', + // fun: this.handleExport // }, - { - text: '鎻愪氦瀹℃牳', - type: 'text', - size: 'small', - fun: this.Submitreview - }, - { - text: '瀹℃牳缁撴灉', - type: 'text', - size: 'small', - fun: this.AuditResult - } ], + operator: null, operatorConfig: { fixed: 'right', label: '鎿嶄綔', @@ -304,8 +319,9 @@ minWidth: 100 } }, - materialType: [{label:'鍘熸潗鏂欐楠�',value:'鍘熸潗鏂欐楠�'},{label:'杩囩▼妫�楠�',value:'杩囩▼妫�楠�'},{label:'浜у搧妫�楠�',value:'浜у搧妫�楠�'}], - StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉彁浜ゅ鏍�',value:'1'},{label:'寰呭鐞�',value:'0'},{label:'宸插鐞�',value:'2'}], + listOptions:[], + materialType: [{label:'鍘熸潗鏂欐楠�',value:'鍘熸潗鏂欐楠�'},{label:'杩囩▼妫�楠�',value:'杩囩▼妫�楠�'},{label:'浜у搧妫�楠�',value:'浜у搧妫�楠�'},{label:'鍖呰妫�楠�',value:'鍖呰妫�楠�'}], + StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸叉彁浜ゅ鏍�',value:'1'},{label:'寰呭鐞�',value:'0'},{label:'宸插畬鎴�',value:'2'}], insStateList: [{label:'鍏朵粬',value:''},{label:'鐟曠柕',value:'1'}], } }, @@ -315,36 +331,105 @@ }, computed: { ...mapGetters(['permissions']) + + }, + watch: { + checkList(val){ + if(val!='杩斾慨'){ + this.moRoutingOperationId = null + } + } }, created() { // this.getType() + let arr = [] + if(this.permissions.quality_processconfiguration_submit){ + arr.push({ + text: '鎻愪氦瀹℃牳', + type: 'text', + size: 'small', + fun: this.Submitreview, + show: { + key: 'state', + val: [0] + } + }) + } + if(this.permissions.quality_processconfiguration_result){ + arr.push({ + text: '瀹℃牳缁撴灉', + type: 'text', + size: 'small', + fun: this.AuditResult, + showFun: (row)=>{return row.type != '鍘熸潗鏂欐楠�'} + }) + } + this.table.operator = arr.length>0 ? arr : null }, methods: { + chooseMoRoutingOperation(id){ + chooseMoRoutingOperation({id}).then(res =>{ + this.listOptions = res.data.data + }) + }, + getQueryParam(data){ + this.queryParam = data + }, + handleExport(){ + exportData(this.queryParam).then(res=>{ + this.downloadFun(res) + }).catch(error=>{ + console.log(error); + }) + }, + downloadFun(result){ + if(result == null || result == undefined){ + return; + } + var nameList = result.headers['content-disposition']; + nameList = decodeURI(nameList); + var fileName = nameList.split('=')[1]; + const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) + const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣 + const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺� + downloadElement.href = href + downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕 + document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂 + downloadElement.click() // 鐐瑰嚮涓嬭浇 + document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌 + window.URL.revokeObjectURL(href) + }, //瀹℃牳缁撴灉 AuditResult(row){ this.UserId = row.id + this.type = row.type this.dialogVisible = true; + this.chooseMoRoutingOperation(row.id) + + }, + WayCancel(){ + this.dialogVisible = false + this.checkList = null + this.moRoutingOperationId = null + this.WayIdea = null }, WaySure(){ - // console.log(this.checkList); - // this.aa = this.checkList.join(',') - // console.log(this.aa); - // console.log(this.checkList); - AuditSuggestion({id:this.UserId,way:this.checkList}).then( + AuditSuggestion({id:this.UserId,way:this.checkList,moRoutingOperationId:Number(this.moRoutingOperationId)*1}).then( res =>{ this.checkList = null + this.moRoutingOperationId = null this.WayIdea = null + this.$refs.processconfiguration.refreshData() ;}) this.dialogVisible = false }, //鎻愪氦瀹℃牳 Submitreview(row){ - console.log(row.id); pullInsUnapi({id:row.id}).then(res =>{ - console.log(res); + this.$refs.processconfiguration.refreshData() }) }, - + //鐘舵�� formatInsState(row, column, cellValue){ if(cellValue != undefined || cellValue != null){ @@ -355,7 +440,7 @@ return "<span style='color:#34BD66;'>宸叉彁浜ゅ鏍�</span>" } if(cellValue == 2){ - return "<span style='color:#34BD66;'>宸插鐞�</span>" + return "<span style='color:#34BD66;'>宸插畬鎴�</span>" } } }, @@ -366,24 +451,10 @@ } return "<span style='color:#34BD66;'></span>" } - }, - // materialTypeList(row, column, cellValue){ - // if(cellValue != undefined || cellValue != null){ - // if(cellValue == 鍘熸潗鏂欐楠�){ - // return "<span style='color:#E84738;'>鍘熸潗鏂欐楠�</span>" - // } - // if(cellValue == 杩囩▼妫�楠�){ - // return "<span style='color:#34BD66;'>杩囩▼妫�楠�</span>" - // } - // if(cellValue == 璐ㄩ噺妫�楠�){ - // return "<span style='color:#34BD66;'>璐ㄩ噺妫�楠�</span>" - // } - // } - // }, - + }, // 鑾峰彇鏁版嵁鍒楄〃 getData() { - this.$refs.processconfiguration.getDataList() + // this.$refs.processconfiguration.getDataList() }, handleSelectionChange(val) { // 澶氳閫変腑 -- Gitblit v1.9.3