zouyu
2023-09-12 40f0147e880d83e8ffb341994ab37e9e712fccf9
src/components/view/mbom.vue
@@ -32,7 +32,7 @@
               <el-form-item label="工序">
                            <template>
                                <el-select v-model="search.work" 
                                placeholder="请选择类型"
                                placeholder="请选择"
                                allow-create
                                filterable
                                @change="workevent"
@@ -77,7 +77,7 @@
                  label="供应商名称"
                  width="180">
                  <template slot-scope="scope">
                     <el-input v-model="scope.row.input" placeholder="" ></el-input>
                     <el-input v-model="scope.row.supplier" placeholder="" ></el-input>
                  </template>
               </el-table-column>
               <el-table-column
@@ -85,7 +85,7 @@
                  label="质量追溯号"
                  width="180">
                  <template slot-scope="scope">
                     <el-input v-model="scope.row.input" placeholder="" ></el-input>
                     <el-input v-model="scope.row.qualityTraceability" placeholder="" ></el-input>
                  </template>
               </el-table-column>
               <el-table-column
@@ -99,7 +99,7 @@
                  prop="address"
                  label="规格型号">
                  <template slot-scope="scope">
                     <el-input v-model="scope.row.input" placeholder="" ></el-input>
                     <el-input v-model="scope.row.specifications" placeholder="" ></el-input>
                  </template>
               </el-table-column>
               <el-table-column
@@ -137,15 +137,15 @@
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable ></el-input>
                <el-tree :data="list" ref="tree"
                <el-tree :data="list" ref="tree"  highlight-current
            :props="{children: 'children',label: 'name'}" 
            node-key="id" default-expand-all  @node-click="handleNodeClick" >
               <div class="custom-tree-node" slot-scope="{ node, data }">
                  <span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                  <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                     {{data.code}} {{ data.name }}</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>
@@ -181,27 +181,29 @@
export default {
      data() {
         return {
              search:{},
              search:{
               type: 0,
               technology: null
            },
              list:[],
            process:{},
            // handleClose:[],
            checkTreeNode:{
               name:'剥缆'
               id:2,
            },
            tableData:[],
            tableapi:[],
            search:{
               type:'',
               work:'',
               craft:'',
            },
            tableapi:[{
               supplier:'',
               qualityTraceability:'',
               name:'',
               specifications:'',
               unit:'',
               }],
            addsearch:{},
            upData:{},
            form:{},
            dialogVisible:false,
            typeselect:0,
                tableData: [],
            input:'',
            craftapi:[],
            }
@@ -211,6 +213,22 @@
         this.selectAllMbom()         
      },
      methods:{
         selectDataList() {
            this.list.forEach(a => {
               a.code = '[1]'
               if (a.children != undefined) {
                  a.children.forEach(b => {
                     b.code = '[2]'
                     if (b.children != undefined) {
                        b.children.forEach(c => {
                           c.code = '[3]'
                        })
                     }
                  })
               }
            })
            this.upIndex++
         },
          workevent(val){
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
@@ -229,14 +247,37 @@
                    }
            })
         },
         //删除
         material() {
            this.$axios.post(this.$api.url.material,{
               id:this.upData.id
            }, {
         addMbom(data) {
            this.$axios.post(this.$api.url.addMbom,data
            // {
               // name:this.tableapi.name,
               // qualityTraceability:this.tableapi.qualityTraceability,
               // specifications:this.tableapi.specifications,
               // supplier:this.tableapi.supplier,
               // techTemId:this.craftapi.id,
               // unit:this.tableapi.unit,
            // }
            , {
               headers: {
                      "Content-Type": "application/json"
                    }
            }).then(res =>{
               console.log(res);
               this.$message.success('添加完成')
               this.selectAllMbom()
               this.tableapi = [{}]
            })
         },
         //删除
         material(index) {
            console.log(this.upData.id);
            this.$axios.post(this.$api.url.material,{
               id:this.upData.id
            }).then(res =>{
               this.$message.success(res.message)
               this.tableData.splice(index,1)
               // console.log(res);
            })
         },
         TYpe(val) {
@@ -250,6 +291,7 @@
         }).then(res => {
            this.list = res.data;
            console.log(this.list);
            this.selectDataList()
         }, {
            headers: {
                      "Content-Type": "application/json"
@@ -262,6 +304,7 @@
            params:{id:this.checkTreeNode.id}
         }).then(res => {
            this.tableData = res.data;
            console.log(this.tableData);
         }, {
            headers: {
                      "Content-Type": "application/json"
@@ -285,17 +328,22 @@
            this.chooseTechFath()
            },
          Addrow() {
         if (this.tableData == undefined) {
            this.tableData = new Array();
         if (this.tableapi == undefined) {
            this.tableapi = new Array();
         }
         let obj = [];
         
         this.tableData.push(obj);
         this.tableapi.push(obj);
         },
         skipshow(){
            console.log('666');
            const data = this.tableData.at(-1)
            console.log(data);
            let data = this.tableapi.at(-1)
            // this.addMbom()
            data.techTemId = this.search.craft
            // console.log(this.search.craft);
            // console.log(data);
            this.addMbom(data)
            
            this.dialogVisible = false
         },
@@ -315,9 +363,10 @@
         },
         deleteRow(index, rows) {
            console.log(rows);
            this.tableData.splice(index,1)
            // this.tableData.splice(index,1)
            this.upData.id = rows.id
            this.material()
            console.log(this.upData);
            this.material(index)
         },
        }