From 4c5c20a7c03539104df74072b1b8a81b51c19ab8 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 14 九月 2023 10:42:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/view/standard.vue |  103 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 82 insertions(+), 21 deletions(-)

diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue
index c757612..2a3269a 100644
--- a/src/components/view/standard.vue
+++ b/src/components/view/standard.vue
@@ -6,8 +6,8 @@
         <el-col :span="12" style="text-align: right;">
           <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;"
             @click="showBomAddModel">鏂板</el-button>
-          <el-button icon="el-icon-plus">鏂板鐗堟湰</el-button>
-          <el-button @click="bomRightDl=true" icon="el-icon-delete">鍒犻櫎</el-button>
+          <el-button icon="el-icon-plus" @click="addVersionBtn">鏂板鐗堟湰</el-button>
+          <el-button @click="deleteDataBtn" icon="el-icon-delete">鍒犻櫎</el-button>
         </el-col>
       </el-row>
     </div>
@@ -32,8 +32,6 @@
           </div>
         </el-tree>
       </div>
-
-
       <div class="right">
         <div class="choose">
           <span>绫诲瀷锛�</span>
@@ -45,31 +43,30 @@
             <el-option :value="3" label="鐢熶骇宸ヨ壓"></el-option>
           </el-select>
           <span>{{ tableType == 1 ? '椤圭洰锛�' : '宸ヨ壓鍚嶇О锛�' }}</span>
-          <el-input v-model="searchName" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 24px;"
+          <el-input v-model="searchName" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 50px;"
             clearable></el-input>
-          <span>{{ tableType == 1 ? '鐗堟湰锛�' : '鐗堟湰锛�' }}</span>
-          <el-select size="small" v-model="VER" @change="verevent" style="width: 280px;" placeholder="璇烽�夋嫨">
+          <span>鐗堟湰锛�</span>
+          <el-select v-model="version2" @change="verevent" size="small" style="width: 280px;margin-right: 10px;" placeholder="璇烽�夋嫨">
             <el-option v-for="item in version" :key="item" :label="item" :value="item">
             </el-option>
           </el-select>
-          <el-button style="margin-left:10px;" size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>閲� 缃�</span></el-button>
+          <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>
         </div>
 
-        <div v-if="this.typeselect == 0">
-          <technology  :tableType="tableType" :tableData="tableData"></technology>
+        <div class="contentTable" v-if="this.typeselect == 0">
+          <technology @childData="getChildData"  :tableType="tableType" :tableData="tableData"></technology>
         </div>
         <div v-if="this.typeselect == 1">
-          <target :tableType="tableType" :tableData="tableData"></target>
+          <target @childData="getChildData" :tableType="tableType" :tableData="tableData"></target>
         </div>
         <div v-if="this.typeselect == 2">
-          <material :tableType="tableType" :tableData="tableData"></material>
+          <material @childData="getChildData" :tableType="tableType" :tableData="tableData"></material>
         </div>
         <div v-if="this.typeselect == 3">
-          <product :tableType="tableType" :tableData="tableData"></product>
+          <product @childData="getChildData" :tableType="tableType" :tableData="tableData"></product>
         </div>
-        
       </div>
     </div>
 
@@ -341,6 +338,7 @@
 import bomClickAdd from '@/components/view/standard-box/bomClickAdd'
 export default {
   components: { technology,material,target,product,bomClickAdd },
+
   data() {
     var checkPq = (rule,value,callback)=>{
       if(value!='' && !Number.isInteger(value)){
@@ -356,6 +354,8 @@
       callback();
     };
     return {
+      //瀛愮粍浠朵紶鐨刬d鍒楄〃
+      childIds:[],
       //宸ュ簭鍒楄〃
       technologyIdList:[],
       fatherList:[],
@@ -433,7 +433,7 @@
       // BOM鏍戞暟鎹粨鏋�
       list: [],
       search: null,
-      tableType: 1, // 琛ㄦ牸绫诲瀷 1锛氭妧鏈寚鏍囷紝0锛氬伐鑹鸿矾绾�
+      tableType: 0, // 琛ㄦ牸绫诲瀷 1锛氭妧鏈寚鏍囷紝0锛氬伐鑹鸿矾绾�
       searchName: "",// 鏌ヨ鏉′欢-鍚嶇О
       checkTreeNode: {},// 鐐瑰嚮閫変腑鏍戣妭鐐�
       tableData: [],
@@ -443,9 +443,7 @@
       bomRightDl: false,
       formTypeOptions: null,
       typeselect: 0,
-      returntree: {
-        id:28,
-      },
+      returntree: {id:28},
       version: {},
       leftAdd:{
         type: [],
@@ -454,7 +452,7 @@
         name: null,
         specifications: null
       },
-      VER: {},
+      version2: {},
       verdata: {},
       character: 0,
       restaurants: [],
@@ -576,7 +574,69 @@
         this.$refs[formName].resetFields();
       },
     leftAddBom(){
-    
+      
+    },
+    //鑾峰彇瀛愮粍浠舵暟鎹�
+    getChildData(data){
+      this.childIds = data;
+    },
+    //鍒犻櫎鎸夐挳
+    deleteDataBtn(){
+      let ids;
+      let url;
+      ids = this.childIds.filter(item=>{
+        return item != undefined;
+      });
+      if(ids.length < 1){
+        this.$message.error("璇峰厛閫夋嫨鏁版嵁锛�");
+        return;
+      }
+      switch(this.typeselect){
+        case 0:
+          url = this.$api.url.delAllByTechnology;
+          break;
+        case 1:
+          url = this.$api.url.delAllByTarget;
+          break;
+        case 2:
+          url = this.$api.url.delAllByMBom;
+          break;
+        case 3:
+          url = this.$api.url.delAllByProduct;
+          break;
+      }
+      this.$confirm('纭鍒犻櫎宸查�変腑鐨勬暟鎹悧', '鍒犻櫎', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          this.$axios.post(url,{
+            ids : ids.join(",")
+          }).then(res=>{
+            this.selectAll();
+            this.$message.success(res.message);
+          }).catch(error=>{
+            this.$message.error(error.message);
+          })
+        }).catch(() => {});
+    },
+    //鏂板鐗堟湰
+    addVersionBtn(){
+        this.$confirm('纭鏂板鐗堟湰鍚�', '鏂板鐗堟湰', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'info'
+        }).then(() => {
+          this.$axios.post(this.$api.url.addVersion,{
+            specificationsId : this.returntree.id,
+            version : this.version2.substring(1,2),
+          }).then(res=>{
+            this.selectVersion();
+            this.$message.success(res.message);
+          }).catch(error=>{
+            this.$message.error(error.message);
+          })
+        }).catch(() => {});
     },
     //鍙充晶bom,纭鏂板
     confirmAdd(formName){
@@ -840,6 +900,7 @@
     TYPE(val) {//绫诲瀷.鏁版嵁
       // console.log(val);
       this.typeselect = val
+
       // console.log(this.typeselect);
       this.selectVersion()
     },
@@ -866,7 +927,7 @@
         return this.verdata[0]
       })
       this.character=v
-      this.VER="v"+v
+      this.version2="v"+v
       this.selectAll()
     },
     //鍙充晶鏁版嵁

--
Gitblit v1.9.3