From 57214d3ef6e7a32685b791ff3c8f1fc49539e055 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 14 十二月 2023 22:59:10 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before

---
 src/views/quality/processInspect/processInspect-form.vue |  177 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 113 insertions(+), 64 deletions(-)

diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
index 9a3454a..239b2bc 100644
--- a/src/views/quality/processInspect/processInspect-form.vue
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -8,13 +8,13 @@
                 <h2 v-else>缂栬緫-杩囩▼妫�楠屽崟</h2>
             </div>
             <div class="btn-group header-right">
-                <el-button @click="addTestProject" v-if="processInspectVo.id == null">鐢熸垚妫�楠岄」鐩�</el-button>
+                <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id == null">鐢熸垚妫�楠岄」鐩�</el-button>
             </div>
         </div>
         <div class="page-main">
             <div class="finishedProduct-basic">
                 <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" label-position="right"
-                    label-width="120px" style="width: 100%" size="small">
+                    label-width="120px" style="width: 100%" size="small" :rules="rules">
                     <div class="formwrapper">
                         <el-row>
                             <el-col :span="6">
@@ -24,7 +24,7 @@
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
-                                <el-form-item label="璁㈠崟鍙凤細">
+                                <el-form-item label="璁㈠崟鍙凤細" prop="orderNumber">
                                     <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
                                         v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
                                 </el-form-item>
@@ -41,8 +41,8 @@
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
-                                <el-form-item label="浜у搧缂栫爜锛�">
-                                    <el-input disabled v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
+                                <el-form-item label="浜у搧缂栧彿锛�">
+                                    <el-input disabled v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�"
                                         autocomplete="off" />
                                 </el-form-item>
                             </el-col>
@@ -50,7 +50,7 @@
                         <el-row>
                             <el-col :span="6">
                                 <el-form-item label="瑙勬牸鍨嬪彿锛�">
-                                    <el-input disabled v-model="processInspectVo.specs" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
+                                    <el-input disabled v-model="processInspectVo.specs" 
                                         autocomplete="off" />
                                 </el-form-item>
                             </el-col>
@@ -113,7 +113,7 @@
                                             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, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+                                                @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>
@@ -121,10 +121,7 @@
                                     <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.empiricalValueAddss[index]"
-                                                @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> -->
-                                            <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨">
+                                            <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>
@@ -151,31 +148,16 @@
                             <el-table-column 
                                 label="妫�楠屾弿杩�" width="240" style="text-align: center;">
                                 <template slot-scope="scope">
-                                    <el-col v-if="scope.row.itype === '1'">
+                                    <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, inote)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input>
+                                                @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, inote)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
-                                            <!-- <el-select style="width: 100%;" @change="changeState(scope.row, inote)" :disabled="scope.row.eId == null" v-model="scope.row.inote" 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.inote"></span>
-                                        </el-tooltip>
-                                    </el-col> 
                                 </template>
                             </el-table-column>
                             <el-table-column label="缁撹" fixed="right" min-width="100">
@@ -236,6 +218,9 @@
 export default {
     data() {
         return {
+            rules: {
+                orderNumber: [{required:true,message:'璁㈠崟鍙蜂笉鑳戒负绌�',trigger:'blur'}]
+            },
             dataVal: [{
                 label: '鏄�',
                 value: '鏄�'
@@ -257,7 +242,7 @@
                 proInsNo: null,
                 material: null,
                 materialCode: null,
-                orderNumber: "ZTTIC20230001",
+                orderNumber: null,
                 quantity: null,
                 specs: null,
                 unit: null,
@@ -279,11 +264,12 @@
     mounted() {
         this.getDeviceList()
         this.processInspectVo.id = this.$route.query.id
-        this.resultVal = this.$route.query.resultVal
+        this.resultVal = this.$route.params.resultVal
         if (this.resultVal == null) {
             let val = sessionStorage.getItem("process-resultVal-" + this.processInspectVo.id);
             val == undefined ? this.resultVal = null : this.resultVal = val
         }
+        console.log(this.resultVal);
         this.init()
     },
     methods: {
@@ -297,6 +283,11 @@
                     pro += arr.length
                 }
             })
+            let obj = {
+                id: this.processInspectVo.id,
+                number: 0,
+                result: this.inspectionResultForm[0].result
+            }
             if (pro > 0) {
                 this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
                     confirmButtonText: '纭畾',
@@ -304,11 +295,8 @@
                     inputPattern: /^\d+$/,
                     inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
                 }).then(({ value }) => {
-                    let data = {
-                        id: this.processInspectVo.id,
-                        number: value
-                    }
-                    updateProcessInspectsById(data).then(res => {
+                    obj.number = value
+                    updateProcessInspectsById(obj).then(res => {
                         let data = res.data.data
                         if (data) {
                             if (data.indexOf("鎴愬姛") > 0) {
@@ -322,7 +310,7 @@
                     });
                 }).catch(() => { });
             } else {
-                updateProcessInspectsById({ id: this.processInspectVo.id, number: 0 }).then(res => {
+                updateProcessInspectsById(obj).then(res => {
                     let data = res.data.data
                     if (data) {
                         if (data.indexOf("鎴愬姛") > 0) {
@@ -378,9 +366,9 @@
                                     arr = obj.inspectionValue.split(",")
                                 }
                                 obj.empiricalValueAddss = arr
-                                if(obj.note){
-                                        snote=obj.inote
-                                    }
+                                if(!obj.inote){
+                                    obj.inote = null
+                                }
                                 if (arr.length > this.empiricalValueAdd) {
                                     this.empiricalValueAdd = arr.length
                                 }
@@ -388,11 +376,21 @@
                         }
                     })
                     this.inspectionItems = result.children
+                    let rVal = '1'
+                    this.inspectionItems.forEach(item => {
+                        if (item.children) {
+                            item.children.forEach(obj => {
+                                if (obj.iresult == 0) {
+                                    rVal = '0'
+                                }
+                            })
+                        }
+                    })
                     this.inspectionResultForm = [{
                         materialCode: result.materialCode,
                         material: result.material,
                         userName: Array.from(new Set(userList)).join(","),
-                        result: this.resultVal == null ? '' : this.resultVal,
+                        result: this.resultVal == null ? rVal : this.resultVal,
                     }]
                 }).catch(error => {
                     console.log(error)
@@ -432,7 +430,22 @@
             this.processInspectVo.material = sample.material
             this.technologyList = sample.children
         },
-        changeState(row, index) {
+        changeState(row,isChecked) {
+            const _than = this
+            if(isChecked){
+                let isNumber = true
+                for(var i=0;i<row.empiricalValueAddss.length;i++){
+                    let val = row.empiricalValueAddss[i]
+                    if(!/^[0-9]*[1-9][0-9]*$/.test(val)){
+                        row.empiricalValueAddss[i] = null
+                        _than.$message.error("璇疯緭鍏ユ暟瀛�")
+                        isNumber = false
+                    }
+                }
+                if(!isNumber){
+                    return
+                }
+            }
             if (row.iid != null && row.iid != '') {
                 let str = ""
                 row.empiricalValueAddss.forEach(e => {
@@ -442,13 +455,11 @@
                 if (str === undefined || str === '' || str === null) {
                     return
                 }
-
                 let obj = {
                     devideId: row.eId,
                     ppid: row.iid,
                     inspectionValue: str,
                     note : row.inote
-
                 }
                 updateProcessInsProduct(obj).then(res => {
                     if (res.data.code == 0) {
@@ -462,20 +473,23 @@
         },
         addTestProject() {
             let val = this.processInspectVo
+            const _than = this
             addProcess(val).then(res => {
                 let id = res.data.data
                 if (id != null) {
+                    _than.processInspectVo.id = id
                     queryById(id).then(response => {
                         let proList = response.data.data.children
                         proList.forEach(item => {
                             item.iid = Math.random();
                             if (item.children != undefined) {
                                 item.children.forEach(obj => {
+                                    obj.inote = null
                                     obj.empiricalValueAddss = []
                                 })
                             }
                         })
-                        this.inspectionItems = proList
+                        _than.inspectionItems = proList
                     }).catch(error => {
                         console.log(error);
                     })
@@ -485,32 +499,67 @@
             })
         },
         selectInfoByOrderId() {
-            chooseMater({
-                orderNumber: this.processInspectVo.orderNumber
-            }).then(res => {
-                if (res.data.data != null) {
-                    this.optionsSamplename = res.data.data.children
-                } else {
-                    this.$message({
-                        message: '娌℃湁璇ヨ鍗曞彿锛�',
-                        type: 'warning'
-                    });
-                    this.optionsSamplename = []
-                    this.processInspectVo.materialCode = null
-                    this.processInspectVo.material = null
-                    this.processInspectVo.specs = null
-                    this.processInspectVo.unit = null
+            this.$refs.addInspectionform.validate(valid=>{
+                if(valid){
+                    chooseMater({
+                        orderNumber: this.processInspectVo.orderNumber
+                    }).then(res => {
+                        if (res.data.data != null) {
+                            this.optionsSamplename = res.data.data.children
+                        } else {
+                            this.$message({
+                                message: '娌℃湁璇ヨ鍗曞彿锛�',
+                                type: 'warning'
+                            });
+                            this.optionsSamplename = []
+                            this.processInspectVo.materialCode = null
+                            this.processInspectVo.material = null
+                            this.processInspectVo.specs = null
+                            this.processInspectVo.unit = null
+                        }
+                    })
                 }
             })
         },
+        changeRowResult(){
+            if(this.inspectionItems){
+                this.inspectionItems.forEach(e=>{
+                    if(e.children){
+                        e.children.forEach(i=>{
+                            if(i.empiricalValueAddss.length>1){
+                                let arr = i.inspectionValue.split(",")
+                                arr.splice((arr.length-1),1)
+                                let obj = {
+                                    devideId: i.eId,
+                                    ppid: i.iid,
+                                    inspectionValue: arr.join(","),
+                                    note : i.inote
+                                }
+                                updateProcessInsProduct(obj).then(res => {
+                                    if (res.data.code == 0) {
+                                        this.init()
+                                    } 
+                                })
+                            }
+                        })
+                    }
+                })
+            }
+        },
         // 鍒犻櫎妫�楠屽�煎垪
         clickDeleteInspectionColumn() {
-            if (this.empiricalValueAdd - 1 === 0) {
+            const _than = this
+            if (_than.empiricalValueAdd - 1 === 0) {
             } else {
-                if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
-                    this.empiricalValueAdd = this.empiricalValueAdd - 1;
-                    this.inspectionItems.forEach(i => {
-                        i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
+                if (_than.empiricalValueAddMaxNumber != _than.empiricalValueAdd - 1) {
+                    _than.empiricalValueAdd = _than.empiricalValueAdd - 1;
+                    _than.changeRowResult()
+                    _than.inspectionItems.forEach(i => {
+                        if(i.children){
+                            i.children.forEach(ele=>{
+                                ele.empiricalValueAddss.splice(_than.empiricalValueAdd, 1);
+                            })
+                        }
                     });
                 }
             }

--
Gitblit v1.9.3