From 4f5549cd814eeaecd0ff04de62452d8d5fb4cbc5 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 21 九月 2023 15:13:27 +0800
Subject: [PATCH] 9.21

---
 src/components/view/processInspection.vue | 1217 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 789 insertions(+), 428 deletions(-)

diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index 1ab23ed..a7ac9a1 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,435 +1,796 @@
 <template>
-    <div class="content-main">
-      <div v-if="!showAddPage" class="rawPage">
-          <div class="title">
-        <el-row>
-          <el-col :span="12">杩囩▼妫�楠�</el-col>
-          <el-col :span="12" style="text-align: right;">
-            <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">鏂板</el-button>
-            <el-button icon="el-icon-delete" size="mini">鍒犻櫎</el-button>
-            <el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
-          </el-col>
-        </el-row>
-      </div>
-      <div class="nav">
-          <span>妫�楠岀粨鏋滐細</span>
-          <el-select v-model="inspectionResult" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 52px;">
-              <el-option value="閫夐」1"></el-option>
-              <el-option value="閫夐」2"></el-option>
-            </el-select>
-            <span>妫�楠屾棩鏈燂細</span>
-            <el-date-picker
-              v-model="inspectionDate"
-              type="date"
-              placeholder="閫夋嫨鏃ユ湡"
-              style="margin-right: 52px">
-             </el-date-picker>
-            <span>妫�楠屼汉锛�</span>
-            <el-select v-model="inspecter" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 52px;">
-              <el-option value="閫夐」1"></el-option>
-              <el-option value="閫夐」2"></el-option>
-            </el-select>
-            <el-button size="mini"><span>閲� 缃�</span></el-button>
-            <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
-      </div>
-      <div class="content-body">
-          <div class="inspectionTable">
-              <el-table
-                  ref="inspectionTable"
-                  :height="400"
-                  :max-height="400"
-                  :cell-style="{textAlign: 'center'}"
-                  :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
-                  :data="inspectionTable"
-                  style="width: 100%"
-                  >
-                  <el-table-column
-                      type="selection"
-                      width="50">
-                  </el-table-column>
-                  <el-table-column
-                      prop="number"
-                      label="璁㈠崟鍙�"
-                      min-width="100"
-                  />
-                  <el-table-column
-                      prop="username"
-                      label="瀹㈡埛鍚嶇О"
-                      min-width="80"
-                  />
-                  <el-table-column
-                      prop="projectname"
-                      label="宸ョ▼鍚嶇О"
-                      min-width="80"
-                  />
-                  <el-table-column
-                      prop="tracenumber"
-                      label="璐ㄩ噺杩芥函鍙�"
-                      min-width="108"
-                  />
-                  <el-table-column
-                      prop="code"
-                      label="浜у搧缂栫爜"
-                      min-width="100"
-                  />
-                  <el-table-column
-                      prop="class"
-                      label="浜у搧澶х被"
-                      min-width="72"
-                  />
-                  <el-table-column
-                      prop="specificationmodel"
-                      label="瑙勬牸鍨嬪彿"
-                      min-width="110"
-                  />
-                  <el-table-column
-                      prop="unit"
-                      label="鍗曚綅"
-                      min-width="50"
-                  />
-                  <el-table-column
-                      prop="quantity"
-                      label="鏁伴噺"
-                      min-width="50"
-                  />
-                  <el-table-column
-                      prop="machine"
-                      label="鏈哄彴"
-                      min-width="60"
-                  />
-                  <el-table-column
-                      prop="group"
-                      label="鐝粍"
-                      min-width="50"
-                  />
-                  <el-table-column
-                      prop="worker"
-                      label="涓绘満宸�"
-                      min-width="60"
-                  />
-                  <el-table-column
-                      prop="date"
-                      label="妫�楠屾棩鏈�"
-                      min-width="80"
-                  />
-                  <el-table-column
-                      prop="result"
-                      label="妫�娴嬬粨鏋�"
-                      min-width="80"
-                  />
-                  <el-table-column
-                      label="鎿嶄綔"
-                      min-width="80"
-                  >
-                      <template slot-scope="scope">
-                      <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
-                      <el-button type="text" size="small" style="margin-left: 0;">鎵撳嵃</el-button>
-                      </template>
-                  </el-table-column>
-              </el-table>
-          </div>
-          <!-- 鍒嗛〉鍣� -->
-          <div class="pagination">
-              <el-pagination
-              :current-page="currentPage"
-              :page-sizes="[100, 200, 300, 400]"
-              :page-size="pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="this.inspectionTable.length"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
-            />
-          </div>
-      </div>
-      </div>
-      <div class="newPage" v-if="showAddPage">
-          <!-- 鏂板椤甸潰 -->
-              <div class="addInspection">
-                  <el-row class="header">
-                      <el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
-                      <el-col :span="12" style="text-align: right;">
-                          <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
-                      <el-button @click="showAddPage = false" type="primary" size="mini" icon="el-icon-back" style="background: #004EA2; ">杩斿洖</el-button>
-                      </el-col>
-                  </el-row>
-                  <el-form :model="addInspectionform" ref="addInspectionform" class="addInspectionform" label-position="left" label-width="100px" size="mini" >
-                      <div class="formwrapper">
-                          <el-row :gutter="450">
-                          <el-col :span="5">
-                          <el-form-item label="璁㈠崟鍙凤細">
-                              <el-input style="width: 180px;" v-model="addInspectionform.number" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="瀹㈡埛鍚嶇О锛�">
-                              <el-input style="width: 180px;" v-model="addInspectionform.username" placeholder="璇疯緭鍏ュ鎴峰悕绉�" autocomplete="off" />
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="宸ョ▼鍚嶇О锛�">
-                              <el-input style="width: 180px;" v-model="addInspectionform.projectname" placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" autocomplete="off" />
-                          </el-form-item>
-                          </el-col>
-                      </el-row>
-                      <el-row :gutter="450">
-                          <el-col :span="5">
-                          <el-form-item label="璐ㄩ噺杩芥函鍙凤細" >
-                              <el-input style="width: 180px;" v-model="addInspectionform.tracenumber" placeholder="璇疯緭鍏ヨ拷婧彿" autocomplete="off" />
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="浜у搧缂栫爜锛�">
-                              <el-input style="width: 180px;" v-model="addInspectionform.code" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />                        </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="浜у搧鍚嶇О锛�">
-                              <el-select style="width: 180px;" v-model="addInspectionform.class" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>
-                          </el-form-item>
-                          </el-col>
-                      </el-row>
-                      <el-row :gutter="450">
-                          <el-col :span="5">
-                          <el-form-item label="瑙勬牸鍨嬪彿锛�" >
-                              <el-select style="width: 180px;" v-model="addInspectionform.specificationmodel" size="small" placeholder="璇烽�夋嫨瑙勬牸鍨嬪彿">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="鍗曚綅锛�" >
-                              <el-select style="width: 180px;" v-model="addInspectionform.unit" size="small" placeholder="璇烽�夋嫨鍗曚綅">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="鏁伴噺锛�">
-                              <el-input style="width: 180px;" v-model="addInspectionform.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
-                          </el-form-item>
-                          </el-col>
-                      </el-row>
-                      <el-row :gutter="450">
-                          <!-- <el-col :span="5">
-                          <el-form-item label="鐝粍锛�" >
-                              <el-select style="width: 180px;" v-model="addInspectionform.group" size="small" placeholder="璇烽�夋嫨鐝粍">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>                       </el-form-item>
-                          </el-col> -->
-                          <el-col :span="5">
-                          <el-form-item label="涓绘満宸ワ細" >
-                              <el-select style="width: 180px;" v-model="addInspectionform.worker" size="small" placeholder="璇烽�夋嫨涓绘満宸�">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="5">
-                          <el-form-item label="鏈哄彴锛�" >
-                              <el-select style="width: 180px;" v-model="addInspectionform.machine" size="small" placeholder="璇烽�夋嫨浜у搧鏈哄彴">
-                                  <el-option value="閫夐」1"></el-option>
-                                  <el-option value="閫夐」2"></el-option>
-                              </el-select>
-                          </el-form-item>
-                          </el-col>
-                      </el-row>
-                      </div>
-                  </el-form>
-              </div>
-              <div class="inspectionProject">
-                  <span>妫�楠岄」鐩�</span>
-                  <el-table :data="inspectionItems">
-                      <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
-                      <el-table-column prop="project" label="椤圭洰"></el-table-column>
-                      <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
-                      <el-table-column prop="standardVal" label="鏍囧噯鍊�"></el-table-column>
-                      <el-table-column prop="controlVal" label="鍐呮祴鍊�"></el-table-column>
-                      <el-table-column prop="detectionVal" label="妫�楠屽��"></el-table-column>
-                      <el-table-column label="璇曢獙璁惧">
-                          <template slot-scope="scope">
-                          {{ scope.row.device }}
-                          <el-select v-model="scope.row.device" size="small" slot="append" style="width: 100px;">
-                              <el-option value="閫夐」1"></el-option>
-                              <el-option value="閫夐」2"></el-option>
-                          </el-select>
-                      </template>
-                      </el-table-column>
-                      <el-table-column prop="conclusion" label="缁撹">
-                          <template slot-scope="scope">
-                              <span style="color: #34BD66;" v-if="scope.row.insState==1">鍚堟牸</span>
-                              <span style="color: #E84738;" v-else-if="scope.row.insState==0">涓嶅悎鏍�</span>
-                          </template>
-                      </el-table-column>
-                  </el-table>
-              </div>
-              <div class="inspectionResult">
-                  <span>妫�娴嬬粨鏋�</span>
-                  <el-table :data="inspectionResultForm">
-                      <el-table-column prop="id" label="鐗╂枡缂栧彿"></el-table-column>
-                      <el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column>
-                      <el-table-column prop="inspecter" label="妫�楠屽憳"></el-table-column>
-                      <el-table-column prop="conclusion" label="妫�楠岀粨璁�"></el-table-column>
-                      <el-table-column prop="operation" label="涓婃姤"></el-table-column>
-                  </el-table>
-              </div>
-          </div>
+	<div class="content-main">
+		<div v-if="!showAddPage && !showUp && !showLook" class="rawPage">
+			<div class="title">
+				<el-row>
+					<el-col :span="12">杩囩▼妫�楠�</el-col>
+					<el-col :span="12" style="text-align: right;">
+						<el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus"
+							style="background: #004EA2; ">鏂板</el-button>
+						<el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
+					</el-col>
+				</el-row>
+			</div>
+			<div class="nav">
+				<span>妫�楠岀姸鎬侊細</span>
+				<el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
+					<el-option :value="''" label="鍏ㄩ儴"></el-option>
+					<el-option :value="1" label="鍚堟牸"></el-option>
+					<el-option :value="0" label="涓嶅悎鏍�"></el-option>
+				</el-select>
+				<span>浜у搧鍚嶇О锛�</span>
+				<el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name"
+					placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></el-input>
+				<span>宸ュ簭锛�</span>
+				<el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather"
+					placeholder="璇疯緭鍏ュ伐搴�"></el-input>
+				<el-button size="mini"><span>閲� 缃�</span></el-button>
+				<el-button size="mini" @click="searchPro" type="primary" style="background: #004EA2;"><span>鏌�
+						璇�</span></el-button>
+			</div>
+			<div class="content-body">
+				<div class="inspectionTable">
+					<el-table ref="inspectionTable" height="calc(100vh - 320px)" :header-cell-style="{
+              border: '0px',
+              background: '#f5f7fa',
+              color: '#606266',
+              boxShadow: 'inset 0 1px 0 #ebeef5',
+            }" border :data="inspectionTable" style="width: 100%">
+						<el-table-column type="selection" width="50"> </el-table-column>
+						<el-table-column label="搴忓彿" type="index" width="60"></el-table-column>
+						<el-table-column prop="order_number" label="璁㈠崟缂栧彿" min-width="90" />
+						<el-table-column prop="material" label="浜у搧鍚嶇О" min-width="80" />
+						<el-table-column prop="specifications_model" label="瑙勬牸鍨嬪彿" min-width="60" />
+						<el-table-column prop="techfather" label="宸ュ簭" min-width="70" />
+						<el-table-column prop="techname" label="宸ヨ壓鍚嶇О" min-width="70" />
+						<el-table-column prop="unit" label="鍗曚綅" min-width="50" />
+						<el-table-column prop="quantity" label="鏁伴噺" min-width="50" />
+						<el-table-column prop="createTime" label="鎶ユ鏃ユ湡" min-width="70" />
+						<el-table-column prop="name" label="鎶ユ浜�" min-width="50" />
+						<el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="70" />
+						<el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="60">
+							<template slot-scope="scope">
+								<span style="color: #34BD66;" v-if="scope.row.result == 1">鍚堟牸</span>
+								<span style="color: #E84738;" v-else-if="scope.row.result == 0">涓嶅悎鏍�</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="鎿嶄綔" min-width="75">
+							<template slot-scope="scope">
+								<el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;"><span
+										style="font-size: 8px;">璇︽儏</span></el-button>
+								<el-button type="text" size="small" style="margin-left: 0;"><span
+										style="font-size: 8px;">鏌ョ湅</span></el-button>
+								<el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;"
+									@click="updateInsInfo(scope.row)"><span style="font-size: 8px;">缂栬緫</span></el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+				</div>
+				<!-- 鍒嗛〉鍣� -->
+				<div class="pagination">
+					<el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
+						layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal"
+						@size-change="handleSizeChange" @current-change="handleCurrentChange" />
+				</div>
+			</div>
+		</div>
+		<div class="newPage" v-if="showAddPage">
+			<!-- 鏂板椤甸潰 -->
+			<div class="addInspection">
+				<el-row class="header">
+					<el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
+					<el-col :span="12" style="text-align: right;">
+						<!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
+						<!-- <el-button type="primary" size="mini" style="background: #004EA2; "
+              icon="el-icon-circle-plus-outline">鏂板</el-button> -->
+						<el-button @click="combackIndex" type="primary" size="mini" icon="el-icon-back"
+							style="background: #004EA2; ">杩斿洖</el-button>
+					</el-col>
+				</el-row>
+				<el-form :model="processInspectVo" ref="addInspectionform" class="addInspectionform" label-position="right"
+					label-width="120px" size="small">
+					<div class="formwrapper">
+						<el-row :gutter="230">
+							<el-col :span="7">
+								<el-form-item label="璁㈠崟鍙凤細">
+									<el-input @blur="selectInfoByOrderId" style="width: 210px;" size="small"
+										v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="7">
+								<el-form-item label="浜у搧鍚嶇О锛�">
+									<el-select style="width: 210px;" size="small" @change="selectSample"
+										v-model="processInspectVo.material" placeholder="璇烽�夋嫨浜у搧">
+										<el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name"
+											:value="item.name">
+										</el-option>
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :span="7">
+								<el-form-item label="浜у搧缂栫爜锛�">
+									<el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode"
+										placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
+								</el-form-item>
+							</el-col>
+						</el-row>
+						<el-row :gutter="230">
+							<el-col :span="7">
+								<el-form-item label="瑙勬牸鍨嬪彿锛�">
+									<el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel"
+										placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="7">
+								<el-form-item label="宸ュ簭鍚嶇О锛�">
+									<el-select @change="changeOptionSoptionSprocesses" v-model="processInspectVo.techfather"
+										placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+										<el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name"
+											:value="item.name">
+										</el-option>
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :span="7">
+								<el-form-item label="宸ヨ壓鍚嶇О锛�">
+									<el-select v-model="processInspectVo.techname" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+										<el-option v-for="item in optionTechnology" :key="item.id" :label="item.name"
+											:value="item.id + '-' + item.name">
+										</el-option>
+									</el-select>
+								</el-form-item>
+							</el-col>
+						</el-row>
+						<el-row :gutter="230">
+							<el-col :span="7">
+								<el-form-item label="鍗曚綅锛�">
+									<el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.unit"
+										placeholder="璇疯緭鍏ュ崟浣�" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="7">
+								<el-form-item label="鏁伴噺锛�">
+									<el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity"
+										placeholder="璇疯緭鍏ユ暟閲�" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="10" style="display: flex;justify-content: end;">
+								<el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
+							</el-col>
+						</el-row>
+					</div>
+				</el-form>
+			</div>
+			<div class="inspectionProject">
+				<el-row>
+					<el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
+					<el-col :span="12" class="inspectionProject_span">
+						<el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
+						<el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+						<!-- <el-button
+              size="mini"
+              style="margin-right: 30px;"
+              @click="clickAddLine()"
+              >娣诲姞妫�楠岃</el-button
+            > -->
+					</el-col>
+				</el-row>
+				<el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod"
+					height="calc(100vh - 550px)" style="width: 100%">
+					<el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+					<el-table-column label="椤圭洰" prop="father"></el-table-column>
+					<el-table-column prop="name" label="鎸囨爣"></el-table-column>
+					<el-table-column prop="unit" label="鍗曚綅"></el-table-column>
+					<el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
+					<el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
+					<el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
+						min-width="100" style="text-align: center;">
+						<template slot-scope="scope">
+							<el-tooltip :disabled="scope.row.dname != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+								placement="top-start">
+								<el-input :disabled="scope.row.dname === null" v-model="scope.row.empiricalValueAddss[index]"
+									@blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+							</el-tooltip>
+						</template>
+					</el-table-column>
+					<el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
+						<template slot-scope="scope">
+							<el-button type="text" @click="clickTableSelect(scope)">{{
+							  scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName
+							}}</el-button>
+						</template>
+					</el-table-column>
+					<el-table-column label="缁撹">
+						<template slot-scope="scope">
+							<span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
+							<span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
+							<span v-show="scope.row.result === null">{{null}}</span>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
+            <template slot-scope="scope">
+              <el-button type="text" @click="clickDeleteline(scope)">鍒犻櫎</el-button>
+            </template>
+          </el-table-column> -->
+				</el-table>
+			</div>
+			<div class="inspectionResult">
+				<span>妫�娴嬬粨鏋�</span>
+				<el-table :data="inspectionResultForm">
+					<el-table-column prop="id" label="鐗╂枡缂栧彿"></el-table-column>
+					<el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column>
+					<el-table-column prop="inspecter" label="妫�楠屽憳"></el-table-column>
+					<el-table-column prop="conclusion" label="妫�楠岀粨璁�"></el-table-column>
+					<el-table-column prop="operation" label="涓婃姤"></el-table-column>
+				</el-table>
+			</div>
+			<el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
+				<div class="div_device_dialog">
+					<el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
+						<el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
+						</el-option>
+					</el-select>
+				</div>
+			</el-dialog>
+		</div>
+		<div class="newPage" v-if="showUp">
+			<processInspectionUpdate :rowInfo="rowInfp" />
+		</div>
+		<div class="newPage" v-if="showLook">
+			<processInspectionLook :rowInfo="rowInfp" />
+		</div>
+	</div>
+</template>
 
-    </div>
-  </template>
+<script>
+	import processInspectionUpdate from '../view/processInspectionUpdate.vue'
+	import processInspectionLook from '../view/processInspectionLook.vue'
+	export default {
+		components: {
+			processInspectionUpdate,
+			processInspectionLook
+		},
+		data() {
+			return {
+				showUp: false,
+				isAddProject: false,
+				showLook: false,
+				detailId: 28,
+				rowInfp: {},
+				search: {
+					countSize: 10,
+					pageSize: 1,
+					result: "", // 妫�娴嬬姸鎬�
+					name: "", // 浜у搧鍚嶇О
+					techfather: "" // 宸ュ簭
+				},
+				optionsSamplename: [],
+				inspectionTable: [],
+				tableColumn: [],
+				optionSoptionSprocesses: [],
+				optionTechnology: [],
+				inspectionTableTotal: 0,
+				pageSize: 10,
+				currentPage: 1,
+				treeProject: [],
+				// 娣诲姞鍒�
+				empiricalValueAdd: 1,
+				// 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+				empiricalValueAddMaxNumber: 0,
+				showAddPage: false,
+				processInspectVo: {
+					material: null,
+					materialCode: null,
+					orderNumber: "",
+					quantity: null,
+					specificationsModel: null,
+					techfather: null,
+					techname: null,
+					technologyId: null,
+					unit: null
+				},
+				InspectioniD: null,
+				addInspectionform: [{
+					number: "",
+					username: "",
+					projectname: "",
+					tracenumber: "",
+					code: "",
+					class: "",
+					specificationmodel: "",
+					unit: "",
+					quantity: "",
+					group: "",
+					worker: "",
+					machine: ""
+				}],
+				inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+				inspectionResultForm: [{
+					id: "",
+					name: "",
+					inspecter: "",
+					conclusion: "",
+					operation: ""
+				}],
+				options: [],
+				value: "",
+				rowList: [],
+				spanArr: [],
+				position: 0,
+				// 璁惧閫夋嫨鏍戞樉绀�
+				centerDialogVisible: false,
+				filterText: "",
+				materialOptions: [],
+				defaultProps: {
+					// 璁惧鏍戞暟鎹缃�
+					children: "children",
+					label: "name"
+				},
+				nodeData: {
+					id: 0,
+					name: null
+				}, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+				clickSelectDevice: {
+					index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+					rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+				}
+			};
+		},
+		watch: {
+			// filterText(val) {
+			//   this.$refs.tree.filter(val);
+			// }
+		},
+		mounted() {
+			// this.getTableData()
+			// this.getOptions();
+		},
+		methods: {
+			handleClick(row) {
+				this.rowInfp = row
+				this.showLook = true
+			},
+			combackIndex() {
+				this.showAddPage = false
+				this.defaultInitializationTable()
+			},
+			updateInsInfo(row) {
+				this.rowInfp = row
+				this.showUp = true
+			},
+			combackMain(val) {
+				this.showUp = false
+				this.showLook = false
+				this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+				if (val) {
+					this.$parent.removeAllTab()
+				}
+			},
+			searchPro() {
+				this.search.countSize = this.pageSize
+				this.search.pageSize = this.currentPage
+				this.defaultInitializationTable()
+			},
+			// 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+			nodeClick(data) {
+				if (data.id != undefined) this.nodeData = data;
+			},
+			// 璁惧鏍戣繃婊ゆ悳绱�
+			filterNode(value, data) {
+				if (!value) return true;
+				return data.name.indexOf(value) !== -1;
+			},
+			// 鑾峰彇璁惧鏍戝唴瀹�
+			getOptions(row) {
+				this.$axios.get(this.$api.url.inspectionItemChooseDev, {
+					params: {
+						father: row.father,
+						name: row.name,
+						technologyId: this.processInspectVo.technologyId
+					}
+				}).then(res => {
+					this.materialOptions = res.data;
+					if (this.materialOptions.length === 1) {
+						this.$message({
+							message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+							type: 'warning'
+						});
+						return
+					}
+					row.isSelectDevice = true
+					this.filterText = row.did
+				});
+			},
+			// 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+			clickTableSelect(scope) {
+				this.centerDialogVisible = true;
+				this.clickSelectDevice.index = scope.$index;
+				this.clickSelectDevice.rpId = scope.row.id;
+				this.getOptions(scope.row)
+			},
+			// 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+			clickNodeSure() {
+				let select = this.materialOptions.filter(item => {
+					return item.id === this.filterText
+				})[0]
+				this.nodeData.id = select.id
+				this.nodeData.name = select.device
+				if (this.detailId == null) {
+					this.inspectionItems[
+						this.clickSelectDevice.index
+					].did = this.nodeData.id;
+					this.inspectionItems[
+						this.clickSelectDevice.index
+					].dname = this.nodeData.name;
+					this.centerDialogVisible = false;
+				} else {
+					this.$axios
+						.post(this.$api.url.inspectionItemUpdateDevByInsId, {
+							id: this.clickSelectDevice.rpId,
+							type: 1,
+							devId: this.nodeData.id
+						})
+						.then(res => {
+							this.getTableData()
+							this.centerDialogVisible = false;
+						});
+				}
+			},
+			changeState(row, index) {
+				if (row.did != null && row.did != '') {
+					// let val = row.empiricalValueAddss.filter(item => {
+					//   return item != '' && item != null
+					// })
+					// let eq = val.filter(item => {
+					//   return /^[^><=]/.test(item)
+					// })
+					// if (eq.length > 0) {
+					//   this.$message({
+					//     message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+					//     type: 'warning'
+					//   });
+					//   return
+					// }
+					let str = ""
+					row.empiricalValueAddss.forEach(e => {
+						str += e + ","
+					})
+					if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+						return
+					}
+					this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+						deviceId: row.did,
+						inspectionItemId: row.id,
+						inspectionValue: str.slice(0, -1)
+					}, {
+						headers: {
+							"Content-Type": "application/json"
+						}
+					}).then(res => {
+						if (res.message === '鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!') {
+							this.$message({
+								message: res.message,
+								type: 'warning'
+							});
+							return
+						}
+						row.result = res.data.result
+						row.username = res.data.username
+					})
+				} else {
+					this.$message({
+						message: '璇烽�夋嫨鎷╄澶囷紒',
+						type: 'warning'
+					});
+				}
+			},
+			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+			handleSizeChange(val) {
+				this.search.countSize = val;
+				this.defaultInitializationTable();
+			},
+			handleSpanMethod({
+				row,
+				column,
+				rowIndex,
+				columnIndex
+			}) {
+				if (columnIndex === 0) {
+					const _row = this.spanArr[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return {
+						rowspan: _row,
+						colspan: _col
+					}
+				}
+				if (columnIndex === 1) {
+					const _row = this.spanArr[rowIndex];
+					const _col = _row > 0 ? 1 : 0;
+					return {
+						rowspan: _row,
+						colspan: _col
+					}
+				}
+			},
+			// 鍚堝苟琛ㄦ牸
+			mergeTable() {
+				this.rowList = []
+				this.spanArr = []
+				this.position = 0
+				this.inspectionItems.forEach((item, index) => {
+					if (index === 0) {
+						this.spanArr.push(1);
+						this.position = 0;
+					} else {
+						if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+							this.spanArr[this.position] += 1;
+							this.spanArr.push(0);
+						} else {
+							this.spanArr.push(1);
+							this.position = index;
+						}
+					}
+				})
+			},
+			changeOptionSoptionSprocesses() {
+				this.optionTechnology = []
+				let working = this.optionSoptionSprocesses.filter(item => {
+					return item.name === this.processInspectVo.techfather
+				})[0]
+				this.optionTechnology = working.children
+			},
+			addTestProjevt() {
+				let val = JSON.parse(JSON.stringify(this.processInspectVo))
+				val.techname = this.processInspectVo.techname.split("-")[1]
+				val.technologyId = this.processInspectVo.techname.split("-")[0]
+				this.processInspectVo.technologyId = val.technologyId
+				this.$axios.post(this.$api.url.processInspectAddProcess, {
+					material: val.material,
+					materialCode: val.materialCode,
+					orderNumber: val.orderNumber,
+					quantity: val.quantity,
+					specificationsModel: val.specificationsModel,
+					techfather: val.techfather,
+					techname: val.techname,
+					techId: Number(val.technologyId),
+					unit: val.unit
+				}, {
+					headers: {
+						"Content-Type": "application/json"
+					}
+				}).then(res => {
+					if (res.code === 201) {
+						this.$message({
+							message: res.message,
+							type: 'warning'
+						});
+						return
+					}
+					this.isAddProject = true
+					this.detailId = res.data
+					this.inspectionResultForm[0].id = val.materialCode
+					this.inspectionResultForm[0].name = val.material
+					this.getTableData()
+				})
+			},
+			getTableData() {
+				this.$axios.get(this.$api.url.inspectionItemListUser, {
+					params: {
+						id: this.detailId,
+						type: 1
+					}
+				}).then(res => {
+					this.inspectionItems = res.data
+					let arr = []
+					let val = JSON.parse(JSON.stringify(this.inspectionItems))
+					const uName = []
+					//杞垚涓�缁存暟缁�
+					val.forEach(l => {
+						let father = l.father
+						l.children.forEach(c => {
+							c.father = father
+							c.empiricalValueAddss = []
+							if (c.inspectionValue != '' && c.inspectionValue != null) {
+								c.empiricalValueAddss = c.inspectionValue.split(",");
+							} else {
+								c.empiricalValueAddss.push("")
+							}
+							uName.push(c['username'])
+							c.isSelectDevice = false
+							arr.push(c)
+						})
+					})
+					this.inspectionItems = arr
+					let arrSort = JSON.parse(JSON.stringify(arr))
+					//鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+					arrSort.sort((a, b) => {
+						if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+							return -1; // a鎺掑湪b鍓嶉潰
+						} else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+							return 1; // a鎺掑湪b鍚庨潰
+						} else {
+							return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+						}
+					});
+					// console.log(arrSort);
+					console.log(uName);
+					let name = [...new Set(uName)].filter(item => item !== null);
+					let rname = ''
+					name.forEach(m => {
+						rname += m + ","
+					})
+					this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
+					this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
+					this.mergeTable(arr)
+				})
+			},
+			selectSample() {
+				let sample = this.optionsSamplename.filter(item => {
+					return item.name === this.processInspectVo.material
+				})[0]
+				this.processInspectVo.techfather = null
+				this.processInspectVo.techname = null
+				this.processInspectVo.materialCode = sample.code
+				this.processInspectVo.specificationsModel = sample.specifications
+				this.processInspectVo.unit = sample.unit
+				this.optionSoptionSprocesses = []
+				this.optionSoptionSprocesses = sample.children
+			},
+			selectInfoByOrderId() {
+				this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
+					params: {
+						orderNumber: this.processInspectVo.orderNumber
+					}
+				}).then(res => {
+					if (res.data.length > 0) {
+						console.log(res.data);
+						this.optionsSamplename = res.data
+					} else {
+						this.$message({
+							message: '娌℃湁璇ヨ鍗曞彿锛�',
+							type: 'warning'
+						});
+					}
+				})
+			},
+			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+			handleCurrentChange(val) {
+				this.search.pageSize = val;
+				this.defaultInitializationTable();
+			},
+			// 鏄剧ず鏂板椤甸潰
+			handleAddNew() {
+				this.showAddPage = true;
+				// this.getTableData()
+			},
+			// 琛ㄦ牸鍒濆鍖栨帴鍙�
+			defaultInitializationTable() {
+				this.$axios
+					.post(this.$api.url.selectProcessInspectsList, this.search)
+					.then(res => {
+						this.inspectionTableTotal = res.data.total;
+						this.inspectionTable = res.data.row;
+					});
+			},
+			// 娣诲姞琛�
+			clickAddLine() {
+				let obj = {
+					material: "",
+					materialCode: "",
+					orderNumber: "",
+					quantity: 0,
+					specificationsModel: "",
+					techfather: "",
+					techname: "",
+					technologyId: 0,
+					unit: ""
+				};
+				this.inspectionItems.push(obj);
+			},
+			// 鍒犻櫎琛�
+			clickDeleteline(scope) {
+				this.inspectionItems.splice(scope.$index, 1);
+			},
+			// 鍒犻櫎妫�楠屽�煎垪
+			clickDeleteInspectionColumn() {
+				if (this.empiricalValueAdd - 1 === 0) {} else {
+					if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+						this.empiricalValueAdd = this.empiricalValueAdd - 1;
+						this.inspectionItems.forEach(i => {
+							i.testValueList.splice(this.empiricalValueAdd, 1);
+						});
+					}
+				}
+			},
+			// 娣诲姞妫�楠屽�煎垪
+			clickAddInspectionColumn() {
+				this.empiricalValueAdd = this.empiricalValueAdd + 1;
+			}
+		},
+		created() {
+			this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+		}
+	};
+</script>
 
+<style>
+	.node_i {
+		color: orange;
+	}
 
-  <script>
-  export default {
-      data(){
-          return {
-              inspectionResult: '',
-              inspectionDate: '',
-              inspecter: '',
-              inspectionTable:[{
-                  number: '8540395029753',
-                  username: 'jack',
-                  projectname: '甯冮殕杩�',
-                  tracenumber: '826403164021',
-                  code: 'C-982164',
-                  class: '鎴愬搧',
-                  specificationmodel: '8.8/15kV JLS-3.2',
-                  unit: '鍚�',
-                  quantity: '15',
-                  machine: '鎷夐椄鏈�',
-                  group: '1缁�',
-                  worker: '榛勫皬鏄�',
-                  date: '2023-08-01',
-                  result: '鍚堟牸',
-                  operation: ''
-              },{
-                  number: '2497320327652',
-                  username: 'rose',
-                  projectname: '甯冮殕杩�',
-                  tracenumber: '826403164021',
-                  code: 'C-24114',
-                  class: '鎴愬搧',
-                  specificationmodel: '8.6/15kV JAD-3.2',
-                  unit: '鍚�',
-                  quantity: '43',
-                  machine: '鎷夐椄鏈�',
-                  group: '1缁�',
-                  worker: '榛勫皬鏄�',
-                  date: '2023-08-01',
-                  result: '鍚堟牸',
-                  operation: ''
-              }],
-              currentPage: 1, // 褰撳墠椤电爜
-              pageSize: 100,
-              showAddPage: 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:''
-              }]
-          }
-      },
-      methods:{
-          // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-          handleSizeChange(val) {
-          console.log(`姣忛〉 ${val} 鏉)
-          this.currentPage = 1
-          this.pageSize = val
-          },
-          // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-          handleCurrentChange(val) {
-          console.log(`褰撳墠椤�: ${val}`)
-          this.currentPage = val
-          },
-          handleAddNew(){
-              this.showAddPage=true
-          }
-      }
+	.div_device_dialog {
+		min-height: 400px;
+		overflow: auto;
+	}
 
-  }
-  </script>
+	.nav {
+		display: flex;
+		padding: 20px 20px;
+		align-items: center;
+		background-color: #fff;
+	}
 
-  <style>
-  .title{
-      padding: 12px;
+	.table_header {
+		height: calc(100vh - 550px);
+	}
 
-  }
-  .nav{
-      display: flex;
-      padding: 20px 20px;
-      align-items: center;
-      background-color: #fff;
-  }
-  .nav *{
-      font-size: 14px;
-  }
-  .content-body .rawPage{
-      background-color: #fff;
-      overflow: hidden;
-  }
-  .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;
-  }
-  </style>
+	.nav * {
+		font-size: 14px;
+	}
+
+	.content-body .rawPage {
+		background-color: #fff;
+		overflow: hidden;
+	}
+
+	.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 .el-table {
+		background-color: #fff;
+		padding: 10px 12px;
+	}
+
+	.inspectionResult span {
+		display: block;
+		padding: 5px 0px;
+	}
+
+	.inspectionResult .el-table {
+		background-color: #fff;
+		padding: 10px 12px;
+	}
+
+	.inspectionProject_span {
+		line-height: 32px;
+		padding: 10px 20px;
+	}
+
+	.inspectionProject_span .el-button {
+		float: right;
+		font-size: 13px !important;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3