cloud-web-corejs 1.0.54-dev.189 → 1.0.54-dev.190
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +1 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +17 -6
- package/src/components/xform/form-render/indexMixin.js +2050 -1
- package/src/mixins/tableTree/index.js +192 -1
- package/src/views/bd/setting/menu_kind/list.vue +4 -0
- package/src/views/bd/setting/menu_kind/mixins/list.js +197 -1
package/package.json
CHANGED
@@ -0,0 +1,220 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<el-form-item label-width="0">
|
4
|
+
<el-divider class="custom-divider-margin-top">显隐规则</el-divider>
|
5
|
+
</el-form-item>
|
6
|
+
<el-form-item :label="i18nt('启用显隐规则')">
|
7
|
+
<el-switch v-model="optionModel.widgetShowRuleEnabled"></el-switch>
|
8
|
+
</el-form-item>
|
9
|
+
<el-form-item :label="i18nt('显隐规则设置')">
|
10
|
+
<a href="javascript:void(0);" class="a-link link-oneLind" @click="openDialog">
|
11
|
+
<span>{{ optionModel.widgetShowRuleConfig && optionModel.widgetShowRuleConfig.length ? "已维护" : "" }}</span>
|
12
|
+
<i class="el-icon-edit"></i>
|
13
|
+
</a>
|
14
|
+
</el-form-item>
|
15
|
+
<el-form-item label-width="0">
|
16
|
+
<el-divider class="custom-divider-margin-top"></el-divider>
|
17
|
+
</el-form-item>
|
18
|
+
<el-dialog
|
19
|
+
v-if="dialogVisible"
|
20
|
+
custom-class="dialog-style list-dialog"
|
21
|
+
:title="i18nt('显隐规则设置')"
|
22
|
+
:visible.sync="dialogVisible"
|
23
|
+
:show-close="!0"
|
24
|
+
:append-to-body="true"
|
25
|
+
:modal="false"
|
26
|
+
:close-on-click-modal="!1"
|
27
|
+
:close-on-press-escape="!1"
|
28
|
+
:destroy-on-close="!0"
|
29
|
+
width="1220px"
|
30
|
+
top="5vh"
|
31
|
+
v-dialog-drag
|
32
|
+
:fullscreen="true"
|
33
|
+
>
|
34
|
+
<div class="cont" style="padding-bottom: 8px;">
|
35
|
+
<el-table
|
36
|
+
ref="singleTable"
|
37
|
+
width="100%"
|
38
|
+
:data="tableData"
|
39
|
+
height="100%"
|
40
|
+
border=""
|
41
|
+
stripe=""
|
42
|
+
style="margin-bottom: 0px;"
|
43
|
+
>
|
44
|
+
<el-table-column type="index" width="35" fixed="left"></el-table-column>
|
45
|
+
<el-table-column :label="i18nt('服务类型')" width="150">
|
46
|
+
<template slot-scope="{row}">
|
47
|
+
<el-select v-model="row.serveType" @change="changeServeType(row)">
|
48
|
+
<el-option :value="1" label="正式"></el-option>
|
49
|
+
<el-option :value="2" label="UAT"></el-option>
|
50
|
+
<el-option :value="3" label="测试"></el-option>
|
51
|
+
<el-option :value="4" label="自定义"></el-option>
|
52
|
+
<el-option :value="5" label="默认"></el-option>
|
53
|
+
</el-select>
|
54
|
+
</template>
|
55
|
+
</el-table-column>
|
56
|
+
<el-table-column :label="i18nt('服务名称')" width="150">
|
57
|
+
<template slot-scope="{row}">
|
58
|
+
<el-input v-model="row.serveName" clearable :disabled="row.serveType!==4"></el-input>
|
59
|
+
</template>
|
60
|
+
</el-table-column>
|
61
|
+
<el-table-column :label="i18nt('组织编码')" width="250">
|
62
|
+
<template slot-scope="{row,$index}">
|
63
|
+
<el-input v-model="row.companyCodes" clearable :disabled="row.serveType==5"></el-input>
|
64
|
+
</template>
|
65
|
+
</el-table-column>
|
66
|
+
<el-table-column :label="i18nt('角色编码')" width="250">
|
67
|
+
<template slot-scope="{row}">
|
68
|
+
<el-input v-model="row.roleCodes" clearable></el-input>
|
69
|
+
</template>
|
70
|
+
</el-table-column>
|
71
|
+
<el-table-column :label="i18nt('设置')" width="150">
|
72
|
+
<template slot-scope="{row}">
|
73
|
+
<el-select v-model="row.type">
|
74
|
+
<el-option :value="1" label="显示"></el-option>
|
75
|
+
<el-option :value="2" label="隐藏"></el-option>
|
76
|
+
</el-select>
|
77
|
+
</template>
|
78
|
+
</el-table-column>
|
79
|
+
<el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
|
80
|
+
<template #header>
|
81
|
+
<span>{{ i18nt('designer.setting.actionColumn') }}</span>
|
82
|
+
<el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
|
83
|
+
icon="el-icon-plus" @click="addItem"></el-button>
|
84
|
+
</template>
|
85
|
+
<template slot-scope="scope">
|
86
|
+
<el-button
|
87
|
+
:title="i18nt('designer.setting.deleteTableColumn')"
|
88
|
+
size="mini"
|
89
|
+
type=""
|
90
|
+
circle=""
|
91
|
+
icon="el-icon-minus"
|
92
|
+
@click="tableData.splice(scope.$index,1)"
|
93
|
+
></el-button>
|
94
|
+
</template>
|
95
|
+
</el-table-column>
|
96
|
+
|
97
|
+
</el-table>
|
98
|
+
</div>
|
99
|
+
<div class="dialog-footer" slot="footer">
|
100
|
+
<el-button @click="dialogVisible = false" class="button-sty" icon="el-icon-close">
|
101
|
+
{{ i18nt('designer.hint.cancel') }}
|
102
|
+
</el-button>
|
103
|
+
<el-button type="primary" @click="colSubmit" class="button-sty" icon="el-icon-check">
|
104
|
+
{{ i18nt('designer.hint.confirm') }}
|
105
|
+
</el-button>
|
106
|
+
</div>
|
107
|
+
</el-dialog>
|
108
|
+
</div>
|
109
|
+
</template>
|
110
|
+
<script>
|
111
|
+
import i18n from "@base/components/xform/utils/i18n";
|
112
|
+
|
113
|
+
export default {
|
114
|
+
name: "widgetShowRuleFlag-editor",
|
115
|
+
mixins: [i18n],
|
116
|
+
props: {
|
117
|
+
designer: Object,
|
118
|
+
selectedWidget: Object,
|
119
|
+
optionModel: Object,
|
120
|
+
},
|
121
|
+
data() {
|
122
|
+
return {
|
123
|
+
dialogVisible: false,
|
124
|
+
tableData: [],
|
125
|
+
}
|
126
|
+
},
|
127
|
+
methods: {
|
128
|
+
openDialog() {
|
129
|
+
let tableData = this.optionModel.widgetShowRuleConfig || [];
|
130
|
+
this.dialogVisible = true;
|
131
|
+
this.tableData = this.$baseLodash.cloneDeep(tableData)
|
132
|
+
},
|
133
|
+
addItem() {
|
134
|
+
let newItem = {
|
135
|
+
type: 1,
|
136
|
+
serveType: 3,
|
137
|
+
serveName: "dev",
|
138
|
+
roleCodes: null,
|
139
|
+
companyCodes: null
|
140
|
+
}
|
141
|
+
this.tableData.push(newItem);
|
142
|
+
},
|
143
|
+
colSubmit() {
|
144
|
+
|
145
|
+
/*if(this.tableData.some(item=>!item.roleCodes)){
|
146
|
+
this.$message({
|
147
|
+
type:"error",
|
148
|
+
content:"角色编码不能为空"
|
149
|
+
})
|
150
|
+
return
|
151
|
+
}*/
|
152
|
+
|
153
|
+
let searveNameList = ["prod", "uat", "dev"];
|
154
|
+
let tableData = this.tableData;
|
155
|
+
let map = {}
|
156
|
+
for (let i = 0; i < tableData.length; i++) {
|
157
|
+
let item = tableData[i];
|
158
|
+
if (!item.roleCodes) {
|
159
|
+
this.$message({
|
160
|
+
type: "error",
|
161
|
+
message: "角色编码不能为空"
|
162
|
+
})
|
163
|
+
return
|
164
|
+
}
|
165
|
+
if (item.serveType === 4) {
|
166
|
+
if (!item.serveName) {
|
167
|
+
this.$message({
|
168
|
+
type: "error",
|
169
|
+
message: "自定义服务的服务名称不能为空"
|
170
|
+
})
|
171
|
+
return
|
172
|
+
} else if(searveNameList.includes(item.serveName)){
|
173
|
+
this.$message({
|
174
|
+
type: "error",
|
175
|
+
message: "自定义服务的服务名称不能为`prod,uat,dev`"
|
176
|
+
})
|
177
|
+
return
|
178
|
+
}
|
179
|
+
}
|
180
|
+
let serveName = item.serveName || "";
|
181
|
+
if (item.serveType === 5) serveName = "_all";
|
182
|
+
let companyCodes = item.companyCodes || "";
|
183
|
+
let key = serveName + "_" + companyCodes;
|
184
|
+
if (!map[key]) {
|
185
|
+
map[key] = true;
|
186
|
+
} else {
|
187
|
+
this.$message({
|
188
|
+
type: "error",
|
189
|
+
message: "[服务+组织]不能重复"
|
190
|
+
})
|
191
|
+
return
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
this.dialogVisible = !1;
|
196
|
+
this.optionModel.widgetShowRuleConfig = this.tableData;
|
197
|
+
},
|
198
|
+
changeServeType(row) {
|
199
|
+
// modelKey
|
200
|
+
let map = {
|
201
|
+
1: "prod",
|
202
|
+
2: "uat",
|
203
|
+
3: "dev"
|
204
|
+
}
|
205
|
+
let serveName = null;
|
206
|
+
let serveType = row.serveType;
|
207
|
+
if (serveType && map[serveType]) {
|
208
|
+
serveName = map[row.serveType];
|
209
|
+
}
|
210
|
+
if (serveType === 5) {
|
211
|
+
row.companyCodes = null
|
212
|
+
}
|
213
|
+
row.serveName = serveName;
|
214
|
+
},
|
215
|
+
}
|
216
|
+
}
|
217
|
+
</script>
|
218
|
+
<style scoped>
|
219
|
+
|
220
|
+
</style>
|
@@ -794,6 +794,12 @@ export const defaultTextFlagConfig = {
|
|
794
794
|
widgetTextLinkConfig: null
|
795
795
|
}
|
796
796
|
|
797
|
+
export const defaultWidgetShowRuleConfig = {
|
798
|
+
widgetShowRuleFlag: 1,
|
799
|
+
widgetShowRuleEnabled: false,
|
800
|
+
widgetShowRuleConfig: [],
|
801
|
+
}
|
802
|
+
|
797
803
|
export const basicFields = [
|
798
804
|
{
|
799
805
|
type: "input",
|
@@ -1686,6 +1692,7 @@ export const basicFields = [
|
|
1686
1692
|
tableData: {}
|
1687
1693
|
},
|
1688
1694
|
...defaultWfConfig,
|
1695
|
+
...defaultWidgetShowRuleConfig,
|
1689
1696
|
|
1690
1697
|
showRuleFlag: 1,
|
1691
1698
|
showRuleEnabled: 1,
|
@@ -1843,6 +1850,7 @@ export const basicFields = [
|
|
1843
1850
|
onClick: "",
|
1844
1851
|
accessType: "1",
|
1845
1852
|
...defaultWfConfig,
|
1853
|
+
...defaultWidgetShowRuleConfig,
|
1846
1854
|
|
1847
1855
|
showRuleFlag: 1,
|
1848
1856
|
showRuleEnabled: 1,
|
@@ -1886,6 +1894,7 @@ export const basicFields = [
|
|
1886
1894
|
tableData: {}
|
1887
1895
|
},
|
1888
1896
|
...defaultWfConfig,
|
1897
|
+
...defaultWidgetShowRuleConfig,
|
1889
1898
|
|
1890
1899
|
showRuleFlag: 1,
|
1891
1900
|
showRuleEnabled: 1,
|
@@ -2647,7 +2656,7 @@ export const advancedFields = [
|
|
2647
2656
|
tableEnabled: true
|
2648
2657
|
},
|
2649
2658
|
...defaultWfConfig,
|
2650
|
-
|
2659
|
+
...defaultWidgetShowRuleConfig,
|
2651
2660
|
showRuleFlag: 1,
|
2652
2661
|
showRuleEnabled: 1,
|
2653
2662
|
showRules: []
|
@@ -2685,6 +2694,7 @@ export const advancedFields = [
|
|
2685
2694
|
...defaultSearchDialogConfig
|
2686
2695
|
},
|
2687
2696
|
...defaultWfConfig,
|
2697
|
+
...defaultWidgetShowRuleConfig,
|
2688
2698
|
hiddenByWf: true,
|
2689
2699
|
|
2690
2700
|
showRuleFlag: 1,
|
@@ -2723,7 +2733,7 @@ export const advancedFields = [
|
|
2723
2733
|
...defaultSearchDialogConfig
|
2724
2734
|
},
|
2725
2735
|
...defaultWfConfig,
|
2726
|
-
|
2736
|
+
...defaultWidgetShowRuleConfig,
|
2727
2737
|
showRuleFlag: 1,
|
2728
2738
|
showRuleEnabled: 1,
|
2729
2739
|
showRules: []
|
@@ -2750,7 +2760,7 @@ export const advancedFields = [
|
|
2750
2760
|
onCreated: "",
|
2751
2761
|
onMounted: "",
|
2752
2762
|
...defaultWfConfig,
|
2753
|
-
|
2763
|
+
...defaultWidgetShowRuleConfig,
|
2754
2764
|
showRuleFlag: 1,
|
2755
2765
|
showRuleEnabled: 1,
|
2756
2766
|
showRules: []
|
@@ -2786,7 +2796,7 @@ export const advancedFields = [
|
|
2786
2796
|
...defaultSearchDialogConfig
|
2787
2797
|
},
|
2788
2798
|
...defaultWfConfig,
|
2789
|
-
|
2799
|
+
...defaultWidgetShowRuleConfig,
|
2790
2800
|
showRuleFlag: 1,
|
2791
2801
|
showRuleEnabled: 1,
|
2792
2802
|
showRules: []
|
@@ -2821,7 +2831,7 @@ export const advancedFields = [
|
|
2821
2831
|
...defaultSearchDialogConfig
|
2822
2832
|
},
|
2823
2833
|
...defaultWfConfig,
|
2824
|
-
|
2834
|
+
...defaultWidgetShowRuleConfig,
|
2825
2835
|
importFileLimitSize: 200,
|
2826
2836
|
importEntity: '',
|
2827
2837
|
importAttachCode: '',
|
@@ -2865,7 +2875,7 @@ export const advancedFields = [
|
|
2865
2875
|
...defaultSearchDialogConfig
|
2866
2876
|
},
|
2867
2877
|
...defaultWfConfig,
|
2868
|
-
|
2878
|
+
...defaultWidgetShowRuleConfig,
|
2869
2879
|
frontImportFlag: 1,
|
2870
2880
|
importFileLimitSize: 200,
|
2871
2881
|
importAttachCode: '',
|
@@ -2906,6 +2916,7 @@ export const advancedFields = [
|
|
2906
2916
|
...defaultSearchDialogConfig
|
2907
2917
|
},
|
2908
2918
|
...defaultWfConfig,
|
2919
|
+
...defaultWidgetShowRuleConfig,
|
2909
2920
|
printTableRef: "",
|
2910
2921
|
printItems: [],
|
2911
2922
|
|