王震
2023-09-01 75f7b3e923759b543c068c4651b779aabcb6d18f
src/components/view/technology.vue
@@ -126,14 +126,14 @@
            <el-option label="湿插拔电连接器" :value="2"></el-option>
            <el-option label="分支组件" :value="3"></el-option>
         </el-select>
         <span>工序:</span>
         <!-- <span>工序:</span>
         <el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
         </el-select>
         <span>设备组:</span>
         <el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option>
         </el-select>
         </el-select> -->
         <el-button size="mini" @click="clean()"><span>重 置</span></el-button>
         <el-button size="mini" type="primary" style="background: #004EA2;"><span>查
               询</span></el-button>
@@ -141,12 +141,15 @@
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input>
            <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
               @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode"
               :key="upIndex">
            <el-tree
            :data="towTree" ref="tree"
            :props="{children: 'children',label: 'father'}"
            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 != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                     {{data.code}} {{ data.name }}</span>
                     {{data.name}}{{data.father}}</span>
                  <el-button type="text" size="mini" @click.stop="remove(node, data)">
                     <i class="el-icon-delete"></i>
                  </el-button>
@@ -162,7 +165,7 @@
               </el-table-column>
               <el-table-column prop="name" label="工艺名称">
               </el-table-column>
               <el-table-column prop="ask" label="设备组">
               <el-table-column prop="device_group" label="设备组">
               </el-table-column>
               <el-table-column label="操作" width="130">
                  <template slot-scope="scope">
@@ -176,6 +179,45 @@
      <el-dialog title="编辑记录内容" :visible.sync="upDia" width="500px">
         <div class="body">
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">类型:</el-col>
               <el-col :span="16" :offset="1">
                  <template>
                        <el-select v-model="upData.type" placeholder="请选择类型" style="width: 310px;">
                     <el-option label="橡胶连接器" :value="0"></el-option>
                     <el-option label="金属连接器" :value="1"></el-option>
                     <el-option label="湿插拔电连接器" :value="2"></el-option>
                     <el-option label="分支组件" :value="3"></el-option>
                        </el-select>
                        </template>
               </el-col>
            </el-row>
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">工序:</el-col>
               <el-col :span="16" :offset="1">
                  <el-select v-model="upData.father"   style="width: 310px;" placeholder="请选择">
                     <el-option
                     v-for="item in procedure"
                     :key="item"
                     :label="item"
                     :value="item">
                     </el-option>
                  </el-select>
               </el-col>
            </el-row>
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">元件:</el-col>
               <el-col :span="16" :offset="1">
                  <el-select v-model="upData.ele" style="width: 310px;" multiple placeholder="请选择">
                     <el-option
                     v-for="item in element"
                     :key="item.index"
                     :label="item.name"
                     :value="item.id">
                     </el-option>
                  </el-select>
               </el-col>
            </el-row>
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">工艺名称:</el-col>
               <el-col :span="16" :offset="1">
                  <el-input v-model="upData.name" size="small" clearable></el-input>
@@ -184,7 +226,7 @@
            <el-row style="line-height: 46px;">
               <el-col :span="4" style="font-size: 14px;text-align: right;">设备组:</el-col>
               <el-col :span="16" :offset="1">
                  <el-input v-model="upData.ask" size="small" clearable></el-input>
                  <el-input v-model="upData.device_group" size="small" clearable></el-input>
               </el-col>
            </el-row>
         </div>
@@ -200,38 +242,48 @@
            <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="类型">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            </el-option>
                        <el-select v-model="form.type" placeholder="请选择类型" style="width: 480px;">
                     <el-option label="橡胶连接器" :value="0"></el-option>
                     <el-option label="金属连接器" :value="1"></el-option>
                     <el-option label="湿插拔电连接器" :value="2"></el-option>
                     <el-option label="分支组件" :value="3"></el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="工序">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                        <el-select v-model="form.father" placeholder="请选择类型" style="width: 480px;" >
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            v-for="item in procedure"
                            :key="item"
                            :label="item"
                            :value="item">
                            </el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="设备组">
               <template>
                        <el-select v-model="form.deviceGroup" placeholder="请选择类型" style="width: 480px;" >
                            <el-option
                            v-for="item in equipment"
                            :key="item.index"
                            :label="item.father"
                            :value="item.father">
                            </el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-row>
            <el-col :span="10">
            <el-form-item label="工艺名称">
            <el-form-item label="元件">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 200px;">
                        <el-select v-model="form.elementId" placeholder="请选择类型" style="width: 200px;" >
                            <el-option
                            v-for="item in options"
                            v-for="item in element"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            :label="item.name"
                            :value="item.id">
                            </el-option>
                        </el-select>
                        </template>
@@ -239,7 +291,7 @@
         </el-col>
         <el-col :span="10" :offset="2">
            <el-form-item label="元件">
            <el-form-item label="工艺名称">
               <el-input v-model="form.name" style="width: 200px;"></el-input>
            </el-form-item>
         </el-col>
@@ -247,7 +299,7 @@
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
            <el-button type="primary" @click="Neworder">确 定</el-button>
            <el-button @click="dialogVisible = false">取 消</el-button>
         </span>
      </el-dialog>
@@ -258,12 +310,16 @@
            <el-form-item label="类型">
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                            <el-option
                            <!-- <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :label="item."
                            :value="item.value">
                            </el-option>
                            </el-option> -->
                     <el-option label="橡胶连接器" :value="0"></el-option>
                     <el-option label="金属连接器" :value="1"></el-option>
                     <el-option label="湿插拔电连接器" :value="2"></el-option>
                     <el-option label="分支组件" :value="3"></el-option>
                        </el-select>
                        </template>
            </el-form-item>
@@ -271,9 +327,9 @@
               <template>
                        <el-select v-model="value" placeholder="请选择类型" style="width: 480px;">
                            <el-option
                            v-for="item in options"
                            v-for="item in procedure"
                            :key="item.value"
                            :label="item.label"
                            :label="item.j"
                            :value="item.value">
                            </el-option>
                        </el-select>
@@ -321,72 +377,142 @@
               technology: null
            },
            options:{},
            form:{},
            form:{
               type:'',
               father:'',
               name:'',
               elementId:'',
               deviceGroup:''
            },
            search:{
               type:'',
            },
            treetrunk:[],
            process: [],
            product: [],
            list: [{
               id: 0,
               name: "插头",
               children: [{
                  id: 5,
                  name: "工艺"
               }]
            }, {
               id: 1,
               name: "成品"
            }, {
               id: 2,
               name: "半成品"
            }],
            value:{},
            procedure:[],
            checkTreeNode:'',
            towTree:[],
            value:"",
            modifyevent:false,
            dialogVisible:false,
            checkTreeNode: {},
            tableData: [{
               id: 1,
               name: "工序",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 2,
               name: "作业人员",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 3,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 4,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }, {
               id: 5,
               name: "规格",
               unit: "dajskda",
               stand: "12348",
               ask: "564165"
            }],
            tableData: [],
            upIndex: 0,
            selects: [],
            upDia: false,
            element:[],
            equipment:[0],
            upData: {
               id: 0,
               name: null,
               ask: null
               name:'',
               device_group:'',
               ele:'',
               father:'',
               type:'',
            },
            newdata:{
               type:''
            }
         }
      },
      mounted() {
         this.selectDataList()
         this.selectAllTechTem()
         this.chooseTech()
         this.chooseDevGroup()
         this.chooseElement()
      },
      methods: {
         Neworder() {
            this.dialogVisible = false
            this.addTechTemp()
         },
         addTechTemp() {
            // console.log(this.$api.url.addTechTemp);
            this.$axios.post(this.$api.url.addTechTemp,
            {
               deviceGroup:this.form.deviceGroup,
               elementId:this.form.elementId,
               father:this.form.father,
               name:this.form.name,
               type:this.form.type
             },
             {
               headers: {
                      "Content-Type": "application/json"
                    }
            }
            ).then(res=>{
               console.log(res);
            })
         },
         //元件
         chooseElement() {
            this.$axios.get(this.$api.url.chooseElement).then(res =>{
               this.element = res.data
               console.log(this.element);
            })
         },
         //设备
         chooseDevGroup() {
            this.$axios.get(this.$api.url.chooseDevGroup).then(res =>{
               this.equipment = res.data;
               // console.log(this.equipment);
            })
         },
         //工序
         chooseTech() {
            this.$axios.get(this.$api.url.chooseTech).then(res =>{
               this.procedure = res.data;
               console.log(this.procedure);
            })
         },
         //删除
         delTechById() {
            this.$axios.post(this.$api.url.delTechById,{
               id:this.upData.id
            })
         },
         //编辑
         writeTechById() {
            this.$axios.post(this.$api.url.writeTechById,{
               deviceGroup:this.upData.device_group,
               elementId:this.upData.ele[0],
               father:this.upData.father,
               name:this.upData.name,
               type:this.upData.type,
               // id:this.this.upData.id,
            }, {
               headers: {
                      "Content-Type": "application/json"
                    }
            })
         },
         selectAllTechTem() {
         this.$axios.get(this.$api.url.selectAllTechTem,{
            params:{type: 0}
         }).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;
         });
         },
         selectAllTechNam() {
         this.$axios.get(this.$api.url.selectAllTechNam,{
            params:{father:this.checkTreeNode.name}
         }).then(res => {
            this.tableData = res.data;
         });
         },
         addend(){
            this.dialogVisible = true
         },
@@ -407,22 +533,26 @@
               children.splice(index, 1);
            }).catch(e => {})
         },
         selectDataList() {
            this.list.forEach(a => {
               a.code = '[1]'
               if (a.children != undefined) {
                  a.children.forEach(b => {
                     b.code = '[2]'
                  })
               }
            })
            this.upIndex++
         },
         handleNodeClick(data) {
         // selectDataList() {
         //    this.list.forEach(a => {
         //       a.code = '[1]'
         //       if (a.children != undefined) {
         //          a.children.forEach(b => {
         //             b.code = '[2]'
         //          })
         //       }
         //    })
         //    this.upIndex++
         // },
         handleNodeClick(data, node) {
            this.checkTreeNode = data
            if (data.code == '[2]') {
               console.log(data);
            }
            this.treetrunk = node
            console.log(this.treetrunk);
            console.log(this.checkTreeNode);
            this.selectAllTechNam()
            // if (data.code == '[2]') {
            //    console.log(data);
            // }
         },
         nodeOpen(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
@@ -448,20 +578,27 @@
            rows.splice(index, 1);
         },
         upContent(ob) {
            this.upData = this.HaveJson(ob)
            this.upData = ob
            console.log(this.upData);
            this.upDia = true
         },
         submitUpData() {
            this.tableData.forEach(a => {
               if (a.id == this.upData.id) {
                  a.name = this.upData.name
                  a.ask = this.upData.ask
               }
            })
            // this.tableData.forEach(a => {
            //    if (a.id == this.upData.id) {
            //       a.name = this.upData.name
            //       a.ask = this.upData.device_group
            //    }
            // })
               this.writeTechById()
            this.$message.success('修改成功')
            this.upIndex++
            this.upDia = false
         }
      }
   }
</script>