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

---
 src/components/view/processInspection.vue |  724 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 441 insertions(+), 283 deletions(-)

diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index f844244..da22a3b 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,141 +1,74 @@
 <template>
   <div class="content-main">
-    <div v-if="!showAddPage" class="rawPage">
+    <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 @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-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-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>
+        <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-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
-        >
+        <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)"
-            :cell-style="{ textAlign: 'center' }"
+          <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%"
-          >
+            }" 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 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="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="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="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
-                >
+                <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
-                >
+                <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button>
+                <el-button type="text" size="small" >鏌ョ湅</el-button>
+                <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;"  @click="updateInsInfo(scope.row)">缂栬緫</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"
-          />
+          <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>
@@ -146,109 +79,60 @@
           <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-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="addInspectionform"
-          ref="addInspectionform"
-          class="addInspectionform"
-          label-position="right"
-          label-width="120px"
-          size="small"
-        >
+        <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
-                    style="width: 210px;"
-                    size="small"
-                    v-model="addInspectionform.number"
-                    placeholder="璇疯緭鍏ヨ鍗曞彿"
-                  />
+                  <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-input
-                    style="width: 210px;"
-                    size="small"
-                    v-model="addInspectionform.code"
-                    placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
-                  />
+                  <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="addInspectionform.code"
-                    placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
-                  />
+                  <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="addInspectionform.number"
-                    placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
-                  />
+                  <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
-                    v-model="value"
-                    placeholder="璇烽�夋嫨"
-                    style="width: 210px;"
-                    size="small"
-                  >
-                    <el-option
-                      v-for="item in options"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
+                  <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="value"
-                    placeholder="璇烽�夋嫨"
-                    style="width: 210px;"
-                    size="small"
-                  >
-                    <el-option
-                      v-for="item in options"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    >
+                  <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>
@@ -257,31 +141,17 @@
             <el-row :gutter="230">
               <el-col :span="7">
                 <el-form-item label="鍗曚綅锛�">
-                  <el-input
-                    style="width: 210px;"
-                    size="small"
-                    disabled
-                    v-model="addInspectionform.quantity"
-                    placeholder="璇疯緭鍏ュ崟浣�"
-                  />
+                  <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="addInspectionform.quantity"
-                    placeholder="璇疯緭鍏ユ暟閲�"
-                  />
+                  <el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" />
                 </el-form-item>
               </el-col>
-              <el-col :span="7">
-                <el-button
-                  type="primary"
-                  style="float: right; font-size: 14px; !important"
-                  >鐢熸垚妫�楠岄」鐩�</el-button
-                >
+              <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>
@@ -291,92 +161,53 @@
         <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
+            <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
-          :data="inspectionItems"
-          height="calc(100vh - 550px)"
-          style="width: 100%"
-        >
-          <el-table-column
-            type="index"
-            label="搴忓彿"
-            width="60"
-          ></el-table-column>
-          <el-table-column prop="material" label="椤圭洰"></el-table-column>
+        <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="standardVal" label="鏍囧噯鍊�"></el-table-column>
-          <el-table-column prop="controlVal" label="鍐呮祴鍊�"></el-table-column>
-          <el-table-column
-            prop="testValue"
-            label="妫�娴嬪��"
-            min-width="150"
-            v-for="(item, index) in empiricalValueAdd"
-            :key="index"
-          >
+          <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.deviceId != null"
-                class="item"
-                effect="dark"
-                content="璇峰厛閫夋嫨璁惧锛�"
-                placement="top-start"
-              >
-                <el-input
-                  :disabled="scope.row.deviceId == null"
-                  // v-model="scope.row.testValueList[index]"
-                  @blur="changeState(scope.row, index)"
-                  placeholder="璇疯緭鍏ユ娴嬪��"
-                ></el-input>
+              <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 label="璇曢獙璁惧">
+          <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
             <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>
+              <el-button type="text" @click="clickTableSelect(scope)">{{
+                scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
+              }}</el-button>
             </template>
           </el-table-column>
-          <el-table-column prop="conclusion" label="缁撹">
+          <el-table-column 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
-              >
+              <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">鏆傛湭缁撹</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-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">
@@ -389,14 +220,47 @@
           <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-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;">
+          </el-input>
+          <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current
+            @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
+            <div class="custom-tree-node" slot-scope="{ data }">
+              <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'
+                }`
+                "></i>
+                {{ data.name }}</span>
+            </div>
+          </el-tree>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button>
+        </span>
+      </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>
 
 <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,
@@ -404,13 +268,32 @@
         name: "", // 浜у搧鍚嶇О
         techfather: "" // 宸ュ簭
       },
+      optionsSamplename: [],
       inspectionTable: [],
-      inspectionTableTotal: "",
+      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: "",
@@ -425,48 +308,301 @@
           group: "",
           worker: "",
           machine: ""
-        }
-      ],
+        }]
+      ,
       inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
       inspectionResultForm: [
         {
-          id: "274024",
-          name: "111",
-          inspecter: "111",
+          id: "",
+          name: "",
+          inspecter: "",
           conclusion: "",
           operation: ""
         }
       ],
-      options: [
-        {
-          value: "閫夐」1",
-          label: "榛勯噾绯�"
-        },
-        {
-          value: "閫夐」2",
-          label: "鍙岀毊濂�"
-        },
-        {
-          value: "閫夐」3",
-          label: "铓典粩鐓�"
-        },
-        {
-          value: "閫夐」4",
-          label: "榫欓』闈�"
-        },
-        {
-          value: "閫夐」5",
-          label: "鍖椾含鐑ら腑"
-        }
-      ],
-      value: ""
+      options: [],
+      value: "",
+      rowList: [],
+      spanArr: [],
+      position: 0,
+      // 璁惧閫夋嫨鏍戞樉绀�
+      centerDialogVisible: false,
+      filterText: "",
+      materialOptions: [],
+      defaultProps: {
+        // 璁惧鏍戞暟鎹缃�
+        children: "children",
+        label: "name"
+      },
+      nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+      clickSelectDevice: {
+        index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+        rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀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() {
+      this.$axios.get(this.$api.url.rawSelectDevice).then(res => {
+        this.materialOptions = res.data;
+      });
+    },
+    // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+    clickTableSelect(scope) {
+      this.centerDialogVisible = true;
+      this.clickSelectDevice.index = scope.$index;
+      this.clickSelectDevice.rpId = scope.row.id;
+    },
+    // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+    clickNodeSure() {
+      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) {
+        console.log(row);
+        if(row.did!=null&&row.did!=''){
+          let str=""
+        row.empiricalValueAddss.forEach(e=>{
+            str+=e+","
+        })
+        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 => {
+        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() {
+      this.isAddProject=true
+      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.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'])
+            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) {
@@ -476,6 +612,7 @@
     // 鏄剧ず鏂板椤甸潰
     handleAddNew() {
       this.showAddPage = true;
+      // this.getTableData()
     },
     // 琛ㄦ牸鍒濆鍖栨帴鍙�
     defaultInitializationTable() {
@@ -529,58 +666,79 @@
 </script>
 
 <style>
+.node_i {
+  color: orange;
+}
+.div_device_dialog {
+  min-height: 400px;
+  overflow: auto;
+}
 .nav {
   display: flex;
   padding: 20px 20px;
   align-items: center;
   background-color: #fff;
 }
+
 .table_header {
   height: calc(100vh - 550px);
 }
+
 .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;

--
Gitblit v1.9.3