From fecc7305a48f8ce6e283434718da33e143885c75 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 09 四月 2024 10:03:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 421 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 325 insertions(+), 96 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue index fdecc3f..5c04b55 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue @@ -1,109 +1,86 @@ <template> - <basic-container> - <avue-crud v-model="form" + <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic"> + <avue-crud ref="dataTable" + v-model="form" :data="tableList" :option="option" - :page.sync="page" - :table-loading="loading"> + :page.sync="pageType" + :table-loading="loading" + @row-click="rowClickChange" + @search-change='searchChange' + @selection-change="selectChange"> <!--top鍖哄煙鎸夐挳--> <template slot="menuLeft" slot-scope="scope"> - <dynamic-button LocationType="top" type="table" @buttonClick="buttonClick"></dynamic-button> + <dynamic-button :butttonList="componentVO.buttons" :selectList="selectList" LocationType="top" + type="table"></dynamic-button> </template> <!--menu鍖哄煙鎸夐挳--> <template slot="menu" slot-scope="scope"> - <dynamic-button LocationType="menu" type="table" @buttonClick="buttonClick"></dynamic-button> + <dynamic-button :butttonList="componentVO.buttons" :scope="scope" :selectList="selectList" LocationType="menu" + type="table"></dynamic-button> </template> </avue-crud> - <!-- 琛ㄦ牸鍐呮寜閽搷浣滃璇濇琛ㄥ崟 --> -<!-- <dynamic-form :visible.sync="visible" style="display: none"></dynamic-form>--> - </basic-container> + </div> </template> <script> +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 { + parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴� form: {}, loading: false, - visible:false, page: { pageSize: 10, currentPage: 1, - total: 5, + total: 50, }, - tableHeadList: [ - { - align: "left", - colspan: 1, - field: "name", - fieldType: "text", - hidden: false, - title: "鍚嶇О", - width: 100, - }, - { - align: "left", - colspan: 1, - field: "code", - fieldType: "text", - hidden: false, - title: "缂栫爜", - width: 100 - }, - { - align: "left", - colspan: 1, - comboxKey: "EnumReviewType", - field: "reviewtypetext", - fieldType: "combox", - hidden: false, - sortField: "reviewtype", - title: "绫诲瀷", - width: 80 - }, - { - align: "left", - colspan: 1, - field: "content", - fieldType: "textarea", - hidden: false, - title: "澶囨敞", - width: 150 - }, - { - align: "left", - colspan: 1, - comboxKey: "ProcessReviewLC${lcstatus}", - field: "lcstatus_text", - fieldType: "text", - hidden: false, - sortField: "lcstatus", - title: "鐘舵��", - width: 100 - }, - { - align: "left", - colspan: 1, - field: "creator_name", - fieldType: "text", - hidden: false, - sortField: "creator", - title: "鍒涘缓浜�", - width: 80 - }, - { - align: "left", - colspan: 1, - dateFormate: "yyyy-MM-dd HH:mm:ss", - field: "createtime", - fieldType: "date", - hidden: false, - title: "鍒涘缓鏃ユ湡", - width: 160 - } - ], + simplePage: { + currentPage: 1, + total: 100, + pagerCount: 4, + layout: "prev, pager, next" + }, + //琛ㄦ牸鏁版嵁 tableList: [ { code: "20220102", @@ -300,23 +277,229 @@ checkintime: "", isfirstr: "1", ts: "2022-02-18 14:35:53.177" - } - ] - } - }, - computed: { - option() { - return { + }, + { + 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" + }, + { + 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, - column: this.updatedColumns, - }; - }, + selection: true, + tip: false, + height: '100%', + calcHeight: 15, + indexFixed: false, + menuFixed: false, + searchMenuSpan:12, + searchShow:false, + column: [], + }, + selectList: [], + } + }, + computed: { updatedColumns() { - return this.tableHeadList.map(item => { + 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, @@ -326,14 +509,60 @@ 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: { - buttonClick(id) { - console.log(id) - this.visible = true; + 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