src/components/view/Technicalindex.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/equipmentmaintain.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/laboratoryManagement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/mbom.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/record-content.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/self-inspection.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/technology.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/view/Technicalindex.vue
@@ -5,7 +5,7 @@ <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="event">新增</el-button> <el-button icon="el-icon-edit-outline" @click="modify">修改</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> @@ -22,7 +22,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 560px;"> <el-select v-model="value" placeholder="请选择" style="width: 560px;"> <el-option v-for="item in options" :key="item.value" @@ -47,8 +47,8 @@ <el-row> <el-col :span="11"> <el-form-item label="上级"> <el-input v-model="form.name" placeholder="请选择上级"></el-input> <el-form-item label="项目组"> <el-input v-model="form.name" placeholder="请选择"></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> @@ -91,7 +91,7 @@ <el-form-item label="工序"> <template> <el-select v-model="form.work" placeholder="请选择类型" placeholder="请选择" allow-create filterable @change="workevent" @@ -110,7 +110,7 @@ <el-form-item label="工艺"> <template> <el-select v-model="form.name" placeholder="请选择类型" placeholder="请选择" allow-create filterable > @@ -128,10 +128,10 @@ <el-row> <el-col :span="11"> <el-form-item label="上级"> <el-form-item label="项目组"> <template> <el-select v-model="form.father" placeholder="请选择类型" placeholder="请选择" allow-create filterable > @@ -192,11 +192,11 @@ @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.father}} {{ 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> @@ -271,7 +271,7 @@ <el-col :span="16" :offset="1"> <template> <el-select v-model="form.work" placeholder="请选择类型" placeholder="请选择" allow-create filterable @change="workevent" @@ -291,7 +291,7 @@ <el-col :span="16" :offset="1"> <template> <el-select v-model="form.name" placeholder="请选择类型" placeholder="请选择" allow-create filterable > @@ -333,12 +333,12 @@ data() { return { search:{ type:'', technology:'', type:0, technology:null, }, // handleClose:[], checkTreeNode :{ id:2, id:1, }, higherlevel:[], value:{}, @@ -373,6 +373,22 @@ }, 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++ }, //编辑 selecTech() { this.$axios.get(this.$api.url.selecTech,{ @@ -441,6 +457,7 @@ }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() }) }, // src/components/view/equipmentmaintain.vue
@@ -2,10 +2,10 @@ <div class="record_content"> <div class="title"> <el-row> <el-col :span="12" style="line-height: 32px;">设备指标维护</el-col> <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="event">新增</el-button> <el-button icon="el-icon-edit-outline" @click="modify">修改</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> @@ -22,7 +22,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.type" placeholder="请选择类型" > <el-select v-model="form.type" placeholder="请选择" > <el-option label="橡胶连接器" :value="0"></el-option> <el-option label="金属连接器" :value="1"></el-option> <el-option label="湿插拔电连接器" :value="2"></el-option> @@ -35,7 +35,7 @@ <el-form-item label="工序"> <template> <el-select v-model="form.work" placeholder="请选择类型" > placeholder="请选择" > <el-option v-for="item in process" :key="item.name" @@ -51,7 +51,7 @@ <el-row> <el-col :span="11"> <el-form-item label="设备"> <el-input v-model="form.father" placeholder="请选择上级"></el-input> <el-input v-model="form.father" placeholder="请选择"></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> @@ -81,7 +81,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.type" placeholder="请选择类型" style="width: 480px;"> <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> @@ -94,7 +94,7 @@ <el-form-item label="工序"> <template> <el-select v-model="form.father" placeholder="请选择类型" > placeholder="请选择" > <el-option v-for="item in process" :key="item.name" @@ -110,7 +110,7 @@ <el-col :span="11"> <el-form-item label="设备"> <template> <el-select v-model="form.work" placeholder="请选择类型" > <el-select v-model="form.work" placeholder="请选择" > <el-option v-for="item in higherlevel" :key="item.name" @@ -168,11 +168,11 @@ @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> @@ -249,7 +249,10 @@ export default { data() { return { search:{}, search: { type: 0, technology: null }, value:{}, typeselect:0, options:[], @@ -283,6 +286,22 @@ this.selectAllTeque() }, 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++ }, elForm() {}, //新增 choosePro() {//工序 @@ -350,6 +369,7 @@ }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() }) }, //主体右 src/components/view/laboratoryManagement.vue
@@ -1,7 +1,7 @@ <template> <div> <el-row> <el-col :span="12" class="top_left_name">实验室管理</el-col> <el-col :span="12" class="top_left_name">设备维护</el-col> <el-col :span="12" style="text-align: right;"> <el-button @click="testItem()" @@ -224,9 +224,9 @@ ></i> {{ 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> 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" @@ -141,11 +141,11 @@ :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,7 +181,10 @@ export default { data() { return { search:{}, search:{ type: 0, technology: null }, list:[], process:{}, // handleClose:[], @@ -196,12 +199,6 @@ specifications:'', unit:'', }], search:{ type:'', work:'', craft:'', }, addsearch:{}, upData:{}, form:{}, @@ -216,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) @@ -278,6 +291,7 @@ }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() }, { headers: { "Content-Type": "application/json" src/components/view/record-content.vue
@@ -114,7 +114,7 @@ <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-edit-outline" @click="modify">修改</el-button> --> <el-button icon="el-icon-delete" @click="dels">删除</el-button> </el-col> </el-row> @@ -144,9 +144,9 @@ <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> <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> @@ -157,7 +157,7 @@ </el-table-column> <el-table-column type="index" label="序号" width="70"> </el-table-column> <el-table-column prop="name" label="名称"> <el-table-column prop="name" label="记录内容"> </el-table-column> <el-table-column prop="unit" label="单位"> </el-table-column> @@ -178,7 +178,7 @@ <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" placeholder="请选择类型" style="width: 310px;"> <el-select v-model="edit.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> @@ -192,7 +192,7 @@ <el-col :span="16" :offset="1"> <template> <el-select v-model="edit.techFather" placeholder="请选择类型" placeholder="请选择" @change="workevent" style="width: 310px;"> <el-option @@ -209,7 +209,7 @@ <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" placeholder="请选择类型" style="width: 310px;"> <el-select v-model="edit.techName" placeholder="请选择" style="width: 310px;"> <el-option v-for="item in craftapi" :key="item.id" @@ -221,7 +221,7 @@ </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="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> @@ -250,7 +250,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.type" placeholder="请选择类型" style="width: 480px;"> <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> @@ -262,7 +262,7 @@ <template> <el-select v-model="form.work" @change="workevent" placeholder="请选择类型" style="width: 480px;"> placeholder="请选择" style="width: 480px;"> <el-option v-for="item in process" :key="item.name" @@ -274,7 +274,7 @@ </el-form-item> <el-form-item label="工艺名称"> <template> <el-select v-model="form.craft" placeholder="请选择类型" style="width: 480px;"> <el-select v-model="form.craft" placeholder="请选择" style="width: 480px;"> <el-option v-for="item in craftapi" :key="item.id" @@ -307,7 +307,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 480px;"> <el-select v-model="value" placeholder="请选择" style="width: 480px;"> <el-option v-for="item in options" :key="item.value" @@ -319,7 +319,7 @@ </el-form-item> <el-form-item label="工序"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 480px;"> <el-select v-model="value" placeholder="请选择" style="width: 480px;"> <el-option v-for="item in options" :key="item.value" @@ -331,7 +331,7 @@ </el-form-item> <el-form-item label="工艺名称"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 480px;"> <el-select v-model="value" placeholder="请选择" style="width: 480px;"> <el-option v-for="item in options" :key="item.value" @@ -366,8 +366,7 @@ return { search: { type: 0, name: 2, technology: 2 technology: null }, options:[], value:{}, @@ -393,7 +392,7 @@ typeselect:0, upDia: false, checkTreeNode:{ id:2, id:1, }, upData:{}, edit:{ @@ -581,6 +580,7 @@ this.tableData.splice(index,1) this.upData.id = rows.id this.delQueById() this.selectjilu() }, upContent(ob) { src/components/view/self-inspection.vue
@@ -147,9 +147,9 @@ <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> <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> @@ -216,7 +216,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.value" placeholder="请选择类型" style="width: 480px;"> <el-select v-model="form.value" 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> @@ -228,7 +228,7 @@ <template> <el-select v-model="form.procedure" @change="workevent" placeholder="请选择类型" style="width: 480px;"> placeholder="请选择" style="width: 480px;"> <el-option v-for="item in process" :key="item.name" @@ -242,7 +242,7 @@ <el-col :span="10"> <el-form-item label="工艺名称"> <template> <el-select v-model="form.name" placeholder="请选择类型" style="width: 180px;"> <el-select v-model="form.name" placeholder="请选择" style="width: 180px;"> <el-option v-for="item in craftapi" :key="item.id" @@ -382,7 +382,7 @@ product: [], list: [], checkTreeNode: { id:2, id:1, }, tableData: [], upIndex: 0, @@ -406,6 +406,22 @@ this.selectAllSelf() }, 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++ }, //删除 delSelfcheck() { console.log(this.upData.id); @@ -480,6 +496,7 @@ }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() }) }, //selectAllSelf checkTreeNode src/components/view/standard.vue
@@ -2,62 +2,127 @@ <div class="standard"> <div class="title"> <el-row> <el-col :span="12" style="line-height: 32px;">标准BOM</el-col> <el-col :span="12" style="text-align: right;"> <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="bomAddModelVisible = true">新增</el-button> <el-col :span="12" style="line-height: 32px">标准BOM</el-col> <el-col :span="12" style="text-align: right"> <el-button type="primary" icon="el-icon-plus" style="background: #004ea2" @click="bomAddModelVisible = true" >新增</el-button > <el-button icon="el-icon-plus">新增版本</el-button> <el-button icon="el-icon-edit-outline">修改</el-button> <!-- <el-button icon="el-icon-edit-outline">修改</el-button> --> <el-button icon="el-icon-delete">删除</el-button> </el-col> </el-row> </div> <div class="thing"> <div class="left"> <el-input v-model="search" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable></el-input> <el-input v-model="search" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable ></el-input> <el-tree :data="list" ref="tree" :default-expand-all="false" :props="{ children: 'children', label: 'name' }" node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current> <el-tree :data="list" ref="tree" :default-expand-all="false" :props="{ children: 'children', label: 'name' }" node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current > <div class="custom-tree-node" slot-scope="{ node, data }"> <span><i :class="`node_i ${data.code != '[4]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> {{ data.name }}</span> <el-button type="text" size="mini" @click.stop="remove(node, data)"> <span ><i :class="`node_i ${ data.code != '[5]' ? 'el-icon-folder-opened' : 'el-icon-tickets' }`" ></i> {{ data.name }}</span > <!-- <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> <div class="right"> <div class="choose"> <span>类型:</span> <el-select v-model="tableType" size="small" placeholder="请选择" @change="TYPE" style="width: 224px;margin-right: 52px;"> <el-select v-model="tableType" size="small" placeholder="请选择" @change="TYPE" style="width: 224px; margin-right: 52px" > <el-option :value="0" label="工艺路线"></el-option> <el-option :value="1" label="技术指标"></el-option> <el-option :value="2" label="物料清单"></el-option> <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;" clearable></el-input> <span>{{ tableType == 1 ? '版本:' : '工艺名称:' }}</span> <el-select v-model="VER" @change="verevent" style="width: 280px;" placeholder="请选择"> <el-option v-for="item in version" :key="item" :label="item" :value="item"> <span>{{ tableType == 1 ? "项目:" : "工艺名称:" }}</span> <el-input v-model="searchName" size="small" placeholder="请输入" style="width: 224px; margin-right: 24px" clearable ></el-input> <span>{{ tableType == 1 ? "版本:" : "工艺名称:" }}</span> <el-select v-model="VER" @change="verevent" style="width: 280px" placeholder="请选择" > <el-option v-for="item in version" :key="item" :label="item" :value="item" > </el-option> </el-select> <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> <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> <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border @selection-change="handleSelectionChange" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> <el-table-column type="selection" width="55"> </el-table-column> <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="name" border @selection-change="handleSelectionChange" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" > <el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="index" width="50" label="序号"> </el-table-column> <el-table-column prop="name" label="工序" sortable width="300px"> @@ -73,31 +138,30 @@ </el-table-column> <el-table-column prop="" sortable label="工艺名称"> </el-table-column> <el-table-column prop="" label="指标名称"> </el-table-column> <el-table-column prop="" label="单位"> </el-table-column> <el-table-column prop="" label="内控值"> </el-table-column> <el-table-column prop="unit" label="标准值"> </el-table-column> <el-table-column prop="" label="指标名称"> </el-table-column> <el-table-column prop="" label="单位"> </el-table-column> <el-table-column prop="" label="内控值"> </el-table-column> <el-table-column prop="unit" label="标准值"> </el-table-column> </el-table> </div> <div class="table"> <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData"></technology> <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData" ></technology> </div> </div> </div> <div class="bom-add-model"> <el-dialog title="BOM新增" :visible.sync="bomAddModelVisible" width="30%"> <el-form> </el-form> <el-form> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="bomAddModelVisible = false">取 消</el-button> <el-button type="primary" @click="bomAddModelVisible = false">确 定</el-button> <el-button type="primary" @click="bomAddModelVisible = false" >确 定</el-button > </span> </el-dialog> </div> @@ -105,7 +169,7 @@ </template> <script> import technology from "./standard-table/technology.vue" import technology from "./standard-table/technology.vue"; export default { components: { technology }, data() { @@ -113,19 +177,19 @@ // BOM树数据结构 list: [], search: null, tableType: 1, // 表格类型 1:技术指标,0:工艺路线 searchName: "",// 查询条件-名称 checkTreeNode: {},// 点击选中树节点 tableType: 0, // 表格类型 1:技术指标,0:工艺路线 searchName: "", // 查询条件-名称 checkTreeNode: {}, // 点击选中树节点 tableData: [], bomAddModelVisible: false,// 控制bom新增模态框是否显示 bomAddModelVisible: false, // 控制bom新增模态框是否显示 list: [], typeselect: {}, returntree: {}, version: {}, VER: {}, verdata: {}, character: '', } character: "", }; }, // watch: { // search(val) { @@ -136,42 +200,70 @@ // } // }, mounted() { this.selectMaterialTree() this.selectMaterialTree(); }, methods: { handleSelectionChange() { 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]"; if (c.children != undefined) { c.children.forEach((d) => { d.code = "[4]"; if (d.children != undefined) { d.children.forEach((e) => { e.code = "[5]"; }); } }); } }); } }); } }); this.upIndex++; }, TYPE(val) {//类型.数据 handleSelectionChange() {}, TYPE(val) { //类型.数据 console.log(val); this.typeselect = val this.typeselect = val; console.log(this.typeselect); this.selectVersion() this.selectVersion(); }, handleNodeClick(val) {//树的值 handleNodeClick(val) { //树的值 console.log(val); this.returntree = val this.returntree = val; }, selectVersion() { this.$axios.get(this.$api.url.selectVersion, { params: { specificationsId: this.returntree.id, type: this.typeselect, } }).then(res => { this.verdata = res.data this.version = this.verdata.map(el => { return el = `v${el}` this.$axios .get(this.$api.url.selectVersion, { params: { specificationsId: this.returntree.id, type: this.typeselect, }, }) console.log(this.verdata); }) .then((res) => { this.verdata = res.data; this.version = this.verdata.map((el) => { return (el = `v${el}`); }); console.log(this.verdata); }); }, verevent(val) { console.log(val); let cc = val.replace('v', '') let cc = val.replace("v", ""); console.log(cc); this.character = cc this.selectAll() this.character = cc; this.selectAll(); // const { v, ...newObj } = val; // delete newObj.v // console.log(newObj); @@ -179,44 +271,47 @@ //右侧数据 selectAll() { console.log(this.$axios.get(this.$api.url.selectAll)); this.$axios.get(this.$api.url.selectAll, { params: { specificationsId: this.returntree.id, type: this.typeselect, version: this.character, } }).then(res => { this.tableData = res.data }) this.$axios .get(this.$api.url.selectAll, { params: { specificationsId: this.returntree.id, type: this.typeselect, version: this.character, }, }) .then((res) => { this.tableData = res.data; }); }, //五级树 selectMaterialTree() { this.$axios.get(this.$api.url.selectTreeByMaterial).then(res => { this.list = res.data this.$axios.get(this.$api.url.selectTreeByMaterial).then((res) => { this.list = res.data; this.list.forEach((el, idx, arr) => { if (idx == 0) { arr[idx].name = '成品' arr[idx].name = "成品"; } if (idx == 1) { arr[idx].name = '半成品' arr[idx].name = "半成品"; } el.children.forEach((newEl, newIdx, newArr) => { if (newIdx == 0) { newArr[newIdx].name = '橡胶连接器' newArr[newIdx].name = "橡胶连接器"; } if (newIdx == 1) { newArr[newIdx].name = '金属连接器' newArr[newIdx].name = "金属连接器"; } if (newIdx == 2) { newArr[newIdx].name = '湿插拔电连接器' newArr[newIdx].name = "湿插拔电连接器"; } if (newIdx == 3) { newArr[newIdx].name = '分支组件' newArr[newIdx].name = "分支组件"; } }) }) }); }); console.log(this.list); }) this.selectDataList() }); }, filterNode(value, data) { if (!value) return true; @@ -224,47 +319,73 @@ }, 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 => { }) 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) => {}); }, nodeOpen(data, node, el) { $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') $($(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') $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder"); }, async selectProductTableData() { switch (this.tableType) { case 0: const { data: technologyList } = await this.$axios.get(this.$api.url.selectTechnologyByMaterial, { params: { specificationId: this.checkTreeNode.id, technologyName: this.searchName } }) this.tableData = technologyList const { data: technologyList } = await this.$axios.get( this.$api.url.selectTechnologyByMaterial, { params: { specificationId: this.checkTreeNode.id, technologyName: this.searchName, }, } ); this.tableData = technologyList; break; case 1: const { data: productList } = await this.$axios.get(this.$api.url.selectProductByMaterial, { params: { specifications: this.checkTreeNode.id, project: this.searchName } }) productList.forEach((item, index) => { item.name = item.father item.index = index + 1 item.id = item.father if (item.children.length === 1) { productList[index] = { ...item.children[0], index: index + 1, name: item.father } const { data: productList } = await this.$axios.get( this.$api.url.selectProductByMaterial, { params: { specifications: this.checkTreeNode.id, project: this.searchName, }, } }) this.tableData = productList ); productList.forEach((item, index) => { item.name = item.father; item.index = index + 1; item.id = item.father; if (item.children.length === 1) { productList[index] = { ...item.children[0], index: index + 1, name: item.father, }; } }); this.tableData = productList; break; } } } } }, }, }; </script> <style scoped> .standard {} .standard { } .standard .title .el-button { height: 32px; @@ -315,7 +436,7 @@ .el-icon-delete { display: none; color: #004EA2; color: #004ea2; } .custom-tree-node:hover .el-icon-delete { @@ -356,12 +477,17 @@ } .standard .title .el-button--default { color: #004EA2; color: #004ea2; } .standard .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { .standard .thing .left .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { background: rgba(58, 124, 253, 0.3); color: #004EA2; color: #004ea2; } .el-tree-node__content { src/components/view/technology.vue
@@ -1,132 +1,149 @@ <style scoped> .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; } .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; } .title { margin-bottom: 10px; padding: 0 20px; } .title { margin-bottom: 10px; padding: 0 20px; } .title * { font-size: 16px; } .title * { font-size: 16px; } .choose { padding: 21px 24px; display: flex; align-items: center; background-color: #fff; border-bottom: 3px solid rgb(245, 247, 251); } .choose { padding: 21px 24px; display: flex; align-items: center; background-color: #fff; border-bottom: 3px solid rgb(245, 247, 251); } .choose * { font-size: 14px; } .choose * { font-size: 14px; } .choose .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; } .choose .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; } .thing { width: 100%; height: calc(100% - 120px); background-color: #fff; display: flex; } .thing { width: 100%; height: calc(100% - 120px); background-color: #fff; display: flex; } .thing .left { width: 295px; height: calc(100% - 20px); border-right: 3px solid rgb(245, 247, 251); padding: 16px; } .thing .left { width: 295px; height: calc(100% - 20px); border-right: 3px solid rgb(245, 247, 251); padding: 16px; } .thing .left .custom-tree-node span { font-size: 14px; } .thing .left .custom-tree-node span { font-size: 14px; } .thing .left .custom-tree-node { flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px; } .thing .left .custom-tree-node { flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px; } .node_i { color: orange; } .node_i { color: orange; } .el-icon-delete { display: none; color: #004EA2; } .el-icon-delete { display: none; color: #004ea2; } .custom-tree-node:hover .el-icon-delete { display: inline; } .custom-tree-node:hover .el-icon-delete { display: inline; } .thing .right { width: calc(100% - 305px); height: calc(100% - 25px); overflow: hidden; padding: 10px; } .thing .right { width: calc(100% - 305px); height: calc(100% - 25px); overflow: hidden; padding: 10px; } .table_do { color: #004ea0; cursor: pointer; } .table_do { color: #004ea0; cursor: pointer; } </style> <style> .record_content .title .el-button * { font-size: 14px; } .record_content .title .el-button * { font-size: 14px; } .record_content .title .el-button--default { color: #004EA2; } .record_content .title .el-button--default { color: #004ea2; } .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { background: rgba(58, 124, 253, 0.2); color: #004EA2; } .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { background: rgba(58, 124, 253, 0.2); color: #004ea2; } .record_content .el-tree-node__content { height: 30px; border-radius: 2px; } .record_content .el-tree-node__content { 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" placeholder="请选择" @change="type" 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> <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" placeholder="请选择" @change="type" 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> @@ -134,556 +151,677 @@ <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-button size="mini" @click="clean()"><span>重 置</span></el-button> <!-- <el-button size="mini" @click="clean()"><span>重 置</span></el-button> <el-button size="mini" type="primary" style="background: #004EA2;"><span>查 询</span></el-button> --> </div> <div class="thing"> <div class="left"> <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="query"> <!-- clearable @input="(val)=>$refs.tree.filter(val)"> --> </el-input> <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.name}}{{data.father}}</span> <el-button type="text" size="mini" @click.stop="remove(node, data)"> </div> <div class="thing"> <div class="left"> <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="query" > <!-- clearable @input="(val)=>$refs.tree.filter(val)"> --> </el-input> <el-tree :data="towTree" ref="tree" :props="{ children: 'children', label: 'father' }" node-key="id" default-expand-all @node-click="handleNodeClick" :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.name }}{{ data.father }}</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="device_group" label="设备组"> </el-table-column> <el-table-column label="操作" width="130"> <template slot-scope="scope"> <span class="table_do" @click="upContent(scope.row)">编辑 </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" 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="edit.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="AAA.id" style="width: 310px;" multiple placeholder="请选择"> <el-option v-for="item in element" :key="item.id" :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="edit.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.device_group" 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-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="device_group" label="设备组"> </el-table-column> <el-table-column label="操作" width="130"> <template slot-scope="scope"> <span class="table_do" @click="upContent(scope.row)" >编辑 </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" 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="edit.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="AAA.id" style="width: 310px" multiple placeholder="请选择" > <el-option v-for="item in element" :key="item.id" :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="edit.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.device_group" 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" 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.father" placeholder="请选择类型" style="width: 480px;" > <el-option 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="元件"> <template> <el-select v-model="form.elementId" placeholder="请选择类型" style="width: 200px;" > <el-option v-for="item in element" :key="item.value" :label="item.name" :value="item.id"> </el-option> </el-select> </template> </el-form-item> </el-col> <el-col :span="10" :offset="2"> <el-form-item label="工艺名称"> <el-input v-model="form.name" style="width: 200px;"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="Neworder">确 定</el-button> <el-button @click="Deleteapi">取 消</el-button> </span> </el-dialog> <!-- 工艺路线修改 --> <el-dialog title="工艺路线新增" :visible.sync="modifyevent" 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 <!-- 工艺路线新增 --> <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" 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.father" placeholder="请选择" style="width: 480px" > <el-option 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="元件"> <template> <el-select v-model="form.elementId" placeholder="请选择" style="width: 200px" > <el-option v-for="item in element" :key="item.value" :label="item.name" :value="item.id" > </el-option> </el-select> </template> </el-form-item> </el-col> <el-col :span="10" :offset="2"> <el-form-item label="工艺名称"> <el-input v-model="form.name" style="width: 200px"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="Neworder">确 定</el-button> <el-button @click="Deleteapi">取 消</el-button> </span> </el-dialog> <!-- 工艺路线修改 --> <el-dialog title="工艺路线新增" :visible.sync="modifyevent" 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." :value="item.value"> </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> <el-form-item label="工序"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 480px;"> <el-option v-for="item in procedure" :key="item.value" :label="item.j" :value="item.value"> </el-option> </el-select> </template> </el-form-item> <el-row> <el-col :span="10"> <el-form-item label="工艺名称"> <template> <el-select v-model="value" placeholder="请选择类型" style="width: 200px;"> <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-col> <el-col :span="10" :offset="2"> <el-form-item label="元件"> <el-input v-model="form.name" style="width: 200px;"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="modifyevent = false">确 定</el-button> <el-button @click="modifyevent = false">取 消</el-button> </span> </el-dialog> </div> <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-option v-for="item in procedure" :key="item.value" :label="item.j" :value="item.value" > </el-option> </el-select> </template> </el-form-item> <el-row> <el-col :span="10"> <el-form-item label="工艺名称"> <template> <el-select v-model="value" placeholder="请选择" style="width: 200px" > <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-col> <el-col :span="10" :offset="2"> <el-form-item label="元件"> <el-input v-model="form.name" style="width: 200px"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="modifyevent = false">确 定</el-button> <el-button @click="modifyevent = false">取 消</el-button> </span> </el-dialog> </div> </template> <script> export default { data() { return { search: { type: 0, name: null, technology: null }, options:{}, form:{ type:'', father:'', name:'', elementId:'', deviceGroup:'' }, search:{ type:'', }, delete:[], treetrunk:[], process: [], product: [], procedure:[], checkTreeNode:{ name:'下料' }, towTree:[], value:"", modifyevent:false, dialogVisible:false, tableData: [], upIndex: 0, selects: [], upDia: false, element:[], equipment:[0], AAA:[{ id:'', }], edit:{ deviceGroup:'', elementId:'', father:'', name:'', type:'', // children:[], }, upData: { name:'', deviceGroup:'', ele:'', father:'', type:'', }, typeselect:0, newdata:{ type:'' } } }, mounted() { this.selectAllTechTem() this.chooseTech() this.chooseDevGroup() this.chooseElement() this.selectAllTechNam() }, methods: { type(val){ this.typeselect = val this.upData.type = val console.log(this.typeselect); this.selectAllTechTem() }, Neworder() { this.dialogVisible = false this.addTechTemp() // this.form = ''; }, Deleteapi() { this.dialogVisible = false this.form = ''; }, 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); this.selectAllTechNam() this.form = {} }) }, export default { data() { return { search: { type: 0, technology: null, }, options: {}, form: { type: "", father: "", name: "", elementId: "", deviceGroup: "", }, search: { type: "", }, delete: [], treetrunk: [], process: [], product: [], procedure: [], checkTreeNode: { name: "", }, towTree: [], value: "", modifyevent: false, dialogVisible: false, tableData: [], upIndex: 0, selects: [], upDia: false, element: [], equipment: [0], AAA: [ { id: "", }, ], edit: { deviceGroup: "", elementId: "", father: "", name: "", type: "", // children:[], }, upData: { name: "", deviceGroup: "", ele: "", father: "", type: "", }, typeselect: 0, newdata: { type: "", }, upIndex: 0, treeList:[] }; }, mounted() { this.selectAllTechTem(); this.chooseTech(); this.chooseDevGroup(); this.chooseElement(); this.selectAllTechNam(); console.log(this.treeList); }, methods: { selectDataList() { this.towTree.forEach((a) => { a.code = "[1]"; if (a.children != undefined) { a.children.forEach((b) => { b.code = "[2]"; }); } }); this.upIndex++; }, type(val) { this.typeselect = val; this.upData.type = val; console.log(this.typeselect); this.selectAllTechTem(); }, //元件 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); }) }, Neworder() { this.dialogVisible = false; this.addTechTemp(); // this.form = ''; }, Deleteapi() { this.dialogVisible = false; this.form = ""; }, addTechTemp() { // console.log(this.$api.url.addTechTemp); this.$axios .post( this.$api.url.addTechTemp, //工序 chooseTech() { this.$axios.get(this.$api.url.chooseTech).then(res =>{ this.procedure = res.data; console.log(this.procedure); }) }, //批量删除 delAllTech() { console.log(this.delete); this.$axios.post(this.$api.url.delAllTech,{ ids:this.delete }) }, //删除 delTechById() { console.log(this.$api.url.delTechById,this.upData.id); this.$axios.post(this.$api.url.delTechById,{ id:this.upData.id }) }, //编辑 writeTechById() { this.$axios.post(this.$api.url.writeTechById,{ params:{ id:this.upData.id, technologyTemplateDto:{ deviceGroup:this.upData.device_group, elementId:this.edit.elementId, father:this.edit.father, name:this.edit.name, type:this.edit.type } // id:this.upData.id, } }, { headers: { "Content-Type": "application/json" } }).then(res =>{ console.log(res); }) }, query(val){ this.selectAllTechTem() }, selectAllTechTem() { console.log(this.typeselect,'222'); this.$axios.get(this.$api.url.selectAllTechTem,{ params:{type: this.typeselect,message:this.search.technology} }).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 }, modify(){ this.modifyevent = true }, 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]' // }) // } // }) // this.upIndex++ // }, handleNodeClick(data, node) { this.checkTreeNode = 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') }, 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.delAllTech() this.$message.success('删除完成') }, deleteRow(index, rows) { this.tableData.splice(index,1) this.upData.id = rows.id this.delTechById() }, selecTechById() { this.$axios.get(this.$api.url.selecTechById,{ params:{ id:this.upData.id, } }).then(res =>{ this.edit = res.data[0] this.AAA = res.data[0].children console.log(this.edit); console.log(this.AAA); // this.edit.forEach(el => { // // el.children.forEach(ele =>{ // // this.AAA.push(ele) // console.log(el); // }) // console.log(this.AAA.id); // }) // console.log(this.edit); }) }, //编辑内容 upContent(ob) { this.upData = ob this.selecTechById() this.selecTechById() console.log(this.upData); this.upDia = true }, { 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); this.selectAllTechNam(); this.form = {}; }); }, //元件 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); }); }, //批量删除 delAllTech() { console.log(this.delete); this.$axios.post(this.$api.url.delAllTech, { ids: this.delete, }); }, //删除 delTechById() { console.log(this.$api.url.delTechById, this.upData.id); this.$axios.post(this.$api.url.delTechById, { id: this.upData.id, }); }, //编辑 writeTechById() { this.$axios .post( this.$api.url.writeTechById, { params: { id: this.upData.id, technologyTemplateDto: { deviceGroup: this.upData.device_group, elementId: this.edit.elementId, father: this.edit.father, name: this.edit.name, type: this.edit.type, }, // id:this.upData.id, }, }, { headers: { "Content-Type": "application/json", }, } ) .then((res) => { console.log(res); }); }, submitUpData() { // 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 } } } query(val) { this.selectAllTechTem(); }, selectAllTechTem() { this.$axios .get(this.$api.url.selectAllTechTem, { params: { type: this.typeselect, message: this.search.technology }, }) .then((res) => { this.towTree = res.data; console.log(this.towTree); let one=this.towTree.filter(item=>{ return item.children.length>0 })[0] let name=one.children[0].name this.selectAllTechNamStart(name) this.selectDataList(); }); }, handleNodeClick(data, node) { console.log(data); this.checkTreeNode = data; this.treetrunk = node; console.log(this.treetrunk); console.log(this.checkTreeNode); this.selectAllTechNam(); }, selectAllTechNam() { this.$axios .get(this.$api.url.selectAllTechNam, { params: { father: this.checkTreeNode.name }, }) .then((res) => { this.tableData = res.data; }); }, selectAllTechNamStart(name) { this.$axios .get(this.$api.url.selectAllTechNam, { params: { father: name }, }) .then((res) => { this.tableData = res.data; }); }, addend() { this.dialogVisible = true; }, modify() { this.modifyevent = true; }, 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]' // }) // } // }) // this.upIndex++ // }, 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.delAllTech(); this.$message.success("删除完成"); }, deleteRow(index, rows) { this.tableData.splice(index, 1); this.upData.id = rows.id; this.delTechById(); }, selecTechById() { this.$axios .get(this.$api.url.selecTechById, { params: { id: this.upData.id, }, }) .then((res) => { this.edit = res.data[0]; this.AAA = res.data[0].children; console.log(this.edit); console.log(this.AAA); // this.edit.forEach(el => { // // el.children.forEach(ele =>{ // // this.AAA.push(ele) // console.log(el); // }) // console.log(this.AAA.id); // }) // console.log(this.edit); }); }, //编辑内容 upContent(ob) { this.upData = ob; this.selecTechById(); this.selecTechById(); 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.device_group // } // }) this.writeTechById(); this.$message.success("修改成功"); this.upIndex++; this.upDia = false; }, }, }; </script>