From 0747a32003b83a155466496d18f7dddf6f800436 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 11 八月 2023 17:49:33 +0800
Subject: [PATCH] Crunchy-08/11下班

---
 src/components/view/laboratoryManagement.vue |  515 ++++++++++++++++++++++++++++++++++++++++++++++----------
 src/App.vue                                  |   10 -
 src/assets/api/controller.js                 |   10 +
 3 files changed, 430 insertions(+), 105 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index 67df6d5..270aee6 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -211,14 +211,4 @@
 	}
   /* 鍏ㄥ眬杈撳叆妗嗘牱寮� */
   /* 鍏ㄥ眬鎸夐挳鏍峰紡 */
-  .el-icon-arrow-left{
-    display: flex;
-    line-height: 60px !important;
-    justify-content: center;
-  }
-  .el-icon-arrow-right{
-    display: flex;
-    line-height: 60px !important;
-    justify-content: center;
-  }
 </style>
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 434111e..adf82c7 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -29,7 +29,15 @@
 
 // QMS瀹為獙瀹ょ鐞�
 const laboratory = {
-  addDeviceInspectDownBox: "/device/listInspect", //鏂板浠櫒璁惧锛氭楠岄」鐩笅鎷夋
+  addDeviceInspectDownBox: "/device/listInspect", // 鏂板浠櫒璁惧锛氭楠岄」鐩笅鎷夋
+  selectDeviceInspectMessage: "/device/inspectId", // 鏂板浠櫒璁惧锛氭牴鎹楠岄」鐩甀D鏌ヨ鏁版嵁
+  addDeviceKeeper: "/device/list_user",// 鏂板浠櫒璁惧锛氫繚绠′汉涓嬫媺妗�
+  addDeviceParentClassification: "/device/parent_classification", // 鏂板浠櫒璁惧锛氭煡璇㈢埗绾у垎绫�
+  addDeviceInstrument: "/device/add", // 鏂板浠櫒璁惧
+  towTree: "/device/two_tree", //浜岀骇鏍�
+  tableDeviceList: "/device/table_list", // 瀹為獙瀹ゆā鍧楄〃鏍兼暟鎹�
+  deleteDevice: "/device/delete", // 鍒犻櫎瀹為獙瀹よ澶�
+  deleteIdorFather: "/device/deleteIdorFather" // 鍒犻櫎鏍戞ā鍧楁暟鎹�
 }
 
 const url = {
diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue
index 80446a7..73219f8 100644
--- a/src/components/view/laboratoryManagement.vue
+++ b/src/components/view/laboratoryManagement.vue
@@ -12,89 +12,140 @@
           <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
             <el-row>
               <el-col :span="12">
-                <el-form-item label="浠櫒璁惧缂栧彿" prop="name">
+                <el-form-item label="璁惧鍚嶇О" prop="name">
                   <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.name"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="淇濈浜�" prop="region">
-                  <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨淇濈浜�">
-                    <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-                    <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+                <el-form-item label="璁惧鐢ㄩ��" prop="type">
+                  <el-select v-model="ruleForm.type" placeholder="璇烽�夋嫨璁惧鐢ㄩ��">
+                    <el-option label="鐢熶骇璁惧" value="1"></el-option>
+                    <el-option label="妫�娴嬭澶�" value="2"></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="12">
-                <el-form-item label="璁¢噺鎴嚦鏈夋晥鏈�" required>
-                  <el-form-item prop="date1">
-                    <el-date-picker style="width: 206px" type="date" placeholder="璇烽�夋嫨璁¢噺鎴嚦鏈夋晥鏈�" v-model="ruleForm.date1"></el-date-picker>
-                  </el-form-item>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="璁惧鐘舵��" prop="region">
-                  <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨璁惧鐘舵��">
-                    <el-option label="1" value="杩愯"></el-option>
-                    <el-option label="2" value="鎶ュ簾"></el-option>
+                <el-form-item label="鐖剁骇鍒嗙被">
+                  <el-select v-model="value" @blur="productSelect" filterable allow-create placeholder="璇烽�夋嫨鐖剁骇鍒嗙被">
+                    <el-option
+                      v-for="list in parentClassificationList"
+                      :key="list.index"
+                      :label="list.father"
+                      :value="list.father"
+                    >
+                    </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
               <el-col :span="12">
-                <el-form-item label="鍘傚" prop="region">
-                  <el-input style="width: 206px" placeholder="璇疯緭鍏ュ巶瀹�" clearable v-model="ruleForm.name"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="妫�娴嬮」鐩�" required>
-                  <el-form-item prop="inspectionList">
-                    <el-select v-model="ruleForm.rawInsProductId" placeholder="璇烽�夋嫨妫�娴嬮」鐩�">
-                      <el-option v-for="item in inspectionList"
-                                 :key="item.index"
-                                 :label="item.name"
-                                 :value="item.id">
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
+                <el-form-item label="浠櫒璁惧缂栧彿" prop="name">
+                  <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.code"></el-input>
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row>
+              <el-col :span="12">
+                <el-form-item label="淇濈浜�" prop="keeper">
+                  <el-select v-model="ruleForm.keeper" placeholder="璇烽�夋嫨淇濈浜�">
+                    <el-option
+                      v-for="list in keeperList"
+                      :key="list.index"
+                      :label="list.name"
+                      :value="list.id"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="璁¢噺鎴嚦鏈夋晥鏈�" prop="endMeasure">
+                  <el-date-picker
+                    style="width: 206px"
+                    type="date"
+                    placeholder="璇烽�夋嫨璁¢噺鎴嚦鏈夋晥鏈�"
+                    v-model="ruleForm.endMeasure"
+                    :picker-options="pickerOptions"
+                  ></el-date-picker>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="璁惧鐘舵��" prop="deviceStatus" required>
+                  <el-select v-model="ruleForm.deviceStatus" placeholder="璇烽�夋嫨璁惧鐘舵��">
+                    <el-option label="杩愯" style="color: #66c03b" value="1"></el-option>
+                    <el-option label="鎶ュ簾" style="color: #ac9299" value="2"></el-option>
+                    <el-option label="妫�淇�" style="color: #52d6c0" value="3"></el-option>
+                    <el-option label="鏁呴殰" style="color: #f36b6c" value="4"></el-option>
+                    <el-option label="绌洪棽" style="color: #fcb642" value="5"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="鍘傚" prop="factory" required>
+                  <el-input style="width: 206px" placeholder="璇疯緭鍏ュ巶瀹�" clearable v-model="ruleForm.factory"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="妫�娴嬮」鐩�" prop="rawInsProductId" required>
+                  <el-select v-model="ruleForm.rawInsProductId" placeholder="璇烽�夋嫨妫�娴嬮」鐩�">
+                    <el-option v-for="item in inspectionList"
+                               :key="item.index"
+                               :label="item.name"
+                               :value="item.id">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
               <el-col :span="12">
                 <el-form-item label="妫�娴嬫牱鍝�" required>
-                  <el-form-item prop="date1">
-                    <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.name"></el-input>
+                  <el-form-item>
+                    <el-input
+                      placeholder="妫�娴嬫牱鍝�"
+                      :disabled="true"
+                      style="width: 206px"
+                      v-model="showCodeNameModel.name">
+                    </el-input>
                   </el-form-item>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="瑙勬牸鍨嬪彿" prop="region">
-                  <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.name"></el-input>
                 </el-form-item>
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="12">
-                <el-form-item label="妫�娴嬩汉" required>
-                  <el-input placeholder="璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�" style="width: 206px" clearable v-model="ruleForm.name"></el-input>
+                <el-form-item label="瑙勬牸鍨嬪彿">
+                  <el-input
+                    placeholder="瑙勬牸鍨嬪彿"
+                    :disabled="true"
+                    style="width: 206px"
+                    v-model="showCodeNameModel.specifications">
+                  </el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="妫�娴嬩汉">
+                  <el-input
+                    placeholder="妫�娴嬩汉"
+                    :disabled="true"
+                    style="width: 206px"
+                    v-model="showCodeNameModel.user_name">
+                  </el-input>
                 </el-form-item>
               </el-col>
             </el-row>
-
           </el-form>
           <span slot="footer" class="dialog-footer">
             <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
-            <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button>
+            <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
           </span>
         </el-dialog>
-
       </el-col>
     </el-row>
     <el-row class="left_row">
-      <div :style="`width: ${isCollapse?300:0}px;transition: 1s;`" class="class_sidebar">
+      <div :style="`width: ${isCollapse?300:0}px;transition: 1s;opacity: ${isCollapse?1:0};`" class="class_sidebar">
         <el-radio-group class="ai-tab-change" style="width: 270px; margin-top: 5px" v-model="radio1">
           <el-radio-button size="small" label="true">
             <div class="el_radio_button_div">鐢熶骇璁惧</div>
@@ -104,25 +155,23 @@
           </el-radio-button>
         </el-radio-group>
         <el-input
-          v-model="search"
           class="frame_input"
-          :style="`opacity: ${isCollapse?1:0};`"
-          suffix-icon="el-icon-search"
+          v-model="search_class"
           placeholder="璇疯緭鍏ュ垎绫诲悕绉�"
-          size="small" clearable>
+          size="small"
+        >
+          <i slot="suffix" class="el-icon-search" style="font-size: 23px; padding: 5px 0;cursor:pointer;" @click="handlerDeptList"></i>
         </el-input>
         <el-tree
-          :data="list" ref="tree"
-          :props="{children: 'children',label: 'label'}"
+          :data="towTree" ref="tree"
+          :props="{children: 'children',label: 'father'}"
           node-key="id"
           default-expand-all
-          :filter-node-method="filterNode"
           @node-click="handleNodeClick"
-          highlight-current @node-expand="nodeOpen"
-          @node-collapse="nodeClose">
+          >
             <div class="custom-tree-node" slot-scope="{ node, data }">
               <span><i :class="`node_i ${data.code != '[4]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
-                {{data.code}}{{ data.label }}</span>
+                {{ data.name }}</span>
               <el-button type="text" size="mini" @click.stop="remove(node, data)">
                 <i class="el-icon-delete"></i>
               </el-button>
@@ -142,17 +191,20 @@
           <div class="table_top_div">
             <el-input
               class="table_top_input"
-              v-model="searchName"
               size="small"
+              v-model="codeNameModel"
               prefix-icon="el-icon-search"
               placeholder="璇疯緭鍏ョ紪鍙�/璁惧鍚嶇О/鍨嬪彿瑙勬牸"
               clearable>
             </el-input>
-            <el-button size="mini" @click="()=>{searchName='';selectProductTableData()}"><span>閲� 缃�</span></el-button>
-            <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>鏌� 璇�</span></el-button>
-            <el-select v-model="tableType" size="small" placeholder="璇烽�夋嫨" class="table_top">
-              <el-option :value="0" label="宸ヨ壓鏂囦欢"></el-option>
-              <el-option :value="1" label="鎶�鏈寚鏍�"></el-option>
+            <el-button size="mini" @click="reset"><span>閲� 缃�</span></el-button>
+            <el-button size="mini" type="primary" @click="selectSearch" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
+            <el-select v-model="value" size="small" placeholder="璇烽�夋嫨璁惧鐘舵��" class="table_top">
+              <el-option label="杩愯" style="color: #66c03b" value="1"></el-option>
+              <el-option label="鎶ュ簾" style="color: #ac9299" value="2"></el-option>
+              <el-option label="妫�淇�" style="color: #52d6c0" value="3"></el-option>
+              <el-option label="鏁呴殰" style="color: #f36b6c" value="4"></el-option>
+              <el-option label="绌洪棽" style="color: #fcb642" value="5"></el-option>
             </el-select>
           </div>
           <el-table
@@ -162,17 +214,65 @@
             style="padding: 10px;">
             <el-table-column
               prop="date"
-              label="鏃ユ湡"
-              width="180">
+              label="搴忓彿"
+              width="60">
+              <template v-slot="scope">
+                {{ scope.$index + 1 }}
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="code"
+              label="浠櫒璁惧缂栧彿"
+              width="125">
             </el-table-column>
             <el-table-column
               prop="name"
-              label="濮撳悕"
-              width="180">
+              label="浠櫒璁惧鍚嶇О"
+              width="125">
             </el-table-column>
             <el-table-column
-              prop="address"
-              label="鍦板潃">
+              prop="keeper"
+              label="淇濈浜�">
+            </el-table-column>
+            <el-table-column
+              prop="end_measure"
+              label="璁¢噺鎴嚦鏈夋晥鏈�"
+              width="147">
+            </el-table-column>
+            <el-table-column
+              prop="device_status"
+              label="浣跨敤鐘舵��">
+              <template slot-scope="scope">
+                <el-tag v-if="scope.row.device_status==1" disable-transitions type="success">杩愯</el-tag>
+                <el-tag v-else-if="scope.row.device_status==2" disable-transitions type="info">鎶ュ簾</el-tag>
+                <el-tag v-else-if="scope.row.device_status==3" style="color: #52d6c0" disable-transitions type="info">妫�淇�</el-tag>
+                <el-tag v-else-if="scope.row.device_status==4" disable-transitions type="danger">鏁呴殰</el-tag>
+                <el-tag v-else-if="scope.row.device_status==5" style="color: #fcb642" disable-transitions type="info">绌洪棽</el-tag>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="factory"
+              label="鍘傚"
+              :show-overflow-tooltip="true">
+            </el-table-column>
+            <el-table-column
+              prop="inspectProject"
+              label="妫�娴嬮」鐩�">
+            </el-table-column>
+            <el-table-column
+              prop="testSample"
+              label="妫�楠屾牱鍝�">
+            </el-table-column>
+            <el-table-column
+              prop="user_name"
+              label="妫�娴嬩汉">
+            </el-table-column>
+            <el-table-column
+              prop="name"
+              label="鎿嶄綔">
+              <template v-slot="scope">
+                <el-button @click="handleClick(scope.$index, tableData, scope.row)" type="text" size="small">鍒犻櫎</el-button>
+              </template>
             </el-table-column>
           </el-table>
         </div>
@@ -186,15 +286,22 @@
   name: "LaboratoryManagement",
   data() {
     return {
+      value: '',
       dialogVisible: false,
       isCollapse: true, //榛樿涓哄睍寮�
-      radio1: 'true',
+      radio1: 'true', // 鍒嗙被鍒囨崲
       tableData: [],
       inspectionList: [], //妫�楠岄」鐩笅鎷夋鍒楄〃
+      showCodeNameModel: {}, // 鏂板浠櫒灞曠ず绂佹妗�
+      keeperList: [], // 鏂板璁惧淇濈浜轰笅鎷夋
+      parentClassificationList: [], // 鏂板璁惧鐖剁骇鍒嗙被涓嬫媺妗�
+      search_class: '', // 鍒嗙被鎼滅储妗嗗唴瀹�
+      codeNameModel: '', // 缂栫爜鍚嶇О鍨嬪彿妯$硦鏌ヨ
       // BOM鏍戞暟鎹粨鏋�
-      list: [],
+      towTree: [],
       ruleForm: {
         code: '',
+        father: '',
         deviceStatus: '',
         endMeasure: '',
         factory: '',
@@ -205,28 +312,36 @@
       },
       rules: {
         name: [
-          { required: true, message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�', trigger: 'blur' },
-          { min: 3, max: 5, message: '闀垮害鍦� 3 鍒� 5 涓瓧绗�', trigger: 'blur' }
+          { required: true, message: '璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�', trigger: 'blur' },
+          { min: 2, max: 25, message: '闀垮害鍦� 2 鍒� 25 涓瓧绗�', trigger: 'blur' }
         ],
-        region: [
-          { required: true, message: '璇烽�夋嫨娲诲姩鍖哄煙', trigger: 'change' }
+        keeper: [
+          { required: true, message: '璇烽�夋嫨淇濈浜�', trigger: 'change' }
         ],
-        date1: [
-          { type: 'date', required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }
+        endMeasure: [
+          { type: 'date', required: true, message: '璇烽�夋嫨璁¢噺鎴嚦鏈夋晥鏈�', trigger: 'change' }
         ],
-        date2: [
-          { type: 'date', required: true, message: '璇烽�夋嫨鏃堕棿', trigger: 'change' }
+        deviceStatus: [
+          { required: true, message: '璇烽�夋嫨璁惧鐘舵��', trigger: 'change' }
+        ],
+        factory: [
+          { required: true, message: '璇疯緭鍏ュ巶瀹�', trigger: 'blur' },
+          { min: 2, max: 25, message: '闀垮害鍦� 2 鍒� 50 涓瓧绗�', trigger: 'blur' }
+        ],
+        rawInsProductId: [
+          { required: true, message: '璇烽�夋嫨妫�娴嬮」鐩�', trigger: 'change' }
         ],
         type: [
-          { type: 'array', required: true, message: '璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川', trigger: 'change' }
-        ],
-        resource: [
-          { required: true, message: '璇烽�夋嫨娲诲姩璧勬簮', trigger: 'change' }
-        ],
-        desc: [
-          { required: true, message: '璇峰~鍐欐椿鍔ㄥ舰寮�', trigger: 'blur' }
+          { required: true, message: '璇烽�夋嫨璁惧鐢ㄩ��', trigger: 'change' }
         ]
-      }
+      },
+      pickerOptions:{
+        //绂佺敤褰撳墠鏃ユ湡涔嬪墠鐨勬棩鏈�
+        disabledDate(time) {
+          //Date.now()鏄痡avascript涓殑鍐呯疆鍑芥暟锛屽畠杩斿洖鑷�1970骞�1鏈�1鏃�00:00:00 UTC浠ユ潵缁忚繃鐨勬绉掓暟銆�
+          return time.getTime() < Date.now() - 8.64e7;
+        }
+      },
     }
   },
   methods: {
@@ -234,18 +349,30 @@
     isC() {
       this.isCollapse = !this.isCollapse;
     },
-    submitForm(formName) {
-      this.$refs[formName].validate((valid) => {
+    productSelect(e) {
+      let value = e.target.value; // 杈撳叆妗嗗��
+      if(value) { // 浣犺緭鍏ユ墠鏈夎繖涓�� 涓嶄负绌猴紝濡傛灉浣犱笅鎷夋閫夋嫨鐨勮瘽 杩欎釜鍊间负绌�
+        this.value = value
+      }
+    },
+    submitForm() {
+      this.$refs.ruleForm.validate((valid) => {
         if (valid) {
-          alert('submit!');
+          this.ruleForm.father = this.value
+          this.$axios.post(this.$api.url.addDeviceInstrument, this.ruleForm,{
+            headers: {
+              'Content-Type': 'application/json'
+            }
+          }).then(res => {
+            this.keeperList = res.data
+            // 鎴愬姛鍏抽棴鏂板寮瑰嚭妗�
+            this.dialogVisible = false
+          })
         } else {
           console.log('error submit!!');
           return false;
         }
       });
-    },
-    resetForm(formName) {
-      this.$refs[formName].resetFields();
     },
     handleClose(done) {
       this.$confirm('纭鍏抽棴锛�')
@@ -256,18 +383,183 @@
     },
     testItem() {
       this.dialogVisible = true
+      this.$axios.get(this.$api.url.addDeviceKeeper).then(res => {
+        this.keeperList = res.data
+      })
       this.$axios.get(this.$api.url.addDeviceInspectDownBox).then(res => {
         this.inspectionList = res.data
+      })
+      this.$axios.get(this.$api.url.addDeviceParentClassification).then(res => {
+        this.parentClassificationList = res.data
+      })
+    },
+    twoTreeApi() {
+      this.$axios.get(this.$api.url.towTree).then(res => {
+        let list = res.data
+        list.forEach(i => {
+          if (i.name === undefined){
+            i.name = i.children[0].name
+            i.children = undefined
+          }
+        })
+        this.towTree = res.data
+      })
+    },
+    tableDataApi() {
+      this.$axios.get(this.$api.url.tableDeviceList).then(res => {
+        this.tableData = res.data
+      })
+    },
+    reset() {
+      this.tableDataApi()
+      this.radio1 = 'true'
+      this.codeNameModel = ''
+    },
+    handleNodeClick(data) {
+      if (data.id === undefined) {
+        this.$axios.get(this.$api.url.tableDeviceList, {params: {fatherName: data.name}}).then(res => {
+          this.tableData = res.data
+        })
+      } else if (data.id !== undefined){
+        this.$axios.get(this.$api.url.tableDeviceList, {params: {deviceId: data.id}}).then(res => {
+          this.tableData = res.data
+        })
+      }
+    },
+    handlerDeptList() {
+      this.towTree = []
+      let val = 1
+      if (this.radio1 === "false"){
+        val = 2
+      }
+      this.$axios.get(this.$api.url.towTree, {params: {type: val, search_class: this.search_class}}).then(res => {
+        this.towTree = res.data
+      })
+    },
+    selectSearch() {
+      this.tableData = []
+      if (this.radio1 === 'false'){
+        this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 1, codeNameModel: this.codeNameModel}}).then(res => {
+          this.tableData = res.data
+        })
+      } else if (this.radio1 === 'true') {
+        this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 2, codeNameModel: this.codeNameModel}}).then(res => {
+          this.tableData = res.data
+        })
+      }
+    },
+    handleClick(index, datas, row) {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        this.$axios.delete(this.$api.url.deleteDevice,{params: {deviceId: row.id}}).then(res => {
+          this.$message({
+            message: res.message,
+            type: 'success'
+          });
+          datas.splice(index, 1);
+        }).catch(err => {
+          this.$message({
+            message: err.message,
+            type: 'warning'
+          });
+        })
+      })
+    },
+    remove(node, data) {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        console.log(data)
+        let val = '';
+        if(data.id === undefined && data.children === undefined ) {
+          this.$axios.delete(this.$api.url.deleteIdorFather,{params: {deviceFather: data.name}}).then(res => {
+            if (res.code === 200){
+              this.$message({
+                message: res.message,
+                type: 'success'
+              });
+              this.handlerDeptList()
+              this.selectSearch()
+            } else {
+              this.$message({
+                message: res.message,
+                type: 'warning'
+              });
+            }
+          })
+        } else if (data.id !== undefined){
+          this.$axios.delete(this.$api.url.deleteIdorFather,{params: {id: data.id}}).then(res => {
+            if (res.code === 200){
+              this.$message({
+                message: res.message,
+                type: 'success'
+              });
+              this.handlerDeptList()
+              this.selectSearch()
+            } else {
+              this.$message({
+                message: res.message,
+                type: 'warning'
+              });
+            }
+          })
+        }
       })
     }
   },
   mounted() {
+    // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲
+    this.twoTreeApi()
+    // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹�
+    this.tableDataApi()
   },
   watch: {
-    'ruleForm.rawInsProductId': { //鐩戝惉banner
+    'ruleForm.rawInsProductId': { //鐩戝惉ruleForm.rawInsProductId
       handler: function (newVal, oldVal) {
         if (newVal != null && newVal !== ''){
-          console.log("1222222222222")
+          this.$axios.get(this.$api.url.selectDeviceInspectMessage,{params: {inspectId: newVal}}).then(res => {
+            this.showCodeNameModel = res.data
+          })
+        }
+      }
+    },
+    dialogVisible: {
+      handler: function (newVal, oldVal) {
+        if (newVal){
+          // 鎴愬姛娓呯┖杈撳叆鍐呭
+          this.ruleForm = {}
+          this.value = ''
+          this.showCodeNameModel = {}
+          this.$refs.ruleForm.resetFields()
+        }
+      }
+    },
+    radio1: {
+      handler: function (newVal, oldVal) {
+        this.towTree = []
+        this.tableData = []
+        if (newVal === "true"){
+          this.twoTreeApi()
+          this.tableDataApi()
+        } else if (newVal === "false") {
+          this.$axios.get(this.$api.url.towTree, {params: {type: 2}}).then(res => {
+            let list = res.data
+            list.forEach(i => {
+              if (i.name === undefined){
+                i.name = i.children[0].name
+                i.children = undefined
+              }
+            })
+            this.towTree = res.data
+          })
+          this.$axios.get(this.$api.url.tableDeviceList, {params: {type: 2}}).then(res => {
+            this.tableData = res.data
+          })
         }
       }
     }
@@ -276,6 +568,33 @@
 </script>
 
 <style scoped>
+.el-tag.el-tag {
+  border-color: transparent;
+  background-color: transparent;
+}
+.el-tag.el-tag:hover {
+  border-color: transparent;
+  background-color: transparent;
+}
+.el-form-item >>> .el-form-item__error {
+  color: #F56C6C;
+  font-size: 12px;
+  line-height: 1;
+  padding-top: 6px;
+  position: absolute;
+  top: 100%;
+  left: 18px;
+}
+/deep/ .el-icon-arrow-left{
+  display: flex;
+  line-height: 60px !important;
+  justify-content: center;
+}
+/deep/ .el-icon-arrow-right{
+  display: flex;
+  line-height: 60px !important;
+  justify-content: center;
+}
 .top_left_name{
   padding-left: 20px;
   line-height: 32px;
@@ -330,6 +649,14 @@
   justify-content: space-between;
   font-size: 14px;
   padding-right: 8px;
+  width: 250px;
+}
+.el-tree{
+  width: 280px;
+  margin: 0 10px;
+}
+.custom-tree-node span{
+  font-size: 14px!important;
 }
 .el-icon-delete {
   display: none;

--
Gitblit v1.9.3