From 5c76f242b20281b51d01ce2266e8beaafe8ae5a6 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期五, 15 九月 2023 10:00:34 +0800 Subject: [PATCH] 改bug --- src/components/view/record-content.vue | 440 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 257 insertions(+), 183 deletions(-) diff --git a/src/components/view/record-content.vue b/src/components/view/record-content.vue index ffe9f91..e727526 100644 --- a/src/components/view/record-content.vue +++ b/src/components/view/record-content.vue @@ -1,124 +1,15 @@ -<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="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> - </div> + </div> <div class="choose"> <span>绫诲瀷锛�</span> <el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> @@ -134,19 +25,22 @@ <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button> --> + <!-- :style="{height: scrollerHeight,overflow:'auto',display: 'flex'}" --> + </div> <div class="thing"> <div class="left"> - <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input> - <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all - @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode" + <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="query"></el-input> + <el-tree :data="list" ref="tree" + :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all + @node-click="handleNodeClick" highlight-current :key="upIndex"> <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.code}} {{ 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> @@ -157,7 +51,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 +72,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" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> @@ -191,8 +85,9 @@ <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> <el-col :span="16" :offset="1"> <template> - <el-select v-model="edit.techFather" - placeholder="璇烽�夋嫨绫诲瀷" + <el-select v-model="edit.techFather" + placeholder="璇烽�夋嫨" + disabled @change="workevent" style="width: 310px;"> <el-option @@ -206,10 +101,10 @@ </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"> <template> - <el-select v-model="edit.techName" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;"> + <el-select v-model="edit.techName" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> <el-option v-for="item in craftapi" :key="item.id" @@ -221,7 +116,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> @@ -245,12 +140,14 @@ </span> </el-dialog> <!-- 鏂板寮圭獥 --> - <el-dialog title="宸ュ簭鏂板" :visible.sync="dialogVisible" width="35%"> + <el-dialog title="鐢熶骇璁板綍鏂板" :visible.sync="dialogVisible" :rules="Rules" + ref="ruleForm" width="35%"> <div> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> + <el-select v-model="form.type" + @change="edittype" placeholder="璇烽�夋嫨" style="width: 480px;"> <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> @@ -260,9 +157,9 @@ </el-form-item> <el-form-item label="宸ュ簭"> <template> - <el-select v-model="form.work" + <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 +171,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" @@ -296,7 +193,7 @@ </el-form> </div> <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="add">纭� 瀹�</el-button> + <el-button type="primary" @click="add(form)">纭� 瀹�</el-button> <el-button @click="dialogVisible = false">鍙� 娑�</el-button> </span> </el-dialog> @@ -307,7 +204,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 +216,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 +228,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 +263,7 @@ return { search: { type: 0, - name: 2, - technology: 2 + technology: null }, options:[], value:{}, @@ -381,11 +277,17 @@ remarks:'', unit:'', }, + Rules:{ + type:{required:true,message:'绫诲瀷涓嶈兘涓虹┖',trigger:'change'}, + work:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'}, + name:{required:true,message:'宸ヨ壓涓嶈兘涓虹┖',trigger:'change'}, + record:{required:true,message:'璁板綍涓嶈兘涓虹┖',trigger:'blur'}, + unit:{required:true,message:'鍗曚綅涓嶈兘涓虹┖',trigger:'blur'}, + }, modifyVisible:false, dialogVisible:false, process: {}, list: [], - checkTreeNode: {}, tableData: [], upIndex: 0, selects: [], @@ -393,9 +295,13 @@ typeselect:0, upDia: false, checkTreeNode:{ - id:2, + id:'', }, - upData:{}, + upData:{ + name:'', + unit:'', + note:'', + }, edit:{ name:'', note:'', @@ -404,12 +310,6 @@ type:'', unit:'', }, - upData: { - id: 0, - name: null, - unit: null, - thing: null - } } }, mounted() { @@ -421,11 +321,21 @@ this.$axios.get(this.$api.url.delQueById,) }, childrenClick() {}, + TYpe(val) { + this.typeselect = val + console.log(this.typeselect); + this.selectAllleft() + }, + edittype(val) { + this.typeselect = val + this.chooseTechFath() + }, //鏂板 workevent(val){ console.log(val); let idx = this.process.findIndex(el => el.name === val) this.craftapi = this.process[idx].children + console.log( this.craftapi); }, chooseTechFath() { this.$axios.get(this.$api.url.chooseTechFath,{ @@ -437,7 +347,9 @@ headers: { "Content-Type": "application/json" } - }) + }).then(res =>{ + + }) }, addRecord() { this.$axios.post(this.$api.url.addRecord,{ @@ -451,41 +363,64 @@ "Content-Type": "application/json" } } - ) - }, - add() { - this.dialogVisible = false - this.addRecord() - this.selectjilu() - this.form = {}; - }, - //缂栬緫 this.upData - selecRecord() { - this.$axios.get(this.$api.url.selecRecord,{ - params:{ - id:this.upData.id - } - }).then(res => { - this.edit = res.data[0] - // console.log(this.edit); + ).then(res =>{ + this.selectjilu() }) }, - TYpe(val) { - this.typeselect = val - console.log(this.typeselect); - this.selectAllleft() - }, + add() { + this.$refs[formName].validate((valid) => { + if (valid) { + alert('submit!'); + } else { + console.log('error submit!!'); + return false; + } + }); + this.dialogVisible = false + this.addRecord() + this.form = {}; + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + query() { + this.selectAllleft() + }, //涓讳綋宸� selectAllleft() { this.$axios.get(this.$api.url.selectAllleft,{ - params:{type:this.typeselect} + params:{type:this.typeselect,message:this.search.technology} }).then(res => { this.list = res.data; - console.log(this.list); + this.selectDataList() + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓� + }) + console.log("======="); + console.log(this.list); + let one=this.list.filter(item=>{ + return item.children.length>0 + })[0] + console.log(one); + let name=one.children[0].id + console.log(name); + this.checkTreeNode.id = name + this.selectjiluStart(name) + this.selectDataList(); + }); + }, + //榛樿 + selectjiluStart(name) { + this.$axios.get(this.$api.url.selectjilu,{ + params:{id:name} + }).then(res => { + this.tableData = res.data; + console.log(this.tableData); }) }, //selectjilu checkTreeNode selectjilu() { + console.log(this.checkTreeNode.id); this.$axios.get(this.$api.url.selectjilu,{ params:{id:this.checkTreeNode.id} }).then(res => { @@ -571,35 +506,174 @@ }, //鍒犻櫎 - delQueById() { - this.$axios.post(this.$api.url.delQueById,{ + delQueByIdapi() { + this.$axios.post(this.$api.url.delQueByIdapi,{ id:this.upData.id }) }, deleteRow(index, rows) { this.tableData.splice(index,1) this.upData.id = rows.id - this.delQueById() + this.delQueByIdapi() + // this.selectjilu() }, - + //缂栬緫 upContent(ob) { this.upData = ob - console.log(this.upData); + // console.log(this.upData); this.selecRecord() - this.chooseTechFath() + // this.chooseTechFath() this.upDia = true }, - submitUpData() { - this.tableData.forEach(a => { - if (a.id == this.upData.id) { - a.name = this.upData.name - a.unit = this.upData.unit - a.thing = this.upData.thing + selecRecord() { + this.$axios.get(this.$api.url.selecRecord,{ + params:{ + id:this.upData.id } + }).then(res => { + this.edit = res.data[0] }) + }, + writeRecordById() { + // console.log(this.upData.id); + this.$axios.post(this.$api.url.writeRecordById + '?id=' + this.upData.id,{ + name:this.upData.name, + note:this.upData.note, + techTemId:this.edit.id, + unit:this.upData.unit + }, { + headers: { + "Content-Type": "application/json" + } + }).then(res => { + this.selectjilu() + }) + }, + submitUpData() { + this.writeRecordById() this.$message.success('淇敼鎴愬姛') + this.upDia = false + // this.tableData.forEach(a => { + // if (a.id == this.upData.id) { + // a.name = this.upData.name + // a.unit = this.upData.unit + // a.thing = this.upData.thing + // } + // }) + // console.log(this.upData); } } } </script> + +<style 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; + overflow-y: auto; + } + + .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> + + -- Gitblit v1.9.3