From 4b9193e6ce1df7bae67b2a1ae006bc6989338545 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 23 五月 2023 17:58:59 +0800 Subject: [PATCH] 克隆上传 --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 377 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 298 insertions(+), 79 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index e439208..a867a7d 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -1,3 +1,4 @@ +<!--suppress ALL --> <template> <el-container> <!-- 宸︿晶鑿滃崟--> @@ -17,14 +18,6 @@ <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button> </div> </div> - <el-upload - multiple - :limit="3" - :on-preview="handlePreview" - action="https://jsonplaceholder.typicode.com/posts/" - :file-list="fileList"> - <el-button size="small" type="primary" @click="importExcel">鐐瑰嚮涓婁紶</el-button> - </el-upload> <!-- 鏍戣妭鐐规坊鍔犲璇濇--> <el-dialog :title="this.TreeFlag ? '娣诲姞鍒嗙被' :'娣诲姞涓婚搴�'" :visible.sync="TreeAddFormVisible" append-to-body style="width: 1700px;margin: auto"> @@ -58,8 +51,8 @@ <el-button type="primary" @click="TreeAddHandler">纭� 瀹�</el-button> </div> </el-dialog> -<!-- 淇敼瀵硅瘽妗�--> - <el-dialog title="淇敼鍒嗙被" :visible.sync="TreeEditFormVisible" append-to-body> + <!-- 淇敼瀵硅瘽妗�--> + <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被"> <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform> </el-dialog> <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" @@ -77,14 +70,50 @@ <!-- 鍙充晶琛ㄦ牸--> <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> - - <avue-crud v-model="crudForm" :data="this.Formlist" :option="this.crudTreeOption" - ></avue-crud> - <templatePro></templatePro> + <basic-container> + <avue-crud v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption" + @row-save="CrudRowSave" + @row-del="CrudRowDel" + @row-update="CrudRowUpdata" + > + <template slot="menuLeft"> + <el-button plain size="small" type="primary" @click="FindFormVisible = true;">鏌ヨ</el-button> + <el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button> + <el-button plain size="small" type="primary">浠庡叾瀹冩ā鏉垮厠闅�</el-button> + <div style="display: inline-block"> <el-input v-model="FindText" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" + size="small" + @keyup.enter.native="EnterFind"></el-input></div> + <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ"> + <div> + <el-button size="small" type="primary" @click="AdvQueries">鏌ヨ</el-button> + <el-button size="small" type="primary">閲嶇疆</el-button> + </div> + <div style="padding-left: 80px;margin-top: 15px;"> + <template v-for="(value, key) in FindSelect"> + <div style="display: flex;justify-content: space-around;width: 85%;margin-bottom: 15px"> + <el-select v-model="FindSelect[key]" placeholder="璇烽�夋嫨" style="width: 28%" @change="handleSelectChange(key)"> + <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-option label="鐘舵��" value="4"></el-option> + </el-select> + <el-select v-model="condition[0]" placeholder="璇烽�夋嫨" style="width: 15%"> + <el-option label="鍖呭惈" value="0"></el-option> + <el-option label="绛変簬" value="1"></el-option> + </el-select> + <el-input v-model="QueryArray[key]" style="width: 49%"></el-input> + <span> <i class="el-icon-delete" style="font-size: 22px;margin-top:8px;margin-left: 10px"/></span> + </div> + </template> +</div> + </el-dialog> + </template> + </avue-crud> + </basic-container> + <templatePro :ProData="this.ProData"></templatePro> </span> <span v-else-if="type.prop==='tab2'"> -<!-- 濡傛灉鏄〃鏍煎姞琛ㄥ崟灏卞啀娆″紩鍏ヨ繖涓猚lassifyTreeform缁勪欢锛岄噷闈㈡槸琛ㄥ崟鐨勫唴瀹癸紝娌$敤灏卞垹鎺夈�傛妸涓婇潰鐨則ab鏍忎篃鍒犻櫎浜�--> -<!-- 濡傛灉鏄〃鏍煎姞琛ㄥ崟灏卞啀娆″紩鍏ヨ繖涓猚lassifyTreeform缁勪欢锛岄噷闈㈡槸琛ㄥ崟鐨勫唴瀹癸紝娌$敤灏卞垹闄ゆ帀銆傛妸涓婇潰tab鏍忎篃鍒犻櫎浜�--> <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform> </span> </basic-container> @@ -96,7 +125,23 @@ //棣栧厛鐖剁粍浠惰皟鐢ㄥ瓙缁勪欢鑿滃崟锛岄�氳繃provide浼犻�掑弬鏁般�傛湁Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐归厤缃」 crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 //鍏朵腑琛ㄦ牸鐨勯厤缃」鐩存帴鐖朵紶瀛愪紶閫掕繃鏉ュ氨琛岋紝鐩存帴:option=浼犻�掔殑鍙傛暟鍚嶏紝閲岄潰鏁版嵁鏄剧ず鐨勫唴瀹瑰洜涓烘槸鍜屽乏渚ц仈鍔ㄧ殑锛屾墍浠ラ噸鏂颁竴涓狥ormlist锛岄�氳繃鐐瑰嚮鏍戣妭鐐逛笅鏍囨潵鍔ㄦ�佹覆鏌撳彸渚ц〃鏍硷紝涓嬮潰鏂规硶閮芥湁鍏蜂綋娉ㄩ噴 //鐒跺悗鍐嶈鍙充晶鐨勮〃鍗曪紝涓撻棬瀹氫箟浜嗕竴涓粍浠讹紝閫氳繃鐖朵紶瀛愬啀鎶婅〃鍗曟暟鎹甌reeList浼犻�掕繃鍘伙紝浼犻�掑墠鍦�10deCLi1ck鏂规硶閲岄潰渚夸簡澶勭悊涔熸槸涓�涓仈鍔ㄧ殑鏁堟灉锛岃〃鍗曠殑閰嶇疆椤瑰湪鍝釜瀛愮粍浠舵垨鑰呯埗缁勪欢鍐欓兘鍙互銆� -import {getAtrrList, TreeSave, TreeDel, TreeCheckDel,TreeObjcet,TreeEnable,TreeDeactivate,importClassify,gridCodeClassifyTemplateAttr} from "@/api/template/templateAttr"; +import { + getAtrrList, + TreeSave, + TreeDel, + TreeCheckDel, + TreeObjcet, + TreeEnable, + TreeDeactivate, + importClassify, + gridCodeClassifyTemplate, + getObjectByOid, + gridCodeClassifyTemplateAttr, + gridCodeClassifyFindTemplate, + addSave, + deleteData, + editSave +} from "@/api/template/templateAttr"; export default { name: "classifyTrees.vue", @@ -106,10 +151,36 @@ inject: ['crudTreeOption', "crudTreeData"], data() { return { - fileList:[], - FlagObj:{}, + //妯℃澘灞炴�у睍绀哄唴瀹� + ProData: [], + //鍥炶溅閿悳绱㈢粦瀹氬�� + FindText: "", + //楂樼骇鏌ヨ瀵硅瘽妗� + FindFormVisible: false, + //楂樼骇鏌ヨ涓嬫媺妗� + FindSelect: { + id: "0", + name: "1", + description: "2", + revisionValue: "3", + lcStatus: "4" + }, + //楂樼骇鏌ヨ鏉′欢 + condition: ["0", "0", "0", "0", "0"], + //楂樼骇鏌ヨ 绛変簬/涓嶇瓑浜� + Equalto: "0", + //楂樼骇鏌ヨ 杈撳叆妗嗘暟鎹� + QueryArray: { + id: "", + name: "", + description: "", + revisionValue: "", + lcStatus: "" + }, + //鍋滅敤鍚敤鎺ユ敹鏁扮粍 + FlagObj: {}, //淇敼瀵硅瘽妗� - TreeEditFormVisible:false, + TreeEditFormVisible: false, //娣诲姞瀵硅瘽妗� TreeAddFormVisible: false, //褰撳墠鐐瑰嚮椤� @@ -118,6 +189,7 @@ TreeFlag: false, //鏍戝姞杞� loading: false, + FormLoing: false, TreeAddform: { id: "", name: "", @@ -174,29 +246,16 @@ } ], //浼犻�掔粰瀛愮粍浠跺姩鎬佹覆鏌撶殑鏁版嵁 - TreeList: {} + TreeList: {}, + codeClassifyOid:"" } }, //tab鏍忛粯璁ゆ槸琛ㄦ牸 mounted() { this.type = this.tabOption.column[0]; this.getAttr(); - console.log(this.fileList) }, methods: { - ExportExcel(){ - console.log(this.fileList) - }, - importExcel(){ - - }, - handlePreview(file) { - debugger - console.log(file); - importClassify(file.raw).then(res=>{ - console.log(res) - }) - }, //鍒嗙被鏍戞暟鎹鐞� getAttr() { getAtrrList().then(res => { @@ -209,10 +268,10 @@ //璋冪敤淇敼灞炴�у悕鏂规硶 this.ModifyProperties(this.Treedata, 'text', 'label'); }).catch(res => { - console.log(res) + this.$message.error(res) }) }, - //瀹氫箟涓�涓慨鏀瑰璞″睘鎬у悕鐨勬柟娉� + //瀹氫箟涓�涓慨鏀瑰璞″睘鎬у悕鐨勬柟娉� 杩欓噷鍒敼锛侊紒锛佸ソ鍍忔槸鍚庡彴鎺ュ彛鏁版嵁瀛楁涓嶄竴鑷达紝娣诲姞鐨勬柟娉曘�傚叿浣撲粈涔堝師鍥犳垜涔熷繕璁颁簡 ModifyProperties(obj, oldName, newName) { for (let key in obj) { if (key === oldName) { @@ -236,7 +295,6 @@ TreeAddHandler() { const data = this.TreeAddform this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid) - console.log(data) TreeSave(data).then(() => { this.$message({ type: 'success', @@ -244,7 +302,7 @@ }); this.getAttr(); this.TreeAddFormVisible = false - this.TreeAddform="" + this.TreeAddform = "" }).catch(res => { this.$message({ type: 'warning', @@ -309,42 +367,40 @@ }); }, //淇敼鍥炲~ - TreeEdit(){ - if(this.nodeClickList == ""){ + TreeEdit() { + if (this.nodeClickList == "") { this.$message({ type: 'warning', - message:'璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' + message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' }); - }else { - this.TreeEditFormVisible=true + } else { + this.TreeEditFormVisible = true } }, //鏍戝埛鏂� flushed() { - console.log(this.fileList) - // this.loading = true - // this.getAttr() - // setTimeout(() => { - // this.loading = false; - // this.nodeClickList = "" - // }, 600); + this.loading = true + this.getAttr() + setTimeout(() => { + this.loading = false; + this.nodeClickList = "" + }, 600); }, //鍚敤鍜屽仠鐢ㄩ兘鍏堝垽鏂姸鎬� //鍚敤 - Enable(){ - if(this.FlagObj.lcStatus == "Enabled"){ + Enable() { + if (this.FlagObj.lcStatus == "Enabled") { this.$message({ type: 'warning', message: '褰撳墠鍒嗙被涓嶆槸鍋滅敤鐘舵��' }); - }else { + } else { this.$confirm('鏄惁灏嗗瓙鍒嗙被涓�骞跺惎鐢紵', '鎻愮ず', { confirmButtonText: '鏄�', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeEnable(this.nodeClickList).then((res)=>{ - console.log(res) + TreeEnable(this.nodeClickList).then((res) => { this.$message({ type: 'success', message: '鍚敤鎴愬姛!' @@ -360,25 +416,24 @@ } }, //鍋滅敤 - Deactivate(){ - if(this.FlagObj.lcStatus ==="Disabled"){ + Deactivate() { + if (this.FlagObj.lcStatus === "Disabled") { this.$message({ type: 'warning', message: '褰撳墠鍒嗙被涓嶆槸鍚敤鐘舵��!' }); - }else { + } else { this.$confirm('鏄惁鍋滅敤褰撳墠鍒嗙被锛屽仠鐢ㄥ悗锛屽瓙鍒嗙被涔熷皢涓嶈兘琚娇鐢紝鏄惁缁х画锛�', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeDeactivate(this.nodeClickList).then((res)=>{ - console.log(res) + TreeDeactivate(this.nodeClickList).then((res) => { this.$message({ type: 'success', message: '鍋滅敤鎴愬姛!' }); - this.nodeClickList['flag']=true; + this.nodeClickList['flag'] = true; this.getAttr() }) }).catch(() => { @@ -389,27 +444,188 @@ }); } }, - nodeClick(data) { - //鐐瑰嚮宸︿晶鏍戝彸渚у姩鎬佺殑鏂规硶 - // this.Formlist = this.crudTreeData[data.value].column - // this.nodeList=data.value - // this.TreeList = this.Treeform.find(item => { - // return item.value == data.value - // }); + //鏍戠偣鍑讳簨浠� + async nodeClick(data) { + //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id this.nodeClickList = data - TreeObjcet(data.oid).then(res=>{ - console.log("object",res) - this.FlagObj=res.data.data - }) - gridCodeClassifyTemplateAttr(data.oid).then(res=>{ - console.log(res) - }).catch(res=>{ - console.log(res) - }) + //console.log(data.oid) + try { + await TreeObjcet(data.oid).then(res => { + this.FlagObj = res.data.data + }).catch(res => { + this.$message.error(res) + }) + //妯℃澘绠$悊琛ㄦ牸鏁版嵁 + await gridCodeClassifyTemplate({'conditionMap[codeClassifyOid]':data.oid }).then(res => { + this.Formlist = res.data.data.filter(item => { + if (item.codeclassifyoid != "") { + this.codeClassifyOid=item.codeclassifyoid + return item.codeclassifyoid == this.nodeClickList.oid + } + }) + console.log("formlist", this.Formlist) + gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => { + this.ProData = res.data.data + console.log(this.ProData) + }).catch(res => { + this.$message.error(res) + }) + }).catch(res => { + console.log(res) + }) + // 鍩烘湰淇℃伅琛ㄥ崟鏁版嵁 + await getObjectByOid(this.nodeClickList.oid).then(res => { + this.TreeList = res.data.data + // eslint-disable-next-line no-const-assig + }).catch(res => { + this.$message.error(res) + }) + } catch (error) { + console.log(error) + } }, //tab鏍忓垏鎹� handleChange(column) { this.type = column + }, + // //楂樼骇鏌ヨ鎸夐挳 + // handleSelectChange(key) { + // const selectedValue = this.FindSelect[key]; + // console.log(selectedValue) + // console.log(this.QueryArray[0]) + // switch (this.FindSelect[key]) { + // case '0': + // this.QueryArray[key] = ''; + // this.$set(this.QueryArray, key, ''); + // // 濡傛灉閫変腑鐨勬槸妯℃澘缂栧彿锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.id + // this.$set(this.QueryArray, 'id', this.QueryArray[key]); + // break; + // case '1': + // this.QueryArray[key] = ''; + // this.$set(this.QueryArray, key, ''); + // // 濡傛灉閫変腑鐨勬槸妯℃澘鍚嶇О锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.name + // this.$set(this.QueryArray, 'name', this.QueryArray[key]); + // break; + // case '2': + // this.QueryArray[key] = ''; + // this.$set(this.QueryArray, key, ''); + // // 濡傛灉閫変腑鐨勬槸妯℃澘鎻忚堪锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.description + // this.$set(this.QueryArray, 'description', this.QueryArray[key]); + // break; + // case '3': + // this.QueryArray[key] = ''; + // this.$set(this.QueryArray, key, ''); + // // 濡傛灉閫変腑鐨勬槸鐗堟湰鍙凤紝鐩稿簲鐨勮緭鍏ユ鍙屽悜缁戝畾鍏崇郴涓� QueryArray.revisionValue + // this.$set(this.QueryArray, 'revisionValue', this.QueryArray[key]); + // break; + // case '4': + // this.QueryArray[key] = ''; + // this.$set(this.QueryArray, key, ''); + // // 濡傛灉閫変腑鐨勬槸鐘舵�侊紝鐩稿簲鐨勮緭鍏ユ鍙屽悜缁戝畾鍏崇郴涓� QueryArray.lcStatus + // this.$set(this.QueryArray, 'lcStatus', this.QueryArray[key]); + // break; + // } + // }, + AdvQueries() { + this.FindFormVisible = false + //濡傛灉鍏ㄩ儴涓虹┖ allEmpty涓簍rue + const allEmpty = Object.values(this.QueryArray).every(value => !value); + //濡傛灉鍏ㄩ儴涓虹┖锛岀偣鍑绘煡璇㈠嚭鐜版墍鏈夋暟鎹� + if (allEmpty) { + gridCodeClassifyTemplate().then(res => { + this.Formlist = res.data.data + }) + } else { + //榛樿鏄瓑浜� + gridCodeClassifyFindTemplate({'conditionMap[id]': this.QueryArray.id}, + {'conditionMap[name]': this.QueryArray.name}, + {'conditionMap[description]': this.QueryArray.description}, + {'conditionMap[revisionValue]': this.QueryArray.revisionValue}, + {'conditionMap[lcStatus]': this.QueryArray.lcStatus} + ).then(res => { + this.Formlist = res.data.data + }) + } + }, + //妯℃澘绠$悊娓叉煋 + CrudRend(){ + gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]':this.nodeClickList.oid }).then(res=>{ + this.Formlist = res.data.data + }) + }, + //妯℃澘绠$悊琛ㄦ牸娣诲姞 + CrudRowSave(row){ + if(this.nodeClickList.length <= 0){ + this.$message({ + type: 'warning', + message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' + }); + }else { + console.log(this.nodeClickList) + let codeClassifyOid=this.codeClassifyOid + this.$set(row,"codeclassifyoid",codeClassifyOid) + addSave(row).then(res=>{ + this.CrudRend() + }).catch(res=>{ + this.$message({ + type: 'info', + message: res + }); + }) + } + }, + //妯℃澘绠$悊淇敼 + CrudRowUpdata(row){ + editSave(row).then(()=>{ + this.CrudRend() + }).catch(res=>{ + this.$message({ + type: 'info', + message: res + }); + }) + }, + //妯℃澘绠$悊鍒犻櫎 + CrudRowDel(row){ + deleteData(row).then(res=>{ + this.CrudRend() + }).catch(res=>{ + this.$message({ + type: 'info', + message: res + }); + }) + }, + //妯℃澘绠$悊琛ㄦ牸鏌ヨ + EnterFind() { + console.log(this.Formlist) + if (this.FindText == "") { + gridCodeClassifyTemplate().then(res => { + this.Formlist = res.data.data + }) + } else { + gridCodeClassifyTemplate().then(res => { + this.Formlist = res.data.data.filter(item => { + return item.name.includes(this.FindText) + }) + }) + } + }, + //鍒锋柊 + TemRefresh() { + this.FormLoing = true + if (this.nodeClickList.oid != "") { + gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]':this.nodeClickList.oid}).then(res => { + this.Formlist = res.data.data.filter(item => { + return item.codeclassifyoid == this.nodeClickList.oid + }) + }) + } else { + this.FormLoing = true + } + setTimeout(() => { + this.FormLoing = false + }, 600); }, // 宸︽爲澶氶�� checkChange(val) { @@ -419,18 +635,21 @@ } </script> -<style lang="scss"> +<style lang="scss" scoped> .el-form { display: flex; flex-wrap: wrap; /* 璁剧疆鍙崲琛岋紝浠ヤ究鍦ㄥ皬灞忓箷璁惧涓婁娇鐢ㄥ琛屽竷灞� */ } + .el-form-item { flex: 1; /* 璁剧疆鍏冪礌鍗犳嵁1浠界┖闂� */ margin-right: 1rem; /* 璁剧疆鍏冪礌涔嬮棿鐨勯棿璺� */ } + .my-messagebox { width: 700px; } + .my-messageboxs { width: 500px; } -- Gitblit v1.9.3