From 1e04e42f5f93e16d3e937927a5500c5e44834f16 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 01 十一月 2023 20:25:37 +0800
Subject: [PATCH] 	new file:   src/api/quality/processInspect.js 	modified:   src/router/views/index.js 	renamed:    src/views/quality/finishedProductInspection/finishedProductInspectionAdd.vue -> src/views/quality/finishedProductInspection/finishedProduct-form.vue 	modified:   src/views/quality/finishedProductInspection/index.vue 	new file:   src/views/quality/processInspect/index.vue 	new file:   src/views/quality/processInspect/processInspect-form.vue 	modified:   src/views/quality/rawMaterial/index.vue 	modified:   src/views/quality/rawMaterial/rawMaterial-form.vue

---
 src/views/quality/rawMaterial/rawMaterial-form.vue                   |   86 ++-
 src/api/quality/processInspect.js                                    |   80 ++++
 src/router/views/index.js                                            |   19 
 src/views/quality/finishedProductInspection/index.vue                |  112 -----
 src/views/quality/finishedProductInspection/finishedProduct-form.vue |   84 ++-
 src/views/quality/processInspect/index.vue                           |  298 ++++++++++++++
 src/views/quality/rawMaterial/index.vue                              |    5 
 src/views/quality/processInspect/processInspect-form.vue             |  510 +++++++++++++++++++++++++
 8 files changed, 1,030 insertions(+), 164 deletions(-)

diff --git a/src/api/quality/processInspect.js b/src/api/quality/processInspect.js
new file mode 100644
index 0000000..8968102
--- /dev/null
+++ b/src/api/quality/processInspect.js
@@ -0,0 +1,80 @@
+/*
+ *    Copyright (c) 2018-2025, ztt All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the pig4cloud.com developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: ztt
+ */
+
+import request from '@/router/axios'
+
+export function page(query) {
+  return request({
+    url: '/mes/qualityProcessInspect/page',
+    method: 'get',
+    params: query
+  })
+}
+
+export function updateProcessInspectsById(query) {
+  return request({
+    url: '/mes/qualityProcessInspect/updateProcessInspectsById',
+    method: 'post',
+    params: query
+  })
+}
+
+export function chooseMater(query) {
+    return request({
+      url: '/mes/qualityProcessInspect/chooseMater',
+      method: 'get',
+      params: query
+    })
+  }
+
+export function addProcess(obj) {
+    return request({
+        url: '/mes/qualityProcessInspect/addProcess',
+        method: 'post',
+        data: obj
+    })
+}
+
+export function queryById(obj) {
+    return request({
+        url: '/mes/qualityProcessInspect/'+obj,
+        method: 'get',
+    })
+}
+
+export function deleteById(obj) {
+    return request({
+        url: '/mes/qualityProcessInspect/'+obj,
+        method: 'delete',
+    })
+}
+
+export function updateDeviceBypppId(obj) {
+    return request({
+        url: '/mes/qualityProcessInsProduct/updateDevBypppId',
+        method: 'post',
+        params: obj
+    })
+}
+
+export function updateProcessInsProduct(obj) {
+    return request({
+        url: '/mes/qualityProcessInsProduct/updateprocessInsProduct',
+        method: 'post',
+        params: obj
+    })
+}
\ No newline at end of file
diff --git a/src/router/views/index.js b/src/router/views/index.js
index 4e5ee6e..7269a62 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -169,7 +169,24 @@
         path: 'finishedProduct-form',
         name: 'finishedProductForm',
         component: () =>
-          import(/* webpackChunkName: "views" */ '@/views/quality/finishedProductInspection/finishedProductInspectionAdd'),
+          import(/* webpackChunkName: "views" */ '@/views/quality/finishedProductInspection/finishedProduct-form'),
+        meta: {
+          keepAlive: false,
+          isTab: false,
+          isAuth: false
+        }
+      }
+    ]
+  },
+  {
+    path: '/quality/processInspect',
+    component: Layout,
+    children: [
+      {
+        path: 'processInspect-form',
+        name: 'processInspectForm',
+        component: () =>
+          import(/* webpackChunkName: "views" */ '@/views/quality/processInspect/processInspect-form'),
         meta: {
           keepAlive: false,
           isTab: false,
diff --git a/src/views/quality/finishedProductInspection/finishedProductInspectionAdd.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
similarity index 87%
rename from src/views/quality/finishedProductInspection/finishedProductInspectionAdd.vue
rename to src/views/quality/finishedProductInspection/finishedProduct-form.vue
index f3a7a4c..46c7e91 100644
--- a/src/views/quality/finishedProductInspection/finishedProductInspectionAdd.vue
+++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -4,7 +4,8 @@
     <div class="page-header">
         <div class="header-left">
             <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a>
-            <h2>缂栬緫-浜у搧妫�楠屽崟</h2>
+            <h2 v-if="resultVal!=null && processInspectVo.id!=null">鏌ョ湅-浜у搧妫�楠屽崟</h2>
+            <h2 v-else>缂栬緫-浜у搧妫�楠屽崟</h2>
         </div>
         <div class="btn-group header-right">
             <el-button @click="addTestProject" v-if="processInspectVo.id==null">鐢熸垚妫�楠岄」鐩�</el-button>
@@ -35,14 +36,6 @@
                             </el-form-item>
                         </el-col>
                         <el-col :span="6">
-                            <el-form-item label="璐ㄩ噺杩芥函鍙凤細">
-                                <el-input disabled v-model="processInspectVo.qualityTraceability"
-                                    placeholder="璇疯緭鍏ヨ川閲忚拷婧彿" autocomplete="off" />
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-                    <el-row>
-                        <el-col :span="6">
                             <el-form-item label="浜у搧鍚嶇О锛�">
                                 <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null"
                                     v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
@@ -52,6 +45,8 @@
                                 </el-select>
                             </el-form-item>
                         </el-col>
+                    </el-row>
+                    <el-row>
                         <el-col :span="6">
                             <el-form-item label="浜у搧缂栫爜锛�">
                                 <el-input disabled v-model="processInspectVo.mcode"
@@ -70,8 +65,6 @@
                                     placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
                             </el-form-item>
                         </el-col>
-                    </el-row>
-                    <el-row>
                         <el-col :span="6">
                             <el-form-item label="鏁伴噺锛�">
                                 <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�"
@@ -85,7 +78,7 @@
         <div class="finishedProduct-detail">
             <el-row style="width:100%;z-index: 10;height:30px;">
                 <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
-                <el-col :span="12" class="inspectionProject_span" style="text-align: right;">
+                <el-col v-if="resultVal==null" :span="12" class="inspectionProject_span" style="text-align: right;">
                     <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button>
                     <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button>
                 </el-col>
@@ -109,16 +102,20 @@
                                     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-tooltip>
+                                    <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span>
+                                    </el-tooltip>
                             </template>
                         </el-table-column>
                         <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250">
                             <template slot-scope="scope">
-                                <el-select style="width:100%" v-model="scope.row.eId" 
-                                v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)">
-                                    <el-option v-for="(item,index) in deviceList" 
-                                    :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
-                                </el-select>
+                                <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span>
+                                <div v-else>
+                                    <el-select style="width:100%" v-model="scope.row.eId" 
+                                    v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)">
+                                        <el-option v-for="(item,index) in deviceList" 
+                                        :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
+                                    </el-select>
+                                </div>
                             </template>
                         </el-table-column>
                         <el-table-column label="缁撹" fixed="right" min-width="100">
@@ -148,13 +145,13 @@
                         <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column>
                         <el-table-column prop="result" label="妫�楠岀粨璁�">
                             <template slot-scope="scope">
-                                <el-tag type="success" v-if="scope.row.result == 1">鍚堟牸</el-tag>
-                                <el-tag type="danger" v-else-if="scope.row.result == 0">涓嶅悎鏍�</el-tag>
+                                <el-tag type="success" v-if="scope.row.result == '1'">鍚堟牸</el-tag>
+                                <el-tag type="danger" v-else-if="scope.row.result == '0'">涓嶅悎鏍�</el-tag>
                             </template>
                         </el-table-column>
                         <el-table-column  label="鎿嶄綔">
                             <template>
-                                <el-button type="text"  @click="submitSave()" size="small">涓婃姤</el-button>
+                                <el-button type="text" :disabled="resultVal!=null && processInspectVo.id!=null"  @click="submitSave()" size="small">涓婃姤</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
@@ -178,6 +175,7 @@
 export default {
     data() {
         return {
+            resultVal: null,
             deviceList: [],
             hasChildren: true,
             optionsSamplename: [],
@@ -214,6 +212,11 @@
     mounted() {
         this.getDeviceList()
         this.processInspectVo.id = this.$route.query.id
+        this.resultVal = this.$route.query.resultVal
+        if(this.resultVal == null){
+            let val = sessionStorage.getItem("finished-resultVal");
+            val == undefined ? this.resultVal=null : this.resultVal = val
+        }
         this.init()
     },
     methods: {
@@ -240,15 +243,40 @@
                     number: value
                     }
                     updateFinishedInspectById(data).then(res => {
-                        this.$message.success("涓婃姤鎴愬姛");
+                        if(res.data.data.indexOf("鎴愬姛") > 0){
+                            this.$message.success("涓婃姤鎴愬姛");
+                            this.checkTestState()
+                        }else{
+                            this.$message.warning(res.data.data)
+                        }
                     });
                 }).catch(() => {});
             }else{
                 updateFinishedInspectById({id:this.processInspectVo.id,number:0}).then(res => {
-                    this.$message.success("涓婃姤鎴愬姛");
+                    if(res.data.data.indexOf("鎴愬姛") > 0){
+                            this.$message.success("涓婃姤鎴愬姛");
+                            this.checkTestState()
+                        }else{
+                            this.$message.warning(res.data.data)
+                        }
                 });
             }
             this.init()
+        },
+        checkTestState(){
+            let resultVal = '1'
+            this.inspectionItems.forEach(item=>{
+                if(item.children){
+                    item.children.forEach(obj=>{
+                        if(obj.iresult == 0){
+                            resultVal = '0'
+                        }
+                    })
+                }
+            })
+            this.resultVal = resultVal
+            this.inspectionResultForm[0].result = resultVal
+            sessionStorage.setItem("finished-resultVal",resultVal)
         },
         init(){
             let id = this.processInspectVo.id
@@ -263,7 +291,6 @@
                     this.processInspectVo.specificationsModel = result.specs
                     this.processInspectVo.unit = result.punit
                     this.processInspectVo.quantity = result.quantity
-                    let resultVal = 1
                     let userList = []
                     result.children.forEach(item=>{
                         item.iid = Math.random()
@@ -275,9 +302,6 @@
                                 }
                                 if(obj.inspectionValue){
                                     arr = obj.inspectionValue.split(",")
-                                }
-                                if(obj.iresult && obj.iresult == 0){
-                                    resultVal = 0
                                 }
                                 obj.empiricalValueAddss = arr
                                 if(arr.length > this.empiricalValueAdd){
@@ -291,7 +315,7 @@
                         materialCode: result.materialCode,
                         material: result.material,
                         userName: Array.from(new Set(userList)).join(","),
-                        result: resultVal,
+                        result: this.resultVal==null ? '' : this.resultVal,
                     }]
                 }).catch(error=>{
                     console.log(error)
@@ -425,7 +449,7 @@
 <style scoped>
 .finishedProduct-detail {
   width: 100%;
-  height: 470px;
+  height: 500px;
   padding: 10px 20px;
   display: flex;
   border: 1px solid #ddd;
@@ -449,7 +473,7 @@
 
 .finishedProduct-basic {
   background-color: #fff;
-  height: 155px;
+  height: 120px;
   display: flex;
   flex-wrap: wrap;
   padding: 10px 20px;
diff --git a/src/views/quality/finishedProductInspection/index.vue b/src/views/quality/finishedProductInspection/index.vue
index e2cccb9..674a317 100644
--- a/src/views/quality/finishedProductInspection/index.vue
+++ b/src/views/quality/finishedProductInspection/index.vue
@@ -16,11 +16,10 @@
 	</div>
 </template>
 
-
 <script>
     import ttable from '@/views/common/ztt-table.vue'
     import * as fecha from 'element-ui/lib/utils/date'
-	import finishedProductInspectionAdd from './finishedProductInspectionAdd'
+	import finishedProductInspectionAdd from './finishedProduct-form'
     import { page,deletePro } from '@/api/quality/finishedProduct'
 	export default {
 		components: {
@@ -151,9 +150,6 @@
                         fun: this.addOrUpdateHandle
                     },
                     {
-                        text: '鍒犻櫎',
-                    },
-                    {
                         text: '瀵煎嚭',
                     }
                     ],
@@ -174,67 +170,9 @@
                     minWidth: 100
                     },
                 },
-
-
-
-
-
-                
-				searchData: {
-					result: '',
-					material: '',
-				},
-				// 涓绘満宸ヤ笅鎷夋
-				usernameOptions: [],
-				inspectionTable: [],
-				rowInfo: {},
-				pageParams: {
-					countSize: 10, //姣忛〉鏁伴噺
-					pageSize: 1, // 褰撳墠椤电爜
-					total: 0
-				},
-				showAddPage: false,
-				showAdd: false,
-				showLook: false,
-				showUp: false,
-				showDetail: false,
-				addInspectionform: [{
-					number: '',
-					username: '',
-					projectname: '',
-					tracenumber: '',
-					code: '',
-					class: '',
-					specificationmodel: '',
-					unit: '',
-					quantity: '',
-					group: '',
-					worker: '',
-					machine: ''
-				}],
-				inspectionItems: [{
-					project: '甯冮殕杩�',
-					unit: '鍚�',
-					standardVal: '8219384314',
-					controlVal: '9823401',
-					detectionVal: '11111',
-					device: '',
-					conclusion: '鍚堟牸'
-				}],
-				inspectionResultForm: [{
-					id: '274024',
-					name: '111',
-					inspecter: '111',
-					conclusion: '',
-					operation: ''
-				}],
-				finishedInsInfo: {}
 			}
 		},
-		created() {
-			this.init()
-			// this.getInspectionTableData()
-		},
+		created() { },
 		methods: {
 			deleteHandle(row){
 				console.log(row.id)
@@ -257,7 +195,10 @@
 			addOrUpdateHandle(row) {
 				this.$router.push({
 					name: 'finishedProductForm',
-					query: { id: row == null ? null : row.id }
+					query: { 
+                        id: row == null ? null : row.id,
+                        resultVal: row == null ? null : row.result 
+                    }
 				})
 			},
             formatResult(row, column, cellValue){
@@ -272,49 +213,10 @@
             formatDateTime(row, column, cellValue) {
                 return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
             },
-            handleSelectionChange(){
-
-            },
-			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-			handleSizeChange(val) {
-				console.log(`姣忛〉 ${val} 鏉)
-				this.currentPage = 1
-				this.pageSize = val
-			},
-			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-			handleCurrentChange(val) {
-				console.log(`褰撳墠椤�: ${val}`)
-				this.currentPage = val
-			},
-			handleAddNew() {
-				this.showAdd = true
-			},
+            handleSelectionChange(){ },
 			getData() {
 				this.$refs.finishedProduct.getDataList()
 			},
-			goToDetail(row) {
-				this.rowInfo = row
-				this.showLook = true
-			},
-			goUp(row) {
-				this.rowInfo = row
-				this.showUp = true
-			},
-			async init() {
-				// const {data} = await this.$axios.get(this.$api.url.finishedInspectUser)
-				// this.usernameOptions = data
-
-			},
-			comBackMain(val) {
-				this.showAdd = false
-				this.showLook = false
-				this.showUp = false
-				this.init()
-				// this.getInspectionTableData()
-				if (val) {
-					this.$parent.removeAllTab()
-				}
-			}
 		}
 
 	}
diff --git a/src/views/quality/processInspect/index.vue b/src/views/quality/processInspect/index.vue
new file mode 100644
index 0000000..fdc05d8
--- /dev/null
+++ b/src/views/quality/processInspect/index.vue
@@ -0,0 +1,298 @@
+<template>
+	<div class="content-main">
+		<div class="rawPage">
+            <basic-container>
+                <ttable 
+                :table="table"
+                @handleSelectionChange="handleSelectionChange"
+                :prelang="prelang"
+                :options="options"
+                :ajaxFun="ajaxFun"
+                ref="processInspect">
+                <template #toolbar></template>
+                </ttable>
+            </basic-container>
+		</div>
+	</div>
+</template>
+
+<script>
+    import ttable from '@/views/common/ztt-table.vue'
+    import * as fecha from 'element-ui/lib/utils/date'
+	import processInspectForm from './processInspect-form'
+    import { page,deleteById } from '@/api/quality/processInspect'
+	export default {
+		components: {
+			processInspectForm,
+            ttable
+		},
+		data() {
+			return {
+                result:[{label:'鍏ㄩ儴',value: ''},{label:'鍚堟牸',value: '1'},{label:'涓嶅悎鏍�',value: '0'}],
+                type: [1],
+                prelang: 'processInspect',
+                ajaxFun: page,
+                options: {
+                    height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+                    stripe: true, // 鏄惁涓烘枒椹汗 table
+                    highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+                    border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+                    lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+                    fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+                    multiSelect: true, //
+                    seqNo: true,
+                    isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+                    isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+                    isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
+                    defaultOrderBy: { column: 'createTime', direction: 'desc' },
+                },
+                table: {
+                    total: 0,
+                    currentPage: 1,
+                    pageSize: 20,
+                    data: [],
+                    // 鏍囬
+                    column: [
+                        {
+                            minWidth: '120',
+                            prop: 'orderNumber',
+                            label: '璁㈠崟缂栧彿',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text',
+                            render: { fun: this.addOrUpdateHandle }
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'material',
+                            label: '浜у搧鍚嶇О',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text'
+                        },
+                        {
+                            minWidth: '130',
+                            width: '150',
+                            prop: 'specs',
+                            label: '瑙勬牸鍨嬪彿',
+                            sort: true,
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text',
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'operaName',
+                            label: '宸ュ簭',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text'
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'unit',
+                            label: '鍗曚綅',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text'
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'quantity',
+                            label: '鏁伴噺',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text'
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'createTime',
+                            label: '鎶ユ鏃ユ湡',
+                            sort: true,
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'datetimerange',
+                            formatter: this.formatDateTime,
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'createUser',
+                            label: '鎶ユ浜�',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'text'
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'updateTime',
+                            label: '妫�娴嬫棩鏈�',
+                            sort: true,
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'datetimerange',
+                            formatter: this.formatDateTime,
+                        },
+                        {
+                            minWidth: '120',
+                            prop: 'result',
+                            label: '鍚堟牸鐘舵��',
+                            isTrue: true,
+                            isSearch: true,
+                            searchInfoType: 'select',
+                            formatter: this.formatResult,
+                            optList: () => {
+                                return this.result
+                            }
+                        },
+                    ],
+                    toolbar: [
+                    {
+                        text: '鏂板',
+                        type: 'primary',
+                        fun: this.addOrUpdateHandle
+                    },
+                    {
+                        text: '瀵煎嚭',
+                    }
+                    ],
+                    operator: [{
+                        text: '浣滃簾',
+                        type: 'text',
+                        size: 'small',
+                        fun: this.deleteHandle
+                    }],
+                    operatorConfig: {
+                    fixed: 'right',
+                    label: '鎿嶄綔',
+                    width: 100,
+                    minWidth: 100
+                    },
+                },
+			}
+		},
+		created() { },
+		methods: {
+			deleteHandle(row){
+				this.$confirm('纭鍒犻櫎璇ユ暟鎹悧锛�', '鎻愮ず', {
+				confirmButtonText: '纭畾',
+				cancelButtonText: '鍙栨秷',
+				type: 'warning',
+				}).then(()=>{
+					deleteById(row.id).then(res=>{
+						if(res.data.code == 0){
+							this.$message.success("鍒犻櫎鎴愬姛")
+						}else{
+							this.$message.error("鍒犻櫎澶辫触")
+						}
+						this.getData()
+					})
+				})
+			},
+			// 鏂板 / 淇敼
+			addOrUpdateHandle(row) {
+				this.$router.push({
+					name: 'processInspectForm',
+					query: { id: row == null ? null : row.id,resultVal : row == null ? null : row.result },
+				})
+			},
+            formatResult(row, column, cellValue){
+                if(cellValue != undefined || cellValue != null){
+                    if(cellValue == 0){
+                        return "<span style='color:#E84738;'>涓嶅悎鏍�</span>"
+                    }else if(cellValue == 1){
+                        return "<span style='color:#34BD66;'>鍚堟牸</span>"
+                    }
+                }
+            },
+            formatDateTime(row, column, cellValue) {
+                return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : ''
+            },
+            handleSelectionChange(){ },
+			getData() {
+				this.$refs.processInspect.getDataList()
+			},
+		}
+
+	}
+</script>
+
+<style scope="scope">
+	.title {
+		padding: 12px;
+
+	}
+
+	.nav {
+		display: flex;
+		padding: 20px 20px;
+		align-items: center;
+		background-color: #fff;
+	}
+
+	.nav * {
+		font-size: 14px;
+	}
+
+	.content-body {
+		background-color: #fff;
+		overflow: hidden;
+		margin-top: 12px;
+	}
+
+	.inspectionTable {
+		padding: 20px 20px;
+	}
+
+	.pagination {
+		float: right;
+		margin-right: 20px;
+	}
+
+	.newPage {
+		overflow: hidden;
+	}
+
+	.header {
+		padding: 12px;
+	}
+
+	.addInspectionform {
+		background-color: #fff;
+	}
+
+	.addInspectionform .formwrapper {
+		padding: 20px 0px;
+		margin-left: 100px;
+	}
+
+	.inspectionProject span {
+		display: block;
+		padding: 5px 0px;
+	}
+
+	.inspectionProject .el-table {
+		background-color: #fff;
+		padding: 10px 12px;
+	}
+
+	.inspectionResult span {
+		display: block;
+		padding: 5px 0px;
+	}
+
+	.inspectionResult .el-table {
+		background-color: #fff;
+		padding: 10px 12px;
+	}
+
+	.rawPage {
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		overflow-y: scroll;
+	}
+
+	.rawPage .content-body {
+		flex: 1;
+	}
+</style>
\ No newline at end of file
diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
new file mode 100644
index 0000000..8cffa25
--- /dev/null
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -0,0 +1,510 @@
+<template>
+    <!-- 鏂板椤甸潰 -->
+    <div class="addInspection">
+        <div class="page-header">
+            <div class="header-left">
+                <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a>
+                <h2 v-if="resultVal != null && processInspectVo.id!=null">鏌ョ湅-杩囩▼妫�楠屽崟</h2>
+                <h2 v-else>缂栬緫-杩囩▼妫�楠屽崟</h2>
+            </div>
+            <div class="btn-group header-right">
+                <el-button @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">
+                    <div class="formwrapper">
+                        <el-row>
+                            <el-col :span="6">
+                                <el-form-item label="璁㈠崟鍙凤細">
+                                    <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
+                                    v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="6">
+                                <el-form-item label="浜у搧鍚嶇О锛�">
+                                    <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null"
+                                        v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
+                                        <el-option v-for="(item,index) in optionsSamplename" :key="index" :label="item.material"
+                                            :value="item.materialCode">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="6">
+                                <el-form-item label="浜у搧缂栫爜锛�">
+                                    <el-input disabled v-model="processInspectVo.materialCode"
+                                        placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="6">
+                                <el-form-item label="瑙勬牸鍨嬪彿锛�">
+                                    <el-input disabled v-model="processInspectVo.specs"
+                                        placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col :span="6">
+                                <el-form-item label="宸ュ簭鍚嶇О">
+                                    <el-select style="width: 100%" :disabled="processInspectVo.id != null"
+                                        v-model="processInspectVo.technologyOperationId" size="small" placeholder="璇烽�夋嫨宸ュ簭">
+                                        <el-option v-for="(item,index) in technologyList" :key="index" :label="item.name"
+                                            :value="item.technologyOperationId">
+                                        </el-option>
+                                    </el-select>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="6">
+                                <el-form-item label="鍗曚綅锛�">
+                                    <el-input disabled v-model="processInspectVo.unit"
+                                        placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                        <el-row>
+                            <el-col :span="6">
+                                <el-form-item label="鏁伴噺锛�">
+                                    <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�"
+                                        autocomplete="off" :disabled="processInspectVo.id != null" />
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                    </div>
+                </el-form>
+            </div>
+            <div class="finishedProduct-detail">
+                <el-row style="width:100%;z-index: 10;height:30px;">
+                    <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
+                    <el-col v-if="resultVal == null" :span="12" class="inspectionProject_span" style="text-align: right;">
+                        <el-button size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�娴嬪�煎垪</el-button>
+                        <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button>
+                    </el-col>
+                </el-row>
+                <el-row style="width:100%;">
+                    <el-col :span="24">
+                        <el-table border :data="inspectionItems" height="400"
+                            :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" 
+                            :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all
+                            style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
+                            <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+                            <el-table-column label="椤圭洰" prop="father" width="240" ></el-table-column>
+                            <el-table-column prop="iname" label="鎸囨爣" width="240" ></el-table-column>
+                            <el-table-column prop="iunit" label="鍗曚綅" width="240" ></el-table-column>
+                            <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column>
+                            <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
+                                width="240" style="text-align: center;">
+                                <template slot-scope="scope">
+                                        <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>
+                                            <span v-if="resultVal != null && processInspectVo.id!=null" v-text="scope.row.empiricalValueAddss[index]"></span>
+                                        </el-tooltip>
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250">
+                                <template slot-scope="scope">
+                                    <span v-if="resultVal != null && scope.row.iname != null" v-text="scope.row.ename"></span>
+                                    <div v-else>
+                                        <el-select style="width:100%" v-model="scope.row.eId" 
+                                        v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)">
+                                            <el-option v-for="(item,index) in deviceList" 
+                                            :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
+                                        </el-select>
+                                    </div>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="缁撹" fixed="right" min-width="100">
+                                <template slot-scope="scope">
+                                    <div v-if="scope.row.iname!=null">
+                                        <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span>
+                                        <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span>
+                                        <span v-else>鏆傛棤缁撹</span>
+                                    </div>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-col>
+                </el-row>
+            </div>
+            <div class="finishedProduct-result">
+                <el-row style="width:100%">
+                    <el-col :span="24">妫�娴嬬粨鏋�</el-col>
+                </el-row>
+                <el-row style="width:100%;">
+                    <el-col :span="24">
+                        <el-table border height="90" :data="inspectionResultForm"
+                        :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" 
+                        :cell-style="{textAlign:'center'}">
+                            <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"></el-table-column>
+                            <el-table-column prop="material" label="鐗╂枡鍚嶇О"></el-table-column>
+                            <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column>
+                            <el-table-column prop="result" label="妫�楠岀粨璁�">
+                                <template slot-scope="scope">
+                                    <el-tag type="success" v-if="scope.row.result == '1'">鍚堟牸</el-tag>
+                                    <el-tag type="danger" v-if="scope.row.result == '0'">涓嶅悎鏍�</el-tag>
+                                </template>
+                            </el-table-column>
+                            <el-table-column  label="鎿嶄綔">
+                                <template>
+                                    <el-button type="text" :disabled="resultVal != null && processInspectVo.id!=null"  @click="submitSave()" size="small">涓婃姤</el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-col>
+                </el-row>
+            </div>
+        </div>
+    </div>
+    </template>
+    
+    <script>
+    import { 
+        chooseMater,
+        addProcess,
+        queryById,
+        updateDeviceBypppId,
+        updateProcessInsProduct,
+        updateProcessInspectsById,
+     } from '@/api/quality/processInspect'
+    import { selectDevice } from '@/api/quality/rawMaterial'
+    export default {
+        data() {
+            return {
+                resultVal: null,
+                technologyList: [],
+                deviceList: [],
+                hasChildren: true,
+                optionsSamplename: [],
+                // 娣诲姞鍒�
+                empiricalValueAdd: 1,
+                // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+                empiricalValueAddMaxNumber: 0,
+                processInspectVo: {
+                    id: null,
+                    material: null,
+                    materialCode: null,
+                    orderNumber: "ZTTIC20230001",
+                    quantity: null,
+                    specs: null,
+                    unit: null,
+                    technologyOperationId: null
+                },
+                inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+                inspectionResultForm: [],
+            }
+        },
+        watch: {
+        },
+        beforeUpdate(){
+          this.$nextTick(()=>{
+            this.$refs.table.doLayout();
+          })
+        },
+        created() {
+        },
+        mounted() {
+            this.getDeviceList()
+            this.processInspectVo.id = this.$route.query.id
+            this.resultVal = this.$route.query.resultVal
+            if(this.resultVal == null){
+                let val = sessionStorage.getItem("process-resultVal");
+                val == undefined ? this.resultVal=null : this.resultVal = val
+            }
+            this.init()
+        },
+        methods: {
+            submitSave(){
+                let pro = 0
+                console.log(this.inspectionItems);
+                this.inspectionItems.forEach(item => {
+                    if(item.children){
+                        let arr = item.children.filter(obj=>{
+                                return obj.iresult == 0;
+                        })
+                        pro+=arr.length
+                    }
+                })
+                if (pro > 0) {
+                    this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
+                        confirmButtonText: '纭畾',
+                        cancelButtonText: '鍙栨秷',
+                        inputPattern: /^\d+$/,
+                        inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
+                    }).then(({ value }) => {
+                        let data = {
+                            id: this.processInspectVo.id,
+                            number: value
+                        }
+                        updateProcessInspectsById(data).then(res => {
+                            let data = res.data.data
+                            if(data){
+                                if(data.indexOf("鎴愬姛")>0){
+                                    this.$message.success(data);
+                                    this.checkTestState()
+                                }else{
+                                    this.$message.warning(data);
+                                }
+                                return
+                            }
+                        });
+                    }).catch(() => {});
+                }else{
+                    updateProcessInspectsById({id:this.processInspectVo.id,number:0}).then(res => {
+                        let data = res.data.data
+                        if(data){
+                            if(data.indexOf("鎴愬姛") > 0){
+                                this.$message.success(data);
+                                this.checkTestState()
+                            }else{
+                                this.$message.warning(data);
+                            }
+                            return
+                        }
+                    });
+                }
+                this.init()
+            },
+            checkTestState(){
+                let resultVal = '1'
+                this.inspectionItems.forEach(item=>{
+                    if(item.children){
+                        item.children.forEach(obj=>{
+                            if(obj.iresult == 0){
+                                resultVal = '0'
+                            }
+                        })
+                    }
+                })
+                this.resultVal = resultVal
+                this.inspectionResultForm[0].result = resultVal
+                sessionStorage.setItem("process-resultVal",resultVal)
+            },
+            init(){
+                let id = this.processInspectVo.id
+                if(id != null){
+                    queryById(id).then(res=>{
+                        let result = res.data.data
+                        this.processInspectVo.orderNumber = result.orderNumber
+                        this.processInspectVo.materialCode = result.materialCode
+                        this.processInspectVo.material = result.material
+                        this.processInspectVo.technologyOperationId = result.technologyOperationName
+                        this.processInspectVo.specs = result.specs
+                        this.processInspectVo.unit = result.punit
+                        this.processInspectVo.quantity = result.quantity
+                        let userList = []
+                        result.children.forEach(item=>{
+                            item.iid = Math.random()
+                            if(item.children != undefined){
+                                item.children.forEach(obj=>{
+                                    let arr = []
+                                    if(obj.userName){
+                                        userList.push(obj.userName)
+                                    }
+                                    if(obj.inspectionValue){
+                                        arr = obj.inspectionValue.split(",")
+                                    }
+                                    obj.empiricalValueAddss = arr
+                                    if(arr.length > this.empiricalValueAdd){
+                                        this.empiricalValueAdd = arr.length
+                                    }
+                                })
+                            }
+                        })
+                        this.inspectionItems = result.children
+                        this.inspectionResultForm = [{
+                            materialCode: result.materialCode,
+                            material: result.material,
+                            userName: Array.from(new Set(userList)).join(","),
+                            result: this.resultVal == null ? '' : this.resultVal,
+                        }]
+                    }).catch(error=>{
+                        console.log(error)
+                    })
+                }
+            },
+            getDeviceList(){
+                selectDevice(null).then(res=>{
+                    this.deviceList = res.data.data
+                })
+            },
+            updateDevice(row){
+                updateDeviceBypppId({equiomentId:row.eId,ppid:row.iId}).then(res=>{
+                }).catch(error=>{
+                    console.log(error)
+                })
+            },
+            //浜у搧鍚嶇О锛岄�夋嫨
+            changeOptionsSamplename(val) {
+                let sample = this.optionsSamplename.filter(o=>{
+                    return o.materialCode == val
+                })[0]
+                this.processInspectVo.materialCode = sample.materialCode
+                this.processInspectVo.specs = sample.specs
+                this.processInspectVo.unit = sample.unit
+                this.processInspectVo.material = sample.material
+                this.technologyList = sample.children
+            },
+            changeState(row, index) {
+                if (row.iid != null && row.iid != '') {
+                    let str = ""
+                    row.empiricalValueAddss.forEach(e => {
+                        str += e + ","
+                    })
+                    str = str.slice(0,-1);
+                    if (str === undefined || str === '' || str === null ) {
+                        return
+                    }
+                    let obj = {
+                        equiomentId: row.eId,
+                        ppid: row.iid,
+                        inspectionValue: str
+                    }
+                    updateProcessInsProduct(obj).then(res=>{
+                        if(res.data.code == 0){
+                            this.$message.success("鏇存柊鎴愬姛")
+                        }else{
+                            this.$message.error("鏇存柊澶辫触")
+                        }
+                        this.init()
+                    })
+                }
+            },
+            addTestProject() {
+                let val = this.processInspectVo
+                addProcess(val).then(res=>{
+                    let id = res.data.data
+                    if(id != null){
+                        queryById(id).then(response=>{
+                            console.log(response.data.data.children)
+                            let proList = response.data.data.children
+                            proList.forEach(item=>{
+                                item.iid = Math.random();
+                                if(item.children != undefined){
+                                    item.children.forEach(obj=>{
+                                        obj.empiricalValueAddss = []
+                                    })
+                                }
+                            })
+                            this.inspectionItems = proList
+                        }).catch(error=>{
+                            console.log(error);
+                        })
+                    }
+                }).catch(error=>{
+                    console.log(error)
+                })
+            },
+            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
+                    }
+                })
+            },
+            // 鍒犻櫎妫�楠屽�煎垪
+            clickDeleteInspectionColumn() {
+                if (this.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);
+                        });
+                    }
+                }
+            },
+            // 娣诲姞妫�楠屽�煎垪
+            clickAddInspectionColumn() {
+                this.empiricalValueAdd = this.empiricalValueAdd + 1;
+            }
+        },
+    }
+    </script>
+    
+    <style scoped>
+    .finishedProduct-detail {
+      width: 100%;
+      height: 470px;
+      padding: 10px 20px;
+      display: flex;
+      border: 1px solid #ddd;
+      background-color: #fff;
+      margin-top: 10px;
+      box-sizing: border-box;
+      flex-wrap: wrap;
+    }
+    
+    .finishedProduct-result {
+      width: 100%;
+      height: 150px;
+      padding: 10px 20px;
+      display: flex;
+      border: 1px solid #ddd;
+      background-color: #fff;
+      margin-top: 10px;
+      box-sizing: border-box;
+      flex-wrap: wrap;
+    }
+    
+    .finishedProduct-basic {
+      background-color: #fff;
+      height: 155px;
+      display: flex;
+      flex-wrap: wrap;
+      padding: 10px 20px;
+      border: 1px solid #ddd;
+      box-sizing: border-box;
+    }
+    /*鑷畾涔塪isabled鐘舵�佷笅checkbox鐨勬牱寮�*/
+    .completeproductstructure-checkout
+      .el-checkbox__input.is-disabled.is-checked
+      .el-checkbox__inner {
+      background-color: #006eff;
+      border-color: #006eff;
+    }
+    
+    .completeproductstructure-checkout
+      .el-checkbox__input.is-disabled.is-checked
+      + span.el-checkbox__label {
+      color: #006eff;
+      border-color: #006eff;
+    }
+    
+    .completeproductstructure-checkout
+      .el-checkbox__input.is-disabled
+      .el-checkbox__inner {
+      background-color: #ffffff;
+      cursor: pointer;
+    }
+    
+    .completeproductstructure-checkout
+      .el-checkbox__input.is-disabled
+      + span.el-checkbox__label {
+      color: #606266;
+      cursor: pointer;
+    }
+    
+    .completeproductstructure-checkout .el-checkbox__inner::after {
+      border: 1px solid #fff !important;
+      border-left: 0 !important;
+      border-top: 0 !important;
+      cursor: pointer !important;
+    }
+    </style>
\ No newline at end of file
diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index ae5e1c2..63567c2 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -233,7 +233,10 @@
         addOrUpdateHandle(row) {
             this.$router.push({
                 name: 'rawMaterialForm',
-                query: { id: row == null ? null : row.id }
+                query: { 
+                    id: row == null ? null : row.id,
+                    resultVal: row == null ? null : row.judgeState
+                 }
             })
         },
         formatInsState(row, column, cellValue){
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 0966edf..787c0f2 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -3,7 +3,8 @@
     <div class="page-header">
       <div class="header-left">
         <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a>
-        <h2>缂栬緫-鍘熸潗鏂欐楠�</h2>
+        <h2 v-if="resultVal!=null && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2>
+        <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2>
       </div>
       <div class="btn-group header-right">
         <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button>
@@ -21,10 +22,11 @@
             <el-row>
               <el-col :span="6">
                 <el-form-item label="闆朵欢鍙�" prop="code">
-                <el-input v-model="dataForm.code">
+                <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null">
                   <el-button
                     slot="append"
                     icon="el-icon-search"
+                    :disabled="resultVal!=null && dataForm.id!=null"
                     @click="queryCode()"></el-button>
                 </el-input>
                 </el-form-item>
@@ -74,14 +76,14 @@
                 </el-col>
                 <el-col :span="6">
                   <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null">
-                      <el-input v-model="dataForm.createTime" />
+                      <el-input v-model="dataForm.createTime" disabled />
                   </el-form-item>
                 </el-col>
             </el-row>
             <el-row>
               <el-col :span="6">
                 <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null">
-                      <el-input v-model="dataForm.createUser" />
+                      <el-input v-model="dataForm.createUser" disabled />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -92,9 +94,9 @@
             <el-col :span="19">妫�楠岄」鐩�</el-col>
             <el-col :span="5">
                 <div style="width:100%;text-align: right;">
-                    <el-button v-show="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button>
-                    <el-button size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button>
-                    <el-button size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button>
+                    <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button>
+                    <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button>
+                    <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button>
                 </div>
             </el-col>
         </el-row>
@@ -131,17 +133,17 @@
                     <template slot-scope="scope">
                       <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
                         placement="top-start">
-                        <el-input :disabled="scope.row.equipmentId == null" v-model="scope.row.testValueList[index]"
+                        <el-input :disabled="scope.row.equipmentId == null ||  dataForm.id!=null" v-model="scope.row.testValueList[index]"
                           @blur="updateTestValue(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
                       </el-tooltip>
                     </template>
                   </el-table-column>
                   <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260">
                     <template slot-scope="scope">
-                      <el-select style="width:100%" v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row)">
-                          <el-option v-for="(item,index) in deviceList" 
-                          :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
-                      </el-select>
+                        <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row)">
+                            <el-option v-for="(item,index) in deviceList" 
+                            :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
+                        </el-select>
                     </template>
                   </el-table-column>
                   <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="缁撹" min-width="150">
@@ -180,7 +182,7 @@
                 </el-table-column>
                 <el-table-column  label="鎿嶄綔">
                     <template>
-                        <el-button type="text" @click="submitSave()" size="small">涓婃姤</el-button>
+                        <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -189,6 +191,25 @@
       </div>
     </div>
     <rawMaterialPartDialog :paramObj="paramObj" :currshowlist.sync="showPart"  @listenToPartEvent="selectPart" />
+    <el-dialog
+      title="涓婃姤"
+      :visible.sync="dialogVisible"
+      width="30%">
+      <el-row>
+        <el-col>
+          <span>涓嶅悎鏍兼暟閲�:</span>
+          <el-input type="number" v-model="unqualifiedNum" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/>
+        </el-col>
+        <el-col>
+          <span>瀹炴鏁伴噺:</span>
+          <el-input type="number" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺" v-model="fiedNum"/>
+        </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -199,8 +220,6 @@
   getObj,
   updateRawInsProduct,
   updateRawInspectsById,
-  chooseIFS,
-  selectHisByCode,
   updateDeviceById, } from '@/api/quality/rawMaterial'
   import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
 export default {
@@ -210,6 +229,10 @@
     },
     data(){
         return{
+            fiedNum: null,
+            unqualifiedNum: null,
+            dialogVisible:false,
+            resultVal: null,
             projectList: [],
             paramObj: {},
             IFSData: [],
@@ -259,6 +282,11 @@
     },
     mounted(){
       this.dataForm.id = this.$route.query.id
+      this.resultVal = this.$route.query.resultVal
+      if(this.resultVal == null){
+        let val = sessionStorage.getItem("raw-resultVal")
+        val == undefined ? null : this.resultVal=val
+      }
       this.init()
       this.getDeviceList()
     },
@@ -285,7 +313,7 @@
           this.dataForm.supplier = param.supplier
           this.dataForm.number = param.number
           this.dataForm.message = param.message
-          this.projectList = param.rawInsProducts
+          this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts
         }
       },
       queryCode(){
@@ -302,28 +330,31 @@
           })
         }
       },
+      showDialog(){
+        this.dialogVisible = true
+      },
       submitSave(){
         let pro = this.list.filter(item => {
           return item.testState == 0;
         })
         if (pro.length > 0) {
-          this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            inputPattern: /^\d+$/,
-            inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
-          }).then(({ value }) => {
-            let data = {
+          let data = {
               id: this.dataForm.id,
-              number: value
+              number: this.unqualifiedNum,
+              toLocationNo: this.fiedNum
             }
             updateRawInspectsById(data).then(res => {
-              this.$message.success("涓婃姤鎴愬姛");
+              if(res.data.code == 0){
+                sessionStorage.setItem("raw-resultVal",data.judgeState)
+                this.$message.success("涓婃姤鎴愬姛");
+              }
             });
-          }).catch(() => {});
         }else{
           updateRawInspectsById({id:this.dataForm.id,number:0}).then(res => {
-          this.$message.success("涓婃姤鎴愬姛");
+            if(res.data.code == 0){
+              sessionStorage.setItem("raw-resultVal",res)
+              this.$message.success("涓婃姤鎴愬姛");
+            }
         });
         }
         this.init()
@@ -405,6 +436,7 @@
               }
               this.list.push({
                 equipmentId: item.equiomentId,
+                deviceName: item.deviceName,
                 name: item.rpName,
                 required: item.required,
                 testValue: item.testValue,

--
Gitblit v1.9.3