| | |
| | | } |
| | | |
| | | //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, |
| | | } |
| | | }) |
| | | } |
| | |
| | | export const getTree = (parentCode, params) => { |
| | | return request({ |
| | | url: '/api/uiDataController/getDataForTree', |
| | | method: 'get', |
| | | params: { |
| | | method: 'post', |
| | | data: { |
| | | ...params, |
| | | parentCode |
| | | } |
| | |
| | | export default { |
| | | name: "dynamic-TreeTable", |
| | | props: { |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO: { |
| | | type: Object, |
| | | default: {} |
| | |
| | | 'test2': () => import('@/views/custom-ui/test2'), |
| | | }, |
| | | props: { |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO: { |
| | | type: Object, |
| | | default: {} |
| | |
| | | name: "dynamic-form", |
| | | components: {VciWebRefer}, |
| | | props: { |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO: { |
| | | type: Object, |
| | | default: {} |
| | |
| | | :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"> |
| | |
| | | export default { |
| | | name: "dynamic-table", |
| | | props: { |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO: { |
| | | type: Object, |
| | | default: {} |
| | |
| | | //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据 |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | //上一区域业务类型 |
| | | sourceBtmType:{ |
| | | type: String |
| | | }, |
| | | paramVOS: { |
| | | type: Object, |
| | |
| | | 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, |
| | |
| | | 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; |
| | | } |
| | |
| | | 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) { |
| | |
| | | } |
| | | }, |
| | | 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); |
| | | }, |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | export default { |
| | | name: "dynamic-tree", |
| | | props:{ |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO:{ |
| | | type:Object, |
| | | default: {} |
| | |
| | | //菜单源数据或者弹窗时按钮所属区域的上一区域选中数据 |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | //上一区域业务类型 |
| | | sourceBtmType:{ |
| | | type: String |
| | | }, |
| | | dataStore:{ |
| | | //弹窗时按钮所属区域选中数据 |
| | |
| | | this.$emit("setDataStore", { |
| | | area: this.areasName, |
| | | type:this.componentVO.uiComponentType, |
| | | btmType:this.componentVO.treeDefineVO.btmType, |
| | | dataStore:newval |
| | | }); |
| | | } |
| | |
| | | <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" |
| | |
| | | |
| | | </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" |
| | |
| | | |
| | | </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" |
| | |
| | | name: "dynamicIndex", |
| | | components:{dynamicCustom, dynamicTree, dynamicForm, dynamicTable,dynamicTreeTable }, |
| | | props:{ |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | componentVO:{ |
| | | type:Object, |
| | | default: {} |
| | |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | //上一区域业务类型 |
| | | sourceBtmType:{ |
| | | type: String |
| | | }, |
| | | dataStore:{ |
| | | //弹窗时按钮所属区域选中数据 |
| | | type:Array, |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | name: "UIContentArea", |
| | | components:{compoentIndex}, |
| | | props:{ |
| | | //ui上下文的业务类型(或链接类型) |
| | | uiBtmType: { |
| | | type: String |
| | | }, |
| | | //ui上下文 |
| | | uiContext:{ |
| | | type: String |
| | | }, |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | //上一区域业务类型 |
| | | sourceBtmType:{ |
| | | type: String |
| | | }, |
| | | dataStore:{ |
| | | //弹窗时按钮所属区域选中数据 |
| | | type:Array, |
| | |
| | | <!--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> |
| | |
| | | <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"> |
| | |
| | | </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"> |
| | |
| | | </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"> |
| | |
| | | context: '',//UI上下文的名称 |
| | | checkedData: { |
| | | //各区域选中数据 |
| | | northArea: [{}], |
| | | westArea: [{}], |
| | | centerArea: [{}], |
| | | southArea: [{}] |
| | | northArea: { |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | westArea: { |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | centerArea: { |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | southArea: { |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | } |
| | | }, |
| | | uiDefineVO: {}, |
| | | centerHeight: '100%', |
| | |
| | | } |
| | | }, |
| | | setDataStore(value) { |
| | | this.checkedData[value.area] = value.dataStore; |
| | | this.checkedData[value.area].DefineVOBtmType = value.btmType; |
| | | this.checkedData[value.area].data = value.dataStore; |
| | | } |
| | | } |
| | | } |
| | |
| | | <!--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> |
| | |
| | | <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"> |
| | |
| | | </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"> |
| | |
| | | </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"> |
| | |
| | | return { |
| | | checkedData:{ |
| | | //各区域选中数据 |
| | | northAreaInDialog:[{}], |
| | | westAreaInDialog:[{}], |
| | | centerAreaInDialog:[{}], |
| | | southAreaInDialog:[{}] |
| | | northAreaInDialog:{ |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | westAreaInDialog:{ |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | centerAreaInDialog:{ |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | }, |
| | | southAreaInDialog:{ |
| | | DefineVOBtmType:'', |
| | | data:[{}] |
| | | } |
| | | }, |
| | | uiDefineVO: {}, |
| | | centerHeight:'100%' |
| | |
| | | } |
| | | }, |
| | | setDataStore(value) { |
| | | this.checkedData[value.area] = value.dataStore; |
| | | this.checkedData[value.area].DefineVOBtmType = value.btmType; |
| | | this.checkedData[value.area].data = value.dataStore; |
| | | } |
| | | } |
| | | } |