<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 {
|
margin-bottom: 10px;
|
padding: 0 20px;
|
}
|
|
.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 * {
|
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;
|
}
|
|
.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 .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;
|
}
|
|
.node_i {
|
color: orange;
|
}
|
|
.el-icon-delete {
|
display: none;
|
color: #004ea2;
|
}
|
|
.custom-tree-node:hover .el-icon-delete {
|
display: inline;
|
}
|
|
.thing .right {
|
width: calc(100% - 305px);
|
height: calc(100% - 25px);
|
overflow: hidden;
|
padding: 10px;
|
}
|
|
.table_do {
|
color: #004ea0;
|
cursor: pointer;
|
}
|
</style>
|
<style>
|
.record_content .title .el-button * {
|
font-size: 14px;
|
}
|
|
.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 .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>
|
<el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
|
<el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
|
</el-select>
|
<span>设备组:</span>
|
<el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
|
<el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option>
|
</el-select> -->
|
<!-- <el-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"
|
: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-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>
|
</template>
|
|
<script>
|
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();
|
},
|
|
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 = {};
|
});
|
},
|
|
//元件
|
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);
|
});
|
},
|
|
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>
|