From b98bb5a14531d68e3ee1a483a79899de0de47704 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 06 五月 2024 17:26:06 +0800 Subject: [PATCH] 优化质量模块 --- src/views/quality/processconfiguration/index.vue | 221 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 149 insertions(+), 72 deletions(-) diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue index 2f21df8..6fff645 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> @@ -38,23 +39,61 @@ </div> <div v-if="type === '浜у搧妫�楠�' "> <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-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> <div v-if="type === '杩囩▼妫�楠�'"> <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-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> @@ -63,16 +102,24 @@ </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: "", + moRoutingOperationId:"", // WayIdea:'', UserId:{}, type:'', @@ -122,6 +169,15 @@ return this.materialType // render: { fun: this.addOrUpdateHandle } } + }, + // 妫�楠岀紪鍙� + { + minWidth: '140', + prop: 'inspectNo', + label: '妫�楠岀紪鍙�', + isTrue: true, + isSearch: true, + searchInfoType: 'text', }, // 浜у搧鍚嶇О { @@ -247,65 +303,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: '鎿嶄綔', @@ -313,8 +320,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'}], } }, @@ -326,21 +334,92 @@ ...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] + // }, + showFun: (row)=>{return row.type == '鍘熸潗鏂欐楠�'&&row.state==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(){ - 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() ;}) @@ -348,13 +427,11 @@ }, //鎻愪氦瀹℃牳 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){ @@ -365,7 +442,7 @@ return "<span style='color:#34BD66;'>宸叉彁浜ゅ鏍�</span>" } if(cellValue == 2){ - return "<span style='color:#34BD66;'>宸插鐞�</span>" + return "<span style='color:#34BD66;'>宸插畬鎴�</span>" } } }, @@ -376,7 +453,7 @@ } return "<span style='color:#34BD66;'></span>" } - }, + }, // 鑾峰彇鏁版嵁鍒楄〃 getData() { // this.$refs.processconfiguration.getDataList() -- Gitblit v1.9.3