From 8be3182372eb774dce8f9c97a0b51c03bda165c7 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 08 四月 2024 15:33:11 +0800 Subject: [PATCH] UI展示 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 602 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 544 insertions(+), 58 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index 1a94b0b..16d531f 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,83 +1,569 @@ <template> - <basic-container>琛ㄦ牸娴嬭瘯椤�</basic-container> + <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> + <avue-crud ref="dataTable" + v-model="form" + :data="tableList" + :option="option" + :page.sync="pageType" + :table-loading="loading" + @row-click="rowClickChange" + @search-change='searchChange' + @selection-change="selectChange"> + <!--top鍖哄煙鎸夐挳--> + <template slot="menuLeft" slot-scope="scope"> + <dynamic-button :butttonList="componentVO.buttons" :selectList="selectList" LocationType="top" + type="table"></dynamic-button> + </template> + + <!--menu鍖哄煙鎸夐挳--> + <template slot="menu" slot-scope="scope"> + <dynamic-button :butttonList="componentVO.buttons" :scope="scope" :selectList="selectList" LocationType="menu" + type="table"></dynamic-button> + </template> + </avue-crud> + </div> </template> <script> +import {treeMenu} from '@/api/treeMyMenu' +import {validatenull} from '@/util/validate' export default { name: "dynamic-table", + props: { + componentVO: { + type: Object, + default: {} + }, + inDialog: { + type: Boolean, + default: false + }, + areasName: { + type: String, + default: ''//westArea瀵艰埅鍖� + }, + sourceData: { + //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁 + type: Object, + default: {} + }, + paramVOS: { + type: Object, + default: {} + }, + isShow: { + //鎵�鍦ㄥ尯鍩熸槸鍚﹀凡鏄剧ず锛岄拡瀵箃ab鍜宑ollapse + type: Boolean, + default: true + }, + dataStore: { + //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁 + type: Array, + default: [] + }, + tableType: { + type: String + } + }, data() { return { - tableList:[ + parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴� + form: {}, + loading: false, + page: { + pageSize: 10, + currentPage: 1, + total: 50, + }, + simplePage: { + currentPage: 1, + total: 100, + pagerCount: 4, + layout: "prev, pager, next" + }, + //琛ㄦ牸鏁版嵁 + tableList: [ { - align: "left", - colspan: 1, - field: "name", - fieldType: "text", - hidden: false, - title: "鍚嶇О", - width: 100 + code: "20220102", + lastmodifier: "jhming", + revisionseq: "1", + versionvalue: "1", + description: "", + oid: "2E66D17B-E3E6-4725-BB83-93F4A20D4E20", + versionseq: "1", + content: "绗簩娆′腑鏈熻瘎瀹$姽澶汉", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-01-13 13:58:43.035", + isfirstv: "1", + lastmodifier_name: "濮滅孩鏄�", + revisionoid: "4F400A1B-2313-4B11-894C-4F4F0B01368A", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "1鏈堣瘎瀹�3", + islastr: "1", + lastmodifytime: "2022-07-15 16:04:43.703", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "CF350DE8-8E6D-470B-B273-4FD78D41BA4A", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-07-15 16:04:43.703" }, { - align: "left", - colspan: 1, - field: "code", - fieldType: "text", - hidden: false, - title: "缂栫爜", - width: 100 + code: "w02", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "2f8d94b2-d65a-4f9b-9a71-caa3afd96459", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:35:45.03", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "31612b9f-022d-4b05-a24c-370a0fd457da", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯02", + islastr: "1", + lastmodifytime: "2022-02-18 14:35:45.03", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "dfc0d8a5-ebe7-40f2-af56-fa437d3866e0", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:35:45.03" }, { - align: "left", - colspan: 1, - comboxKey: "EnumReviewType", - field: "reviewtypetext", - fieldType: "combox", - hidden: false, - sortField: "reviewtype", - title: "绫诲瀷", - width: 80 + code: "webt01", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "38033242-3cb4-415c-9cc4-acdb86c2ee8f", + versionseq: "0", + content: "wbtest123淇敼鍚�", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "寰呰瘎瀹�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-01-21 10:04:08.053", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "3f3b2112-f356-4809-969b-1e63f6daa08d", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web绔柊澧炴祴璇�01", + islastr: "1", + lastmodifytime: "2022-02-09 09:45:56.044", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "d8975a06-4c1e-462b-af84-093068c58e9e", + lcstatus: "Waiting", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-09 09:45:56.044" }, { - align: "left", - colspan: 1, - field: "content", - fieldType: "textarea", - hidden: false, - title: "澶囨敞", - width: 150 + code: "w017", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "4011e1a7-9eb6-4b5c-89bf-847abff56682", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:37:53.247", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "648f5cf8-b42a-4b78-9928-883c94a83081", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯17", + islastr: "1", + lastmodifytime: "2022-02-18 14:37:53.247", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "5d14e204-f085-4be0-9da6-b08c99172f8a", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:37:53.247" }, { - align: "left", - colspan: 1, - comboxKey: "ProcessReviewLC${lcstatus}", - field: "lcstatus_text", - fieldType: "text", - hidden: false, - sortField: "lcstatus", - title: "鐘舵��", - width: 100 + code: "w03", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "68583bec-b9ca-4321-8b66-a11d2298f51e", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:35:53.177", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "ff85f436-4dd1-498e-9665-44d53e27ac29", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯03", + islastr: "1", + lastmodifytime: "2022-02-18 14:35:53.177", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "e0f20755-6954-4757-911e-7b9929fbe9a2", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:35:53.177" }, { - align: "left", - colspan: 1, - field: "creator_name,(,creator,)", - fieldType: "text", - hidden: false, - sortField: "creator", - title: "鍒涘缓浜�", - width: 80 + code: "20220102", + lastmodifier: "jhming", + revisionseq: "1", + versionvalue: "1", + description: "", + oid: "2E66D17B-E3E6-4725-BB83-93F4A20D4E20", + versionseq: "1", + content: "绗簩娆′腑鏈熻瘎瀹$姽澶汉", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-01-13 13:58:43.035", + isfirstv: "1", + lastmodifier_name: "濮滅孩鏄�", + revisionoid: "4F400A1B-2313-4B11-894C-4F4F0B01368A", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "1鏈堣瘎瀹�3", + islastr: "1", + lastmodifytime: "2022-07-15 16:04:43.703", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "CF350DE8-8E6D-470B-B273-4FD78D41BA4A", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-07-15 16:04:43.703" }, { - align: "left", - colspan: 1, - dateFormate: "yyyy-MM-dd HH:mm:ss", - field: "createtime", - fieldType: "date", - hidden: false, - title: "鍒涘缓鏃ユ湡", - width: 160 + code: "w02", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "2f8d94b2-d65a-4f9b-9a71-caa3afd96459", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:35:45.03", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "31612b9f-022d-4b05-a24c-370a0fd457da", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯02", + islastr: "1", + lastmodifytime: "2022-02-18 14:35:45.03", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "dfc0d8a5-ebe7-40f2-af56-fa437d3866e0", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:35:45.03" + }, + { + code: "webt01", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "38033242-3cb4-415c-9cc4-acdb86c2ee8f", + versionseq: "0", + content: "wbtest123淇敼鍚�", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "寰呰瘎瀹�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-01-21 10:04:08.053", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "3f3b2112-f356-4809-969b-1e63f6daa08d", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web绔柊澧炴祴璇�01", + islastr: "1", + lastmodifytime: "2022-02-09 09:45:56.044", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "d8975a06-4c1e-462b-af84-093068c58e9e", + lcstatus: "Waiting", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-09 09:45:56.044" + }, + { + code: "w017", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "4011e1a7-9eb6-4b5c-89bf-847abff56682", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:37:53.247", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "648f5cf8-b42a-4b78-9928-883c94a83081", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯17", + islastr: "1", + lastmodifytime: "2022-02-18 14:37:53.247", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "5d14e204-f085-4be0-9da6-b08c99172f8a", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:37:53.247" + }, + { + code: "w03", + lastmodifier: "1", + revisionseq: "0", + versionvalue: "1", + description: "", + oid: "68583bec-b9ca-4321-8b66-a11d2298f51e", + versionseq: "0", + content: "", + checkinby: "", + revisionrule: "ObjectVersion", + reviewtypetext: "閮ㄩ棬绾�", + lctid: "ProcessReviewLC", + reviewtype: "department", + lcstatus_text: "缂栬緫涓�", + id: "", + owner: "1", + checkoutby: "", + creator: "1", + createtime: "2022-02-18 14:35:53.177", + isfirstv: "1", + lastmodifier_name: "娴嬭瘯", + revisionoid: "ff85f436-4dd1-498e-9665-44d53e27ac29", + btmname: "processreview", + checkouttime: "", + revisionvalue: "A", + versionrule: "0", + name: "web椤甸潰娴嬭瘯03", + islastr: "1", + lastmodifytime: "2022-02-18 14:35:53.177", + copyfromversion: "", + creator_name: "娴嬭瘯", + nameoid: "e0f20755-6954-4757-911e-7b9929fbe9a2", + lcstatus: "Editing", + islastv: "1", + checkintime: "", + isfirstr: "1", + ts: "2022-02-18 14:35:53.177" + }, + ], + option: { + index: true, + addBtn: false, + editBtn: false, + delBtn: false, + selection: true, + tip: false, + height: '100%', + calcHeight: 15, + indexFixed: false, + menuFixed: false, + searchMenuSpan:12, + searchShow:false, + column: [], + }, + selectList: [], + } + }, + computed: { + updatedColumns() { + const queryFields = !validatenull(this.componentVO.tableDefineVO.queryColumns) ? this.componentVO.tableDefineVO.queryColumns.map(item => item.field) : []; + + return this.componentVO.tableDefineVO.cols[0].map(item => { + const typeValue = item.fieldType === 'text' || item.fieldType === 'combox' ? 'input' : item.fieldType; // 琛ㄥ崟Type绫诲瀷 + const search = queryFields.includes(item.field); // 鍒ゆ柇 field 鏄惁鍦� queryColumns 閲� + + return { + align: item.align, + colspan: item.colspan, + prop: item.field, + type: typeValue, + hidden: item.hidden, + label: item.title, + width: item.width, + search: search + }; + }); + }, + pageType() { + return this.areasName === 'westArea' ? this.simplePage : this.page; + } + }, + watch: { + parentHeight: { + handler(newval) { + if (newval > 50) { + this.option.height = newval; + //doLayout涓嶇敓鏁堬紝鎵嬪姩璁剧疆琛ㄦ牸楂樺害 + this.$children[0].$children[1].$children[1].$children[0].$el.style.height = newval + 'px'; + /*this.$nextTick(() => { + if (this.$refs.dataTable && this.$refs.dataTable.doLayout) { + this.$refs.dataTable.doLayout(); + } + })*/ } - ] + } + }, + isShow: { + handler(newval) { + if (newval && this.$el.clientHeight > 50) { + this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; + } + } + } + }, + created() { + this.option.column = this.updatedColumns; + }, + mounted() { + if (this.$el.clientHeight > 50) { + //鐖跺厓绱犻珮搴�-鎸夐挳楂樺害-鍒嗛〉楂樺害 + this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5; + } + }, + methods: { + rowClickChange(row){ + this.$refs.dataTable.toggleRowSelection(row); + }, + selectChange(row) { + this.selectList = row; + }, + searchChange(form,done){ + console.log(form) + done() + this.$emit("setDataStore", { + area: this.areasName, + dataStore:row + }); } } } -- Gitblit v1.9.3