value
2023-09-21 4f5549cd814eeaecd0ff04de62452d8d5fb4cbc5
src/components/view/record-content.vue
@@ -1,3 +1,476 @@
<template>
   <div class="record_content">
      <div class="title">
         <el-row>
            <el-col :span="12" style="line-height: 32px;">生产记录维护</el-col>
            <el-col :span="12" style="text-align: right;">
               <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">新增</el-button>
               <el-button icon="el-icon-delete" @click="dels">删除</el-button>
            </el-col>
         </el-row>
      </div>
      <div class="choose">
         <span>类型:</span>
         <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择"
            style="width: 224px;margin-right: 30px;">
            <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option>
         </el-select>
      </div>
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable
               @input="query"></el-input>
            <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="name"
               default-expand-all @node-click="handleNodeClick" highlight-current :key="upIndex" style="padding-top: 8px;">
               <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>
               </div>
            </el-tree>
         </div>
         <div class="right">
            <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
               @selection-change="handleSelectionChange" default-expand-all>
               <el-table-column type="selection" width="50">
               </el-table-column>
               <el-table-column type="index" label="序号" width="70">
               </el-table-column>
               <el-table-column prop="name" label="记录内容">
               </el-table-column>
               <el-table-column prop="unit" label="单位">
               </el-table-column>
               <el-table-column prop="note" label="备注">
               </el-table-column>
               <el-table-column label="操作" width="130">
                  <template slot-scope="scope">
                     <span class="table_do" @click="upContent(scope.row)">编辑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                     <span class="table_do" @click="deleteRow(scope.$index, scope.row)">删除</span>
                  </template>
               </el-table-column>
            </el-table>
         </div>
      </div>
      <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="edit.type" disabled placeholder="请选择" style="width: 310px;">
                        <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></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">
                  <template>
                     <el-select v-model="edit.techFather" placeholder="请选择" disabled @change="workevent" style="width: 310px;">
                        <el-option v-for="item in process" :key="item.name" :label="item.name" :value="item.name">
                        </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">
                  <template>
                     <el-select v-model="edit.techName" disabled placeholder="请选择" style="width: 310px;">
                        <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
                        </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-input v-model="upData.name" size="small" clearable></el-input>
               </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.unit" size="small" clearable></el-input>
               </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.note" size="small" clearable></el-input>
               </el-col>
            </el-row>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitUpData">确 定</el-button>
            <el-button @click="upDia = false">取 消</el-button>
         </span>
      </el-dialog>
      <!-- 新增弹窗 -->
      <el-dialog title="生产记录新增" :visible.sync="dialogVisible" :rules="Rules" ref="ruleForm" width="35%">
         <div>
            <el-form ref="form" :model="form" label-width="80px">
               <el-form-item label="类型" prop="type">
                  <template>
                     <el-select v-model="form.type" @change="edittype" placeholder="请选择" style="width: 100%;">
                        <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option>
                     </el-select>
                  </template>
               </el-form-item>
               <el-form-item label="工序" prop="work">
                  <template>
                     <el-select v-model="form.work" @change="workevent" placeholder="请选择" style="width: 100%;">
                        <el-option v-for="item in process" :key="item.name" :label="item.name" :value="item.name">
                        </el-option>
                     </el-select>
                  </template>
               </el-form-item>
               <el-form-item label="工艺名称" prop="name">
                  <template>
                     <el-select v-model="form.craft" placeholder="请选择" style="width: 100%;">
                        <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
                        </el-option>
                     </el-select>
                  </template>
               </el-form-item>
               <el-form-item label="记录" prop="record">
                  <el-input v-model="form.record"></el-input>
               </el-form-item>
               <el-form-item label="备注">
                  <el-input v-model="form.remarks"></el-input>
               </el-form-item>
               <el-form-item label="单位" prop="unit">
                  <el-input v-model="form.unit"></el-input>
               </el-form-item>
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="add(form)">确 定</el-button>
            <el-button @click="dialogVisible = false">取 消</el-button>
         </span>
      </el-dialog>
   </div>
</template>
<script>
   export default {
      data() {
         var checktype = (rule, value, callback) => {
            if (!value) {
               return callback(new Error('类型不能为空'));
            } else {
               return callback
            }
         };
         return {
            search: {
               type: 0,
               technology: null
            },
            options: [],
            value: {},
            craftapi: [],
            form: {
               type: '',
               work: '',
               craft: '',
               name: '',
               record: '',
               remarks: '',
               unit: '',
            },
            Rules: {
               type: {
                  validator: checktype,
                  required: true,
                  message: '类型不能为空',
                  trigger: 'change'
               },
               work: {
                  required: true,
                  message: '工序不能为空',
                  trigger: 'change'
               },
               name: {
                  required: true,
                  message: '工艺不能为空',
                  trigger: 'change'
               },
               record: {
                  required: true,
                  message: '记录不能为空',
                  trigger: 'blur'
               },
               unit: {
                  required: true,
                  message: '单位不能为空',
                  trigger: 'blur'
               },
            },
            modifyVisible: false,
            dialogVisible: false,
            process: {},
            list: [],
            tableData: [],
            upIndex: 0,
            selects: [],
            delete: [],
            typeselect: 0,
            upDia: false,
            checkTreeNode: {
               id: '',
            },
            upData: {
               name: '',
               unit: '',
               note: '',
            },
            edit: {
               name: '',
               note: '',
               techFather: '',
               techName: '',
               type: '',
               unit: '',
            },
            bigType: []
         }
      },
      mounted() {
         this.chooseType()
      },
      methods: {
         chooseType() {
            this.$axios.get(this.$api.url.chooseType).then(res => {
               this.bigType = res.data
               this.typeselect = res.data[0]
               this.search.type = res.data[0]
               this.selectAllleft()
               this.selectjilu()
            })
         },
         delQueById() {
            this.$axios.get(this.$api.url.delQueById, )
         },
         childrenClick() {},
         TYpe(val) {
            this.typeselect = val
            this.selectAllleft()
         },
         edittype(val) {
            this.typeselect = val
            this.chooseTechFath()
         },
         //新增
         workevent(val) {
            let idx = this.process.findIndex(el => el.name === val)
            this.craftapi = this.process[idx].children
         },
         chooseTechFath() {
            this.$axios.get(this.$api.url.chooseTechFath, {
               params: {
                  type: this.typeselect
               }
            }).then(res => {
               this.process = res.data;
            }, {
               headers: {
                  "Content-Type": "application/json"
               }
            }).then(res => {
            })
         },
         addRecord() {
            this.$axios.post(this.$api.url.addRecord, {
               name: this.form.record,
               note: this.form.remarks,
               techTemId: this.form.craft,
               unit: this.form.unit,
            }, {
               headers: {
                  "Content-Type": "application/json"
               }
            }).then(res => {
               this.$message.success('添加成功')
               this.selectjilu()
            })
         },
         add(formName) {
            this.dialogVisible = false
            this.addRecord()
            this.form = {};
         },
         query() {
            this.selectAllleft()
         },
         //主体左
         selectAllleft() {
            this.$axios.get(this.$api.url.selectAllleft, {
               params: {
                  type: this.typeselect,
                  message: this.search.technology
               }
            }).then(res => {
               this.list = res.data;
               this.selectDataList()
               this.$nextTick(() => {
                  this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个
               })
               let one = this.list.filter(item => {
                  return item.children.length > 0
               })[0]
               let name = one.children[0].id
               this.checkTreeNode.id = name
               this.selectjiluStart(name)
               this.selectDataList();
            });
         },
         //默认
         selectjiluStart(name) {
            this.$axios.get(this.$api.url.selectjilu, {
               params: {
                  id: name
               }
            }).then(res => {
               this.tableData = res.data;
            })
         },
         //selectjilu  checkTreeNode
         selectjilu() {
            this.$axios.get(this.$api.url.selectjilu, {
               params: {
                  id: this.checkTreeNode.id
               }
            }).then(res => {
               this.tableData = res.data;
            })
         },
         modify() {
            this.modifyVisible = true
         },
         addend() {
            this.dialogVisible = true
            this.chooseTechFath()
         },
         filterNode(value, data) {
            if (!value) return true;
            return data.name.indexOf(value) !== -1;
         },
         remove(node, data) {
            this.$confirm("是否删除", "警告", {
               type: "warning"
            }).then(res => {
               const parent = node.parent;
               const children = parent.data.children || parent.data;
               const index = children.findIndex(d => d.id === data.id);
               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]'
                     if (b.children != undefined) {
                        b.children.forEach(c => {
                           c.code = '[3]'
                        })
                     }
                  })
               }
            })
            this.upIndex++
         },
         handleNodeClick(data) {
            if(data.code != '[2]') return
            this.checkTreeNode = data
            this.selectjilu()
         },
         nodeOpen(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
         },
         nodeClose(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
         },
         handleSelectionChange(val) {
            this.selects = val;
         },
         dels() {
            this.selects.forEach(a => {
               for (var b = 0; b < this.tableData.length; b++) {
                  if (this.tableData[b].id == a.id) {
                     this.tableData.splice(b, 1)
                     b--
                  }
               }
            })
            let cc = this.selects.map(el => {
               return el.id
            })
            this.delete = cc.join(',')
            this.delAllRecord()
            this.$message.success('删除完成')
         },
         //批量删除
         delAllRecord() {
            this.$axios.post(this.$api.url.delAllRecord, {
               ids: this.delete
            })
         },
         //删除
         delQueByIdapi() {
            this.$axios.post(this.$api.url.delQueByIdapi, {
               id: this.upData.id
            })
         },
         deleteRow(index, rows) {
            this.tableData.splice(index, 1)
            this.upData.id = rows.id
            this.delQueByIdapi()
         },
         //编辑
         upContent(ob) {
            this.upData = ob
            this.selecRecord()
            this.upDia = true
         },
         selecRecord() {
            this.$axios.get(this.$api.url.selecRecord, {
               params: {
                  id: this.upData.id
               }
            }).then(res => {
               this.edit = res.data[0]
            })
         },
         writeRecordById() {
            this.$axios.post(this.$api.url.writeRecordById + '?id=' + this.upData.id, {
               name: this.upData.name,
               note: this.upData.note,
               techTemId: this.edit.id,
               unit: this.upData.unit
            }, {
               headers: {
                  "Content-Type": "application/json"
               }
            }).then(res => {
               this.selectjilu()
            })
         },
         submitUpData() {
            this.writeRecordById()
            this.$message.success('修改成功')
            this.upDia = false
         }
      }
   }
</script>
<style scoped>
   .title .el-button {
      height: 32px;
@@ -39,7 +512,6 @@
      height: calc(100% - 120px);
      background-color: #fff;
      display: flex;
   }
   .thing .left {
@@ -47,7 +519,7 @@
      height: calc(100% - 20px);
      border-right: 3px solid rgb(245, 247, 251);
      padding: 16px;
      /* height:calc(50vh - 250px) */
      overflow-y: auto;
   }
   .thing .left .custom-tree-node span {
@@ -106,554 +578,4 @@
      height: 30px;
      border-radius: 2px;
   }
</style>
<template>
   <div class="record_content">
      <div class="title">
         <el-row>
            <el-col :span="12" style="line-height: 32px;">生产记录维护</el-col>
            <el-col :span="12" style="text-align: right;">
               <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">新增</el-button>
               <!-- <el-button icon="el-icon-edit-outline" @click="modify">修改</el-button> -->
               <el-button icon="el-icon-delete" @click="dels">删除</el-button>
            </el-col>
         </el-row>
      </div>
      <div class="choose">
         <span>类型:</span>
         <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <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>
         <!-- <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>
         <el-button size="mini" @click="clean()"><span>重 置</span></el-button>
         <el-button size="mini" type="primary" style="background: #004EA2;"><span>查
               询</span></el-button> -->
            <!-- :style="{height: scrollerHeight,overflow:'auto',display: 'flex'}" -->
      </div>
      <div class="thing">
         <div class="left">
            <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="query"></el-input>
            <el-tree :data="list" ref="tree"
            style="height: 500px;overflow-y: auto;"
            :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
               @node-click="handleNodeClick" highlight-current
               :key="upIndex">
               <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.cord }}{{ data.name }}</span>
                  <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
                     <i class="el-icon-delete"></i>
                  </el-button> -->
               </div>
            </el-tree>
         </div>
         <div class="right">
            <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
               @selection-change="handleSelectionChange" default-expand-all>
               <el-table-column type="selection" width="50">
               </el-table-column>
               <el-table-column type="index" label="序号" width="70">
               </el-table-column>
               <el-table-column prop="name" label="记录内容">
               </el-table-column>
               <el-table-column prop="unit" label="单位">
               </el-table-column>
               <el-table-column prop="note" label="备注">
               </el-table-column>
               <el-table-column label="操作" width="130">
                  <template slot-scope="scope">
                     <span class="table_do" @click="upContent(scope.row)">编辑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                     <span class="table_do" @click="deleteRow(scope.$index, scope.row)">删除</span>
                  </template>
               </el-table-column>
            </el-table>
         </div>
      </div>
      <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="edit.type" disabled 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">
                  <template>
                        <el-select v-model="edit.techFather"
                  placeholder="请选择"
                  disabled
                  @change="workevent"
                  style="width: 310px;">
                            <el-option
                            v-for="item in process"
                            :key="item.name"
                            :label="item.name"
                            :value="item.name">
                            </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">
                  <template>
                        <el-select v-model="edit.techName"  disabled placeholder="请选择" style="width: 310px;">
                            <el-option
                            v-for="item in craftapi"
                            :key="item.id"
                            :label="item.name"
                            :value="item.id">
                            </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-input v-model="upData.name" size="small" clearable></el-input>
               </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.unit" size="small" clearable></el-input>
               </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.note" size="small" clearable></el-input>
               </el-col>
            </el-row>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitUpData">确 定</el-button>
            <el-button @click="upDia = false">取 消</el-button>
         </span>
      </el-dialog>
      <!-- 新增弹窗 -->
      <el-dialog title="生产记录新增" :visible.sync="dialogVisible" width="35%">
         <div>
            <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="类型">
               <template>
                        <el-select v-model="form.type"  @change="edittype" 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="form.work"
                  @change="workevent"
                  placeholder="请选择" style="width: 480px;">
                            <el-option
                            v-for="item in process"
                            :key="item.name"
                            :label="item.name"
                            :value="item.name">
                            </el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="工艺名称">
               <template>
                        <el-select v-model="form.craft" placeholder="请选择" style="width: 480px;">
                            <el-option
                            v-for="item in craftapi"
                            :key="item.id"
                            :label="item.name"
                            :value="item.id">
                            </el-option>
                        </el-select>
                        </template>
            </el-form-item>
            <el-form-item label="记录">
               <el-input v-model="form.record"></el-input>
            </el-form-item>
            <el-form-item label="备注">
               <el-input v-model="form.remarks"></el-input>
            </el-form-item>
            <el-form-item label="单位">
               <el-input v-model="form.unit"></el-input>
            </el-form-item>
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="add">确 定</el-button>
            <el-button @click="dialogVisible = false">取 消</el-button>
         </span>
      </el-dialog>
      <!-- 修改弹窗 -->
      <el-dialog title="工序编辑" :visible.sync="modifyVisible" width="35%">
         <div>
            <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>
                        </template>
            </el-form-item>
            <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>
                        </template>
            </el-form-item>
            <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>
                        </template>
            </el-form-item>
            <el-form-item label="记录">
               <el-input v-model="form.record"></el-input>
            </el-form-item>
            <el-form-item label="备注">
               <el-input v-model="form.remarks"></el-input>
            </el-form-item>
            <el-form-item label="单位">
               <el-input v-model="form.unit"></el-input>
            </el-form-item>
            </el-form>
         </div>
         <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="modifyVisible = false">确 定</el-button>
            <el-button @click="modifyVisible = false">取 消</el-button>
         </span>
      </el-dialog>
   </div>
</template>
<script>
   export default {
      data() {
         return {
            search: {
               type: 0,
               technology: null
            },
            options:[],
            value:{},
            craftapi:[],
            form:{
               type:'',
               work:'',
               craft:'',
               name:'',
               record:'',
               remarks:'',
               unit:'',
            },
            modifyVisible:false,
            dialogVisible:false,
            process: {},
            list: [],
            checkTreeNode: {},
            tableData: [],
            upIndex: 0,
            selects: [],
            delete:[],
            typeselect:0,
            upDia: false,
            checkTreeNode:{
               id:'',
            },
            upData:{
               name:'',
               unit:'',
               note:'',
            },
            edit:{
               name:'',
               note:'',
               techFather:'',
               techName:'',
               type:'',
               unit:'',
            },
         }
      },
      mounted() {
         this.selectAllleft()
         this.selectjilu()
      },
      methods: {
         delQueById() {
            this.$axios.get(this.$api.url.delQueById,)
         },
         childrenClick() {},
         TYpe(val) {
                this.typeselect = val
                console.log(this.typeselect);
                this.selectAllleft()
            },
         edittype(val) {
            // this.typeselect = ''
            this.typeselect = val
            this.chooseTechFath()
         },
         //新增
         workevent(val){
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            console.log( this.craftapi);
            },
         chooseTechFath() {
         this.$axios.get(this.$api.url.chooseTechFath,{
                params:{type:this.typeselect}
            }).then(res => {
            this.process = res.data;
                console.log(this.process);
         }, {
            headers: {
                      "Content-Type": "application/json"
                    }
            }).then(res =>{
         })
         },
         addRecord() {
            this.$axios.post(this.$api.url.addRecord,{
               name:this.form.record,
               note:this.form.remarks,
               techTemId:this.form.craft,
               unit:this.form.unit,
            }
            , {
               headers: {
                      "Content-Type": "application/json"
                    }
            }
            )
         },
         add() {
            this.dialogVisible = false
            this.addRecord()
            this.selectjilu()
            this.form = {};
         },
         query() {
            this.selectAllleft()
         },
            //主体左
            selectAllleft() {
         this.$axios.get(this.$api.url.selectAllleft,{
            params:{type:this.typeselect,message:this.search.technology}
         }).then(res => {
            this.list = res.data;
            this.selectDataList()
            this.$nextTick(() => {
            this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个
         })
         console.log("=======");
         console.log(this.list);
         let one=this.list.filter(item=>{
         return item.children.length>0
         })[0]
         console.log(one);
         let name=one.children[0].id
         console.log(name);
         this.selectjiluStart(name)
         this.selectDataList();
         });
         },
         //默认
         selectjiluStart(name) {
         this.$axios.get(this.$api.url.selectjilu,{
            params:{id:name}
         }).then(res => {
            this.tableData = res.data;
                console.log(this.tableData);
         })
         },
         //selectjilu  checkTreeNode
         selectjilu() {
         this.$axios.get(this.$api.url.selectjilu,{
            params:{id:this.checkTreeNode.id}
         }).then(res => {
            this.tableData = res.data;
                console.log(this.tableData);
         })
         },
         modify(){
                this.modifyVisible = true
            },
         addend(){
            this.dialogVisible = true
            this.chooseTechFath()
         },
         filterNode(value, data) {
           if (!value) return true;
           return data.name.indexOf(value) !== -1;
         },
         remove(node, data) {
            this.$confirm("是否删除", "警告", {
               type: "warning"
            }).then(res => {
               const parent = node.parent;
               const children = parent.data.children || parent.data;
               const index = children.findIndex(d => d.id === data.id);
               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]'
                     if (b.children != undefined) {
                        b.children.forEach(c => {
                           c.code = '[3]'
                        })
                     }
                  })
               }
            })
            this.upIndex++
         },
         handleNodeClick(data) {
            this.checkTreeNode = data
            this.selectjilu()
            if(data.code=='[3]'){
               console.log(data);
            }
         },
         nodeOpen(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
         },
         nodeClose(data, node, el) {
            $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
         },
         handleSelectionChange(val) {
            this.selects = val;
         },
         dels() {
            this.selects.forEach(a => {
               for (var b = 0; b < this.tableData.length; b++) {
                  if (this.tableData[b].id == a.id) {
                     this.tableData.splice(b, 1)
                     b--
                  }
               }
            })
            let cc = this.selects.map(el => {
               return el.id
            })
            this.delete = cc.join(',')
            console.log(this.delete);
            this.delAllRecord()
            this.$message.success('删除完成')
         },
         //批量删除
         delAllRecord() {
            this.$axios.post(this.$api.url.delAllRecord,{
                  ids:this.delete
            })
         },
         //删除
         delQueByIdapi() {
            this.$axios.post(this.$api.url.delQueByIdapi,{
                  id:this.upData.id
            })
         },
         deleteRow(index, rows) {
            this.tableData.splice(index,1)
            this.upData.id = rows.id
            this.delQueByIdapi()
            // this.selectjilu()
         },
         //编辑
         upContent(ob) {
            this.upData = ob
            // console.log(this.upData);
            this.selecRecord()
            // this.chooseTechFath()
            this.upDia = true
         },
         selecRecord() {
            this.$axios.get(this.$api.url.selecRecord,{
               params:{
                  id:this.upData.id
               }
            }).then(res => {
               this.edit = res.data[0]
            })
         },
         writeRecordById() {
            // console.log(this.upData.id);
            this.$axios.post(this.$api.url.writeRecordById + '?id=' + this.upData.id,{
               name:this.upData.name,
               note:this.upData.note,
               techTemId:this.edit.id,
               unit:this.upData.unit
            }, {
               headers: {
                      "Content-Type": "application/json"
                    }
            }).then(res => {
               this.selectjilu()
            })
         },
         submitUpData() {
            this.writeRecordById()
            this.$message.success('修改成功')
            this.upDia = false
               // this.tableData.forEach(a => {
            //    if (a.id == this.upData.id) {
            //       a.name = this.upData.name
            //       a.unit = this.upData.unit
            //       a.thing = this.upData.thing
            //    }
            // })
            // console.log(this.upData);
         }
      }
   }
</script>
</style>