From 47cf5518f0f61dbf8066c2273b9f77c2cd7b1751 Mon Sep 17 00:00:00 2001
From: YLouie <929705085@qq.com>
Date: 星期五, 19 九月 2025 17:56:03 +0800
Subject: [PATCH] 销售订单plm同步
---
src/views/quality/processconfiguration/index.vue | 213 +++++++++++++++++++++++++++++++++++++----------------
1 files changed, 148 insertions(+), 65 deletions(-)
diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue
index 906ad00..197b3f4 100644
--- a/src/views/quality/processconfiguration/index.vue
+++ b/src/views/quality/processconfiguration/index.vue
@@ -3,14 +3,13 @@
<basic-container>
<ttable
:table="table"
- :resultData="resultData"
- @change ="costPlannedAmountChange"
@handleSelectionChange="handleSelectionChange"
:uploadInfo="uploadInfo"
:isShowHide="true"
:prelang="prelang"
:options="options"
:ajaxFun="ajaxFun"
+ @queryParam="getQueryParam($event)"
ref="processconfiguration"
>
<template #toolbar></template>
@@ -40,12 +39,30 @@
</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-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">
@@ -53,15 +70,26 @@
<div style="padding: 20px;">
<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>
</div>
<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>
</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" >
@@ -74,7 +102,13 @@
</template>
<script>
-import { UnqualifiedList,pullInsUnapi,AuditSuggestion,UnqualifiedDisposal} from '@/api/quality/unqualifiedprocess'
+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'
@@ -83,8 +117,9 @@
export default {
data() {
return {
- resultData:[],
+ queryParam: {},
checkList: "",
+ moRoutingOperationId:"",
// WayIdea:'',
UserId:{},
type:'',
@@ -134,6 +169,27 @@
return this.materialType
// render: { fun: this.addOrUpdateHandle }
}
+ },
+ {
+ minWidth: '120',
+ prop: 'state',
+ label: '鐘舵��',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'select',
+ formatter: this.formatInsState,
+ optList: () => {
+ return this.StateList
+ }
+ },
+ // 妫�楠岀紪鍙�
+ {
+ minWidth: '140',
+ prop: 'inspectNo',
+ label: '妫�楠岀紪鍙�',
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'text',
},
// 浜у搧鍚嶇О
{
@@ -220,18 +276,7 @@
searchInfoType: 'datetimerange',
formatter: this.formatDateTime,
},
- {
- minWidth: '120',
- prop: 'state',
- label: '鐘舵��',
- isTrue: true,
- isSearch: true,
- searchInfoType: 'select',
- formatter: this.formatInsState,
- optList: () => {
- return this.StateList
- }
- },
+
// {
// minWidth: '120',
// prop: '',
@@ -259,35 +304,16 @@
// return this.processModeOptions
// }
// },
-
+
],
toolbar: [
- {
- text: '瀵煎嚭',
- type: 'primary',
- fun: this.exportExcel
- },
- ],
- 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: '鎿嶄綔',
@@ -295,8 +321,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'}],
}
},
@@ -308,34 +335,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: {
- exportExcel(){
- let queryParam=this.$refs.processconfiguration.getQueryParam();
- delete queryParam.criteria
- console.log(queryParam);
- UnqualifiedDisposal(queryParam).then((res)=>{
- transform(res)
- })
- },
+ 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()
;})
@@ -343,13 +428,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){
@@ -360,7 +443,7 @@
return "<span style='color:#34BD66;'>宸叉彁浜ゅ鏍�</span>"
}
if(cellValue == 2){
- return "<span style='color:#34BD66;'>宸插鐞�</span>"
+ return "<span style='color:#34BD66;'>宸插畬鎴�</span>"
}
}
},
@@ -371,7 +454,7 @@
}
return "<span style='color:#34BD66;'></span>"
}
- },
+ },
// 鑾峰彇鏁版嵁鍒楄〃
getData() {
// this.$refs.processconfiguration.getDataList()
--
Gitblit v1.9.3