From c7ccbc6510a9350e0a0a5a39a84f46c382d080b3 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 15 九月 2023 15:00:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before

---
 src/components/view/laboratoryManagement.vue |  519 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 314 insertions(+), 205 deletions(-)

diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue
index 2f2ac7e..c29f494 100644
--- a/src/components/view/laboratoryManagement.vue
+++ b/src/components/view/laboratoryManagement.vue
@@ -1,8 +1,8 @@
 <template>
-  <div>
+  <div class="laboratoryMangement">
     <el-row>
-      <el-col :span="12" class="top_left_name">瀹為獙瀹ょ鐞�</el-col>
-      <el-col :span="12" style="text-align: right;">
+      <el-col :span="12" class="top_left_name">璁惧缁存姢</el-col>
+      <el-col :span="12" style="text-align: right;" class="title">
         <el-button
           @click="testItem()"
           type="primary"
@@ -39,6 +39,7 @@
                 <el-form-item label="璁惧鐢ㄩ��" prop="type">
                   <el-select
                     v-model="ruleForm.type"
+                    @change="selectinstall"
                     placeholder="璇烽�夋嫨璁惧鐢ㄩ��"
                   >
                     <el-option label="鐢熶骇璁惧" value="1"></el-option>
@@ -49,22 +50,28 @@
             </el-row>
             <el-row>
               <el-col :span="12">
-                <el-form-item label="鐖剁骇鍒嗙被">
+                <el-form-item label="璁惧缁�" prop="name">
                   <el-select
-                    v-model="value"
-                    @blur="productSelect"
-                    filterable
+                    v-model="ruleForm.equr"
                     allow-create
-                    placeholder="璇烽�夋嫨鐖剁骇鍒嗙被"
+                    filterable
+                    @create=""
+                    placeholder="璇烽�夋嫨璁惧缁�"
                   >
                     <el-option
-                      v-for="list in parentClassificationList"
-                      :key="list.index"
-                      :label="list.father"
-                      :value="list.father"
+                      v-for="list in equaip"
+                      :key="list"
+                      :label="list"
+                      :value="list"
                     >
                     </el-option>
                   </el-select>
+                <!-- <el-autocomplete 
+                class="inline-input"
+                v-model="ruleForm.equr"
+                :fetch-suggestions="querySearch"
+                 placeholder="璇疯緭鍏ュ唴瀹�"
+    ></el-autocomplete> -->
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -153,38 +160,7 @@
                 </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>
-                    <el-input
-                      placeholder="妫�娴嬫牱鍝�"
-                      :disabled="true"
-                      style="width: 206px"
-                      v-model="showCodeNameModel.name"
-                    >
-                    </el-input>
-                  </el-form-item>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
+            <!-- <el-row>
               <el-col :span="12">
                 <el-form-item label="瑙勬牸鍨嬪彿">
                   <el-input
@@ -196,18 +172,8 @@
                   </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-row> -->
           </el-form>
           <span slot="footer" class="dialog-footer">
             <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
@@ -228,16 +194,13 @@
         <el-radio-group
           class="ai-tab-change"
           style="width: 270px; margin-top: 5px"
-          v-model="radio1"
+          v-model="equipment"
+          @input="RadioChange"
         >
-          <el-radio-button size="small" label="true">
-            <div>鐢熶骇璁惧</div>
-          </el-radio-button>
-          <el-radio-button size="small" label="false">
-            <div>妫�娴嬭澶�</div>
-          </el-radio-button>
+        <el-radio-button  label="1">鐢熶骇璁惧</el-radio-button>
+        <el-radio-button  label="2">妫�楠岃澶�</el-radio-button>
         </el-radio-group>
-        <el-input
+        <!-- <el-input
           class="frame_input"
           v-model="search_class"
           placeholder="璇疯緭鍏ュ垎绫诲悕绉�"
@@ -249,13 +212,15 @@
             style="font-size: 23px; padding: 5px 0;cursor:pointer;"
             @click="handlerDeptList"
           ></i>
-        </el-input>
+        </el-input> -->
         <el-tree
           :data="towTree"
           ref="tree"
           :props="{ children: 'children', label: 'father' }"
-          node-key="id"
+          node-key="father"
           default-expand-all
+          highlight-current
+          style="margin-top: 20px;"
           @node-click="handleNodeClick"
         >
           <div class="custom-tree-node" slot-scope="{ node, data }">
@@ -269,11 +234,11 @@
                   }`
                 "
               ></i>
-              {{ data.name }}</span
+              {{ data.father }}</span
             >
-            <el-button type="text" size="mini" @click.stop="remove(node, data)">
+           <!--  <el-button type="text" size="mini" @click.stop="remove(node, data)">
               <i class="el-icon-delete"></i>
-            </el-button>
+            </el-button> -->
           </div>
         </el-tree>
       </div>
@@ -365,9 +330,9 @@
             </el-table-column>
             <el-table-column prop="name" label="浠櫒璁惧鍚嶇О" width="125">
             </el-table-column>
-            <el-table-column prop="keeper" label="淇濈浜�"> </el-table-column>
+            <el-table-column prop="userName" label="淇濈浜�"> </el-table-column>
             <el-table-column
-              prop="end_measure"
+              prop="DATE_FORMAT(end_measure, '%Y-%m-%d')"
               label="璁¢噺鎴嚦鏈夋晥鏈�"
               width="147"
             >
@@ -414,15 +379,15 @@
               :show-overflow-tooltip="true"
             >
             </el-table-column>
-            <el-table-column prop="inspectProject" label="妫�娴嬮」鐩�">
+            <!-- <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="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)"
+                  @click="handleClick(scope.row)"
                   type="text"
                   size="small"
                   >鍒犻櫎</el-button
@@ -441,8 +406,10 @@
   name: "LaboratoryManagement",
   data() {
     return {
+
       value: "",
       dialogVisible: false,
+      checkTreeNode:{},
       isCollapse: true, //榛樿涓哄睍寮�
       radio1: "true", // 鍒嗙被鍒囨崲
       tableData: [], // 涓婚〉琛ㄦ牸鏁版嵁
@@ -455,6 +422,8 @@
       staue_value: "", // 涓婚〉琛ㄦ牸涓婃柟鐨勭姸鎬侀�夋嫨
       // BOM鏍戞暟鎹粨鏋�
       towTree: [],
+      equipment: '1',
+      equaip:[],
       ruleForm: {
         // 鏂板浠櫒琛ㄥ崟
         code: "",
@@ -465,8 +434,15 @@
         keeper: "",
         name: "",
         rawInsProductId: "",
-        type: ""
+        type: "",
+        // treedata:{
+        //     father:'璁惧缁�1',
+        // },
+        equr:'',
+       
       },
+      delete:{},
+      equip:1,
       rules: {
         name: [
           { required: true, message: "璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�", trigger: "blur" },
@@ -504,7 +480,49 @@
       }
     };
   },
+  mounted() {
+    // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲
+    this.twoTreeApi();
+    // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹�
+    // this.tableDataApi();
+    // this.selectDevice()
+  },
   methods: {
+    handleNodeClick(val) {
+      this.checkTreeNode = val
+      console.log(this.checkTreeNode);
+        this.selectDevice()
+    },
+    selectInput(){
+
+    },
+    // querySearch(queryString, cb) {
+    //   console.log(this.equaip);
+    //     var restaurants = this.equaip;
+    //     var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
+    //     // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
+    //     cb(results);
+    //   },
+    //   createFilter(queryString) {
+    //     return (restaurant) => {
+    //       return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+    //     };
+    //   },
+    staueValueChange() {
+      this.selectDevice()
+      // this.tableData = [];
+      // let val = 1;
+      // if (this.radio1 === "false") {
+      //   val = 2;
+      // }
+      // this.$axios
+      //   .get(this.$api.url.tableDeviceList, {
+      //     params: { type: val, deviceStatue: this.staue_value }
+      //   })
+      //   .then(res => {
+      //     this.tableData = res.data;
+      //   });
+    },
     // 鍔ㄦ�佹帶鍒跺睍寮�涓庢敹璧峰拰鍒囨崲瀵瑰簲鍥炬爣
     isC() {
       this.isCollapse = !this.isCollapse;
@@ -517,25 +535,27 @@
       }
     },
     submitForm() {
-      this.$refs.ruleForm.validate(valid => {
-        if (valid) {
-          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;
-        }
-      });
+      // this.$refs.ruleForm.validate(valid => {
+      //   if (valid) {
+      //     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;
+      //   }
+      // });
+      this.addApi()
+      this.dialogVisible = false;
     },
     handleClose(done) {
       this.$confirm("纭鍏抽棴锛�")
@@ -549,53 +569,126 @@
       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;
-      });
+    },
+    selectinstall(val) {
+      this.equip = val
+      this.listgroup()
+    },
+    listgroup() {
+        this.$axios.get(this.$api.url.listgroup,{
+            params:{
+              type:this.equip
+            }
+        })
+        .then(res =>{
+          this.equaip = res.data
+          // res.data.forEach(item=>{
+          //   let obj={
+          //     id: item,
+          //     value: item
+          //   }
+          //   this.equaip.push(obj)
+            console.log(this.equaip);
+          // })
+        })
+    },
+    RadioChange(val){
+      console.log(val);
+        this.equip = val
+        this.twoTreeApi()
     },
     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.id = i.children[0].id;
-            i.children = undefined;
-          }
-        });
+      this.$axios.get(this.$api.url.towTree,{
+        params:{
+            type:this.equip,
+        }
+      }).then(res => {
+        // let list = res.data;
+        // list.forEach(i => {
+        //   if (i.name === undefined) {
+        //     i.name = i.children[0].name;
+        //     i.id = i.children[0].id;
+        //     i.children = undefined;
+        //   }
+        // });
         this.towTree = res.data;
-      });
+        this.$nextTick(() => {
+				this.$refs.tree.setCurrentKey(this.towTree[0].father) // 榛樿閫変腑鑺傜偣绗竴涓�
+			})
+      console.log(this.towTree);
+        let one=this.towTree[0]
+        console.log(one);
+        let name =one.father
+        this.checkTreeNode.father = name
+			  console.log(name);
+        this.selectDeviceStart(name)
+        });
     },
-    tableDataApi() {
-      this.$axios.get(this.$api.url.tableDeviceList).then(res => {
-        this.tableData = res.data;
-      });
+    selectDeviceStart(name,) {//鍙宠竟鏁版嵁
+      this.$axios.get(this.$api.url.selectDevice,{
+        params:{
+          father:name,
+          type:this.equip,
+          deviceStatus:this.staue_value,
+          message:this.codeNameModel,
+        }
+      }).then(res =>{
+        console.log(res);
+        this.tableData = res.data
+      }, {
+				headers: {
+                		"Content-Type": "application/json"
+              		}
+      })
     },
+
+    selectDevice() {//鍙宠竟鏁版嵁
+      this.$axios.get(this.$api.url.selectDevice,{
+        params:{
+          father:this.checkTreeNode.father,
+          type:this.equip,
+          deviceStatus:this.staue_value,
+          message:this.codeNameModel,
+        }
+      }).then(res =>{
+        console.log(res);
+        this.tableData = res.data
+      }, {
+				headers: {
+                		"Content-Type": "application/json"
+              		}
+      })
+    },
+    addApi() {
+      this.$axios.post(this.$api.url.addApi,{
+        code:this.ruleForm.code,
+        deviceStatus:this.ruleForm.deviceStatus,
+        endMeasure:this.ruleForm.endMeasure,
+        factory:this.ruleForm.factory,
+        father:this.ruleForm.equr,
+        keeper:this.ruleForm.keeper,
+        name:this.ruleForm.name,
+        type:this.ruleForm.type,
+      }, {headers: {"Content-Type": "application/json"}
+    }).then(res =>{
+      this.selectDevice()
+      this.$message.success('鏂板鎴愬姛')
+      this.ruleForm = {}
+    })
+    },
+    // tableDataApi() {
+    //   this.$axios.get(this.$api.url.tableDeviceList).then(res => {
+    //     this.tableData = res.data;
+    //   });
+    // },
     reset() {
-      this.tableDataApi();
-      this.radio1 = "true";
-      this.codeNameModel = "";
-      this.staue_value = "";
-    },
-    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;
-          });
-      }
+      // this.tableDataApi();
+      // this.radio1 = "true";
+      // this.codeNameModel = "";
+      // this.staue_value = "";
+      this.staue_value = ""
+      this.codeNameModel = ""
+      this.selectDevice()
     },
     handlerDeptList() {
       this.towTree = [];
@@ -612,47 +705,59 @@
         });
     },
     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;
-          });
-      }
+      this.selectDevice()
+      // 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"
-            });
-          });
+    delDeviceById() {
+      this.$axios.post(this.$api.url.delDeviceById,{
+          id:this.delete.id
+      }).then(res=>{
+        this.$parent.removeAllTab()
       });
+    },
+    handleClick(row) {
+      console.log(row);
+        this.delete = row
+        this.delDeviceById()
+        this.selectDevice()
+      // 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("姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ澶�, 鏄惁缁х画?", "鎻愮ず", {
@@ -708,27 +813,9 @@
         }
       });
     },
-    staueValueChange() {
-      this.tableData = [];
-      let val = 1;
-      if (this.radio1 === "false") {
-        val = 2;
-      }
-      this.$axios
-        .get(this.$api.url.tableDeviceList, {
-          params: { type: val, deviceStatue: this.staue_value }
-        })
-        .then(res => {
-          this.tableData = res.data;
-        });
-    }
+  
   },
-  mounted() {
-    // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲
-    this.twoTreeApi();
-    // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹�
-    this.tableDataApi();
-  },
+ 
   watch: {
     "ruleForm.rawInsProductId": {
       //鐩戝惉ruleForm.rawInsProductId
@@ -744,17 +831,17 @@
         }
       }
     },
-    dialogVisible: {
-      handler: function(newVal, oldVal) {
-        if (newVal) {
-          // 鎴愬姛娓呯┖杈撳叆鍐呭
-          this.ruleForm = {};
-          this.value = "";
-          this.showCodeNameModel = {};
-          this.$refs.ruleForm.resetFields();
-        }
-      }
-    },
+    // dialogVisible: {
+    //   handler: function(newVal, oldVal) {
+    //     if (newVal) {
+    //       // 鎴愬姛娓呯┖杈撳叆鍐呭
+    //       this.ruleForm = {};
+    //       this.value = "";
+    //       this.showCodeNameModel = {};
+    //       this.$refs.ruleForm.resetFields();
+    //     }
+    //   }
+    // },
     radio1: {
       handler: function(newVal, oldVal) {
         this.towTree = [];
@@ -942,3 +1029,25 @@
   line-height: 14px;
 }
 </style>
+<style>
+	.laboratoryMangement .title *{
+		font-size: 14px;
+	}
+	
+	.laboratoryMangement .table_top_div *{
+		font-size: 14px;
+	}
+	
+	.laboratoryMangement .title .el-button {
+	  height: 32px;
+	  border: 1px solid rgba(190, 190, 190, 0.44);
+	  box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+	  padding: 0 12px;
+	}
+	.laboratoryMangement .table_top_div .el-button {
+	  height: 32px;
+	  border: 1px solid rgba(190, 190, 190, 0.44);
+	  box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+	  padding: 0 12px;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3