From dbbe9e82eecdceb3780c819c3681e6d16307619d Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 十二月 2024 15:32:38 +0800
Subject: [PATCH] 数据授权
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue | 929 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 584 insertions(+), 345 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
index 27f89a3..b035270 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -3,13 +3,13 @@
<avue-crud
ref="crud"
v-model="form"
+ :before-close="beforeClose"
+ :before-open="beforeOpen"
:data="data"
:option="option"
:table-loading="tableLoading"
- @row-del="rowDelHandler"
@row-save="rowSaveHandler"
@row-update="rowUpdateHandler"
- @refresh-change="handleRefresh"
@selection-change="selectChangeHandler"
@row-click="rowClickHandler">
<template slot="menuLeft" slot-scope="scope">
@@ -21,36 +21,31 @@
</el-button>
</template>
- <!-- eventKey鎿嶄綔鎸夐挳 -->
- <template slot="eventButtonForm" slot-scope="scope">
- <div style="width: 100%;display: flex;justify-content: center">
- <el-button plain size="mini" type="primary" @click="formDataAddClickHandler">鍒涘缓</el-button>
- <el-button plain size="mini" type="danger" @click="formDataDelClickHandler">鍒犻櫎</el-button>
- <el-button plain size="mini" type="primary" @click="moveUp">涓婄Щ</el-button>
- <el-button plain size="mini" type="primary" @click="moveDown">涓嬬Щ</el-button>
- </div>
+ <template slot="menu" slot-scope="scope">
+ <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
+ </el-button>
+ <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+ </el-button>
+ <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
+ </el-button>
</template>
+
<!-- eventKey浠ュ強eventValue鏄剧ず鍖哄煙 -->
<template slot="bottomValueForm" slot-scope="scope">
- <div style="height: 200px; width: 95%; border: 1px solid #bdbbbb;overflow-y: auto">
- <!-- 鍐呭 -->
- <el-table
- :data="FormData"
- :highlight-current-row="true"
- style="width: 100%"
- @row-click="formDataRowClick">
- <el-table-column
- align="center"
- label="EventKey"
- prop="eventKey">
- </el-table-column>
- <el-table-column
- align="center"
- label="EventValue"
- prop="eventValue">
- </el-table-column>
- </el-table>
- </div>
+ <avue-crud
+ :data="eventData"
+ :option="eventOption"
+ @row-click="formDataRowClick">
+ <template slot="menuLeft" slot-scope="scope">
+ <el-button plain size="mini" type="primary" @click="formDataAddClickHandler">鍒涘缓</el-button>
+ </template>
+
+ <template slot="menu" slot-scope="scope">
+ <el-button plain size="mini" type="danger" @click="formDataDelClickHandler(scope.row)">鍒犻櫎</el-button>
+ <el-button plain size="mini" type="primary" @click="moveUp(scope.row)">涓婄Щ</el-button>
+ <el-button plain size="mini" type="primary" @click="moveDown(scope.row)">涓嬬Щ</el-button>
+ </template>
+ </avue-crud>
</template>
<!-- 鍒囨崲鎼滅储绫诲瀷 婧愬璞� 鐩爣瀵硅薄鏄剧ずlabel鍒囨崲 -->
@@ -61,6 +56,52 @@
<span v-else-if="form.searchTarger === '1'">婧愬璞�</span>
<span v-else-if="form.searchTarger === '2'">鐩爣瀵硅薄</span>
</template>
+
+ <template slot="extAttrLabel" slot-scope="{}">
+ <el-tooltip placement="top">
+ <div slot="content">绀轰緥:ext1:xx;ext2;ext3:xx;ext4:xxx;extn:xxx;
+ <br/>1銆佺敤鑻变氦鍗婅鍒嗗彿:鍒嗛殧鍚勭粍鍊�;
+ <br/>2銆佹瘡缁勭敤鑻变氦鍗婅鍐掑彿:鍒嗛殧鍗曚竴鎵╁睍灞炴�у悕绉板強灞炴�у��;
+ <br/>3銆佸彲浠ュ畾涔変换鎰忕粍锛屼絾鎬诲瓧绗﹂暱搴︿笉寰楄秴杩�4000;
+ <br/>4銆佽緭鍏ユ椂锛屼笉瑕佹暡鍥炶溅鎹㈣;
+ </div>
+ <span>鎵╁睍灞炴�� <i class="el-icon-warning" style="color:red;"></i> </span>
+ </el-tooltip>
+ </template>
+
+ <template slot="uiParserLabel" slot-scope="{}">
+ <el-tooltip placement="top">
+ <div slot="content">绀轰緥锛歫ava_cs;xxx.java_bs;xxx.net_cs;xxxx.net_bs;xxx.mobile_cs;xx.mobile_bs;xxx;
+ <br/>1銆佺敤鑻辨枃鍗婅鍒嗗彿;鍒嗗壊鍚勭粍鍊硷紱锛堣繖閲岀粨灏剧殑鏄腑鏂囧瓧绗︾殑鍒嗗彿锛�
+ <br/>2銆佹瘡缁勭敤鑻辨枃鍗婅鍐掑彿:鍒嗛殧鍗曚竴鎵╁睍灞炴�у悕绉板強灞炴�у�硷紱
+ <br/>3銆佸叾涓殑xxx鏄悇绉嶈В鏋愮被鐨勫畬鏁寸被鍨嬪悕绉帮紙瀹屽叏闄愬畾鍚�)锛�
+ <br/>4銆佽緭鍏ユ椂锛屼笉瑕佹暡鍥炶溅鎹㈣;
+ </div>
+ <span>UI瑙f瀽绫诲瀷 <i class="el-icon-warning" style="color:red;"></i> </span>
+ </el-tooltip>
+ </template>
+
+ <template slot="templateIdForm" slot-scope="{}">
+ <el-select v-model="form.templateId" filterable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in templateIdList"
+ :key="item.viName"
+ :label="item.viName"
+ :value="item.viName">
+ </el-option>
+ </el-select>
+ </template>
+
+ <template slot="queryTemplateNameForm" slot-scope="{}">
+ <el-select v-model="form.queryTemplateName" filterable placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in queryTemplateNameList"
+ :key="item.qtName"
+ :label="item.qtName"
+ :value="item.qtName">
+ </el-option>
+ </el-select>
+ </template>
</avue-crud>
<el-dialog
v-dialogDrag
@@ -68,9 +109,9 @@
append-to-body="true"
class="avue-dialog"
title="閰嶇疆鎸夐挳"
- width="70%"
+ width="75%"
@close="dialogClose">
- <el-container>
+ <el-container v-loading="dialogLoading">
<el-header style="height: 40px !important;">
<div style="display: flex">
<el-button :disabled="!disabledBtn" plain size="mini" type="primary" @click="addClickBtnHandler">娣诲姞
@@ -83,9 +124,9 @@
</el-button>
<el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="escClickBtnHandler">鍙栨秷
</el-button>
- <el-button plain size="mini" type="primary">璋冩暣涓轰笅绾ф寜閽�</el-button>
- <el-button plain size="mini" type="primary">璋冩暣涓轰笂绾ф寜閽�</el-button>
- <el-button plain size="mini" type="primary">澶嶅埗鍒板叾浠栫粍浠�</el-button>
+ <el-button plain size="mini" type="primary" @click="changeBottomBtnHandler">璋冩暣涓轰笅绾ф寜閽�</el-button>
+ <el-button plain size="mini" type="primary" @click="changeTopBtnHandler">璋冩暣涓轰笂绾ф寜閽�</el-button>
+ <el-button plain size="mini" type="primary" @click="cloneClickBtnHandler">澶嶅埗鍒板叾浠栫粍浠�</el-button>
</div>
</el-header>
<el-container>
@@ -129,12 +170,17 @@
<el-form-item label="Action锛�" prop="Action">
<el-col :span="14">
- <el-input v-model="basicForm.actionOId" :readonly="disabledBtn"></el-input>
+ <div style="display: flex">
+ <el-input v-model="basicForm.actionName" :readonly="disabledBtn"></el-input>
+ <el-button :disabled="disabledBtn" size="mini" style="margin-left: 10px" type="success"
+ @click="actionFoucus">閫夋嫨
+ </el-button>
+ </div>
</el-col>
</el-form-item>
<el-col :span="12">
- <el-form-item label="鏄惁鎺堟潈锛�" prop="resource">
+ <el-form-item label="鏄惁鎺堟潈锛�" prop="authorization">
<el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="0">鏄�</el-radio>
<el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="1">鍚�</el-radio>
</el-form-item>
@@ -168,10 +214,12 @@
<el-divider content-position="left">鍙傛暟淇℃伅</el-divider>
<avue-crud
ref="paramsCrud"
+ v-model="paramsForm"
:data="paramsData"
:option="paramsOption"
style="margin-top: 20px"
- @row-save="paramsRowSave">
+ @row-save="paramsRowSave"
+ @row-update="paramsRowUpdate">
<template slot="menuLeft" slot-scope="scope">
<el-button :disabled="disabledBtn" icon="el-icon-plus" plain size="small" type="primary"
@click="paramsRowAddClickHandler">鍒涘缓
@@ -179,6 +227,9 @@
</template>
<template slot="menu" slot-scope="scope">
+ <el-button :disabled="disabledBtn" icon="el-icon-edit" size="small" type="text"
+ @click="paramsRowEditHandler(scope.row)">淇敼
+ </el-button>
<el-button :disabled="disabledBtn" icon="el-icon-delete" size="small" type="text"
@click="paramsRowDeleteHandler(scope.row)">鍒犻櫎
</el-button>
@@ -190,6 +241,11 @@
</el-container>
</el-container>
</el-dialog>
+ <action-dialog ref="actionDialog" @updataAction="actionSaveHandler"></action-dialog>
+ <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" paramsType="tab"
+ type="pageDef"></clone-dialog>
+ <clone-dialog ref="cloneBtnDialog" :fromOid="formBtnOid" :sourceOId="sourceBtnOid" paramsType="pageDef"
+ type="tabButton"></clone-dialog>
</div>
</template>
@@ -198,28 +254,97 @@
import func from "@/util/func";
import {
getPLPageDefinations,
- getBtmDatasByPage,
- getPortalVIDatasByPage,
- getQTInfoDatasByPage,
getTabButtons,
addTapButton,
- updateTapButton, getTabByContextIdAndType
+ updateTapButton,
+ addPageDefination,
+ deleteTabButton,
+ delPageDefination,
+ joinBtn,
+ exitBtn,
+ updatePageDefination,
+ getPortalVIDatasByPage,
+ getQTInfoDatasByPage
} from "@/api/UI/uiDefine";
+import actionDialog from '@/views/modelingMenu/ui/Aciton/components/dialog';
+import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog";
export default {
props: {
sourceData: {
type: Object,
- default: () => {}
+ default: () => {
+ }
},
height: {
type: String,
default: () => "auto"
}
},
+ components: {
+ actionDialog,
+ cloneDialog
+ },
name: "index",
data() {
return {
+ queryTemplateNameList: [],
+ templateIdList: [],
+ searchTargerChangeFlag: false,
+ showTypeChangeFlag: false,
+ linkTypeChangeFlag: false,
+ formBtnOid: '',
+ sourceBtnOid: '',
+ sourceOId: '',
+ fromOid: '',
+ paramsForm: {},
+ eventOption: {
+ ...basicOption,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ refreshBtn: false,
+ highlightCurrentRow: true,
+ height: 200,
+ column: [
+ {
+ label: 'EventKey',
+ prop: 'eventKey',
+ type: 'select',
+ value: 'SelectionEvent',
+ dicData: [
+ {
+ label: 'SelectionEvent',
+ value: 'SelectionEvent'
+ },
+ {
+ label: 'DBClickEvent',
+ value: 'DBClickEvent'
+ },
+ {
+ label: 'ClickEvent',
+ value: 'ClickEvent'
+ }
+ ],
+ cell: true
+ },
+ {
+ label: 'EventValue',
+ prop: 'eventValue',
+ cell: true,
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ventValue',
+ trigger: 'blur'
+ }
+ ]
+ }
+ ]
+ },
+ eventData: [],
+ btnActionVisible: false,
+ dialogLoading: false,
saveType: '',
disabledBtn: true,
paramsData: [],
@@ -235,11 +360,27 @@
column: [
{
label: '鍚嶇О',
- prop: 'name'
+ prop: 'name',
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ュ悕绉�',
+ trigger: 'blur'
+ }
+ ]
},
{
label: '鍊�',
- prop: 'value'
+ prop: 'value',
+ span: 24,
+ rules: [
+ {
+ required: true,
+ message: '璇疯緭鍏ュ��',
+ trigger: 'blur'
+ }
+ ]
}
]
},
@@ -277,6 +418,8 @@
addBtn: false,
index: true,
calcHeight: -30,
+ editBtn: false,
+ delBtn: false,
column: [
{
label: '鍚嶇О',
@@ -302,12 +445,13 @@
],
},
{
- label: 'UI瑙f瀽绫诲瀷',
+ label: '',
prop: 'uiParser',
hide: true,
+ labelWidth: 100,
},
{
- label: '鎵╁睍灞炴��',
+ label: '',
prop: 'extAttr',
hide: true,
},
@@ -348,7 +492,11 @@
return val;
},
change: (val) => {
- console.log(val);
+ const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'searchObjType', 'queryTemplateName', 'controlPath', 'expandCols', 'rootContent', 'showAbs', 'showLinkAbs', 'separator']
+ // list.forEach(item => {
+ // this.form[item] = "";
+ // })
+ // this.form.searchTarger = '1'
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = true; // 鍒囨崲榛樿灞曠ず鎼滅储绫诲瀷
// 妯℃澘绫诲瀷涓鸿〃鏍�
@@ -413,6 +561,16 @@
const obj = this.option.group[0].column.find(item => item.prop === 'linkType');
obj.display = val.value !== '1';
}
+
+ if (this.searchTargerChangeFlag) {
+ // 鍒囨崲娓呯┖妯℃澘绫诲瀷
+ const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl'];
+ list.forEach(item => {
+ this.form[item] = '';
+ })
+ } else {
+ this.searchTargerChangeFlag = true;
+ }
}
},
{
@@ -423,7 +581,6 @@
],
group: [
{
- icon: 'el-icon-folder-opened',
label: '',
arrow: false,
prop: 'group1',
@@ -431,155 +588,115 @@
{
label: '婧愬璞�',
prop: 'showType',
- type: 'table',
- display: false,
+ type: 'select',
+ cascader: ['linkType', 'SubUILayout', 'searchObjType'],
placeholder: "璇疯緭鍏ュ唴瀹�",
- props: {
- label: 'name',
- value: 'name'
- },
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'name'
- }, {
- label: '鏍囩',
- prop: 'label'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- //page鍒嗛〉
- // 涓嶇鏄悳绱� 杩樻槸棣栨鍔犺浇閮戒細瑙﹀彂page 鎵�浠ュ彧闇�瑕佹嬁page瀛樺湪涓庡惁杩涜璇锋眰灏卞彲浠� 濡傛灉鍐嶅幓鍒ゆ柇data鎼滅储 鎴栬�卾alue鍒濇鍔犺浇灏变細閲嶅璇锋眰
- if (page) {
- const params = {
- "conditionMap[filterInputValue]": value ? value.name : ''
- };
- getBtmDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- callback({
- total: res.data.total,
- data: res.data.data
- })
+ dicUrl: '/api/uiManagerController/getBtmDatasByPage?page=1&limit=-1',
+ filterable: true,
+ change: (val) => {
+ if (val.value) {
+ let params = {
+ 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? this.form.showType : this.form.linkType
+ }
+ getPortalVIDatasByPage(1, -1, params).then(res => {
+ this.templateIdList = res.data.data;
+ })
+ getQTInfoDatasByPage(1, -1, params).then(res => {
+ this.queryTemplateNameList = res.data.data;
})
}
+ if (this.showTypeChangeFlag) {
+ if (val.value) {
+ if (this.form.searchTarger === '1') {
+ this.form.templateId = "";
+ this.form.queryTemplateName = "";
+ } else {
+ this.form.linkType = "";
+ this.form.templateId = "";
+ this.form.queryTemplateName = "";
+ }
+ }
+ } else {
+ this.showTypeChangeFlag = true;
+ }
},
+ props: {
+ label: 'name',
+ value: 'name',
+ desc: 'label'
+ },
+ rules: [
+ {
+ required: true,
+ message: '璇烽�夋嫨鍐呭',
+ trigger: 'change'
+ }
+ ],
},
{
label: '閾炬帴绫诲瀷',
prop: 'linkType',
- type: 'table',
+ type: 'select',
display: false,
+ filterable: true,
props: {
- label: 'viName',
- value: 'viName'
+ label: 'name',
+ value: 'name',
+ desc: 'tag'
},
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'viName'
- }, {
- label: '绫诲瀷',
- prop: 'viType'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- if (page) {
- const params = {
- "conditionMap[selectBtmType]": this.form.showType,
- "conditionMap[filterInputValue]": data ? data.viName : '',
- };
- getPortalVIDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- console.log(res);
- callback({
- total: res.data.total,
- data: res.data.data
- })
+ dicUrl: '/api/uiManagerController/getLinkDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
+ change: (val) => {
+ if (val.value) {
+ let params = {
+ 'conditionMap[selectBtmType]': val.value
+ }
+ getPortalVIDatasByPage(1, -1, params).then(res => {
+ this.templateIdList = res.data.data;
+ })
+ getQTInfoDatasByPage(1, -1, params).then(res => {
+ this.queryTemplateNameList = res.data.data;
})
}
- },
+ if (this.linkTypeChangeFlag) {
+ if (val.value) {
+ this.form.templateId = "";
+ this.form.queryTemplateName = "";
+ }
+ } else {
+ this.linkTypeChangeFlag = true;
+ }
+ }
},
{
label: '閫夋嫨妯℃澘',
- prop: 'showTypea',
+ prop: 'templateId',
display: false,
- type: 'table',
- props: {
- label: 'viName',
- value: 'viName'
- },
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'viName'
- }, {
- label: '绫诲瀷',
- prop: 'viType'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- if (page) {
- const params = {
- "conditionMap[selectBtmType]": this.form.showType,
- "conditionMap[filterInputValue]": data ? data.viName : '',
- };
- getPortalVIDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- console.log(res);
- callback({
- total: res.data.total,
- data: res.data.data
- })
- })
+ formslot: true,
+ rules: [
+ {
+ required: true,
+ message: '璇烽�夋嫨妯℃澘',
+ trigger: 'submit'
}
- },
+ ],
},
{
label: 'UI瀹氫箟',
- prop: 'UI',
- type: 'table',
+ prop: 'SubUILayout',
+ type: 'select',
+ filterable: true,
display: false,
props: {
- label: 'qtName',
- value: 'qtName'
+ label: 'plName',
+ value: 'plCode',
},
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'qtName'
- }, {
- label: '绫诲瀷',
- prop: 'btmName'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- if (page) {
- const params = {
- "conditionMap[selectBtmType]": this.form.showType,
- "conditionMap[filterInputValue]": data ? data.qtName : '',
- };
- getQTInfoDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- callback({
- total: res.data.total,
- data: res.data.data
- })
- })
- }
- },
+ dicUrl: '/api/uiManagerController/getUILayoutDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
},
{
label: '鏌ヨ绫诲瀷',
prop: 'searchType',
display: false,
+ value: '1',
type: 'radio',
span: 24,
dicData: [
@@ -596,112 +713,54 @@
{
label: '鏌ヨ瀵硅薄绫诲瀷',
prop: 'searchObjType',
- type: 'table',
+ type: 'select',
display: false,
labelWidth: 100,
props: {
label: 'qtName',
- value: 'qtName'
+ value: 'qtName',
+ desc: 'btmName'
},
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'qtName'
- }, {
- label: '绫诲瀷',
- prop: 'btmName'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- if (page) {
- const params = {
- "conditionMap[selectBtmType]": this.form.showType,
- "conditionMap[filterInputValue]": data ? data.qtName : '',
- };
- getQTInfoDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- callback({
- total: res.data.total,
- data: res.data.data
- })
- })
- }
- },
+ dicUrl: '/api/uiManagerController/getLinkDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]=',// cs绔湁闂 鏆傛椂涓嶅睍绀哄唴瀹�
},
{
label: '鏌ヨ妯℃澘',
- prop: 'showTypes',
- type: 'table',
+ prop: 'queryTemplateName',
+ type: 'select',
display: false,
- props: {
- label: 'qtName',
- value: 'qtName'
- },
- children: {
- border: true,
- column: [{
- label: '鍚嶇О',
- search: true,
- searchSpan: 24,
- prop: 'qtName'
- }, {
- label: '绫诲瀷',
- prop: 'btmName'
- }],
- },
- onLoad: ({page, value, data}, callback) => {
- if (page) {
- const params = {
- "conditionMap[selectBtmType]": this.form.showType,
- "conditionMap[filterInputValue]": data ? data.qtName : '',
- };
- getQTInfoDatasByPage(page.currentPage, page.pageSize, params).then(res => {
- callback({
- total: res.data.total,
- data: res.data.data
- })
- })
- }
- },
+ formslot: true,
},
{
label: '鎺у埗璺緞',
- prop: 'kzlj',
+ prop: 'controlPath',
display: false,
type: 'textarea',
+ span: 24,
rows: 3
},
{
- label: '鏍硅妭鐐规樉绀鸿〃杈惧紡',
- prop: 'genjiedian',
+ label: '鏍戠粨鏋勫睍寮�鍒�',
+ prop: 'expandCols',
+ labelWidth: 110,
display: false,
- labelWidth: 135,
- span: 24
- },
- {
- label: '鏍戣妭鐐规樉绀鸿〃杈惧紡',
- prop: 'shujiedian',
- display: false,
- labelWidth: 135,
- span: 24
+ span: 12
},
{
label: '鍙傜収鏍戣缃�',
- prop: 'canzhaoshu',
+ prop: 'showLinkAbs',
display: false,
},
{
label: '鍒嗛殧绗�',
- prop: 'fgf',
+ prop: 'separator',
display: false,
},
{
label: '灞曞紑鏂瑰紡',
- prop: 'zkfs',
+ prop: 'expandMode',
display: false,
type: 'radio',
+ value: '1',
dicData: [
{
label: '閫愮骇灞曞紑',
@@ -709,52 +768,50 @@
},
{
label: '鍏ㄩ儴灞曞紑',
- value: '2'
+ value: '0'
}
]
+ },
+ {
+ label: '鏍硅妭鐐规樉绀鸿〃杈惧紡',
+ prop: 'rootContent',
+ display: false,
+ labelWidth: 135,
+ span: 12
+ },
+ {
+ label: '鏍戣妭鐐规樉绀鸿〃杈惧紡',
+ prop: 'showAbs',
+ display: false,
+ labelWidth: 135,
+ span: 12
+ },
+ {
+ label: 'B/S鑷畾涔夋煡璇�',
+ prop: 'bsCustQueryCLsOrUrl',
+ display: false,
+ labelWidth: 115,
+ span: 12
+ },
+ {
+ label: 'C/S鑷畾涔夋煡璇�',
+ prop: 'csCustQueryCLsOrUrl',
+ display: false,
+ labelWidth: 115,
+ span: 12
},
]
},
{
- icon: 'el-icon-folder-opened',
label: '',
arrow: false,
prop: 'group2',
column: [
{
- label: 'EventKey',
- prop: 'eventKey',
- type: 'select',
- value: 'SelectionEvent',
- dicData: [
- {
- label: 'SelectionEvent',
- value: 'SelectionEvent'
- },
- {
- label: 'DBClickEvent',
- value: 'DBClickEvent'
- },
- {
- label: 'ClickEvent',
- value: 'ClickEvent'
- }
- ],
- },
- {
- label: 'EventValue',
- prop: 'eventValue',
- labelWidth: 100
- },
- {
- label: '',
- prop: 'eventButton',
- span: 24
- },
- {
label: '',
prop: 'bottomValue',
- span: 24
+ span: 24,
+ labelWidth: 10
},
]
}
@@ -767,30 +824,33 @@
}
},
watch: {
- sourceData:{
+ sourceData: {
handler(val) {
- if(val && val.plOId) {
- this.getTableList()
+ if (val && val.plOId) {
+ this.getTableList();
+ } else {
+ this.data = [];
}
},
immediate: true,
- deep:true
+ deep: true
}
},
computed: {},
methods: {
//鑾峰彇鍒楄〃鏁版嵁
- getTableList(){
+ getTableList() {
const params = {
- pageContextOId:this.sourceData.plOId
+ pageContextOId: this.sourceData.plOId
}
- getPLPageDefinations( params).then(res => {
+ getPLPageDefinations(params).then(res => {
this.data = res.data.data;
- this.selectList=[];
+ this.selectList = [];
this.$refs.crud.clearSelection();
this.tableLoading = false;
})
},
+
// 鏍规嵁涓嶅悓鍊煎尯鍒嗙被鍨�
templateTypeValueHandler(val) {
const componentMap = {
@@ -827,7 +887,102 @@
// 澧炲姞
addClickHandler() {
+ if (!this.sourceData || !this.sourceData.plOId) {
+ this.$message.error('璇峰湪涓婃柟閫夋嫨涓�鏉℃暟鎹悗杩涜娣诲姞');
+ return;
+ }
this.$refs.crud.rowAdd();
+ },
+
+ // 澧炲姞鍏抽棴瀵硅瘽妗� 娓呯┖event鏁扮粍
+ beforeClose(done) {
+ this.eventData = [];
+ done();
+ },
+
+ // 淇敼
+ editBtnClick(row) {
+ this.eventData = [];
+ if (row.eventKey && row.eventValue) {
+ let keys = row.eventKey.split(',');
+ let values = row.eventValue.split(',');
+
+ this.eventData = keys.map((key, index) => {
+ return {
+ index: this.eventData.length,
+ eventKey: key.trim(),
+ eventValue: values[index],
+ $cellEdit: true
+ };
+ });
+ }
+ this.searchTargerChangeFlag = false;
+ this.$refs.crud.rowEdit(row);
+ },
+
+ // 鍒犻櫎
+ rowDeleteHandler(row) {
+ this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ const params = {
+ oids: row.id
+ }
+ delPageDefination(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success('鍒犻櫎鎴愬姛');
+ this.getTableList();
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+
+ // 淇濆瓨
+ rowSaveHandler(row, done, loading) {
+ if (row.templateType === '6') {
+ row.SubUIObjType = row.showType;
+ row.showType = "";
+ }
+ const params = {
+ ...row,
+ tabPageOId: this.sourceData.plOId
+ }
+ addPageDefination(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ done();
+ }
+ }).catch(err => {
+ loading();
+ })
+ },
+
+ rowUpdateHandler(row, index, done, loading) {
+ if (row.templateType === '6') {
+ row.SubUIObjType = row.showType;
+ row.showType = "";
+ }
+ const params = {
+ ...row,
+ tabPageOId: this.sourceData.plOId
+ }
+ updatePageDefination(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ done();
+ }
+ }).catch(err => {
+ loading();
+ })
},
// 瀵硅瘽妗嗚〃鏍艰鐐瑰嚮
@@ -837,41 +992,37 @@
// 瀵硅瘽妗嗚〃鏍兼坊鍔�
formDataAddClickHandler() {
- if (!this.form.eventKey) {
- this.$message.error('璇烽�夋嫨EventKey');
- return;
- }
-
- if (!this.form.eventValue) {
- this.$message.error('璇疯緭鍏ventValue');
- return;
- }
-
- if (this.FormData.length >= 1) {
- const eventValueStatus = this.FormData.some(item => item.eventValue === this.form.eventValue);
-
- if (eventValueStatus) {
- this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑 EventValue锛屼笉鑳介噸澶嶆坊鍔�');
- return;
- }
- }
+ // if (!this.form.eventKey) {
+ // this.$message.error('璇烽�夋嫨EventKey');
+ // return;
+ // }
+ //
+ // if (!this.form.eventValue) {
+ // this.$message.error('璇疯緭鍏ventValue');
+ // return;
+ // }
+ //
+ // if (this.eventData.length >= 1) {
+ // const eventValueStatus = this.eventData.some(item => item.eventValue === this.form.eventValue);
+ //
+ // if (eventValueStatus) {
+ // this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑 EventValue锛屼笉鑳介噸澶嶆坊鍔�');
+ // return;
+ // }
+ // }
const obj = {
- index: this.FormData.length,
- eventKey: this.form.eventKey,
- eventValue: this.form.eventValue
+ index: this.eventData.length,
+ eventKey: this.form.eventKey || 'SelectionEvent',
+ eventValue: this.form.eventValue,
+ $cellEdit: true
}
- this.FormData.push(obj);
+ this.eventData.push(obj);
},
// 瀵硅瘽妗嗚〃鏍煎垹闄�
- formDataDelClickHandler() {
- if (func.isEmptyObject(this.formDataRow)) {
- this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
- return;
- }
-
- this.FormData = this.FormData.filter(item => item.index !== this.formDataRow.index);
+ formDataDelClickHandler(row) {
+ this.eventData = this.eventData.filter(item => item.index !== row.index);
},
// 妯℃澘绫诲瀷鏄剧ず闅愯棌鏂规硶
@@ -885,7 +1036,7 @@
// 妯℃澘绫诲瀷涓鸿〃鏍�
templateTypeTable(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'showTypea', 'showTypes']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
},
// 妯℃澘绫诲瀷涓鸿嚜瀹氫箟妯℃澘
@@ -893,19 +1044,19 @@
if (!val) return;
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨�
- this.updateDisplay(val, ['kzlj']);
+ this.updateDisplay(val, ['controlPath']);
},
// 妯℃澘绫诲瀷涓烘爲琛�
templateTypeTreeTable(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'showTypea', 'showTypes', 'zkl', 'zkfs']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
},
// 妯℃澘绫诲瀷涓鸿〃鍗�
templateTypeForm(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'showTypea', 'showTypes']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
},
// 妯℃澘绫诲瀷涓烘爲
@@ -913,7 +1064,7 @@
if (!val) return;
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨�
- this.updateDisplay(val, ['showType', 'showTypes', 'genjiedian', 'shujiedian', 'canzhaoshu', 'fgf', 'zkfs', 'linkType']);
+ this.updateDisplay(val, ['showType', 'queryTemplateName', 'rootContent', 'showAbs', 'showLinkAbs', 'separator', 'expandMode', 'linkType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
},
// 妯℃澘绫诲瀷涓篣I瀹氫箟
@@ -921,7 +1072,7 @@
if (!val) return;
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨�
- this.updateDisplay(val, ['showType', 'UI', 'searchType', 'searchObjType', 'showTypes']);
+ this.updateDisplay(val, ['showType', 'SubUILayout', 'searchType', 'searchObjType', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
},
// 鏌ユ壘鏁扮粍涓璞$储寮�
@@ -930,37 +1081,33 @@
},
// 涓婄Щ
- moveUp() {
- const index = this.findIndexByEventValue(this.FormData, this.formDataRow.eventValue);
+ moveUp(row) {
+ const index = this.findIndexByEventValue(this.eventData, row.eventValue);
if (index > 0) {
- // 浣跨敤 splice 鏂规硶鏉ユā鎷熶氦鎹�
- const temp = this.FormData.splice(index - 1, 1, this.FormData[index])[0]; // 绉婚櫎 index-1 鐨勫厓绱狅紝骞跺湪鐩稿悓浣嶇疆鎻掑叆 index 鐨勫厓绱狅紝杩斿洖琚Щ闄ょ殑鍏冪礌
- this.FormData.splice(index, 1, temp); // 鍦� index 浣嶇疆鎻掑叆涔嬪墠琚Щ闄ょ殑鍏冪礌
+ // 浣跨敤 splice 鏉ユā鎷熶氦鎹�
+ const temp = this.eventData.splice(index - 1, 1, this.eventData[index])[0]; // 绉婚櫎 index-1 鐨勫厓绱� 骞跺湪鐩稿悓浣嶇疆鎻掑叆 index 鐨勫厓绱� 杩斿洖琚Щ闄ょ殑鍏冪礌
+ this.eventData.splice(index, 1, temp); // 鍦� index 浣嶇疆鎻掑叆涔嬪墠琚Щ闄ょ殑鍏冪礌
}
},
// 涓嬬Щ
- moveDown() {
- const index = this.findIndexByEventValue(this.FormData, this.formDataRow.eventValue);
- const length = this.FormData.length;
+ moveDown(row) {
+ const index = this.findIndexByEventValue(this.eventData, row.eventValue);
+ const length = this.eventData.length;
if (index < length - 1) {
- const temp = this.FormData[index];
- this.FormData.splice(index, 1, this.FormData.splice(index + 1, 1, temp)[0]);
+ const temp = this.eventData[index];
+ this.eventData.splice(index, 1, this.eventData.splice(index + 1, 1, temp)[0]);
}
- },
-
- // 鎸夐挳璁捐鍏抽棴瀵硅瘽妗�
- dialogClose() {
-
},
// 鎸夐挳璁捐
btnDesignClickHandler() {
- if (this.selectList.length !=1) {
+ if (this.selectList.length != 1) {
this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
return;
}
this.btnDesignVisible = true;
+ this.formBtnOid = this.selectList[0].id;
this.getTabBtnTree();
},
@@ -973,11 +1120,12 @@
getTabButtons(params).then(res => {
if (res.data.code === 200) {
const data = res.data.data;
- this.treeData=[{
- label: this.selectList[0].name,
- oId: 'parentNode',
- children:data
- }];
+ this.treeData = [{
+ label: this.selectList[0].name,
+ oId: 'parentNode',
+ disabled: true,
+ children: data
+ }];
this.treeLoading = false;
} else {
this.$message.error('璇锋鏌ユ帶鍒跺彴閿欒');
@@ -1001,9 +1149,20 @@
this.paramsData.splice(row.$index, 1)
},
+ // 鎸夐挳璁捐淇℃伅鍙傛暟淇℃伅淇敼
+ paramsRowEditHandler(row) {
+ this.$refs.paramsCrud.rowEdit(row, row.$index);
+ },
+
// 鎸夐挳璁捐鍙傛暟淇℃伅娣诲姞鎸夐挳
paramsRowAddClickHandler() {
this.$refs.paramsCrud.rowAdd();
+ },
+
+ // 鎸夐挳璁捐鍙傛暟淇℃伅淇敼淇濆瓨
+ paramsRowUpdate(row, index, done, loading) {
+ this.paramsData.splice(index, 1, row);
+ done();
},
// 鎸夐挳璁捐鍙傛暟淇℃伅淇濆瓨
@@ -1037,7 +1196,7 @@
// 鎸夐挳璁捐淇敼
editClickBtnHandler() {
if (func.isEmptyObject(this.nodeTreeRow)) {
- this.$message.error('璇烽�夋嫨鑺傜偣杩涜娣诲姞');
+ this.$message.error('璇烽�夋嫨鑺傜偣杩涜淇敼');
return;
}
@@ -1060,6 +1219,7 @@
// 鎸夐挳璁捐淇濆瓨
saveClickBtnHandler() {
+ this.dialogLoading = true;
const saveFunction = this.saveType === 'add' ? addTapButton : updateTapButton;
const bottomParams = {};
if (this.paramsData.length > 0) {
@@ -1067,12 +1227,12 @@
bottomParams[item.name] = item.value
})
}
- ;
const params = this.saveType === 'add' ? {
...this.basicForm,
parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
- buttonParams: bottomParams
+ buttonParams: bottomParams,
+ tableOId: this.selectList[0].id
} : {
...this.basicForm,
buttonParams: bottomParams
@@ -1085,7 +1245,10 @@
this.getTabBtnTree();
this.basicForm = {};
this.paramsData = [];
+ this.dialogLoading = false;
}
+ }).catch(err => {
+ this.dialogLoading = false;
})
},
@@ -1106,7 +1269,14 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
-
+ deleteTabButton(this.nodeTreeRow).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success('鍒犻櫎鎴愬姛');
+ this.getTabBtnTree();
+ this.basicForm = {};
+ this.paramsData = [];
+ }
+ })
}).catch(() => {
this.$message({
type: 'info',
@@ -1114,7 +1284,76 @@
});
});
},
- }
+
+ // 澶嶅埗鍒板叾浠栫粍浠�
+ cloneClickBtnHandler() {
+ if (func.isEmptyObject(this.nodeTreeRow)) {
+ this.$message.error('璇烽�夋嫨鑺傜偣杩涜澶嶅埗');
+ return;
+ }
+ if (this.nodeTreeRow.oId === "parentNode") {
+ this.$message.error('椤跺眰鑺傜偣涓嶅厑璁稿鍒�');
+ return;
+ }
+ this.sourceBtnOid = this.nodeTreeRow.oId;
+ this.$refs.cloneBtnDialog.openDialog(this.nodeTreeRow);
+ },
+
+ // 閫夋嫨action
+ actionFoucus() {
+ this.$refs.actionDialog.openDialog();
+ },
+
+ // 淇濆瓨action
+ actionSaveHandler(val) {
+ this.$set(this.basicForm, 'actionName', val.plName);
+ this.$set(this.basicForm, 'actionOId', val.plOId);
+ },
+
+ // 鎵撳紑鍏嬮殕瀵硅瘽妗�
+ rowCloneHandler(row) {
+ this.fromOid = this.sourceData.plOId;
+ this.sourceOId = row.id;
+ this.$refs.cloneDialog.openDialog(row);
+ },
+
+ // 璋冩暣涓轰笅绾ф寜閽�
+ changeBottomBtnHandler() {
+ if (func.isEmptyObject(this.nodeTreeRow)) {
+ this.$message.error('璇烽�夋嫨鑺傜偣杩涜淇敼');
+ return;
+ }
+
+ if (this.nodeTreeRow.oId === "parentNode") {
+ this.$message.error('椤跺眰鑺傜偣涓嶅厑璁歌皟鏁�');
+ return;
+ }
+ joinBtn(this.nodeTreeRow).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTabBtnTree();
+ }
+ })
+ },
+
+ // 璋冩暣涓轰笂绾ф寜閽�
+ changeTopBtnHandler() {
+ if (func.isEmptyObject(this.nodeTreeRow)) {
+ this.$message.error('璇烽�夋嫨鑺傜偣杩涜淇敼');
+ return;
+ }
+ if (this.nodeTreeRow.oId === "parentNode") {
+ this.$message.error('椤跺眰鑺傜偣涓嶅厑璁歌皟鏁�');
+ return;
+ }
+ exitBtn(this.nodeTreeRow).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTabBtnTree();
+ }
+ })
+ }
+ },
}
</script>
--
Gitblit v1.9.3