From d43899492c6a4bea0d18af33992a844aeb035bc4 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 13 九月 2023 13:15:32 +0800
Subject: [PATCH] 销售订单bug修复
---
src/components/view/Technicalindex.vue | 517 +++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 339 insertions(+), 178 deletions(-)
diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue
index 39c1af3..9211f57 100644
--- a/src/components/view/Technicalindex.vue
+++ b/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">
@@ -68,103 +68,6 @@
</span>
</el-dialog>
</div>
- <!-- 鏂板寮圭獥 -->
- <div>
- <el-dialog
- title="鎶�鏈寚鏍囨柊澧�"
- :visible.sync="dialogVisible"
- width="40%"
- :before-close="handleClose">
- <el-form ref="form" :model="form" label-width="80px">
- <el-form-item label="绫诲瀷">
- <template>
- <el-select v-model="form.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>
- </template>
- </el-form-item>
- <el-row>
- <el-col :span="11">
- <el-form-item label="宸ュ簭">
- <template>
- <el-select v-model="form.work"
- placeholder="璇烽�夋嫨绫诲瀷"
- allow-create
- filterable
- @change="workevent"
- >
- <el-option
- v-for="(item,index) in process"
- :key="item.name"
- :label="item.name"
- :value="item.name">
- </el-option>
- </el-select>
- </template>
- </el-form-item>
- </el-col>
- <el-col :span="11" :offset="2">
- <el-form-item label="宸ヨ壓">
- <template>
- <el-select v-model="form.name"
- placeholder="璇烽�夋嫨绫诲瀷"
- allow-create
- filterable
- >
- <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-col>
- </el-row>
-
- <el-row>
- <el-col :span="11">
- <el-form-item label="涓婄骇">
- <template>
- <el-select v-model="form.father"
- placeholder="璇烽�夋嫨绫诲瀷"
- allow-create
- filterable
- >
- <el-option
- v-for="item in higherlevel"
- :key="item"
- :label="item"
- :value="item">
- </el-option>
- </el-select>
- </template>
- </el-form-item>
- </el-col>
- <el-col :span="11" :offset="2">
- <el-form-item label="椤圭洰">
- <el-input v-model="form.project" placeholder="璇疯緭鍏ラ」鐩�"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-form-item label="鍗曚綅">
- <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="add">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- </div>
- </div>
-
-
<div class="choose">
<span>绫诲瀷锛�</span>
<el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" @change="TYpe" style="width: 224px;margin-right: 30px;">
@@ -188,15 +91,15 @@
placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"
size="small"
clearable @input="query" ></el-input>
- <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="id" default-expand-all
- @node-click="handleNodeClick"
+ <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="name" default-expand-all
+ @node-click="handleNodeClick" highlight-current
>
<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>
- {{data.father}} {{ data.name }}</span>
- <el-button type="text" size="mini" @click.stop="remove(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)">
<i class="el-icon-delete"></i>
- </el-button>
+ </el-button> -->
</div>
</el-tree>
</div>
@@ -207,7 +110,6 @@
style="width: 100%;margin-bottom: 20px;"
row-key="name"
border
-
@selection-change="handleSelectionChange"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
@@ -223,7 +125,7 @@
prop="name"
label="椤圭洰"
sortable
- width="300px">
+ width="400px">
<template slot-scope="scope">
<el-tag>
<div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`">
@@ -243,66 +145,90 @@
label="鎿嶄綔"
width="200px">
<template slot-scope="scope" style="text-align: center;">
- <el-button type="text" size="mini" @click="childrenClick(scope)">缂栬緫</el-button>
+ <div v-if="!scope.row.children">
+ <el-button type="text" size="mini" @click="childrenClick(scope.row)">缂栬緫</el-button>
<el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button>
+ </div>
</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-row style="line-height: 46px;">
<el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col>
<el-col :span="16" :offset="1">
<template>
- <el-select v-model="upData.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;">
- <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
- <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
- <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
- <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+ <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" @change="TYpe" style="width: 306px;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>
</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-row style="line-height: 46px;">
+ <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col>
<el-col :span="16" :offset="1">
- <el-select v-model="upData.father" style="width: 310px;" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in procedure"
- :key="item"
- :label="item"
- :value="item">
- </el-option>
- </el-select>
+ <template>
+ <el-select v-model="edit.techFather"
+ placeholder="璇烽�夋嫨"
+ allow-create
+ disabled
+ style="width: 306px;"
+ filterable
+ @change="workevent"
+ >
+ <el-option
+ v-for="(item,index) 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"
+ placeholder="璇烽�夋嫨"
+ disabled
+ style="width: 306px;"
+ allow-create
+ filterable
+ >
+ <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="edit.father" :disabled="true" 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="4" style="font-size: 14px;text-align: right;">椤圭洰鍚嶇О:</el-col>
<el-col :span="16" :offset="1">
- <el-select v-model="upData.ele" style="width: 310px;" multiple placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in element"
- :key="item.index"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
+ <el-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="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.device_group" size="small" clearable></el-input>
+ <el-input v-model="edit.unit" size="small" clearable></el-input>
</el-col>
</el-row>
</div>
@@ -311,7 +237,122 @@
<el-button @click="upDia = false">鍙� 娑�</el-button>
</span>
</el-dialog>
- </div> -->
+ </div>
+
+ <!-- 鏂板寮圭獥 -->
+ <div>
+ <el-dialog
+ title="鎶�鏈寚鏍囨柊澧�"
+ :visible.sync="dialogVisible"
+ width="40%"
+ >
+ <el-form ref="form" :model="form" label-width="80px">
+ <el-form-item label="绫诲瀷">
+ <template>
+ <el-select v-model="form.type" size="small" placeholder="璇烽�夋嫨" @change="edittype" style="width: 554px;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>
+ </template>
+ </el-form-item>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="宸ュ簭">
+ <template>
+ <el-select v-model="form.work"
+ placeholder="璇烽�夋嫨"
+ allow-create
+ filterable
+ @change="workevent"
+ >
+ <el-option
+ v-for="(item,index) in process"
+ :key="item.name"
+ :label="item.name"
+ :value="item.name">
+ </el-option>
+ </el-select>
+ </template>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="宸ヨ壓">
+ <template>
+ <el-select v-model="form.name"
+ placeholder="璇烽�夋嫨"
+ allow-create
+ filterable
+ >
+ <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-col>
+ </el-row>
+
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="椤圭洰缁�" >
+ <template>
+ <el-select v-model="form.father"
+ placeholder="璇烽�夋嫨"
+ allow-create
+ filterable
+ @create="electadd"
+ >
+ <el-option
+ v-for="item in higherlevel"
+ :key="item"
+ :label="item"
+ :value="item">
+ </el-option>
+ </el-select>
+ <!-- <el-autocomplete
+ popper-class="my-autocomplete"
+ v-model="form.father"
+ :fetch-suggestions="higherlevel"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ @select="electadd">
+ <i
+ class="el-icon-edit el-input__icon"
+ slot="suffix"
+ @click="handleIconClick">
+ </i>
+ <template slot-scope="{ item }">
+ <div class="name">{{ item }}</div>
+ <span class="addr">{{ item}}</span>
+ </template>
+ </el-autocomplete> -->
+
+ </template>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="椤圭洰">
+ <el-input v-model="form.project" style="width: 200px;" placeholder="璇疯緭鍏ラ」鐩�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-form-item label="鍗曚綅">
+ <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 200px;"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="add">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ </div>
+
</div>
</div>
</template>
@@ -320,11 +361,13 @@
data() {
return {
search:{
- type:'',
- technology:'',
+ type:0,
+ technology:null,
},
// handleClose:[],
- checkTreeNode :[],
+ checkTreeNode :{
+ id:'',
+ },
higherlevel:[],
value:{},
options:[],
@@ -343,31 +386,131 @@
dialogVisible:false,
tableData: [],
typeselect:0,
- upDat:{},
+ upData:{},
+ upDia:false,
craftapi:[],
+ edit:{
+ techFather:'',
+ techName:'',
+ father:'',
+ name:'',
+ unit:'',
+ id:'',
+
+ }
}
},
mounted() {
this.selectAllleft()
+ this.selectAllright()
},
methods:{
+ handleClose(){
+
+ },
+ 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,{
+ params:{
+ id:this.upData.id
+ }
+ }).then(res => {
+ this.edit = res.data[0]
+ console.log(this.edit);
+ })
+ },
+ childrenClick(val) {
+ this.upData = val
+ this.selecTech()
+ this.upDia = true
+ },
+ writeTechByIdskill() {
+ // console.log(this.upData.id);
+ this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id,{
+ name:this.edit.name,
+ father:this.edit.father,
+ techTemId:this.edit.id,
+ unit:this.edit.unit
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res => {
+ this.selectAllright()
+ })
+ },
+ submitUpData() {//纭畾
+ this.writeTechByIdskill()
+ this.upDia = false
+ },
//鍒犻櫎
- // delTechBy() {
- // console.log(this.$api.url.delTechBy,this.upData.id);
- // this.$axios.post(this.$api.url.delTechBy,{
- // id:this.upData.id
- // })
- // },
- // deleteRow(index, rows) {
- // this.tableData.splice(index,1)
- // this.upData.id = rows.id
- // this.delTechBy()
- // },
+ delTechBy() {
+ console.log(this.$api.url.delTechBy,this.upData.id);
+ this.$axios.post(this.$api.url.delTechBy,{
+ id:this.upData.id
+ }).then(res =>{
+ this.selectAllright()
+ this.$message.success('鍒犻櫎瀹屾垚')
+ })
+ },
+ deleteRow(index, rows) {
+ this.tableData.splice(index,1)
+ this.upData = rows
+ this.upData.id = rows.id
+ this.delTechBy()
+ },
+ //鎵归噺鍒犻櫎
+ delAllTechskill() {
+ this.$axios.post(this.$api.url.delAllTechskill,{
+ ids:this.delete
+ }).then(res =>{
+ this.selectAllright()
+ })
+ },
+ 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.delAllTechskill()
+ this.$message.success('鍒犻櫎瀹屾垚')
+ },
add() {
this.dialogVisible = false
this.addTechMode()
+ this.form = {};
+ },
+ electadd(value) {
+ console.log(value);
+ this.higherlevel.push({});
+ this.form.father = value;
},
addTechMode() {
this.$axios.post(this.$api.url.addTechMode,{
@@ -379,16 +522,21 @@
headers: {
"Content-Type": "application/json"
}
- })
- },
- handleClose() {
+ }).then(res =>{
+ this.$message.success('鏂板瀹屾垚')
+ this.selectAllright()
+ })
},
TYpe(val) {
this.typeselect = val
console.log(this.typeselect);
this.selectAllleft()
},
+ edittype(val) {
+ this.typeselect = val
+ this.chooseTechFath()
+ },
//涓讳綋宸�
selectAllleft() {
this.$axios.get(this.$api.url.selectAllleft,{
@@ -396,13 +544,34 @@
}).then(res => {
this.list = res.data;
console.log(this.list);
+ 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]
+ console.log(one);
+ let name=one.children[0].id
+ console.log(name);
+ this.selectAllrightStart(name)
+ this.selectDataList();
+ });
+ },
+ selectAllrightStart(name) {
+ this.$axios.get(this.$api.url.selectAllright,{
+ params:{id:name}
+ }).then(res => {
+ this.tableData = res.data;
+ console.log(this.tableData);
+ });
},
//
//鏌ヨ
query(val) {
this.selectAllleft()
},
+ //鍙�
selectAllright() {
this.$axios.get(this.$api.url.selectAllright,{
params:{id:this.checkTreeNode.id}
@@ -443,6 +612,7 @@
let idx = this.process.findIndex(el => el.name === val)
this.craftapi = this.process[idx].children
},
+
handleNodeClick(data){
this.checkTreeNode = data
console.log(this.checkTreeNode.id);
@@ -456,23 +626,14 @@
modify(){
this.modifyevent = true
},
- deleteRow(index, rows) {
- rows.splice(index, 1);
- },
+ // deleteRow(index, rows) {
+ // console.log();
+ // rows.splice(index, 1);
+ // },
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--
- }
- }
- })
- this.$message.success('鍒犻櫎瀹屾垚')
- },
+ //缂栬緫
}
}
--
Gitblit v1.9.3