w-web-perm 1.0.24 → 1.0.26

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.
Files changed (43) hide show
  1. package/dist/css/{app.f22995d1.css → app.d0e43dcc.css} +1 -1
  2. package/dist/index.tmp +9 -1
  3. package/dist/js/app-legacy.b0850281.js +2 -0
  4. package/dist/js/app-legacy.b0850281.js.map +1 -0
  5. package/dist/js/app.db01fef5.js +2 -0
  6. package/dist/js/app.db01fef5.js.map +1 -0
  7. package/dist/js/chunk-vendors-legacy.0432e7bc.js +13 -0
  8. package/dist/js/chunk-vendors-legacy.0432e7bc.js.map +1 -0
  9. package/dist/js/chunk-vendors.0432e7bc.js +13 -0
  10. package/dist/js/chunk-vendors.0432e7bc.js.map +1 -0
  11. package/dist/w-web-perm.umd.js +2 -2
  12. package/dist/w-web-perm.umd.js.map +1 -1
  13. package/docs/WWebPerm.html +1 -1
  14. package/docs/WWebPerm.mjs.html +30 -2
  15. package/docs/index.html +1 -1
  16. package/package.json +5 -5
  17. package/public/index.html +8 -0
  18. package/server/WWebPerm.mjs +29 -1
  19. package/src/App.vue +6 -1
  20. package/src/components/Layout.vue +0 -11
  21. package/src/components/LayoutContent.vue +22 -22
  22. package/src/components/LayoutContentGrups.vue +378 -97
  23. package/src/components/LayoutContentPemis.vue +422 -100
  24. package/src/components/LayoutContentTargets.vue +225 -55
  25. package/src/components/LayoutContentUsers.vue +256 -69
  26. package/src/components/VeCgrups.vue +28 -35
  27. package/src/components/VeCpemis.vue +28 -35
  28. package/src/components/VeCrules.vue +25 -31
  29. package/src/components/VeGrupBlngUsers.vue +63 -36
  30. package/src/components/VePemiBlngGrups.vue +63 -36
  31. package/src/schema/tables/pemis.mjs +1 -1
  32. package/src/store/mutations.mjs +77 -10
  33. package/srv.mjs +9 -1
  34. package/tableTags-web-perm.json +1 -1
  35. package/dist/js/app-legacy.128a1ced.js +0 -2
  36. package/dist/js/app-legacy.128a1ced.js.map +0 -1
  37. package/dist/js/app.128a1ced.js +0 -2
  38. package/dist/js/app.128a1ced.js.map +0 -1
  39. package/dist/js/chunk-vendors-legacy.d89048a8.js +0 -13
  40. package/dist/js/chunk-vendors-legacy.d89048a8.js.map +0 -1
  41. package/dist/js/chunk-vendors.d89048a8.js +0 -13
  42. package/dist/js/chunk-vendors.d89048a8.js.map +0 -1
  43. package/g.mjs +0 -0
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <WDialog
3
3
  :show.sync="bShow"
4
- :title="$t('grupBlngEditUsers')"
4
+ :title="isEditable?$t('grupBlngEditUsers'):$t('grupBlngEditUsersForDisplay')"
5
5
  :icon="mdiFormatListCheckbox"
6
6
  :minWidth="800"
7
7
  :maxWidth="800"
8
8
  :fullscreen="fullscreen"
9
9
  :contentBackgroundColor="'#fff'"
10
10
  :headerBtns="useHeaderBtns"
11
- :hasSaveBtn="isModified"
11
+ :hasSaveBtn="isEditable && isModified"
12
12
  :save-btn-tooltip="$t('save')"
13
13
  :close-btn-tooltip="$t('close')"
14
14
  @click-btns="clickBtns"
@@ -20,7 +20,7 @@
20
20
  <div>
21
21
 
22
22
  <div
23
- style="border-bottom:1px solid #ddd; background:#fff;"
23
+ style="_border-bottom:1px solid #ddd; background:#fff;"
24
24
  v-domresize
25
25
  @domresize="resizeHead"
26
26
  >
@@ -39,7 +39,10 @@
39
39
  </div>
40
40
 
41
41
  <!-- 功能區 -->
42
- <div style="padding:5px; background:#fff; display:flex; align-items:center;">
42
+ <div
43
+ style="padding:5px; background:#fff; display:flex; align-items:center;"
44
+ v-if="isEditable"
45
+ >
43
46
 
44
47
  <template>
45
48
 
@@ -57,7 +60,7 @@
57
60
  @click="showVeGrupBlngUsersToggleItemsEnableAllYes"
58
61
  ></WButtonCircle>
59
62
 
60
- <div style="padding-left:6px;"></div>
63
+ <div style="padding-left:4px;"></div>
61
64
 
62
65
  </template>
63
66
 
@@ -77,7 +80,7 @@
77
80
  @click="showVeGrupBlngUsersToggleItemsEnableAllNo"
78
81
  ></WButtonCircle>
79
82
 
80
- <div style="padding-left:6px;"></div>
83
+ <div style="padding-left:4px;"></div>
81
84
 
82
85
  </template>
83
86
 
@@ -97,7 +100,7 @@
97
100
  @click="showVeGrupBlngUsersToggleItemsEnableAllInv"
98
101
  ></WButtonCircle>
99
102
 
100
- <div style="padding-left:6px;"></div>
103
+ <div style="padding-left:4px;"></div>
101
104
 
102
105
  </template>
103
106
 
@@ -117,7 +120,7 @@
117
120
  @click="deleteItemsCheck"
118
121
  ></WButtonCircle>
119
122
 
120
- <div style="padding-left:6px;"></div>
123
+ <div style="padding-left:4px;"></div>
121
124
 
122
125
  </template>
123
126
 
@@ -152,9 +155,6 @@ import get from 'lodash-es/get.js'
152
155
  import set from 'lodash-es/set.js'
153
156
  import each from 'lodash-es/each.js'
154
157
  import map from 'lodash-es/map.js'
155
- import trim from 'lodash-es/trim.js'
156
- import uniq from 'lodash-es/uniq.js'
157
- import find from 'lodash-es/find.js'
158
158
  import size from 'lodash-es/size.js'
159
159
  import filter from 'lodash-es/filter.js'
160
160
  import join from 'lodash-es/join.js'
@@ -162,18 +162,11 @@ import sortBy from 'lodash-es/sortBy.js'
162
162
  import isEqual from 'lodash-es/isEqual.js'
163
163
  import cloneDeep from 'lodash-es/cloneDeep.js'
164
164
  import genPm from 'wsemi/src/genPm.mjs'
165
- import sep from 'wsemi/src/sep.mjs'
166
165
  import haskey from 'wsemi/src/haskey.mjs'
167
166
  import delay from 'wsemi/src/delay.mjs'
168
167
  import iseobj from 'wsemi/src/iseobj.mjs'
169
168
  import isestr from 'wsemi/src/isestr.mjs'
170
169
  import WDialog from 'w-component-vue/src/components/WDialog.vue'
171
- import WText from 'w-component-vue/src/components/WText.vue'
172
- import WTextSuggest from 'w-component-vue/src/components/WTextSuggest.vue'
173
- import WSwitch from 'w-component-vue/src/components/WSwitch.vue'
174
- import WCheckbox from 'w-component-vue/src/components/WCheckbox.vue'
175
- import WIcon from 'w-component-vue/src/components/WIcon.vue'
176
- import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'
177
170
  import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
178
171
  import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
179
172
 
@@ -181,12 +174,6 @@ import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
181
174
  export default {
182
175
  components: {
183
176
  WDialog,
184
- WText,
185
- WTextSuggest,
186
- WSwitch,
187
- WCheckbox,
188
- WIcon,
189
- WButtonChip,
190
177
  WButtonCircle,
191
178
  WAggridVueDyn,
192
179
  },
@@ -213,6 +200,7 @@ export default {
213
200
  panelHeight: 100,
214
201
  headHeight: 100,
215
202
 
203
+ isEditable: false,
216
204
  isModified: false,
217
205
 
218
206
  grup: null,
@@ -378,7 +366,7 @@ export default {
378
366
  let kpHead = {
379
367
  'name': vo.$t('userName'),
380
368
  'grupsNames': vo.$t('belongGrupsNames'),
381
- 'mode': vo.$t('operEnable'),
369
+ 'mode': vo.$t('operGrupEnable'),
382
370
  'enable': vo.$t('operMode'),
383
371
  }
384
372
 
@@ -389,13 +377,14 @@ export default {
389
377
  keys: ks,
390
378
  kpHead,
391
379
  autoFitColumn: true,
380
+ defCellEditable: false, //vo.isEditable,
392
381
  defHeadFilter: true,
393
382
  defCellAlignH: 'left',
394
- // kpCellEditable: {
395
- // 'name': true,
396
- // 'mode': true,
397
- // 'enable': true,
398
- // },
383
+ kpCellEditable: {
384
+ 'name': vo.isEditable,
385
+ 'mode': false,
386
+ 'enable': false,
387
+ },
399
388
  kpHeadWidth: {
400
389
  'mode': 100,
401
390
  'enable': 100,
@@ -462,7 +451,7 @@ export default {
462
451
  // console.log('mode', mode, k, r)
463
452
 
464
453
  let t = `
465
- <select onchange="$vo.$dg.showVeGrupBlngUsersToggleItemModeByName('${name}',this.value)">
454
+ <select onchange="$vo.$dg.showVeGrupBlngUsersToggleItemModeByName('${name}',this.value)" ${vo.isEditable ? '' : 'disabled'}>
466
455
  <option value="OR" ${mode === 'OR' ? 'selected' : ''}>OR</option>
467
456
  <option value="AND" ${mode === 'AND' ? 'selected' : ''}>AND</option>
468
457
  </select>
@@ -478,7 +467,7 @@ export default {
478
467
  // console.log('name', name, k, r)
479
468
 
480
469
  let t = `
481
- <input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVeGrupBlngUsersToggleItemEnableByName('${name}')" />
470
+ <input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVeGrupBlngUsersToggleItemEnableByName('${name}')" ${vo.isEditable ? '' : 'disabled'} />
482
471
  `
483
472
 
484
473
  return t
@@ -576,10 +565,33 @@ export default {
576
565
  return rows
577
566
  },
578
567
 
568
+ fltKpGrup: function(kp) {
569
+ // console.log('fltKpGrup', kp)
570
+
571
+ let vo = this
572
+
573
+ //_kp
574
+ let _kp = {}
575
+ each(vo.grups, (v, k) => {
576
+ _kp[v.name] = true
577
+ })
578
+ // console.log('_kp', _kp)
579
+
580
+ //kpt
581
+ let kpt = {}
582
+ each(kp, (v, k) => {
583
+ if (haskey(_kp, k)) {
584
+ kpt[k] = v
585
+ }
586
+ })
587
+
588
+ return kpt
589
+ },
590
+
579
591
  genItems: function(grup, users) {
580
592
  // console.log('genItems', grup, users)
581
593
 
582
- // let vo = this
594
+ let vo = this
583
595
 
584
596
  //items
585
597
  let items = map(users, (u) => {
@@ -588,6 +600,10 @@ export default {
588
600
  let kpGrup = JSON5.parse(u.cgrups)
589
601
  // console.log(u.name, 'kpGrup', kpGrup)
590
602
 
603
+ //fltKpGrup
604
+ kpGrup = vo.fltKpGrup(kpGrup)
605
+ // console.log(u.name, 'kpGrup(fltKpGrup)', kpGrup)
606
+
591
607
  //mode, enable, grups
592
608
  let mode = 'OR'
593
609
  let enable = 'n'
@@ -670,6 +686,10 @@ export default {
670
686
  let kpGrup = JSON5.parse(u.cgrups)
671
687
  // console.log(u.name, 'kpGrup', kpGrup)
672
688
 
689
+ //fltKpGrup
690
+ kpGrup = vo.fltKpGrup(kpGrup)
691
+ // console.log(u.name, 'kpGrup(fltKpGrup)', kpGrup)
692
+
673
693
  //mode
674
694
  let mode = get(rows, `${ku}.mode`, '')
675
695
  if (mode !== 'OR' && mode !== 'AND') {
@@ -1103,8 +1123,8 @@ export default {
1103
1123
 
1104
1124
  },
1105
1125
 
1106
- show: function (grup) {
1107
- // console.log('methods show', grup)
1126
+ show: function (msg) {
1127
+ // console.log('methods show', msg)
1108
1128
 
1109
1129
  let vo = this
1110
1130
 
@@ -1114,15 +1134,22 @@ export default {
1114
1134
  //default
1115
1135
  vo.isModified = false
1116
1136
 
1137
+ //isEditable, grup
1138
+ let isEditable = get(msg, 'isEditable', false)
1139
+ let grup = get(msg, 'grup', {})
1140
+
1117
1141
  //grup
1118
1142
  grup = cloneDeep(grup)
1119
- vo.grup = grup
1120
1143
 
1121
1144
  //users
1122
1145
  let users = cloneDeep(vo.users)
1123
1146
 
1124
1147
  //items
1125
1148
  let items = vo.genItems(grup, users)
1149
+
1150
+ //save
1151
+ vo.isEditable = isEditable
1152
+ vo.grup = grup
1126
1153
  vo.items = items
1127
1154
 
1128
1155
  //genOpt
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <WDialog
3
3
  :show.sync="bShow"
4
- :title="$t('pemiBlngEditGrups')"
4
+ :title="isEditable?$t('pemiBlngEditGrups'):$t('pemiBlngEditGrupsForDisplay')"
5
5
  :icon="mdiFormatListCheckbox"
6
6
  :minWidth="800"
7
7
  :maxWidth="800"
8
8
  :fullscreen="fullscreen"
9
9
  :contentBackgroundColor="'#fff'"
10
10
  :headerBtns="useHeaderBtns"
11
- :hasSaveBtn="isModified"
11
+ :hasSaveBtn="isEditable && isModified"
12
12
  :save-btn-tooltip="$t('save')"
13
13
  :close-btn-tooltip="$t('close')"
14
14
  @click-btns="clickBtns"
@@ -20,7 +20,7 @@
20
20
  <div>
21
21
 
22
22
  <div
23
- style="border-bottom:1px solid #ddd; background:#fff;"
23
+ style="_border-bottom:1px solid #ddd; background:#fff;"
24
24
  v-domresize
25
25
  @domresize="resizeHead"
26
26
  >
@@ -39,7 +39,10 @@
39
39
  </div>
40
40
 
41
41
  <!-- 功能區 -->
42
- <div style="padding:5px; background:#fff; display:flex; align-items:center;">
42
+ <div
43
+ style="padding:5px; background:#fff; display:flex; align-items:center;"
44
+ v-if="isEditable"
45
+ >
43
46
 
44
47
  <template>
45
48
 
@@ -57,7 +60,7 @@
57
60
  @click="showVePemiBlngGrupsToggleItemsEnableAllYes"
58
61
  ></WButtonCircle>
59
62
 
60
- <div style="padding-left:6px;"></div>
63
+ <div style="padding-left:4px;"></div>
61
64
 
62
65
  </template>
63
66
 
@@ -77,7 +80,7 @@
77
80
  @click="showVePemiBlngGrupsToggleItemsEnableAllNo"
78
81
  ></WButtonCircle>
79
82
 
80
- <div style="padding-left:6px;"></div>
83
+ <div style="padding-left:4px;"></div>
81
84
 
82
85
  </template>
83
86
 
@@ -97,7 +100,7 @@
97
100
  @click="showVePemiBlngGrupsToggleItemsEnableAllInv"
98
101
  ></WButtonCircle>
99
102
 
100
- <div style="padding-left:6px;"></div>
103
+ <div style="padding-left:4px;"></div>
101
104
 
102
105
  </template>
103
106
 
@@ -117,7 +120,7 @@
117
120
  @click="deleteItemsCheck"
118
121
  ></WButtonCircle>
119
122
 
120
- <div style="padding-left:6px;"></div>
123
+ <div style="padding-left:4px;"></div>
121
124
 
122
125
  </template>
123
126
 
@@ -152,9 +155,6 @@ import get from 'lodash-es/get.js'
152
155
  import set from 'lodash-es/set.js'
153
156
  import each from 'lodash-es/each.js'
154
157
  import map from 'lodash-es/map.js'
155
- import trim from 'lodash-es/trim.js'
156
- import uniq from 'lodash-es/uniq.js'
157
- import find from 'lodash-es/find.js'
158
158
  import size from 'lodash-es/size.js'
159
159
  import filter from 'lodash-es/filter.js'
160
160
  import join from 'lodash-es/join.js'
@@ -162,18 +162,11 @@ import sortBy from 'lodash-es/sortBy.js'
162
162
  import isEqual from 'lodash-es/isEqual.js'
163
163
  import cloneDeep from 'lodash-es/cloneDeep.js'
164
164
  import genPm from 'wsemi/src/genPm.mjs'
165
- import sep from 'wsemi/src/sep.mjs'
166
165
  import haskey from 'wsemi/src/haskey.mjs'
167
166
  import delay from 'wsemi/src/delay.mjs'
168
167
  import iseobj from 'wsemi/src/iseobj.mjs'
169
168
  import isestr from 'wsemi/src/isestr.mjs'
170
169
  import WDialog from 'w-component-vue/src/components/WDialog.vue'
171
- import WText from 'w-component-vue/src/components/WText.vue'
172
- import WTextSuggest from 'w-component-vue/src/components/WTextSuggest.vue'
173
- import WSwitch from 'w-component-vue/src/components/WSwitch.vue'
174
- import WCheckbox from 'w-component-vue/src/components/WCheckbox.vue'
175
- import WIcon from 'w-component-vue/src/components/WIcon.vue'
176
- import WButtonChip from 'w-component-vue/src/components/WButtonChip.vue'
177
170
  import WButtonCircle from 'w-component-vue/src/components/WButtonCircle.vue'
178
171
  import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
179
172
 
@@ -181,12 +174,6 @@ import WAggridVueDyn from 'w-component-vue/src/components/WAggridVueDyn.vue'
181
174
  export default {
182
175
  components: {
183
176
  WDialog,
184
- WText,
185
- WTextSuggest,
186
- WSwitch,
187
- WCheckbox,
188
- WIcon,
189
- WButtonChip,
190
177
  WButtonCircle,
191
178
  WAggridVueDyn,
192
179
  },
@@ -213,6 +200,7 @@ export default {
213
200
  panelHeight: 100,
214
201
  headHeight: 100,
215
202
 
203
+ isEditable: false,
216
204
  isModified: false,
217
205
 
218
206
  pemi: null,
@@ -378,7 +366,7 @@ export default {
378
366
  let kpHead = {
379
367
  'name': vo.$t('grupName'),
380
368
  'pemisNames': vo.$t('belongPemisNames'),
381
- 'mode': vo.$t('operEnable'),
369
+ 'mode': vo.$t('operPemiEnable'),
382
370
  'enable': vo.$t('operMode'),
383
371
  }
384
372
 
@@ -389,13 +377,14 @@ export default {
389
377
  keys: ks,
390
378
  kpHead,
391
379
  autoFitColumn: true,
380
+ defCellEditable: false, //vo.isEditable,
392
381
  defHeadFilter: true,
393
382
  defCellAlignH: 'left',
394
- // kpCellEditable: {
395
- // 'name': true,
396
- // 'mode': true,
397
- // 'enable': true,
398
- // },
383
+ kpCellEditable: {
384
+ 'name': vo.isEditable,
385
+ 'mode': false,
386
+ 'enable': false,
387
+ },
399
388
  kpHeadWidth: {
400
389
  'mode': 100,
401
390
  'enable': 100,
@@ -462,7 +451,7 @@ export default {
462
451
  // console.log('mode', mode, k, r)
463
452
 
464
453
  let t = `
465
- <select onchange="$vo.$dg.showVePemiBlngGrupsToggleItemModeByName('${name}',this.value)">
454
+ <select onchange="$vo.$dg.showVePemiBlngGrupsToggleItemModeByName('${name}',this.value)" ${vo.isEditable ? '' : 'disabled'}>
466
455
  <option value="OR" ${mode === 'OR' ? 'selected' : ''}>OR</option>
467
456
  <option value="AND" ${mode === 'AND' ? 'selected' : ''}>AND</option>
468
457
  </select>
@@ -478,7 +467,7 @@ export default {
478
467
  // console.log('name', name, k, r)
479
468
 
480
469
  let t = `
481
- <input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVePemiBlngGrupsToggleItemEnableByName('${name}')" />
470
+ <input type="checkbox" ${v === 'y' ? 'checked' : ''} onclick="$vo.$dg.showVePemiBlngGrupsToggleItemEnableByName('${name}')" ${vo.isEditable ? '' : 'disabled'} />
482
471
  `
483
472
 
484
473
  return t
@@ -576,10 +565,33 @@ export default {
576
565
  return rows
577
566
  },
578
567
 
568
+ fltKpPemi: function(kp) {
569
+ // console.log('fltKpPemi', kp)
570
+
571
+ let vo = this
572
+
573
+ //_kp
574
+ let _kp = {}
575
+ each(vo.pemis, (v, k) => {
576
+ _kp[v.name] = true
577
+ })
578
+ // console.log('_kp', _kp)
579
+
580
+ //kpt
581
+ let kpt = {}
582
+ each(kp, (v, k) => {
583
+ if (haskey(_kp, k)) {
584
+ kpt[k] = v
585
+ }
586
+ })
587
+
588
+ return kpt
589
+ },
590
+
579
591
  genItems: function(pemi, grups) {
580
592
  // console.log('genItems', pemi, grups)
581
593
 
582
- // let vo = this
594
+ let vo = this
583
595
 
584
596
  //items
585
597
  let items = map(grups, (g) => {
@@ -588,6 +600,10 @@ export default {
588
600
  let kpPemi = JSON5.parse(g.cpemis)
589
601
  // console.log(g.name, 'kpPemi', kpPemi)
590
602
 
603
+ //fltKpPemi
604
+ kpPemi = vo.fltKpPemi(kpPemi)
605
+ // console.log(g.name, 'kpPemi(fltKpPemi)', kpPemi)
606
+
591
607
  //mode, enable, pemis
592
608
  let mode = 'OR'
593
609
  let enable = 'n'
@@ -670,6 +686,10 @@ export default {
670
686
  let kpPemi = JSON5.parse(g.cpemis)
671
687
  // console.log(g.name, 'kpPemi', kpPemi)
672
688
 
689
+ //fltKpPemi
690
+ kpPemi = vo.fltKpPemi(kpPemi)
691
+ // console.log(g.name, 'kpPemi(fltKpPemi)', kpPemi)
692
+
673
693
  //mode
674
694
  let mode = get(rows, `${kg}.mode`, '')
675
695
  if (mode !== 'OR' && mode !== 'AND') {
@@ -1103,8 +1123,8 @@ export default {
1103
1123
 
1104
1124
  },
1105
1125
 
1106
- show: function (pemi) {
1107
- // console.log('methods show', pemi)
1126
+ show: function (msg) {
1127
+ // console.log('methods show', msg)
1108
1128
 
1109
1129
  let vo = this
1110
1130
 
@@ -1114,15 +1134,22 @@ export default {
1114
1134
  //default
1115
1135
  vo.isModified = false
1116
1136
 
1137
+ //isEditable, pemi
1138
+ let isEditable = get(msg, 'isEditable', false)
1139
+ let pemi = get(msg, 'pemi', {})
1140
+
1117
1141
  //grup
1118
1142
  pemi = cloneDeep(pemi)
1119
- vo.pemi = pemi
1120
1143
 
1121
1144
  //grups
1122
1145
  let grups = cloneDeep(vo.grups)
1123
1146
 
1124
1147
  //items
1125
1148
  let items = vo.genItems(pemi, grups)
1149
+
1150
+ //save
1151
+ vo.isEditable = isEditable
1152
+ vo.pemi = pemi
1126
1153
  vo.items = items
1127
1154
 
1128
1155
  //genOpt
@@ -35,7 +35,7 @@ let settings = {
35
35
  type: 'STRING',
36
36
  },
37
37
  crules: {
38
- name: '管控對象規則清單', //為json字串
38
+ name: '管控對象清單', //為json字串
39
39
  type: 'TEXT',
40
40
  },
41
41
  userId: {