From 81bb118e00f8d5ee081795d142e539de50953518 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 15 四月 2024 17:27:25 +0800
Subject: [PATCH] 列表查询
---
Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue | 63 +++-
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 8
Source/ProjectWeb/src/components/dynamic-components/index.vue | 31 ++
Source/ProjectWeb/src/views/base/UIContentArea.vue | 21 +
Source/ProjectWeb/src/api/base/ui.js | 14
Source/ProjectWeb/src/components/dynamic-components/dynamic-TreeTable.vue | 8
Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 8
Source/ProjectWeb/src/views/base/UIContentViewer.vue | 59 +++-
Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 582 +++++++++++-----------------------------
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 13
10 files changed, 349 insertions(+), 458 deletions(-)
diff --git a/Source/ProjectWeb/src/api/base/ui.js b/Source/ProjectWeb/src/api/base/ui.js
index 4d80518..342df1c 100644
--- a/Source/ProjectWeb/src/api/base/ui.js
+++ b/Source/ProjectWeb/src/api/base/ui.js
@@ -10,14 +10,14 @@
}
//UI涓婁笅鏂囧垪琛ㄦ煡璇�
-export const getList = (current, size, params) => {
+export const getList = (page, limit, params) => {
return request({
url: '/api/uiDataController/dataGridQuery',
- method: 'get',
- params: {
+ method: 'post',
+ data: {
...params,
- current,
- size,
+ page,
+ limit,
}
})
}
@@ -26,8 +26,8 @@
export const getTree = (parentCode, params) => {
return request({
url: '/api/uiDataController/getDataForTree',
- method: 'get',
- params: {
+ method: 'post',
+ data: {
...params,
parentCode
}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-TreeTable.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-TreeTable.vue
index 6f6efc4..13e0693 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-TreeTable.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-TreeTable.vue
@@ -30,6 +30,14 @@
export default {
name: "dynamic-TreeTable",
props: {
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO: {
type: Object,
default: {}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 522c005..2358b28 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -33,6 +33,14 @@
'test2': () => import('@/views/custom-ui/test2'),
},
props: {
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO: {
type: Object,
default: {}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index 79ed7d8..99b4527 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -48,6 +48,14 @@
name: "dynamic-form",
components: {VciWebRefer},
props: {
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO: {
type: Object,
default: {}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index f0892f0..dae2474 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -6,6 +6,11 @@
:option="option"
:page.sync="pageType"
:table-loading="loading"
+ @on-load="onLoad"
+ @search-reset="searchReset"
+ @refresh-change="handleRefresh"
+ @current-change="currentChange"
+ @size-change="sizeChange"
@row-click="rowClickChange"
@search-change='searchChange'
@selection-change="selectChange">
@@ -31,6 +36,14 @@
export default {
name: "dynamic-table",
props: {
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO: {
type: Object,
default: {}
@@ -47,6 +60,10 @@
//鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type: Object,
default: {}
+ },
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
},
paramVOS: {
type: Object,
@@ -70,413 +87,21 @@
return {
parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴�
form: {},
+ query:{},
loading: false,
page: {
pageSize: 10,
currentPage: 1,
- total: 50,
+ total: 0,
},
simplePage: {
currentPage: 1,
- total: 100,
+ total: 0,
pagerCount: 4,
layout: "prev, pager, next"
},
//琛ㄦ牸鏁版嵁
- tableList: [
- {
- 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"
- },
- {
- 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"
- },
- ],
+ tableList: [],
option: {
index: true,
addBtn: false,
@@ -493,28 +118,20 @@
column: [],
},
selectList: [],
+ columnType: {
+ text: "input",
+ combox: "select",
+ truefalse: "switch",
+ number: "number",
+ textarea: "textarea",
+ datetime: "datetime",
+ date: "date",
+ refer: "refer",
+ },
+ sourceDataMapParams:{}
}
},
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;
}
@@ -539,11 +156,30 @@
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;
}
+ if(newval){
+ this.handleRefresh();
+ }
+ }
+ },
+ 'sourceData':{
+ handler(newval) {
+ if(newval) {
+ this.sourceDataMapParams=this.sourceDataMap();
+ this.getParams();
+ this.handleRefresh();
+ }
}
}
},
created() {
- this.option.column = this.updatedColumns;
+ this.getParams();
+ this.option.column = this.updatedColumns();
+ this.page = {
+ pageSize: this.componentVO.tableDefineVO.pageVO ? this.componentVO.tableDefineVO.pageVO.limit : 10,
+ currentPage: this.componentVO.tableDefineVO.pageVO? this.componentVO.tableDefineVO.pageVO.page :1,
+ total: 0,
+ pageSizes:this.componentVO.tableDefineVO.limits || [10, 20, 30, 40, 50, 100]
+ };
},
mounted() {
if (this.$el.clientHeight > 50) {
@@ -552,6 +188,96 @@
}
},
methods: {
+ updatedColumns: function () {
+ const queryFields = !validatenull(this.componentVO.tableDefineVO.queryColumns) ? this.componentVO.tableDefineVO.queryColumns.map(item => item.field) : [];
+ return this.componentVO.tableDefineVO.cols[0].map(item => {
+ const search = queryFields.includes(item.field); // 鍒ゆ柇 field 鏄惁鍦� queryColumns 閲�
+ if (this.componentVO.tableDefineVO.btmType == 'fileobject' && item.field == 'name') {
+ //鏄枃浠�
+ item.formatter = function (d) {
+ return '<a class="layui-btn layui-btn-intable" lay-event="PREVIEW">' + d.name + '</a>'
+ }
+ }
+ let formatter = item.formatter || item.templet;
+ if (typeof formatter == "string" && formatter != '') {
+ formatter = eval("(" + formatter + ")");
+ }
+ item.type = this.columnType[item.fieldType] || item.fieldType;
+ return {
+ ...item,
+ prop: item.field,
+ label: item.title,
+ search: search,
+ formatter: formatter
+ };
+ });
+ },
+ sourceDataMap: function () {
+ const sourceDataMap = {};
+ if (Object.keys(this.sourceData).length>0) {
+ if(this.sourceData.oid ) {
+ if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) {
+ this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
+ }
+ sourceDataMap.sourceBtmName = this.sourceBtmType;;
+ sourceDataMap.sourceOid = this.sourceData.oid;
+ }
+ for (let i in this.sourceData) {
+ let item = this.sourceData[i]
+ if (item && item.constructor === Object) return;
+ if (i == 'type' || i == 'context' || i == 'content') return;
+ sourceDataMap['sourceData["' + i + '"]'] = item
+ }
+ }
+
+ return sourceDataMap;
+ },
+ getParams: function () {
+ const tableParams = {
+ btmname: this.componentVO.tableDefineVO.btmType,
+ btmType:this.componentVO.tableDefineVO.btmType,
+ tableDefineId: this.componentVO.tableDefineVO.id,
+ componentOid: this.componentVO.oid,
+ uiDefineId: this.uiContext,
+ linkTypeFlag: this.componentVO.tableDefineVO.linkTypeFlag
+ };
+
+ const sourceDataMapList = this.sourceDataMapParams;
+
+ if (this.paramVOS) {
+ for (let i in this.paramVOS) {
+ let item = this.paramVOS[i]
+ if (item && item.constructor === Object) return;
+ if (i == 'type' || i == 'context' || i == 'content') return;
+ sourceDataMapList['sourceData["' + i + '"]'] = item
+ }
+ }
+ this.params = Object.assign({},tableParams, sourceDataMapList);
+ },
+ onLoad(page, params = {}) {
+ if (Object.keys(this.sourceData).length>0 && this.isShow) {
+ this.loading = true;
+ getList(page.currentPage, page.pageSize, Object.assign(params, this.params, this.query)).then(res => {
+ let data = [];
+ if (res.data && res.data.data) {
+ data = res.data.data;
+ this.page.total = res.data.total;
+ } else {
+ data = res.data;
+ this.page.total = res.total;
+ }
+ if (!data || data == null) {
+ data = [];
+ }
+ this.tableList = data;
+ this.loading = false;
+ this.selectionClear();
+ }).catch(error => {
+ this.$message.error(error);
+ this.loading = false;
+ });
+ }
+ },
rowClickChange(row){
this.$refs.dataTable.toggleRowSelection(row);
},
@@ -560,14 +286,32 @@
this.$emit("setDataStore", {
area: this.areasName,
type:this.componentVO.uiComponentType,
+ btmType:this.componentVO.tableDefineVO.btmType,
dataStore:row
});
},
- searchChange(form,done){
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ searchChange(params,done){
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page);
done();
},
- handleRefresh(){
- this.$refs.dataTable.refreshTable();
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.dataTable.toggleSelection();
+ },
+ handleRefresh() {
+ this.onLoad(this.page, this.query);
}
}
}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
index 67d3cad..6475b27 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -31,6 +31,14 @@
export default {
name: "dynamic-tree",
props:{
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO:{
type:Object,
default: {}
@@ -47,6 +55,10 @@
//鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type:Object,
default: {}
+ },
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
},
dataStore:{
//寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
@@ -80,6 +92,7 @@
this.$emit("setDataStore", {
area: this.areasName,
type:this.componentVO.uiComponentType,
+ btmType:this.componentVO.treeDefineVO.btmType,
dataStore:newval
});
}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/index.vue b/Source/ProjectWeb/src/components/dynamic-components/index.vue
index f13ad1d..28e8724 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/index.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/index.vue
@@ -1,9 +1,12 @@
<template>
<dynamic-table v-if="componentVO.uiComponentType=='table'"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:key="areasName+'table-'+componentVO.oid"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="sourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -12,22 +15,27 @@
</dynamic-table>
<dynamicTreeTable v-else-if="componentVO.uiComponentType=='TreeTable'"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:key="areasName+'table-'+componentVO.oid"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="sourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@setDataStore="setDataStore"
:isShow="isShow">
-
</dynamicTreeTable>
<dynamic-form v-else-if="componentVO.uiComponentType=='form'"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:key="areasName+'form-'+componentVO.oid"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="sourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -36,20 +44,27 @@
</dynamic-form>
<dynamic-tree v-else-if="componentVO.uiComponentType=='tree'"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:key="areasName+'tree-'+componentVO.oid"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="sourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@setDataStore="setDataStore"
:isShow="isShow">
</dynamic-tree>
- <dynamic-custom v-else-if="componentVO.uiComponentType=='customer'" :inDialog="inDialog"
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='customer'"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
+ :inDialog="inDialog"
:key="areasName+'custom-'+componentVO.oid"
:componentVO="componentVO"
:sourceData="sourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -69,6 +84,14 @@
name: "dynamicIndex",
components:{dynamicCustom, dynamicTree, dynamicForm, dynamicTable,dynamicTreeTable },
props:{
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
componentVO:{
type:Object,
default: {}
@@ -86,6 +109,10 @@
type:Object,
default: {}
},
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
+ },
dataStore:{
//寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
type:Array,
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 41c9ee3..82f2975 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -22,9 +22,12 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+areaItem.componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="areaItem.componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -41,9 +44,12 @@
</template>
<div class="componentVO">
<compoent-index :key="areasName+'componentVO-'+componentVO.oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="componentVO"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -54,9 +60,12 @@
</el-collapse>
<div v-else class="componentVO">
<compoent-index :key="areasName+'componentVO-'+newAreasData[0].componentVOs[0].oid"
+ :uiBtmType="uiBtmType"
+ :uiContext="uiContext"
:inDialog="inDialog"
:componentVO="newAreasData[0].componentVOs[0]"
:sourceData="newSourceData"
+ :sourceBtmType="sourceBtmType"
:dataStore="dataStore"
:areasName="areasName"
:paramVOS="paramVOS"
@@ -104,6 +113,14 @@
name: "UIContentArea",
components:{compoentIndex},
props:{
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
inDialog: {
type: Boolean,
default: false
@@ -121,6 +138,10 @@
type:Object,
default: {}
},
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
+ },
dataStore:{
//寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
type:Array,
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index 8efc9ec..8279a53 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -2,10 +2,14 @@
<!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
<div style="height:calc(100% - 4px);min-width:1200px" >
<el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
- <UIContentArea :key="'northArea-'+uiDefineVO.oid" :areasData="uiDefineVO.northAreas"
- :dataStore="checkedData.northArea"
+ <UIContentArea :key="'northArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.northAreas"
+ :dataStore="checkedData.northArea.data"
:inDialog="inDialog"
:sourceData="sourceData"
+ :sourceBtmType="btmType"
areas-name="northArea"
@setDataStore="setDataStore">
</UIContentArea>
@@ -15,10 +19,14 @@
<el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0"
:width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'"
height="100%">
- <UIContentArea :key="'westArea-'+uiDefineVO.oid" :areasData="uiDefineVO.westAreas"
- :dataStore="checkedData.westArea"
+ <UIContentArea :key="'westArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.westAreas"
+ :dataStore="checkedData.westArea.data"
:inDialog="inDialog"
:sourceData="sourceData"
+ :sourceBtmType="btmType"
areas-name="westArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -26,10 +34,14 @@
</el-aside>
<el-container style="height: 100%;display: block">
<el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'min-height: 300px;height: '+centerHeight">
- <UIContentArea :key="'centerArea-'+uiDefineVO.oid" :areasData="uiDefineVO.centerAreas"
- :dataStore="checkedData.centerArea"
+ <UIContentArea :key="'centerArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.centerAreas"
+ :dataStore="checkedData.centerArea.data"
:inDialog="inDialog"
- :sourceData="checkedData.westArea[checkedData.westArea.length-1]"
+ :sourceData="checkedData.westArea.data[checkedData.westArea.data.length-1]"
+ :sourceBtmType="checkedData.westArea.DefineVOBtmType"
areas-name="centerArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -37,10 +49,14 @@
</el-main>
<el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%"
style="min-height: 150px;">
- <UIContentArea :key="'southArea-'+uiDefineVO.oid" :areasData="uiDefineVO.southAreas"
- :dataStore="checkedData.southArea"
+ <UIContentArea :key="'southArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.southAreas"
+ :dataStore="checkedData.southArea.data"
:inDialog="inDialog"
- :sourceData="checkedData.centerArea[checkedData.centerArea.length-1]"
+ :sourceData="checkedData.centerArea.data[checkedData.centerArea.data.length-1]"
+ :sourceBtmType="checkedData.centerArea.DefineVOBtmType"
areas-name="southArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -65,10 +81,22 @@
context: '',//UI涓婁笅鏂囩殑鍚嶇О
checkedData: {
//鍚勫尯鍩熼�変腑鏁版嵁
- northArea: [{}],
- westArea: [{}],
- centerArea: [{}],
- southArea: [{}]
+ northArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ westArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ centerArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ southArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ }
},
uiDefineVO: {},
centerHeight: '100%',
@@ -116,7 +144,8 @@
}
},
setDataStore(value) {
- this.checkedData[value.area] = value.dataStore;
+ this.checkedData[value.area].DefineVOBtmType = value.btmType;
+ this.checkedData[value.area].data = value.dataStore;
}
}
}
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index 21f47a6..6942d23 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -2,10 +2,15 @@
<!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
<div style="height:calc(100% - 4px);min-width:1200px" >
<el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
- <UIContentArea :key="'northArea-'+uiDefineVO.oid" :areasData="uiDefineVO.northAreas"
- :dataStore="checkedData.northArea"
+ <UIContentArea :key="'northArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.northAreas"
+ :dataStore="checkedData.northAreaInDialog.data"
+ :paramVOS="paramVOS"
:inDialog="inDialog"
:sourceData="sourceData"
+ :sourceBtmType="btmType"
areas-name="northArea"
@setDataStore="setDataStore">
</UIContentArea>
@@ -15,10 +20,15 @@
<el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0"
:width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'"
height="100%">
- <UIContentArea :key="'westArea-'+uiDefineVO.oid" :areasData="uiDefineVO.westAreas"
- :dataStore="checkedData.westArea"
+ <UIContentArea :key="'westArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.westAreas"
+ :dataStore="checkedData.westAreaInDialog.data"
+ :paramVOS="paramVOS"
:inDialog="inDialog"
:sourceData="sourceData"
+ :sourceBtmType="btmType"
areas-name="westArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -26,10 +36,15 @@
</el-aside>
<el-container style="height: 100%;display: block">
<el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'min-height: 300px;height: '+centerHeight">
- <UIContentArea :key="'centerArea-'+uiDefineVO.oid" :areasData="uiDefineVO.centerAreas"
- :dataStore="checkedData.centerArea"
+ <UIContentArea :key="'centerArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.centerAreas"
+ :dataStore="checkedData.centerAreaInDialog.data"
+ :paramVOS="paramVOS"
:inDialog="inDialog"
- :sourceData="checkedData.westArea[checkedData.westArea.length-1]"
+ :sourceData="checkedData.westAreaInDialog.data[checkedData.westAreaInDialog.data.length-1]"
+ :sourceBtmType="checkedData.westAreaInDialog.DefineVOBtmType"
areas-name="centerArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -37,10 +52,15 @@
</el-main>
<el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%"
style="min-height: 150px;">
- <UIContentArea :key="'southArea-'+uiDefineVO.oid" :areasData="uiDefineVO.southAreas"
- :dataStore="checkedData.southArea"
+ <UIContentArea :key="'southArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
+ :areasData="uiDefineVO.southAreas"
+ :dataStore="checkedData.southAreaInDialog.data"
+ :paramVOS="paramVOS"
:inDialog="inDialog"
- :sourceData="checkedData.centerArea[checkedData.centerArea.length-1]"
+ :sourceData="checkedData.centerAreaInDialog.data[checkedData.centerAreaInDialog.data.length-1]"
+ :sourceBtmType="checkedData.centerAreaInDialog.DefineVOBtmType"
areas-name="southArea"
cradStyle=""
@setDataStore="setDataStore">
@@ -89,10 +109,22 @@
return {
checkedData:{
//鍚勫尯鍩熼�変腑鏁版嵁
- northAreaInDialog:[{}],
- westAreaInDialog:[{}],
- centerAreaInDialog:[{}],
- southAreaInDialog:[{}]
+ northAreaInDialog:{
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ westAreaInDialog:{
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ centerAreaInDialog:{
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ southAreaInDialog:{
+ DefineVOBtmType:'',
+ data:[{}]
+ }
},
uiDefineVO: {},
centerHeight:'100%'
@@ -134,7 +166,8 @@
}
},
setDataStore(value) {
- this.checkedData[value.area] = value.dataStore;
+ this.checkedData[value.area].DefineVOBtmType = value.btmType;
+ this.checkedData[value.area].data = value.dataStore;
}
}
}
--
Gitblit v1.9.3