From 5bc9c6d734d469ad647388b5cd94c5a05cd7dbe7 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期六, 03 八月 2024 16:21:18 +0800
Subject: [PATCH] x撤销审核功能增加

---
 src/components/do/b1-ins-order/add.vue                 |   13 +++-
 src/components/do/b1-inspect-order-plan/Inspection.vue |    5 +
 src/components/view/b1-inspect-order-plan.vue          |    6 +-
 src/components/view/b1-inspection-order.vue            |  138 +++++++++++++++++++++++++++++++++++++++++++++-
 src/assets/api/controller.js                           |    2 
 5 files changed, 153 insertions(+), 11 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 9602a9e..6d16d55 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -179,6 +179,8 @@
   updateInspected: "/insOrder/updateInspected", //灏嗗緟妫�楠岀殑鐨勬挙閿�杩涜鏇存敼
   labelPrinting: "/insOrder/labelPrinting", //鏍囩鎵撳嵃
   export: "/insOrder/export", //瀵煎嚭
+  selectNoProducts: "/insOrder/selectNoProducts", //瀵煎嚭
+  checkUpdate: "/insOrder/checkUpdate", //鎾ら攢瀹℃牳閫氳繃
 }
 
 const sampleOrder = {
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index b94b79c..96d8980 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -1379,6 +1379,9 @@
             a.price = obj.price
             a.tell = obj.tell
           }
+          if(a.state == 0&&a.bsmRow){
+            a = this.HaveJson(a.bsmRow)
+          }
         })
       },
       searchFilterList () {
@@ -2088,7 +2091,11 @@
         this.productList0 = JSON.parse(JSON.stringify(this.productList))
         setTimeout(() => {
           this.productList.forEach(a => {
-            if (a.state == 1) this.toggleSelection(a)
+            if (a.state == 1) {
+              this.toggleSelection(a)
+            }else{
+              this.$refs.productTable.toggleRowSelection(a, false);
+            }
           })
         }, 200)
       },
@@ -2332,9 +2339,9 @@
         }
         this.getProductLoad = true
         let selectTreeList = this.selectTree.split(" - ")
-        selectTreeList[selectTreeList.length - 1] = this.addObj.model
+        this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
-          model: this.addObj.model + '-' + row.modelNum,
+          model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
           standardMethodListId: val,
           factory: selectTreeList.join(" - "),
         }, {
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 53f9118..256e86d 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -341,7 +341,8 @@
                     <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                               :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')"
                               @input="handleInput(n)"
-                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
+                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"
+                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)">
                       <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
                         v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> -->
                     </el-input>
@@ -350,7 +351,7 @@
                       :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
                     <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
-                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)"
+                      :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)"
                        @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
                       <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                     </el-select>
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 9f84479..09f1c1a 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -248,7 +248,7 @@
 							type: 'text',
 							method: 'handleInspection',
 							disabFun: (row, index) => {
-								return row.userId == null || row.insState == 3 || row.insState == 5||JSON.parse(localStorage.getItem("user")).name != row.userName
+								return row.userId == null || row.insState == 3 || row.insState == 5||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
 							}
               // disabFun: (row, index) => {
 							// 	return row.userId == null || row.insState == 3 || row.insState == 5
@@ -259,7 +259,7 @@
 							type: 'text',
 							method: 'handleConnect',
 							disabFun: (row, index) => {
-								return row.userId == null || row.orderUserId == null || row.insState == 5  || row.insState == 3||JSON.parse(localStorage.getItem("user")).name != row.userName
+								return row.userId == null || row.orderUserId == null || row.insState == 5  || row.insState == 3||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
 							}
 						},
 						{
@@ -268,7 +268,7 @@
 							type: 'text',
 							method: 'handleReview',
 							disabFun: (row, index) => {
-								return row.userId == null || row.insState != 3 ||JSON.parse(localStorage.getItem("user")).name != row.userName
+								return row.userId == null || row.insState != 3 ||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name))
 							}
 						}, {
 							id: '',
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index 93725b1..158a138 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -326,6 +326,18 @@
 						:componentData="componentDataDataLook"/>
 				</div>
 			</el-dialog>
+      <el-dialog :title="deleteTilte" :visible.sync="deleteDialogVisible" width="80%">
+				<div style="height: 70vh;overflow-y: auto;" v-if="deleteDialogVisible">
+					<ValueTable ref="ValueTableDataDelete" :url="$api.insOrder.selectNoProducts+'?orderId='+orderId+'&ids='+this.revocationInsProductIds"
+						:componentData="componentDataDelete" :isColumnWidth="true"/>
+				</div>
+        <span slot="footer" class="dialog-footer">
+        <el-row>
+          <el-button @click="handleNo">{{deleteTilte=='鎾ら攢'?'鍙� 娑�':'涓嶉�氳繃'}}</el-button>
+          <el-button type="primary" @click="submitDelete" :loading="printLoading">{{deleteTilte=='鎾ら攢'?'纭� 瀹�':'閫� 杩�'}}</el-button>
+        </el-row>
+      </span>
+			</el-dialog>
 		</div>
 		<div style="width: 100%;height: 100%;" v-if="active >0">
 			<Add :active="active" :currentId="currentId" v-if="active<4" />
@@ -448,6 +460,8 @@
 		},
 		data() {
 			return {
+        deleteTilte:'鎾ら攢',
+        deleteList:[],
         loadPint:false,
         checkAll: false,
         isIndeterminate: true,
@@ -526,12 +540,21 @@
 						disabFun: (row, index) => {
 							return row.state != 1 && row.state != 0
 						}
+					},
+          {
+						id: 'quashCheck',
+						font: '鎾ら攢瀹℃牳',
+						type: 'text',
+						method: 'handlEquashCheck',
+						disabFun: (row, index) => {
+							return (row.state != 1 && row.state != 0)||(this.tabIndex!=1)||row.isRevocation!=1
+						}
 					}, {
 						font: '鍒嗛厤',
 						type: 'text',
 						method: 'handleIssued',
 						disabFun: (row, index) => {
-							return row.state != 1 || row.assign
+							return row.state != 1 || !!row.assign
 						}
 					}],
 					linkEvent: {
@@ -594,6 +617,8 @@
 					requiredUp: [],
           needSort: ['createTime', 'sendTime', 'type', 'appointed']
 				},
+        orderId:'',
+        revocationInsProductIds:'',
 				componentDataDataLook: {
 					entity: {
 						id: 0,
@@ -642,6 +667,42 @@
 					requiredAdd: [],
 					requiredUp: []
 				},
+        componentDataDelete: {
+					entity: {
+						// orderId: '',
+						// orderBy: {
+						// 	field: 'sampleCode',
+						// 	order: 'asc'
+						// }
+					},
+          isPage:false,
+					isIndex: false,
+					showSelect: true,
+					select: true,
+          selectMethod: 'selectDelete',
+					do: [],
+					tagField: {
+						insState: {
+							select: []
+						},
+						insResult: {
+							select: [{
+								value: 1,
+								label: '鍚堟牸',
+								type: 'success'
+							},{
+								value: 0,
+								label: '涓嶅悎鏍�',
+								type: 'danger'
+							}]
+						}
+					},
+					selectField: {},
+          spanConfig:{},
+					requiredAdd: [],
+					requiredUp: []
+				},
+        deleteDialogVisible:false,
 				entityCopy: {},
 				upIndex: 0,
 				addPower: true,
@@ -812,6 +873,7 @@
 				let add = false
         let revoke = false
         let check = false
+        let checkUpdate = false
 				for (var i = 0; i < power.length; i++) {
 					if (power[i].menuMethod == 'upInsOrder') {
 						up = true
@@ -825,8 +887,14 @@
           if (power[i].menuMethod == 'upInsOrderOfState') {
           	check = true
           }
+          if (power[i].menuMethod == 'checkUpdate') {
+          	checkUpdate = true
+          }
 				}
 				if (!up) {
+					this.componentData.do.splice(5, 1)
+				}
+        if (!checkUpdate) {
 					this.componentData.do.splice(4, 1)
 				}
         if (!revoke) {
@@ -887,9 +955,72 @@
 			},
 			// 鎾ら攢
 			handlEquash(row) {
-				this.quashDialogVisible = true;
-        this.insOrderRow=row
+        if(this.tabIndex!=1){
+          this.quashDialogVisible = true;
+          this.insOrderRow=row
+        }else{
+          // this.componentDataDelete.entity.orderId = row.id
+          this.orderId = row.id
+          this.revocationInsProductIds = ''
+          this.componentDataDelete.showSelect= true
+          this.componentDataDelete.select= true
+          this.deleteTilte = '鎾ら攢'
+          this.deleteDialogVisible = true;
+        }
 			},
+      selectDelete(arr){
+        this.deleteList = arr;
+      },
+      submitDelete(){
+        if(this.deleteTilte=='鎾ら攢'){
+          if(this.deleteList.length==0){
+            this.$message.error('璇烽�夋嫨瑕佹挙閿�鐨勯」')
+            return
+          }
+          let ids = this.deleteList.map(m=>m.id).join(',')
+          this.printLoading = true;
+          this.axios.put(this.$api.insOrder.updateInspected+"?ids="+ids+'&orderId='+this.orderId).then(res=>{
+            if (res.code===200){
+              this.printLoading=false
+              this.deleteDialogVisible=false
+              this.refreshTable('page')
+              this.$message.success("鏇存柊鎴愬姛")
+            }
+          })
+        }else{
+          this.axios.post(this.$api.insOrder.checkUpdate+'?orderId='+this.orderId+'&state='+1).then(res=>{
+            if (res.code===200){
+              this.printLoading=false
+              this.deleteDialogVisible=false
+              this.refreshTable('page')
+              this.$message.success("鏇存柊鎴愬姛")
+            }
+          })
+        }
+      },
+      handlEquashCheck(row){
+        // this.componentDataDelete.entity.orderId = row.id
+        this.orderId = row.id
+        this.revocationInsProductIds = row.revocationInsProductIds
+        this.componentDataDelete.showSelect= false
+        this.componentDataDelete.select= false
+        this.deleteTilte = '鎾ら攢瀹℃牳'
+        this.deleteDialogVisible = true;
+      },
+      handleNo(){
+        if(this.deleteTilte=='鎾ら攢'){
+          this.deleteDialogVisible=false
+        }else{
+          this.axios.post(this.$api.insOrder.checkUpdate+'?orderId='+this.orderId+'&state='+0).then(res=>{
+            if (res.code===200){
+              this.printLoading=false
+              this.deleteDialogVisible=false
+              this.refreshTable('page')
+              this.$message.success("鏇存柊鎴愬姛")
+            }
+          })
+        }
+      },
 			// 涓嬪彂
 			handleIssued(row) {
 				this.issuedDialogVisible = true;
@@ -1017,6 +1148,7 @@
 						}
 					})
 					this.componentDataDataLook.tagField.insState.select = data
+          this.componentDataDelete.tagField.insState.select = data
 				})
 			},
       selectEnumByCategoryForOrderType() {

--
Gitblit v1.9.3