From a15fb376f2a52a36be5ce2f1eeaf252a509dfcb7 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期三, 13 九月 2023 14:45:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/view/processInspection.vue |  962 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 546 insertions(+), 416 deletions(-)

diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index 1ab23ed..a4d05e1 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,435 +1,565 @@
 <template>
-    <div class="content-main">
-      <div v-if="!showAddPage" class="rawPage">
-          <div class="title">
+  <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 @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 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>
+        <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="2" 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" 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 class="inspectionTable">
+          <el-table ref="inspectionTable" height="calc(100vh - 320px)" :cell-style="{ textAlign: 'center' }"
+            :header-cell-style="{
+              border: '0px',
+              background: '#f5f7fa',
+              color: '#606266',
+              boxShadow: 'inset 0 1px 0 #ebeef5',
+              textAlign: 'center'
+            }" 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="60" />
+            <el-table-column prop="name" label="鎶ユ浜�" min-width="50" />
+            <el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="60" />
+            <el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="80">
+              <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="80">
+              <template slot-scope="scope">
+                <el-button type="text" size="small" style="margin-left: 0;">璇︽儏</el-button>
+                <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="1" :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 @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>
-  </template>
+    <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="showAddPage = false" 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" @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 :row-key="inspectionItems.id" :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" label="妫�娴嬪��" min-width="100"  style="text-align: center;">
+              <template slot-scope="scope">
+                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+                    placement="top-start">
+                    <el-input :disabled="scope.row.deviceId === null" :value="item" 
+                      @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+                  </el-tooltip>
+              </template>
+            </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 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>
+            </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>
+    </div>
+  </div>
+</template>
 
-
-  <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:''
-              }]
-          }
+<script>
+export default {
+  data() {
+    return {
+      detailId: null,
+      search: {
+        countSize: 10,
+        pageSize: 1,
+        result: "", // 妫�娴嬬姸鎬�
+        name: "", // 浜у搧鍚嶇О
+        techfather: "" // 宸ュ簭
       },
-      methods:{
-          // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-          handleSizeChange(val) {
-          console.log(`姣忛〉 ${val} 鏉)
-          this.currentPage = 1
-          this.pageSize = val
-          },
-          // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-          handleCurrentChange(val) {
-          console.log(`褰撳墠椤�: ${val}`)
-          this.currentPage = val
-          },
-          handleAddNew(){
-              this.showAddPage=true
-          }
+      optionsSamplename: [],
+      inspectionTable: [],
+      optionSoptionSprocesses: [],
+      optionTechnology: [],
+      inspectionTableTotal: "",
+      treeProject: [],
+      // 娣诲姞鍒�
+      empiricalValueAdd: [],
+      // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+      empiricalValueAddMaxNumber: 0,
+      showAddPage: false,
+      processInspectVo: {
+        material: null,
+        materialCode: null,
+        orderNumber: "D-001",
+        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: "274024",
+          name: "111",
+          inspecter: "111",
+          conclusion: "",
+          operation: ""
+        }
+      ],
+      options: [],
+      value: "",
+      rowList: [],
+      spanArr: [],
+      position: 0
+    };
+  },
+  mounted() {
+    // this.getTableData()
+  },
+  methods: {
+    // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+    handleSizeChange(val) {
+      this.search.countSize = val;
+      this.defaultInitializationTable();
+    },
+    getInsArr(val){
+      console.log(val);
+      return val.split(",")
+    },
+    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.$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,
+        technologyId: 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.InspectioniD = res.data
+        this.getTableData()
+      })
+    },
+    getTableData() {
+      this.$axios.get(this.$api.url.inspectionItemListUser, {
+        params: {
+          id: 28,
+          type: 1
+        }
+      }).then(res => {
+        this.inspectionItems = res.data
+        let arr = []
+        let val=JSON.parse(JSON.stringify(this.inspectionItems))
+        //杞垚涓�缁存暟缁�
+        val.forEach(l => {
+          let father = l.father
+          l.children.forEach(c => {
+            c.father = father
+            c.empiricalValueAdd=[]
+            arr.push(c)
+          })
+        })
+        this.inspectionItems = arr
+        console.log(this.inspectionItems);
+        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>
 
-  }
-  </script>
+<style>
+.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>

--
Gitblit v1.9.3