From 49f3321fa839e0ff5fb4d2de75756096a6db7b92 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期日, 24 九月 2023 10:50:08 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mom-before --- src/components/view/record-content.vue | 528 +++++++++++++++++++++++----------------------------------- 1 files changed, 213 insertions(+), 315 deletions(-) diff --git a/src/components/view/record-content.vue b/src/components/view/record-content.vue index ac59e21..5e5946f 100644 --- a/src/components/view/record-content.vue +++ b/src/components/view/record-content.vue @@ -5,42 +5,26 @@ <el-col :span="12" style="line-height: 32px;">鐢熶骇璁板綍缁存姢</el-col> <el-col :span="12" style="text-align: right;"> <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="addend">鏂板</el-button> - <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> --> <el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button> </el-col> </el-row> </div> <div class="choose"> <span>绫诲瀷锛�</span> - <el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> - <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> - <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> - <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> + <el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" + style="width: 224px;margin-right: 30px;"> + <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option> </el-select> - <!-- <span>宸ュ簭锛�</span> - <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> - <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> - </el-select> - <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� - 璇�</span></el-button> --> - <!-- :style="{height: scrollerHeight,overflow:'auto',display: 'flex'}" --> - </div> <div class="thing"> <div class="left"> - <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="query"></el-input> - <el-tree :data="list" ref="tree" - :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all - @node-click="handleNodeClick" highlight-current - :key="upIndex"> + <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable + @input="query"></el-input> + <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="name" + default-expand-all @node-click="handleNodeClick" highlight-current :key="upIndex" style="padding-top: 8px;"> <div class="custom-tree-node" slot-scope="{ node, data }"> <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> {{ data.code }}{{ data.name }}</span> - <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> - <i class="el-icon-delete"></i> - </el-button> --> </div> </el-tree> </div> @@ -72,47 +56,32 @@ <el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col> <el-col :span="16" :offset="1"> <template> - <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> - <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> - <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> - <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> - </el-select> - </template> + <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> + <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option> + </el-select> + </template> </el-col> </el-row> <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> + <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> <el-col :span="16" :offset="1"> <template> - <el-select v-model="edit.techFather" - placeholder="璇烽�夋嫨" - disabled - @change="workevent" - style="width: 310px;"> - <el-option - v-for="item in process" - :key="item.name" - :label="item.name" - :value="item.name"> - </el-option> - </el-select> - </template> + <el-select v-model="edit.techFather" placeholder="璇烽�夋嫨" disabled @change="workevent" style="width: 310px;"> + <el-option v-for="item in process" :key="item.name" :label="item.name" :value="item.name"> + </el-option> + </el-select> + </template> </el-col> </el-row> <el-row style="line-height: 46px;"> <el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓:</el-col> <el-col :span="16" :offset="1"> <template> - <el-select v-model="edit.techName" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> - <el-option - v-for="item in craftapi" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> + <el-select v-model="edit.techName" disabled placeholder="璇烽�夋嫨" style="width: 310px;"> + <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </template> </el-col> </el-row> <el-row style="line-height: 46px;"> @@ -140,118 +109,46 @@ </span> </el-dialog> <!-- 鏂板寮圭獥 --> - <el-dialog title="鐢熶骇璁板綍鏂板" :visible.sync="dialogVisible" :rules="Rules" - ref="ruleForm" 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="绫诲瀷" prop="type"> - <template> - <el-select v-model="form.type" - @change="edittype" placeholder="璇烽�夋嫨" style="width: 100%;"> - <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="宸ュ簭" prop="work"> - <template> - <el-select v-model="form.work" - @change="workevent" - placeholder="璇烽�夋嫨" style="width: 100%;"> - <el-option - v-for="item in process" - :key="item.name" - :label="item.name" - :value="item.name"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="宸ヨ壓鍚嶇О" prop="name"> - <template> - <el-select v-model="form.craft" placeholder="璇烽�夋嫨" style="width: 100%;"> - <el-option - v-for="item in craftapi" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="璁板綍" prop="record"> - <el-input v-model="form.record"></el-input> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remarks"></el-input> - </el-form-item> - <el-form-item label="鍗曚綅" prop="unit"> - <el-input v-model="form.unit"></el-input> - </el-form-item> + <el-form-item label="绫诲瀷" prop="type"> + <template> + <el-select v-model="form.type" @change="edittype" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option v-for="(a, ai) in bigType" :key="ai" :value="a"></el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="宸ュ簭" prop="work"> + <template> + <el-select v-model="form.work" @change="workevent" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option v-for="item in process" :key="item.name" :label="item.name" :value="item.name"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="宸ヨ壓鍚嶇О" prop="name"> + <template> + <el-select v-model="form.craft" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="璁板綍" prop="record"> + <el-input v-model="form.record"></el-input> + </el-form-item> + <el-form-item label="澶囨敞"> + <el-input v-model="form.remarks"></el-input> + </el-form-item> + <el-form-item label="鍗曚綅" prop="unit"> + <el-input v-model="form.unit"></el-input> + </el-form-item> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="add(form)">纭� 瀹�</el-button> <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - </span> - </el-dialog> - - <!-- 淇敼寮圭獥 --> - <el-dialog title="宸ュ簭缂栬緫" :visible.sync="modifyVisible" width="35%"> - <div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="宸ュ簭"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="宸ヨ壓鍚嶇О"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="璁板綍"> - <el-input v-model="form.record"></el-input> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remarks"></el-input> - </el-form-item> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.unit"></el-input> - </el-form-item> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="modifyVisible = false">纭� 瀹�</el-button> - <el-button @click="modifyVisible = false">鍙� 娑�</el-button> </span> </el-dialog> </div> @@ -261,187 +158,206 @@ export default { data() { var checktype = (rule, value, callback) => { - if (!value) { - return callback(new Error('绫诲瀷涓嶈兘涓虹┖')); - }else{ + if (!value) { + return callback(new Error('绫诲瀷涓嶈兘涓虹┖')); + } else { return callback } }; - return { + return { search: { type: 0, technology: null }, - options:[], - value:{}, - craftapi:[], - form:{ - type:'', - work:'', - craft:'', - name:'', - record:'', - remarks:'', - unit:'', + options: [], + value: {}, + craftapi: [], + form: { + type: '', + work: '', + craft: '', + name: '', + record: '', + remarks: '', + unit: '', }, - Rules:{ - type:{validator:checktype,required:true,message:'绫诲瀷涓嶈兘涓虹┖',trigger:'change'}, - work:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'}, - name:{required:true,message:'宸ヨ壓涓嶈兘涓虹┖',trigger:'change'}, - record:{required:true,message:'璁板綍涓嶈兘涓虹┖',trigger:'blur'}, - unit:{required:true,message:'鍗曚綅涓嶈兘涓虹┖',trigger:'blur'}, + Rules: { + type: { + validator: checktype, + required: true, + message: '绫诲瀷涓嶈兘涓虹┖', + trigger: 'change' + }, + work: { + required: true, + message: '宸ュ簭涓嶈兘涓虹┖', + trigger: 'change' + }, + name: { + required: true, + message: '宸ヨ壓涓嶈兘涓虹┖', + trigger: 'change' + }, + record: { + required: true, + message: '璁板綍涓嶈兘涓虹┖', + trigger: 'blur' + }, + unit: { + required: true, + message: '鍗曚綅涓嶈兘涓虹┖', + trigger: 'blur' + }, }, - modifyVisible:false, - dialogVisible:false, + modifyVisible: false, + dialogVisible: false, process: {}, list: [], tableData: [], upIndex: 0, selects: [], - delete:[], - typeselect:0, + delete: [], + typeselect: 0, upDia: false, - checkTreeNode:{ - id:'', + checkTreeNode: { + id: '', }, - upData:{ - name:'', - unit:'', - note:'', + upData: { + name: '', + unit: '', + note: '', }, - edit:{ - name:'', - note:'', - techFather:'', - techName:'', - type:'', - unit:'', + edit: { + name: '', + note: '', + techFather: '', + techName: '', + type: '', + unit: '', }, + bigType: [] } }, mounted() { - this.selectAllleft() - this.selectjilu() + this.chooseType() }, methods: { + chooseType() { + this.$axios.get(this.$api.url.chooseType).then(res => { + this.bigType = res.data + this.typeselect = res.data[0] + this.search.type = res.data[0] + this.selectAllleft() + this.selectjilu() + }) + }, delQueById() { - this.$axios.get(this.$api.url.delQueById,) + this.$axios.get(this.$api.url.delQueById, ) }, childrenClick() {}, TYpe(val) { - this.typeselect = val - console.log(this.typeselect); - this.selectAllleft() - }, + this.typeselect = val + 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); - }, + workevent(val) { + let idx = this.process.findIndex(el => el.name === val) + this.craftapi = this.process[idx].children + }, chooseTechFath() { - this.$axios.get(this.$api.url.chooseTechFath,{ - params:{type:this.typeselect} - }).then(res => { - this.process = res.data; - console.log(this.process); - }, { - headers: { - "Content-Type": "application/json" - } - }).then(res =>{ + this.$axios.get(this.$api.url.chooseTechFath, { + params: { + type: this.typeselect + } + }).then(res => { + this.process = res.data; + }, { + headers: { + "Content-Type": "application/json" + } + }).then(res => { - }) + }) }, addRecord() { - this.$axios.post(this.$api.url.addRecord,{ - name:this.form.record, - note:this.form.remarks, - techTemId:this.form.craft, - unit:this.form.unit, - } - , { + this.$axios.post(this.$api.url.addRecord, { + name: this.form.record, + note: this.form.remarks, + techTemId: this.form.craft, + unit: this.form.unit, + }, { headers: { - "Content-Type": "application/json" - } - } - ).then(res =>{ + "Content-Type": "application/json" + } + }).then(res => { + this.$message.success('娣诲姞鎴愬姛') this.selectjilu() }) }, add(formName) { this.dialogVisible = false this.addRecord() - // this.$refs[formName].validate((valid) => { - // if (valid) { - // alert('submit!'); - // } else { - // console.log('error submit!!'); - // return false; - // } - // }); this.form = {}; }, query() { this.selectAllleft() }, - //涓讳綋宸� - selectAllleft() { - this.$axios.get(this.$api.url.selectAllleft,{ - params:{type:this.typeselect,message:this.search.technology} - }).then(res => { - this.list = res.data; - this.selectDataList() - this.$nextTick(() => { - this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓� - }) - console.log("======="); - console.log(this.list); - let one=this.list.filter(item=>{ - return item.children.length>0 - })[0] - console.log(one); - let name=one.children[0].id - console.log(name); - this.checkTreeNode.id = name - this.selectjiluStart(name) - this.selectDataList(); - }); + //涓讳綋宸� + selectAllleft() { + this.$axios.get(this.$api.url.selectAllleft, { + params: { + type: this.typeselect, + message: this.search.technology + } + }).then(res => { + this.list = res.data; + this.selectDataList() + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓� + }) + let one = this.list.filter(item => { + return item.children.length > 0 + })[0] + let name = one.children[0].id + this.checkTreeNode.id = name + this.selectjiluStart(name) + this.selectDataList(); + }); }, //榛樿 selectjiluStart(name) { - this.$axios.get(this.$api.url.selectjilu,{ - params:{id:name} - }).then(res => { - this.tableData = res.data; - console.log(this.tableData); - }) + this.$axios.get(this.$api.url.selectjilu, { + params: { + id: name + } + }).then(res => { + this.tableData = res.data; + }) }, //selectjilu checkTreeNode selectjilu() { - console.log(this.checkTreeNode.id); - this.$axios.get(this.$api.url.selectjilu,{ - params:{id:this.checkTreeNode.id} - }).then(res => { - this.tableData = res.data; - console.log(this.tableData); - }) + this.$axios.get(this.$api.url.selectjilu, { + params: { + id: this.checkTreeNode.id + } + }).then(res => { + this.tableData = res.data; + }) }, - modify(){ - this.modifyVisible = true - }, - addend(){ + modify() { + this.modifyVisible = true + }, + addend() { this.dialogVisible = true this.chooseTechFath() }, filterNode(value, data) { - if (!value) return true; - return data.name.indexOf(value) !== -1; + if (!value) return true; + return data.name.indexOf(value) !== -1; }, remove(node, data) { this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", { @@ -470,11 +386,9 @@ this.upIndex++ }, handleNodeClick(data) { + if(data.code != '[2]') return this.checkTreeNode = data this.selectjilu() - if(data.code=='[3]'){ - console.log(data); - } }, nodeOpen(data, node, el) { $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') @@ -498,57 +412,52 @@ return el.id }) this.delete = cc.join(',') - console.log(this.delete); this.delAllRecord() this.$message.success('鍒犻櫎瀹屾垚') }, //鎵归噺鍒犻櫎 delAllRecord() { - this.$axios.post(this.$api.url.delAllRecord,{ - ids:this.delete + this.$axios.post(this.$api.url.delAllRecord, { + ids: this.delete }) }, //鍒犻櫎 delQueByIdapi() { - this.$axios.post(this.$api.url.delQueByIdapi,{ - id:this.upData.id + this.$axios.post(this.$api.url.delQueByIdapi, { + id: this.upData.id }) }, deleteRow(index, rows) { - this.tableData.splice(index,1) + this.tableData.splice(index, 1) this.upData.id = rows.id this.delQueByIdapi() - // this.selectjilu() }, //缂栬緫 upContent(ob) { this.upData = ob - // console.log(this.upData); this.selecRecord() - // this.chooseTechFath() this.upDia = true }, selecRecord() { - this.$axios.get(this.$api.url.selecRecord,{ - params:{ - id:this.upData.id + 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 + 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" - } + "Content-Type": "application/json" + } }).then(res => { this.selectjilu() }) @@ -556,16 +465,7 @@ 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); } } } @@ -678,6 +578,4 @@ height: 30px; border-radius: 2px; } -</style> - - +</style> \ No newline at end of file -- Gitblit v1.9.3