cloud-web-corejs 1.0.54-dev.151 → 1.0.54-dev.152

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.151",
4
+ "version": "1.0.54-dev.152",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <span>
2
+ <span class="p10">
3
3
  <template v-if="edit || !!imageUrl">
4
4
  <el-tooltip :enterable="false" effect="dark" :content="fileName" placement="top"
5
5
  popper-class="tooltip-skin" :disabled="!fileName">
@@ -45,5 +45,5 @@ export default {
45
45
  </script>
46
46
 
47
47
  <style scoped>
48
-
48
+ .p10 .a-link{padding-right:10px;margin-right:10px;}
49
49
  </style>
@@ -129,7 +129,6 @@ export default {
129
129
  },
130
130
  methods: {
131
131
  initOption(){
132
- debugger
133
132
  this.option = {
134
133
  title: '附件',
135
134
  edit: !this.field.options.disabled,
@@ -350,7 +350,7 @@ modules = {
350
350
  this.subFormRowId === c &&
351
351
  this.setValue(u, !0);
352
352
  }),
353
- /*this.$on("calculate-formula", (o) => {
353
+ this.$on("calculate-formula", (o) => {
354
354
  if (
355
355
  !!this.field.options.formulaEnabled
356
356
  && !!this.field.options.formula
@@ -383,7 +383,7 @@ modules = {
383
383
  this.getFormRef()
384
384
  );
385
385
  }
386
- }),*/
386
+ }),
387
387
  this.$on("loadOptionItemsFromDataSet", (o) => {
388
388
  this.loadOptionItemsFromDataSet(o), (this.dataSetLoadedFlag = !0);
389
389
  }),
@@ -9,11 +9,17 @@
9
9
  -->
10
10
 
11
11
  <template>
12
- <div class="field-wrapper" :class="{'design-time-bottom-margin': !!this.designer}" v-show="!field.options.hidden || (designState === true)">
12
+ <div class="field-wrapper" :class="{'design-time-bottom-margin': !!this.designer}"
13
+ v-show="!field.options.hidden || (designState === true)">
13
14
  <div>
14
15
  <template v-if="formItemProp=='false'">
15
16
  <template v-if="!field.options.hidden">
16
- <slot></slot>
17
+ <template v-if="showType === 0">
18
+ <slot></slot>
19
+ </template>
20
+ <template v-else>
21
+ <span>{{ getShowValue() }}</span>
22
+ </template>
17
23
  </template>
18
24
  </template>
19
25
  <template v-else>
@@ -24,7 +30,8 @@
24
30
  :class="[selected ? 'selected' : '', labelAlign, customClass, field.options.required ? 'required' : '']"
25
31
  @click.native.stop="selectField(field)">
26
32
 
27
- <span v-if="!!field.options.labelIconClass" slot="label" class="custom-label" :style="{'color':field.options.labelColor}">
33
+ <span v-if="!!field.options.labelIconClass" slot="label" class="custom-label"
34
+ :style="{'color':field.options.labelColor}">
28
35
  <template v-if="field.options.labelIconPosition === 'front'">
29
36
  <template v-if="!!field.options.labelTooltip">
30
37
  <el-tooltip :content="field.options.labelTooltip" effect="light">
@@ -40,10 +47,15 @@
40
47
  {{ label }}<i :class="field.options.labelIconClass"></i></template>
41
48
  </template>
42
49
  </span>
43
- <span v-if="!!field.options.labelColor" slot="label" :style="{'color':field.options.labelColor}">
50
+ <span v-if="!!field.options.labelColor" slot="label" :style="{'color':field.options.labelColor}">
44
51
  {{ label }}
45
52
  </span>
46
- <slot></slot>
53
+ <template v-if="showType === 0">
54
+ <slot></slot>
55
+ </template>
56
+ <template v-else>
57
+ <span>{{ getShowValue() }}</span>
58
+ </template>
47
59
  </el-form-item>
48
60
  </template>
49
61
  </div>
@@ -162,8 +174,14 @@ export default {
162
174
  },
163
175
 
164
176
  },
177
+ data() {
178
+ return {
179
+ showType: 0
180
+ }
181
+ },
165
182
  created() {
166
183
  //
184
+ this.initShowType();
167
185
  },
168
186
  methods: {
169
187
  isSubFormItem() {
@@ -254,7 +272,118 @@ export default {
254
272
  },
255
273
  getI18nLabel(label, path, param) {
256
274
  return !this.designState && label ? this.$t2(label, path, param) : label;
257
- }
275
+ },
276
+ initShowType() {
277
+ let that = this.$parent
278
+ let formRef = that.getFormRef();
279
+ let bdService = formRef.bdService;
280
+ let companyCode = this.$store.getters.companyCode;
281
+ let loginAccount = this.$store.getters.loginAccount;
282
+
283
+ let userSaleOrgDTOs = formRef.userSaleOrgDTOs;
284
+ let userRoleDTOs = formRef.userRoleDTOs;
285
+
286
+ let saleOrgCodeList = userSaleOrgDTOs.map(item => item.sn);
287
+ let roleCodeList = userRoleDTOs.map(item => item.roleCode);
288
+
289
+ let optionModel = this.field.options;
290
+
291
+ let flag = 0;//0 原本组件,1明文文本,2密文文本
292
+ if (optionModel.showTextEnabled) {
293
+ flag = 1;
294
+ } else if (optionModel.showEncryptTextEnabled) {
295
+ flag = 2;
296
+ }
297
+ if (optionModel.userTextRuleEnabled) {
298
+ let userTextRuleConfig = optionModel.userTextRuleConfig || [];
299
+ userTextRuleConfig.forEach(item => {
300
+ let type = item.type ?? null;
301
+ if (type !== null && type !== "") {
302
+ let companyCodeStr = item.companyCodes;
303
+ let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
304
+ /*
305
+
306
+ let loginAccountStr = item.loginAccounts;
307
+ let loginAccounts = loginAccountStr ? loginAccountStr.split(",").filter(item => !!item) : [];
308
+
309
+ let saleOrgCodeStr = item.saleOrgCodes;
310
+ let saleOrgCodes = saleOrgCodeStr ? saleOrgCodeStr.split(",").filter(item => !!item) : [];
311
+ */
312
+
313
+ let roleCodeStr = item.roleCodes;
314
+ let roleCodes = roleCodeStr ? roleCodeStr.split(",").filter(item => !!item) : [];
315
+
316
+ let flag1 = !item.serveName || item.serveName == bdService;
317
+ let flag2 = !companyCodes.length || companyCodes.includes(companyCode)
318
+ // let flag3 = !loginAccounts.length || loginAccounts.includes(loginAccount)
319
+ // let flag4 = this.compareToList(saleOrgCodes, saleOrgCodeList)
320
+ let flag5 = this.compareToList(roleCodes, roleCodeList)
321
+ let result = flag1 && flag2 && flag5 ;
322
+ if (result) {
323
+ flag = type;
324
+ }
325
+ }
326
+ })
327
+ }
328
+ this.showType = flag;
329
+ },
330
+ compareToList(list1, list2) {
331
+ if (!list1.length) {
332
+ return true;
333
+ }
334
+ if (!list2.length) {
335
+ return false;
336
+ }
337
+ return list1.some(item => {
338
+ return list2.some(item2 => item == item2)
339
+ });
340
+ },
341
+ getShowValue() {
342
+ let fieldModel = this.$parent.fieldModel;
343
+ let showValue = fieldModel
344
+ if (this.showType == 2) {
345
+ let optionModel = this.field.options;
346
+ showValue = "*******";
347
+ if ((optionModel.textRule1 || optionModel.textRule2 || optionModel.textRule3)) {
348
+ if (fieldModel && !optionModel.textRule1) {
349
+ let size = fieldModel.length;
350
+ let optionModel = this.field.options;
351
+
352
+ let str1 = "";
353
+ let str2 = "";
354
+ let flag2 = optionModel.textRule2 && optionModel.textRule2Number;
355
+ let flag3 = optionModel.textRule3 && optionModel.textRule3Number;
356
+ if (flag2) {
357
+ if (size >= optionModel.textRule2Number) {
358
+ str1 = fieldModel.slice(0, optionModel.textRule2Number)
359
+ }
360
+ }
361
+ if (flag3) {
362
+ if (size >= optionModel.textRule3Number) {
363
+ str2 = fieldModel.slice(0, optionModel.textRule3Number)
364
+ }
365
+ }
366
+ if (flag2 && flag3) {
367
+ if (size >= optionModel.textRule2Number + optionModel.textRule3Number) {
368
+ showValue = str1 + "*****" + str2;
369
+ }
370
+ } else if (flag2) {
371
+ if (str1) {
372
+ showValue = str1 + "*****"
373
+ }
374
+ } else if (flag3) {
375
+ if (str2) {
376
+ showValue = "*****" + str2
377
+ }
378
+ }
379
+
380
+ }
381
+ }
382
+
383
+ }
384
+
385
+ return showValue;
386
+ },
258
387
 
259
388
  }
260
389
  }
@@ -672,7 +672,6 @@ modules = {
672
672
  this.$emit("customConfirm",fJson)
673
673
  },
674
674
  saveReportTemplate() {
675
- debugger
676
675
  if(this.columnFlag){
677
676
  this.handleColumnConfirm();
678
677
  return
@@ -48,14 +48,13 @@ export default {
48
48
  },
49
49
  created() {
50
50
  let zIndex = PopupManager.nextZIndex();
51
- debugger
52
51
  this.zIndex = zIndex;
53
52
 
54
53
  let formTemplate = this.getReportTemplate();
55
54
  this.formTemplate = formTemplate;
56
55
  this.formCode = formTemplate.formCode
57
56
  this.formName = formTemplate.formName
58
- debugger
57
+
59
58
  this.widgetList = this.$baseLodash.cloneDeep(this.column.widgetList || [])
60
59
  this.showDesingerDialog = true
61
60
 
@@ -82,7 +81,6 @@ export default {
82
81
  this.$emit('reflushTemplateList')
83
82
  },
84
83
  customConfirm(formJson) {
85
- debugger
86
84
  let widgetList = formJson.widgetList;
87
85
  this.handleFormDesignClose();
88
86
  this.$emit('confirm', widgetList)
@@ -552,6 +552,14 @@ export default {
552
552
  value: "editSelect",
553
553
  label: "下拉框",
554
554
  },
555
+ {
556
+ value: "checkbox",
557
+ label: "复选框",
558
+ },
559
+ {
560
+ value: "radio",
561
+ label: "单选框",
562
+ },
555
563
  {
556
564
  value: "editAttachment",
557
565
  label: "附件",
@@ -564,6 +572,10 @@ export default {
564
572
  value: "editStatus",
565
573
  label: "状态",
566
574
  },
575
+ {
576
+ value: "text",
577
+ label: "文本",
578
+ },
567
579
  {
568
580
  value: "editDelete",
569
581
  label: "删除按钮",
@@ -731,6 +743,9 @@ export default {
731
743
  moveUpRow: "a-link",
732
744
  moveDownRow: "a-link",
733
745
  removeTreeRow: "a-link",
746
+ text: "text",
747
+ checkbox: "checkbox",
748
+ radio: "radio",
734
749
  },
735
750
 
736
751
  showFormEventDialogFlag: false,
@@ -1,26 +1,148 @@
1
1
  <template>
2
- <div v-show="false">
2
+ <div v-show="true">
3
3
  <el-form-item label-width="0">
4
- <el-divider class="custom-divider-margin-top">文本显示设置</el-divider>
4
+ <el-divider class="custom-divider-margin-top">显示设置</el-divider>
5
5
  </el-form-item>
6
- <el-form-item :label="i18nt('全部显示为*')">
7
- <el-switch v-model="optionModel.textRule1" @change="changeTextRule1"></el-switch>
6
+ <el-form-item :label="i18nt('仅显示明文文本')">
7
+ <el-switch v-model="optionModel.showTextEnabled" @change="optionModel.showEncryptTextEnabled=false"></el-switch>
8
8
  </el-form-item>
9
- <el-form-item :label="i18nt('前面明文,其他为*')">
10
- <el-switch v-model="optionModel.textRule2" @change="changeTextRule2"></el-switch>
9
+ <el-form-item :label="i18nt('仅显示密文文本')">
10
+ <el-switch v-model="optionModel.showEncryptTextEnabled" @change="optionModel.showTextEnabled=false"></el-switch>
11
11
  </el-form-item>
12
- <el-form-item :label="i18nt('前面明文位数')">
13
- <base-input-number v-model="optionModel.textRule2Number" :scale="0"></base-input-number>
12
+ <el-form-item :label="i18nt('启用特定用户显示规则设置')">
13
+ <el-switch v-model="optionModel.userTextRuleEnabled"></el-switch>
14
14
  </el-form-item>
15
- <el-form-item :label="i18nt('后面明文,其他为*')">
16
- <el-switch v-model="optionModel.textRule3" @change="changeTextRule3"></el-switch>
17
- </el-form-item>
18
- <el-form-item :label="i18nt('后面明文位数')">
19
- <base-input-number v-model="optionModel.textRule3Number" :scale="0"></base-input-number>
20
- </el-form-item>
21
- <el-form-item label-width="0">
22
- <el-divider class="custom-divider-margin-top"></el-divider>
15
+ <el-form-item :label="i18nt('特定用户显示规则设置')" v-if="optionModel.userTextRuleEnabled">
16
+ <a href="javascript:void(0);" class="a-link link-oneLind" @click="openDialog">
17
+ <span>{{ optionModel.userTextRuleConfig && optionModel.userTextRuleConfig.length ? "已维护" : "" }}</span>
18
+ <i class="el-icon-edit"></i>
19
+ </a>
23
20
  </el-form-item>
21
+ <template v-if="optionModel.showEncryptTextEnabled || optionModel.userTextRuleEnabled">
22
+ <el-form-item label-width="0">
23
+ <el-divider class="custom-divider-margin-top">密文显示规则</el-divider>
24
+ </el-form-item>
25
+ <el-form-item :label="i18nt('全部显示为*')">
26
+ <el-switch v-model="optionModel.textRule1" @change="changeTextRule1"
27
+ :disabled="optionModel.textRule1 && !optionModel.textRule2 && !optionModel.textRule3"></el-switch>
28
+ </el-form-item>
29
+ <el-form-item :label="i18nt('前面明文,其他为*')">
30
+ <el-switch v-model="optionModel.textRule2" @change="changeTextRule2"></el-switch>
31
+ </el-form-item>
32
+ <el-form-item :label="i18nt('前面明文位数')">
33
+ <base-input-number v-model="optionModel.textRule2Number" :scale="0"></base-input-number>
34
+ </el-form-item>
35
+ <el-form-item :label="i18nt('后面明文,其他为*')">
36
+ <el-switch v-model="optionModel.textRule3" @change="changeTextRule3"></el-switch>
37
+ </el-form-item>
38
+ <el-form-item :label="i18nt('后面明文位数')">
39
+ <base-input-number v-model="optionModel.textRule3Number" :scale="0"></base-input-number>
40
+ </el-form-item>
41
+ <el-form-item label-width="0">
42
+ <el-divider class="custom-divider-margin-top"></el-divider>
43
+ </el-form-item>
44
+ </template>
45
+ <el-dialog
46
+ v-if="dialogVisible"
47
+ custom-class="dialog-style list-dialog"
48
+ :title="i18nt('特定用户显示规则设置')"
49
+ :visible.sync="dialogVisible"
50
+ :show-close="!0"
51
+ :append-to-body="true"
52
+ :modal="false"
53
+ :close-on-click-modal="!1"
54
+ :close-on-press-escape="!1"
55
+ :destroy-on-close="!0"
56
+ width="1220px"
57
+ top="5vh"
58
+ v-dialog-drag
59
+ :fullscreen="true"
60
+ >
61
+ <div class="cont" style="padding-bottom: 8px;">
62
+ <el-table
63
+ ref="singleTable"
64
+ width="100%"
65
+ :data="tableData"
66
+ height="100%"
67
+ border=""
68
+ row-key="columnId"
69
+ stripe=""
70
+ style="margin-bottom: 0px;"
71
+ >
72
+ <el-table-column type="index" width="35" fixed="left"></el-table-column>
73
+ <el-table-column :label="i18nt('服务')" width="150">
74
+ <template slot-scope="{row}">
75
+ <el-select v-model="row.serveType" @change="changeServeType(row)">
76
+ <el-option :value="1" label="正式"></el-option>
77
+ <el-option :value="2" label="UAT"></el-option>
78
+ <el-option :value="3" label="测试"></el-option>
79
+ <el-option :value="4" label="自定义"></el-option>
80
+ </el-select>
81
+ </template>
82
+ </el-table-column>
83
+ <el-table-column :label="i18nt('自定义服务')" width="150">
84
+ <template slot-scope="{row}">
85
+ <el-input v-model="row.serveName" clearable :disabled="row.serveType!==4"></el-input>
86
+ </template>
87
+ </el-table-column>
88
+ <el-table-column :label="i18nt('组织编码')" width="250">
89
+ <template slot-scope="{row,$index}">
90
+ <el-input v-model="row.companyCodes" clearable></el-input>
91
+ </template>
92
+ </el-table-column>
93
+ <!-- <el-table-column :label="i18nt('登录名')" width="150">
94
+ <template slot-scope="{row}">
95
+ <el-input v-model="row.loginAccounts" clearable></el-input>
96
+ </template>
97
+ </el-table-column>-->
98
+ <el-table-column :label="i18nt('角色编码')" width="250">
99
+ <template slot-scope="{row}">
100
+ <el-input v-model="row.roleCodes" clearable></el-input>
101
+ </template>
102
+ </el-table-column>
103
+ <!-- <el-table-column :label="i18nt('机构编码')" width="150">
104
+ <template slot-scope="{row}">
105
+ <el-input v-model="row.saleOrgCodes" clearable></el-input>
106
+ </template>
107
+ </el-table-column>-->
108
+ <el-table-column :label="i18nt('设置')" width="150">
109
+ <template slot-scope="{row}">
110
+ <el-select v-model="row.type" clearable>
111
+ <el-option :value="1" label="明文文本显示"></el-option>
112
+ <el-option :value="2" label="密文文本显示"></el-option>
113
+ <el-option :value="0" label="组件显示"></el-option>
114
+ </el-select>
115
+ </template>
116
+ </el-table-column>
117
+ <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
118
+ <template #header>
119
+ <span>{{ i18nt('designer.setting.actionColumn') }}</span>
120
+ <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
121
+ icon="el-icon-plus" @click="addItem"></el-button>
122
+ </template>
123
+ <template slot-scope="scope">
124
+ <el-button
125
+ :title="i18nt('designer.setting.deleteTableColumn')"
126
+ size="mini"
127
+ type=""
128
+ circle=""
129
+ icon="el-icon-minus"
130
+ @click="tableData.splice(scope.$index,1)"
131
+ ></el-button>
132
+ </template>
133
+ </el-table-column>
134
+
135
+ </el-table>
136
+ </div>
137
+ <div class="dialog-footer" slot="footer">
138
+ <el-button @click="dialogVisible = false" class="button-sty" icon="el-icon-close">
139
+ {{ i18nt('designer.hint.cancel') }}
140
+ </el-button>
141
+ <el-button type="primary" @click="colSubmit" class="button-sty" icon="el-icon-check">
142
+ {{ i18nt('designer.hint.confirm') }}
143
+ </el-button>
144
+ </div>
145
+ </el-dialog>
24
146
  </div>
25
147
  </template>
26
148
 
@@ -37,7 +159,8 @@ export default {
37
159
  },
38
160
  data() {
39
161
  return {
40
-
162
+ dialogVisible: false,
163
+ tableData: [],
41
164
  }
42
165
  },
43
166
  methods: {
@@ -46,13 +169,40 @@ export default {
46
169
  this.optionModel.textRule3 = false;
47
170
  this.optionModel.textRule2Number = null;
48
171
  this.optionModel.textRule3Number = null;
172
+ this.$forceUpdate()
49
173
  },
50
174
  changeTextRule2(val) {
51
- this.optionModel.textRule1 = false;
175
+ let textRule1 = !this.optionModel.textRule2 && !this.optionModel.textRule3;
176
+ this.optionModel.textRule1 = textRule1;
177
+ this.$forceUpdate()
52
178
  },
53
179
  changeTextRule3(val) {
54
- this.optionModel.textRule1 = false;
55
- }
180
+ let textRule1 = !this.optionModel.textRule2 && !this.optionModel.textRule3;
181
+ this.optionModel.textRule1 = textRule1;
182
+ this.$forceUpdate()
183
+ },
184
+ openDialog() {
185
+ let userTextRuleConfig = this.optionModel.userTextRuleConfig || [];
186
+ this.tableData = this.$baseLodash.cloneDeep(userTextRuleConfig)
187
+ this.dialogVisible = true;
188
+
189
+ },
190
+ addItem() {
191
+ let newItem = {
192
+ type: null,
193
+ serveType: null,
194
+ serveName: null,
195
+ // loginAccounts: null,
196
+ roleCodes: null,
197
+ // saleOrgCodes: null,
198
+ companyCodes: null
199
+ }
200
+ this.tableData.push(newItem);
201
+ },
202
+ colSubmit() {
203
+ this.dialogVisible = !1;
204
+ this.optionModel.userTextRuleConfig = this.tableData;
205
+ },
56
206
  }
57
207
  }
58
208
  </script>