Commit 5cffb57c0978b674c53858071db0f29860098c4e

Authored by 陈威
1 parent c7d666f7
Exists in master

组件按钮

frontend/manage/src/components/form/dataTemplate/DisplaySetting.vue
... ... @@ -346,7 +346,7 @@
346 346 :indeterminate="isIndeterminate"
347 347 :disabled="isDisabled"
348 348 @change="handleCheckAllChange"
349   - >全选</el-checkbox
  349 + >全选</el-checkbox
350 350 >
351 351 </template>
352 352 <template #custom-button>
... ... @@ -388,10 +388,10 @@
388 388 </ht-tree>
389 389 </el-aside>
390 390 <el-main class="display-setting__main"
391   - ><dynamic-table
392   - :table-header="displayFields"
393   - v-if="showDynamicTable && displayFields.length > 0"
394   - ></dynamic-table>
  391 + ><dynamic-table
  392 + :table-header="displayFields"
  393 + v-if="showDynamicTable && displayFields.length > 0"
  394 + ></dynamic-table>
395 395 <el-empty v-else :image-size="380" :image="noDataImg"> </el-empty>
396 396 </el-main>
397 397 <!-- 选择对话框 -->
... ... @@ -431,7 +431,7 @@
431 431 size="mini"
432 432 style="margin-right: 50px; float: right"
433 433 @click="clearFormatterType"
434   - >清除</el-button
  434 + >清除</el-button
435 435 >
436 436 </div>
437 437 <div v-if="selectedRow.formatterType == '1'" style="margin-top: 5px">
... ... @@ -443,7 +443,7 @@
443 443 icon="el-icon-plus"
444 444 style="margin-bottom: 16px"
445 445 @click="addSetting"
446   - >添加</el-button
  446 + >添加</el-button
447 447 >
448 448 <el-form data-vv-scope="settingForm">
449 449 <el-table :data="selectedRow.formatterData" row-key="id" border>
... ... @@ -470,7 +470,7 @@
470 470 <el-table-column label="操作">
471 471 <template slot-scope="scope">
472 472 <el-button type="text" @click="removeSetting(scope.$index)"
473   - >删除</el-button
  473 + >删除</el-button
474 474 >
475 475 </template>
476 476 </el-table-column>
... ... @@ -511,7 +511,7 @@
511 511 >
512 512 <el-radio label="edit">查询明细</el-radio>
513 513 <el-radio label="reportForm"
514   - >选择其它报表
  514 + >选择其它报表
515 515 <el-tooltip
516 516 class="item"
517 517 effect="dark"
... ... @@ -531,7 +531,7 @@
531 531 size="mini"
532 532 style="margin-right: 50px; float: right"
533 533 @click="clearUrlType"
534   - >清除</el-button
  534 + >清除</el-button
535 535 >
536 536 </ht-form-item>
537 537 <template v-if="selectedRow.urlType === 'url'">
... ... @@ -555,7 +555,7 @@
555 555 type="primary"
556 556 icon="el-icon-plus"
557 557 @click="urlParamsAdd()"
558   - >添加</el-button
  558 + >添加</el-button
559 559 >
560 560 <el-table :data="urlParams" class="params-table" border>
561 561 <el-table-column prop="name" label="参数名">
... ... @@ -599,14 +599,14 @@
599 599 :value="item.name"
600 600 >
601 601 <span style="float: left">{{
602   - item.desc +
  602 + item.desc +
603 603 '(' +
604 604 item.name +
605 605 ')' +
606 606 '(' +
607 607 item.type +
608 608 ')'
609   - }}</span>
  609 + }}</span>
610 610 </el-option>
611 611 </el-option-group>
612 612 </template>
... ... @@ -616,7 +616,7 @@
616 616 <el-table-column label="操作">
617 617 <template slot-scope="{row}">
618 618 <el-button type="text" @click="urlParamsRemove(row)"
619   - >删除</el-button
  619 + >删除</el-button
620 620 >
621 621 </template>
622 622 </el-table-column>
... ... @@ -647,7 +647,7 @@
647 647 type="primary"
648 648 icon="el-icon-search"
649 649 @click="showDataTemplateDialog"
650   - >选择</el-button
  650 + >选择</el-button
651 651 >
652 652 </ht-input>
653 653 </ht-form-item>
... ... @@ -689,8 +689,8 @@
689 689 :value="item.name"
690 690 >
691 691 <span style="float: left">{{
692   - item.desc + '(' + item.name + ')'
693   - }}</span>
  692 + item.desc + '(' + item.name + ')'
  693 + }}</span>
694 694 </el-option>
695 695 </el-option-group>
696 696 </template>
... ... @@ -717,7 +717,7 @@
717 717 size="mini"
718 718 icon="el-icon-plus"
719 719 @click="handleAdd(scope.$index, scope.row)"
720   - >增加</el-button
  720 + >增加</el-button
721 721 >
722 722 </template>
723 723 <template slot-scope="scope">
... ... @@ -726,7 +726,7 @@
726 726 type="danger"
727 727 icon="el-icon-delete"
728 728 @click="handleDelete(scope.$index, scope.row)"
729   - >删除</el-button
  729 + >删除</el-button
730 730 >
731 731 </template>
732 732 </el-table-column>
... ... @@ -748,7 +748,7 @@
748 748 <ht-select
749 749 v-model="scope.row.key"
750 750 :options="conditionField"
751   -
  751 +
752 752 >
753 753 </ht-select>
754 754 </template>
... ... @@ -795,10 +795,10 @@
795 795 class="el-icon-plus"
796 796 @click="addProSetting"
797 797 style="margin: 14px 0 16px 0"
798   - >添加</el-button
  798 + >添加</el-button
799 799 >
800 800 <span style="margin: 0 5px 0 20px" v-if="selectedRow.type == 'number'"
801   - >进度条</span
  801 + >进度条</span
802 802 >
803 803 <el-switch
804 804 v-model="proSetting2"
... ... @@ -849,14 +849,14 @@
849 849 showRuleSettingDialog(scope.row.proRule, scope.$index)
850 850 "
851 851 icon="icon-setup"
852   - >规则设置</el-button
  852 + >规则设置</el-button
853 853 >
854 854 </template>
855 855 </el-table-column>
856 856 <el-table-column label="操作">
857 857 <template slot-scope="scope">
858 858 <el-button type="text" @click="removeProSetting(scope.$index)"
859   - >删除</el-button
  859 + >删除</el-button
860 860 >
861 861 </template>
862 862 </el-table-column>
... ... @@ -961,6 +961,24 @@
961 961 </div>
962 962 </el-form>
963 963 </el-tab-pane>
  964 + <el-tab-pane label="组件设置" name="componentSetting">
  965 + <el-tag>
  966 + <span style="color: #7a59159e">插槽组件默认根路径为”components/tableSlot“, 为了避免混乱请先以模块名称新建文件夹, 然后以字段名称命名(如”test/Test.vue“【产品表/产品标题插槽组件】【vue文件大写开头】)- 案例:TestTest</span>
  967 + </el-tag>
  968 + <table style='margin-top: 10px;' class="form-table" cellspacing="0" cellpadding="0" border="0">
  969 + <tbody>
  970 + <tr>
  971 + <td>组件路径</td>
  972 + <td>
  973 + <el-input
  974 + v-model="selectedRow.componentSetting"
  975 + placeholder="输入组件路径(vue文件大写开头)"
  976 + ></el-input>
  977 + </td>
  978 + </tr>
  979 + </tbody>
  980 + </table>
  981 + </el-tab-pane>
964 982 </el-tabs>
965 983  
966 984 <span slot="footer" class="dialog-footer">
... ... @@ -1002,7 +1020,7 @@
1002 1020 <span>④</span>只能查询同数据库下的表。<br />
1003 1021 <span class="is-required-class">参考案例:</span>
1004 1022 <span style="margin-left: 10px"
1005   - >,( SELECT uc_user.account_ FROM uc_user WHERE uc_user.id_ = '1' ) AS
  1023 + >,( SELECT uc_user.account_ FROM uc_user WHERE uc_user.id_ = '1' ) AS
1006 1024 "userAccount" </span
1007 1025 ><br />
1008 1026 <span>⑤</span>字段别名不能与显示列表的字段别名重复。<br />
... ... @@ -1013,7 +1031,7 @@
1013 1031 sqlConfigDialog = false
1014 1032 sql = ''
1015 1033 "
1016   - >取 消</el-button
  1034 + >取 消</el-button
1017 1035 >
1018 1036 <el-button type="primary" @click="sqlConfigOk()">确定</el-button>
1019 1037 </div>
... ... @@ -1030,11 +1048,11 @@
1030 1048 <div style="margin-top: 10px; margin-bottom: 25px">
1031 1049 <code>
1032 1050 <span style="color: red; margin-left: 15px"
1033   - >编辑的脚本内容会直接填充到function(data){...}里面;data是表单数据对象,可以通过data.{显示字段列名}来获取字段的值。</span
  1051 + >编辑的脚本内容会直接填充到function(data){...}里面;data是表单数据对象,可以通过data.{显示字段列名}来获取字段的值。</span
1034 1052 >
1035 1053 <br />
1036 1054 <span style="color: red; margin-left: 15px"
1037   - >返回true时按此规则的文字颜色来显示。</span
  1055 + >返回true时按此规则的文字颜色来显示。</span
1038 1056 >
1039 1057 <br />
1040 1058 <span style="color: red; margin-left: 15px">
... ... @@ -1414,7 +1432,8 @@ export default {
1414 1432 (data.urlType && data.urlType != 'noUrl') ||
1415 1433 ['2', '3'].includes(data.formatterType) ||
1416 1434 data.dataDictionary ||
1417   - data.isDesensitization
  1435 + data.isDesensitization ||
  1436 + data.componentSetting
1418 1437 )
1419 1438 },
1420 1439 //掩码开始位置校验
... ... @@ -1980,8 +1999,8 @@ export default {
1980 1999 id: item.name
1981 2000 ? item.name
1982 2001 : item.desc
1983   - ? `${item.desc}_${index}`
1984   - : `tableHeader_${index}`
  2002 + ? `${item.desc}_${index}`
  2003 + : `tableHeader_${index}`
1985 2004 }
1986 2005 })
1987 2006 }
... ... @@ -2064,7 +2083,7 @@ export default {
2064 2083 }
2065 2084 })
2066 2085 existsFields.length &&
2067   - this.$message.warning(`字段【${existsFields.join(',')}】已存在`)
  2086 + this.$message.warning(`字段【${existsFields.join(',')}】已存在`)
2068 2087 },
2069 2088 //打开设置权限
2070 2089 setFieldRightDialog(row) {
... ... @@ -2435,7 +2454,7 @@ export default {
2435 2454 methodOk() {
2436 2455 this.selectedRow.ruleSettings[
2437 2456 this.ruleSettingIndex
2438   - ].proRule = this.dialogRuleData
  2457 + ].proRule = this.dialogRuleData
2439 2458 this.dialogRuleData = ''
2440 2459 this.isShowRuleSettingDialog = false
2441 2460 },
... ... @@ -2973,9 +2992,9 @@ export default {
2973 2992 }
2974 2993  
2975 2994 /deep/
2976   - .el-tree-node.is-drop-inner
2977   - > .el-tree-node__content
2978   - .el-tree-node__label {
  2995 +.el-tree-node.is-drop-inner
  2996 +> .el-tree-node__content
  2997 +.el-tree-node__label {
2979 2998 background-color: $--color-primary;
2980 2999 color: #fff;
2981 3000 .el-input-group__prepend {
... ...
frontend/manage/src/components/form/dataTemplate/FilterSetting.vue
... ... @@ -7,7 +7,7 @@
7 7 type="primary"
8 8 style="margin-bottom: 10px;"
9 9 @click="addFilter()"
10   - >添加</el-button
  10 + >添加</el-button
11 11 >
12 12 <el-table
13 13 ref="filterSettingTable"
... ... @@ -32,8 +32,8 @@
32 32 >
33 33 <template scope="scope">
34 34 <span style="width:375px;display:inline-block;">{{
35   - rightToDesc(scope.row.right)
36   - }}</span>
  35 + rightToDesc(scope.row.right)
  36 + }}</span>
37 37 <span style="float:right;">
38 38 <el-button
39 39 size="small"
... ... @@ -112,27 +112,27 @@
112 112 <form v-form data-vv-scope="saveCopyForm">
113 113 <table class="form-table" cellspacing="0" cellpadding="0" border="0">
114 114 <tbody>
115   - <tr>
116   - <th width="140px" class="is-required">新数据过滤名称</th>
117   - <td>
118   - <ht-input
119   - v-model="copyFilter.name"
120   - :maxlength="50"
121   - show-word-limit
122   - :validate="{required: true}"
123   - />
124   - </td>
125   - </tr>
126   - <tr>
127   - <th width="140px" class="is-required">新数据过滤别名</th>
128   - <td>
129   - <ht-input
130   - v-model="copyFilter.key"
131   - v-pinyin="copyFilter.name"
132   - autocomplete="off"
133   - :maxlength="50"
134   - show-word-limit
135   - :validate="{
  115 + <tr>
  116 + <th width="140px" class="is-required">新数据过滤名称</th>
  117 + <td>
  118 + <ht-input
  119 + v-model="copyFilter.name"
  120 + :maxlength="50"
  121 + show-word-limit
  122 + :validate="{required: true}"
  123 + />
  124 + </td>
  125 + </tr>
  126 + <tr>
  127 + <th width="140px" class="is-required">新数据过滤别名</th>
  128 + <td>
  129 + <ht-input
  130 + v-model="copyFilter.key"
  131 + v-pinyin="copyFilter.name"
  132 + autocomplete="off"
  133 + :maxlength="50"
  134 + show-word-limit
  135 + :validate="{
136 136 required: true,
137 137 regex: {
138 138 exp: '^[a-zA-Z][a-zA-Z0-9_]*$',
... ... @@ -140,23 +140,23 @@
140 140 },
141 141 isExist: '${form}/form/form/v1/checkKey?key='
142 142 }"
143   - placeholder="请输入别名"
144   - ></ht-input>
145   - </td>
146   - </tr>
  143 + placeholder="请输入别名"
  144 + ></ht-input>
  145 + </td>
  146 + </tr>
147 147 </tbody>
148 148 </table>
149 149 </form>
150 150 <div slot="footer" class="dialog-footer">
151 151 <el-button @click="handleCloseSaveCopy">{{
152   - $t('eip.common.cancel')
153   - }}</el-button>
  152 + $t('eip.common.cancel')
  153 + }}</el-button>
154 154 <el-button
155 155 size="small"
156 156 type="primary"
157 157 style="margin-bottom: 10px;"
158 158 @click="confirmCopy"
159   - >保存</el-button
  159 + >保存</el-button
160 160 >
161 161 </div>
162 162 </el-dialog>
... ... @@ -204,10 +204,10 @@ export default {
204 204 let fields = JSON.parse(JSON.stringify(val))
205 205 fields.forEach(p => {
206 206 p.fields &&
207   - p.fields.forEach(s => {
208   - s.desc = s.desc + ' (' + p.desc + ')'
209   - this.metafields.push(s)
210   - })
  207 + p.fields.forEach(s => {
  208 + s.desc = s.desc + ' (' + p.desc + ')'
  209 + this.metafields.push(s)
  210 + })
211 211 })
212 212 }
213 213 }
... ... @@ -481,14 +481,20 @@ export default {
481 481 ft = 'SQL'
482 482 break
483 483 case 3:
484   - ft = '追加SQL'
  484 + ft = '追加SQL(or)'
485 485 break
486 486 case 4:
487   - ft = '数据权限'
  487 + ft = '数据权限(or)'
488 488 break
489 489 case 5:
490 490 ft = '流程权限'
491 491 break
  492 + case 8:
  493 + ft = '追加SQL(and)'
  494 + break
  495 + case 9:
  496 + ft = '数据权限(and)'
  497 + break
492 498 }
493 499 return ft
494 500 },
... ...
frontend/manage/src/components/form/dataTemplate/ManageSetting.vue
... ... @@ -33,7 +33,7 @@
33 33 type="primary"
34 34 style="margin-bottom: 17px; height: 32px"
35 35 @click="addManageBtns"
36   - >添加</el-button
  36 + >添加</el-button
37 37 >
38 38 <el-table
39 39 ref="manageSettingTable"
... ... @@ -88,8 +88,8 @@
88 88 <el-table-column prop="right" width="130">
89 89 <template scope="scope">
90 90 <span v-if="rightToDesc(scope.row.right).length < 40">{{
91   - rightToDesc(scope.row.right)
92   - }}</span>
  91 + rightToDesc(scope.row.right)
  92 + }}</span>
93 93 <el-tooltip
94 94 v-else
95 95 class="item"
... ... @@ -98,8 +98,8 @@
98 98 placement="top-end"
99 99 >
100 100 <span class="auth-setting">{{
101   - rightToDesc(scope.row.right)
102   - }}</span>
  101 + rightToDesc(scope.row.right)
  102 + }}</span>
103 103 </el-tooltip>
104 104 </template>
105 105 </el-table-column>
... ... @@ -154,7 +154,7 @@
154 154 : initMpDisplay(scope.row)
155 155 "
156 156 @click="btnChange(scope.row)"
157   - >移动端</el-button
  157 + >移动端</el-button
158 158 >
159 159  
160 160 <el-tooltip
... ... @@ -392,51 +392,51 @@
392 392 max-height="100"
393 393 >
394 394 <tbody>
395   - <tr>
396   - <td>URL地址</td>
397   - <td>
398   - <el-input
399   - v-model="url"
400   - placeholder="URL地址"
401   - clearable
402   - ></el-input>
403   - </td>
404   - </tr>
405   - <tr>
406   - <td>追加参数</td>
407   - <td>
408   - <table
409   - class="form-table"
410   - cellspacing="0"
411   - cellpadding="0"
412   - border="0"
  395 + <tr>
  396 + <td>URL地址</td>
  397 + <td>
  398 + <el-input
  399 + v-model="url"
  400 + placeholder="URL地址"
  401 + clearable
  402 + ></el-input>
  403 + </td>
  404 + </tr>
  405 + <tr>
  406 + <td>追加参数</td>
  407 + <td>
  408 + <table
  409 + class="form-table"
  410 + cellspacing="0"
  411 + cellpadding="0"
  412 + border="0"
  413 + >
  414 + <tbody>
  415 + <tr class="linkageTable-tr">
  416 + <td width="120px">参数名</td>
  417 + <td width="120px">取值列</td>
  418 + <td width="120px">
  419 + 操作
  420 + <el-button
  421 + size="small"
  422 + icon="el-icon-plus"
  423 + @click="urlParamsAdd()"
  424 + ></el-button>
  425 + </td>
  426 + </tr>
  427 + <tr
  428 + class="linkageTable-tr"
  429 + v-for="(uparam, index) in urlParams"
  430 + :key="index"
413 431 >
414   - <tbody>
415   - <tr class="linkageTable-tr">
416   - <td width="120px">参数名</td>
417   - <td width="120px">取值列</td>
418   - <td width="120px">
419   - 操作
420   - <el-button
421   - size="small"
422   - icon="el-icon-plus"
423   - @click="urlParamsAdd()"
424   - ></el-button>
425   - </td>
426   - </tr>
427   - <tr
428   - class="linkageTable-tr"
429   - v-for="(uparam, index) in urlParams"
430   - :key="index"
431   - >
432   - <td>
433   - <ht-input
434   - size="mini"
435   - type="text"
436   - v-model="uparam.name"
437   - :maxlength="50"
438   - show-word-limit
439   - :validate="{
  432 + <td>
  433 + <ht-input
  434 + size="mini"
  435 + type="text"
  436 + v-model="uparam.name"
  437 + :maxlength="50"
  438 + show-word-limit
  439 + :validate="{
440 440 required: true,
441 441 regex: {
442 442 exp: '^[a-zA-Z][a-zA-Z0-9_]*$',
... ... @@ -444,44 +444,70 @@
444 444 '参数名以字母开头,且只能包含字母、数字和下划线'
445 445 }
446 446 }"
447   - />
448   - </td>
449   - <td>
450   - <el-select
451   - value-key="name"
452   - v-model="uparam.field"
453   - clearable
454   - filterable
  447 + />
  448 + </td>
  449 + <td>
  450 + <el-select
  451 + value-key="name"
  452 + v-model="uparam.field"
  453 + clearable
  454 + filterable
  455 + >
  456 + <el-option-group
  457 + v-for="group in formVariables"
  458 + :key="group.name"
  459 + :label="group.desc"
  460 + >
  461 + <el-option
  462 + v-for="item in group.fields"
  463 + :key="item.name"
  464 + :label="item.desc"
  465 + :value="item.name"
455 466 >
456   - <el-option-group
457   - v-for="group in formVariables"
458   - :key="group.name"
459   - :label="group.desc"
460   - >
461   - <el-option
462   - v-for="item in group.fields"
463   - :key="item.name"
464   - :label="item.desc"
465   - :value="item.name"
466   - >
467 467 <span style="float: left">{{
468   - item.desc + '(' + item.name + ')'
469   - }}</span>
470   - </el-option>
471   - </el-option-group>
472   - </el-select>
473   - </td>
474   - <td>
475   - <el-button
476   - icon="el-icon-delete"
477   - @click="urlParamsRemove(uparam)"
478   - ></el-button>
479   - </td>
480   - </tr>
481   - </tbody>
482   - </table>
483   - </td>
484   - </tr>
  468 + item.desc + '(' + item.name + ')'
  469 + }}</span>
  470 + </el-option>
  471 + </el-option-group>
  472 + </el-select>
  473 + </td>
  474 + <td>
  475 + <el-button
  476 + icon="el-icon-delete"
  477 + @click="urlParamsRemove(uparam)"
  478 + ></el-button>
  479 + </td>
  480 + </tr>
  481 + </tbody>
  482 + </table>
  483 + </td>
  484 + </tr>
  485 + </tbody>
  486 + </table>
  487 + <table
  488 + class="form-table"
  489 + cellspacing="0"
  490 + cellpadding="0"
  491 + border="0"
  492 + v-if="dialogTitle === '设置组件地址'"
  493 + max-height="100"
  494 + >
  495 + <tbody>
  496 + <tr>
  497 + <td>
  498 + 组件地址<br/>
  499 + <span style="color: #7a59159e">插槽组件默认根路径为”components/tableSlot“, 为了避免混乱请先以模块名称新建文件夹, 然后以字段名称命名(如”test/Test.vue“【产品表/产品标题插槽组件】【vue文件大写开头】)- 案例:TestTest</span>
  500 + </td>
  501 + </tr>
  502 + <tr>
  503 + <td>
  504 + <el-input
  505 + v-model="url"
  506 + placeholder="组件地址"
  507 + clearable
  508 + ></el-input>
  509 + </td>
  510 + </tr>
485 511 </tbody>
486 512 </table>
487 513 <el-form
... ... @@ -528,7 +554,7 @@
528 554 <el-col :span="12">
529 555 <ht-form-item label="票据VALUE">
530 556 <el-button type="primary" plain @click="showBizAuthDialog"
531   - >配置认证接口
  557 + >配置认证接口
532 558 </el-button>
533 559 </ht-form-item>
534 560 </el-col>
... ... @@ -649,7 +675,7 @@
649 675 </div>
650 676 <span slot="footer" class="dialog-footer">
651 677 <el-button @click="dialogVisible = false" size="medium"
652   - >取 消</el-button
  678 + >取 消</el-button
653 679 >
654 680 <el-button type="primary" @click="dialogOnconfirm()">确 定</el-button>
655 681 </span>
... ... @@ -682,7 +708,7 @@
682 708 <code>
683 709 <code>
684 710 <span style="color: red; margin-left: 15px"
685   - >javascript脚本,在点将js按钮时触发,参数:_req用来请求后台的
  711 + >javascript脚本,在点将js按钮时触发,参数:_req用来请求后台的
686 712 ,row当前列的数据,_this数据列表this对象</span
687 713 >
688 714 <br />
... ... @@ -692,12 +718,12 @@
692 718 </span>
693 719 <br />
694 720 <span style="color: red; margin-left: 15px"
695   - >使用_req请求后台接口地址的方法 _req(url, data, options).then(res
  721 + >使用_req请求后台接口地址的方法 _req(url, data, options).then(res
696 722 => { })</span
697 723 >
698 724 <br />
699 725 <span style="color: red; margin-left: 15px"
700   - >跳转url可以使用通用方法 _this.commonOpenUrl(url)</span
  726 + >跳转url可以使用通用方法 _this.commonOpenUrl(url)</span
701 727 >
702 728 </code>
703 729 </code>
... ... @@ -722,8 +748,8 @@
722 748 :value="item.name"
723 749 >
724 750 <span style="float: left">{{
725   - item.desc + '(' + item.name + ')'
726   - }}</span>
  751 + item.desc + '(' + item.name + ')'
  752 + }}</span>
727 753 </el-option>
728 754 </el-option-group>
729 755 </el-select>
... ... @@ -771,7 +797,7 @@
771 797 type="primary"
772 798 style="margin-bottom: 10px"
773 799 @click="addBatchUpdategData"
774   - >添加
  800 + >添加
775 801 </el-button>
776 802 <el-table border :max-height="tabHeight" :data="batchUpdateData">
777 803 <el-table-column width="242" label="字段名">
... ... @@ -851,7 +877,7 @@
851 877 icon="el-icon-edit"
852 878 style="margin-left: 8px; margin-top: 0"
853 879 @click="setOutValue(scope.row, scope.$index)"
854   - >设置</el-button
  880 + >设置</el-button
855 881 >
856 882 </div>
857 883 </template>
... ... @@ -860,7 +886,7 @@
860 886 size="small"
861 887 icon="el-icon-edit"
862 888 @click="setOutValue2(scope.row, scope.$index)"
863   - >设置</el-button
  889 + >设置</el-button
864 890 >
865 891 </template>
866 892 </template>
... ... @@ -887,7 +913,7 @@
887 913 <el-checkbox
888 914 v-model="scope.row.isRequired"
889 915 v-if="scope.row.valueType == 1"
890   - >是否必填</el-checkbox
  916 + >是否必填</el-checkbox
891 917 >
892 918 <span v-else>-</span>
893 919 </template>
... ... @@ -898,7 +924,7 @@
898 924 @click="batchUpdateData.remove(scope.row)"
899 925 type="text"
900 926 size="small"
901   - >删除</el-button
  927 + >删除</el-button
902 928 >
903 929 </template>
904 930 </el-table-column>
... ... @@ -1016,7 +1042,7 @@
1016 1042 resultfield: []
1017 1043 })
1018 1044 "
1019   - >添加关联查询</el-button
  1045 + >添加关联查询</el-button
1020 1046 >
1021 1047  
1022 1048 <div style="width: 100%; height: 550px; overflow: auto">
... ... @@ -1035,7 +1061,7 @@
1035 1061 text-align: right;
1036 1062 padding: 15px;
1037 1063 "
1038   - >关联查询:</span
  1064 + >关联查询:</span
1039 1065 >
1040 1066 <ht-select
1041 1067 filterable
... ... @@ -1063,7 +1089,7 @@
1063 1089 type="text"
1064 1090 style="margin-left: 10px; float: right"
1065 1091 @click="batchUpdateSettingForm.globalQueryJson.remove(condition)"
1066   - >删除</el-button
  1092 + >删除</el-button
1067 1093 >
1068 1094 </div>
1069 1095 <el-tabs type="border-card" class="toggle-button" style="margin: 0px">
... ... @@ -1075,54 +1101,54 @@
1075 1101 border="0"
1076 1102 >
1077 1103 <tbody>
1078   - <tr
1079   - v-for="(bind, indexBind) in condition.conditionfield"
1080   - :key="indexBind"
1081   - >
1082   - <th width="120px">{{ bind.comment }}:</th>
1083   - <td>
1084   - <div class="config-wrap">
1085   - <ht-select
1086   - clearable
1087   - v-model="bind.fieldPath"
1088   - :options="updateFields"
1089   - width="343px"
1090   - :props="{key: 'name', value: 'desc'}"
1091   - >
1092   - <template slot-scope="{options}">
1093   - <el-option
1094   - v-for="item in options"
1095   - :key="item.id"
1096   - :label="item.desc"
1097   - :value="
  1104 + <tr
  1105 + v-for="(bind, indexBind) in condition.conditionfield"
  1106 + :key="indexBind"
  1107 + >
  1108 + <th width="120px">{{ bind.comment }}:</th>
  1109 + <td>
  1110 + <div class="config-wrap">
  1111 + <ht-select
  1112 + clearable
  1113 + v-model="bind.fieldPath"
  1114 + :options="updateFields"
  1115 + width="343px"
  1116 + :props="{key: 'name', value: 'desc'}"
  1117 + >
  1118 + <template slot-scope="{options}">
  1119 + <el-option
  1120 + v-for="item in options"
  1121 + :key="item.id"
  1122 + :label="item.desc"
  1123 + :value="
1098 1124 (item.tableName + item.oldTableField)
1099 1125 .toLowerCase()
1100 1126 .replaceAll('_', '')
1101 1127 "
1102   - ></el-option>
1103   - </template>
1104   - </ht-select>
1105   - </div>
1106   - </td>
1107   - <th width="150px">
1108   - <el-tooltip
1109   - class="item"
1110   - effect="dark"
1111   - content="参数为空时不返回数据;设置绑定值之后,参数为空时以绑定值作为参数传入"
1112   - placement="top"
1113   - >
1114   - <i class="el-icon-question"></i>
1115   - </el-tooltip>
1116   - 为空时绑定值:
1117   - </th>
1118   - <td>
1119   - <ht-input
1120   - v-model="bind.emptyValue"
1121   - placeholder="请输入"
1122   - width="343px"
1123   - ></ht-input>
1124   - </td>
1125   - </tr>
  1128 + ></el-option>
  1129 + </template>
  1130 + </ht-select>
  1131 + </div>
  1132 + </td>
  1133 + <th width="150px">
  1134 + <el-tooltip
  1135 + class="item"
  1136 + effect="dark"
  1137 + content="参数为空时不返回数据;设置绑定值之后,参数为空时以绑定值作为参数传入"
  1138 + placement="top"
  1139 + >
  1140 + <i class="el-icon-question"></i>
  1141 + </el-tooltip>
  1142 + 为空时绑定值:
  1143 + </th>
  1144 + <td>
  1145 + <ht-input
  1146 + v-model="bind.emptyValue"
  1147 + placeholder="请输入"
  1148 + width="343px"
  1149 + ></ht-input>
  1150 + </td>
  1151 + </tr>
1126 1152 </tbody>
1127 1153 </table>
1128 1154 </el-tab-pane>
... ... @@ -1134,50 +1160,50 @@
1134 1160 border="0"
1135 1161 >
1136 1162 <tbody>
1137   - <tr
1138   - v-for="(bind, indexBind) in condition.resultfield"
1139   - :key="indexBind"
1140   - >
1141   - <th width="120px">{{ bind.comment }}:</th>
1142   - <td>
1143   - <ht-select
1144   - clearable
1145   - v-model="bind.fieldPath"
1146   - :options="updateFields"
1147   - :props="{key: 'name', value: 'desc'}"
1148   - >
1149   - <template slot-scope="{options}">
1150   - <el-option
1151   - v-for="item in options"
1152   - :key="item.id"
1153   - :label="item.desc"
1154   - :value="
  1163 + <tr
  1164 + v-for="(bind, indexBind) in condition.resultfield"
  1165 + :key="indexBind"
  1166 + >
  1167 + <th width="120px">{{ bind.comment }}:</th>
  1168 + <td>
  1169 + <ht-select
  1170 + clearable
  1171 + v-model="bind.fieldPath"
  1172 + :options="updateFields"
  1173 + :props="{key: 'name', value: 'desc'}"
  1174 + >
  1175 + <template slot-scope="{options}">
  1176 + <el-option
  1177 + v-for="item in options"
  1178 + :key="item.id"
  1179 + :label="item.desc"
  1180 + :value="
1155 1181 (item.tableName + item.oldTableField)
1156 1182 .toLowerCase()
1157 1183 .replaceAll('_', '')
1158 1184 "
1159   - ></el-option>
1160   - </template>
1161   - </ht-select>
1162   - </td>
1163   - <th width="150px">
1164   - <el-tooltip
1165   - class="item"
1166   - effect="dark"
1167   - content="返回值为空时,可赋值到该表单字段"
1168   - placement="top"
1169   - >
1170   - <i class="el-icon-question"></i>
1171   - </el-tooltip>
1172   - 为空时赋值:
1173   - </th>
1174   - <td>
1175   - <ht-input
1176   - v-model="bind.emptyResultValue"
1177   - placeholder="请输入"
1178   - ></ht-input>
1179   - </td>
1180   - </tr>
  1185 + ></el-option>
  1186 + </template>
  1187 + </ht-select>
  1188 + </td>
  1189 + <th width="150px">
  1190 + <el-tooltip
  1191 + class="item"
  1192 + effect="dark"
  1193 + content="返回值为空时,可赋值到该表单字段"
  1194 + placement="top"
  1195 + >
  1196 + <i class="el-icon-question"></i>
  1197 + </el-tooltip>
  1198 + 为空时赋值:
  1199 + </th>
  1200 + <td>
  1201 + <ht-input
  1202 + v-model="bind.emptyResultValue"
  1203 + placeholder="请输入"
  1204 + ></ht-input>
  1205 + </td>
  1206 + </tr>
1181 1207 </tbody>
1182 1208 </table>
1183 1209 </el-tab-pane>
... ... @@ -1188,7 +1214,7 @@
1188 1214 <div slot="footer" class="dialog-footer">
1189 1215 <el-button @click="batchUpdateSettingVisible = false">取 消</el-button>
1190 1216 <el-button type="primary" @click="batchUpdateSettingSaveOk()"
1191   - >确 定</el-button
  1217 + >确 定</el-button
1192 1218 >
1193 1219 </div>
1194 1220 </el-dialog>
... ... @@ -1281,10 +1307,10 @@
1281 1307 >
1282 1308 </el-switch>
1283 1309 <span style="margin-left: 10px"
1284   - ><br />注:导出模版之前请先保存配置;选择导出子表时,子表数据量太大会导致导出失败</span
  1310 + ><br />注:导出模版之前请先保存配置;选择导出子表时,子表数据量太大会导致导出失败</span
1285 1311 >
1286 1312 <span style="margin-left: 10px"
1287   - ><br />使用联合导出时,当子表或孙表与关联表中的表有重复时,请注意列名是否重复,如果重复则会导出失败</span
  1313 + ><br />使用联合导出时,当子表或孙表与关联表中的表有重复时,请注意列名是否重复,如果重复则会导出失败</span
1288 1314 >
1289 1315 </div>
1290 1316 <el-table
... ... @@ -1317,7 +1343,7 @@
1317 1343 <el-button
1318 1344 @click="setRowValueByName(scope.row, 'isExport')"
1319 1345 :type="scope.row.isExport != 1 ? 'info' : 'success'"
1320   - >{{ scope.row.isExport != 1 ? '否' : '是' }}</el-button
  1346 + >{{ scope.row.isExport != 1 ? '否' : '是' }}</el-button
1321 1347 >
1322 1348 </template>
1323 1349 </el-table-column>
... ... @@ -1328,7 +1354,7 @@
1328 1354 v-if="scope.row.isExport == 1"
1329 1355 @click="setRowValueByName(scope.row, 'defaultSort')"
1330 1356 :type="scope.row.defaultSort != 1 ? 'info' : 'success'"
1331   - >{{ scope.row.defaultSort != 1 ? '否' : '是' }}</el-button
  1357 + >{{ scope.row.defaultSort != 1 ? '否' : '是' }}</el-button
1332 1358 >
1333 1359 </template>
1334 1360 </el-table-column>
... ... @@ -1384,7 +1410,7 @@
1384 1410 <el-button
1385 1411 @click="setRowValueByName(scope.row, 'isExport')"
1386 1412 :type="scope.row.isExport != 1 ? 'info' : 'success'"
1387   - >{{ scope.row.isExport != 1 ? '否' : '是' }}</el-button
  1413 + >{{ scope.row.isExport != 1 ? '否' : '是' }}</el-button
1388 1414 >
1389 1415 </template>
1390 1416 </el-table-column>
... ... @@ -1395,7 +1421,7 @@
1395 1421 v-if="scope.row.isExport == 1"
1396 1422 @click="setRowValueByName(scope.row, 'defaultSort')"
1397 1423 :type="scope.row.defaultSort != 1 ? 'info' : 'success'"
1398   - >{{ scope.row.defaultSort != 1 ? '否' : '是' }}</el-button
  1424 + >{{ scope.row.defaultSort != 1 ? '否' : '是' }}</el-button
1399 1425 >
1400 1426 </template>
1401 1427 </el-table-column>
... ... @@ -1520,10 +1546,10 @@
1520 1546 <el-radio-group v-model="currentRow.importType">
1521 1547 <el-radio label="main">仅导入主表</el-radio>
1522 1548 <el-radio label="sub" :disabled="!importSubFields.length > 0"
1523   - >导入主表与子表</el-radio
  1549 + >导入主表与子表</el-radio
1524 1550 >
1525 1551 <el-radio label="sun" :disabled="!importSunFields.length > 0"
1526   - >导入主表子表与孙表</el-radio
  1552 + >导入主表子表与孙表</el-radio
1527 1553 >
1528 1554 </el-radio-group>
1529 1555 </el-form-item>
... ... @@ -1823,40 +1849,40 @@
1823 1849 />
1824 1850 <table class="form-table" cellspacing="0" cellpadding="0" border="0">
1825 1851 <tbody>
1826   - <tr class="linkageTable-tr">
1827   - <td width="200px">返回结果字段</td>
1828   - <td width="250px">绑定显示的属性</td>
1829   - <td>回填模式</td>
1830   - </tr>
  1852 + <tr class="linkageTable-tr">
  1853 + <td width="200px">返回结果字段</td>
  1854 + <td width="250px">绑定显示的属性</td>
  1855 + <td>回填模式</td>
  1856 + </tr>
1831 1857  
1832   - <tr
1833   - class="linkageTable-tr"
1834   - v-for="(field, index) in outConfig.dialogConfig.resultField"
1835   - :key="index"
1836   - >
1837   - <td>{{ field.comment }}</td>
1838   - <td>
1839   - <ht-select
1840   - clearable
1841   - v-model="outConfig.parameter[field.comment]"
1842   - :options="mainSettingFields"
1843   - :props="{key: 'name', value: 'desc'}"
1844   - >
1845   - <template slot-scope="{options}">
1846   - <el-option
1847   - v-for="item in options"
1848   - :key="item.id"
1849   - :label="item.desc"
1850   - :value="
  1858 + <tr
  1859 + class="linkageTable-tr"
  1860 + v-for="(field, index) in outConfig.dialogConfig.resultField"
  1861 + :key="index"
  1862 + >
  1863 + <td>{{ field.comment }}</td>
  1864 + <td>
  1865 + <ht-select
  1866 + clearable
  1867 + v-model="outConfig.parameter[field.comment]"
  1868 + :options="mainSettingFields"
  1869 + :props="{key: 'name', value: 'desc'}"
  1870 + >
  1871 + <template slot-scope="{options}">
  1872 + <el-option
  1873 + v-for="item in options"
  1874 + :key="item.id"
  1875 + :label="item.desc"
  1876 + :value="
1851 1877 curTemplateBoDef.boEnt.isExternal
1852 1878 ? item.oldTableField
1853 1879 : item.name
1854 1880 "
1855   - ></el-option>
1856   - </template>
1857   - </ht-select>
1858   - </td>
1859   - <td>
  1881 + ></el-option>
  1882 + </template>
  1883 + </ht-select>
  1884 + </td>
  1885 + <td>
1860 1886 <ht-radio
1861 1887 v-model="field.fillBackType"
1862 1888 @change="$forceUpdate()"
... ... @@ -1868,7 +1894,7 @@
1868 1894 optionLayout="horizontal"
1869 1895 />
1870 1896 </td>
1871   - </tr>
  1897 + </tr>
1872 1898 </tbody>
1873 1899 </table>
1874 1900 </ht-form-item>
... ... @@ -1881,12 +1907,12 @@
1881 1907 <el-checkbox
1882 1908 v-model="outConfig.selectCurrent"
1883 1909 v-if="outConfig.type == 'user'"
1884   - >当前用户</el-checkbox
  1910 + >当前用户</el-checkbox
1885 1911 >
1886 1912 <el-checkbox
1887 1913 v-model="outConfig.selectCurrent"
1888 1914 v-else-if="outConfig.type == 'org'"
1889   - >当前组织</el-checkbox
  1915 + >当前组织</el-checkbox
1890 1916 >
1891 1917 </template>
1892 1918 </el-form-item>
... ... @@ -2375,7 +2401,7 @@
2375 2401 <div>
2376 2402 <p>
2377 2403 <strong v-if="scriptType == 'before'"
2378   - >备注: 返回 true 显示按钮 返回 false 不显示 <br />
  2404 + >备注: 返回 true 显示按钮 返回 false 不显示 <br />
2379 2405 <span style="color: rgba(255, 0, 0, 0.8)">
2380 2406 *注意:当控制行内按钮的显示隐藏时,
2381 2407 可选的参数多一个_row,可以根据_row是否为空来区分顶部和行内按钮的逻辑
... ... @@ -2622,7 +2648,8 @@ export default {
2622 2648 key: 'batchSave',
2623 2649 value: '批量新增',
2624 2650 disabled: false
2625   - }
  2651 + },
  2652 + {key: 'moduleButton', value: '组件按钮', disabled: false},
2626 2653 ],
2627 2654 mobileBtnOptions: [
2628 2655 {
... ... @@ -2907,7 +2934,7 @@ export default {
2907 2934 this.manageFields.forEach(k=>{
2908 2935 if ((k.name == 'add') && k.initSubData == undefined) {
2909 2936 this.$set(k, 'initSubData', true)
2910   - }
  2937 + }
2911 2938 })
2912 2939 this.displayField = []
2913 2940 if (this.dataTemplate.displayField) {
... ... @@ -2943,7 +2970,7 @@ export default {
2943 2970 btn.key == 'addData' ||
2944 2971 btn.key == 'searchData' ||
2945 2972 btn.key == 'batchSave'
2946   - )
  2973 + )
2947 2974 ) {
2948 2975 btn.disabled = true
2949 2976 }
... ... @@ -3363,7 +3390,7 @@ export default {
3363 3390 return false
3364 3391 }
3365 3392 if (!field.buttonId) {
3366   - this.$set(field, 'buttonId', utils.uuid())
  3393 + this.$set(field, 'buttonId', utils.uuid())
3367 3394 }
3368 3395 //当buttonId不存在时,判断功能按钮中,同类型的按钮是否名字有重复
3369 3396 // if (!field.buttonId) {
... ... @@ -3379,7 +3406,7 @@ export default {
3379 3406 // this.$set(fieldsName, field.name, list)
3380 3407 // }
3381 3408 // }
3382   -
  3409 +
3383 3410 if (fields[i].name === 'switch') {
3384 3411 if (!fields[i].bind) {
3385 3412 this_.$message.warning('请选择开关的绑定字段')
... ... @@ -3770,8 +3797,8 @@ export default {
3770 3797 setButtonValue(option, row) {
3771 3798 this.currentRow = row
3772 3799 this.dialogVisible = true
3773   - if (option === 'url') {
3774   - this.dialogTitle = '设置Url地址'
  3800 + if (option === 'url' || option=='moduleButton') {
  3801 + this.dialogTitle = (option == 'url'?'设置Url地址':'设置组件地址')
3775 3802 this.url = row.url
3776 3803 this.urlParams = []
3777 3804 if (row.urlParams) {
... ... @@ -3849,6 +3876,8 @@ export default {
3849 3876 this.tokenType = 0
3850 3877 this.tokenApi = {}
3851 3878 }
  3879 + } else if (this.dialogTitle === '设置组件地址') {
  3880 + this.dialogModel.url = this.url
3852 3881 }
3853 3882 if (isDislogClose) {
3854 3883 this.dialogVisible = false
... ... @@ -3908,7 +3937,7 @@ export default {
3908 3937 handleClick(row, index) {
3909 3938 if (this.isAddOrEditOrDetail(row)) {
3910 3939 this.setAuth(row)
3911   - } else if (['url', 'switch'].includes(row.name)) {
  3940 + } else if (['url','moduleButton', 'switch'].includes(row.name)) {
3912 3941 this.setButtonValue(row.name, row)
3913 3942 } else if (row.name === 'js') {
3914 3943 this.setButtonJs(row, index)
... ... @@ -3954,12 +3983,12 @@ export default {
3954 3983 this.batchSaveForm = JSON.parse(Base64.decode(row.customDialogjson))
3955 3984 }else{
3956 3985 this.batchSaveForm = {
3957   - custDialog: {
3958   - alias: '',
3959   - mappingConf: []
3960   - },
3961   - resultField: []
3962   - }
  3986 + custDialog: {
  3987 + alias: '',
  3988 + mappingConf: []
  3989 + },
  3990 + resultField: []
  3991 + }
3963 3992 }
3964 3993 this.batchSaveVisible = true
3965 3994 this.index = index
... ... @@ -4032,9 +4061,9 @@ export default {
4032 4061 Base64.decode(row.relationConfig)
4033 4062 )
4034 4063 }else{
4035   - this.batchUpdateSettingForm= {
4036   - globalQueryJson: []
4037   - }
  4064 + this.batchUpdateSettingForm= {
  4065 + globalQueryJson: []
  4066 + }
4038 4067 }
4039 4068 this.batchUpdateSettingVisible = true
4040 4069 this.index = index
... ... @@ -4095,7 +4124,7 @@ export default {
4095 4124 item.conditionfield.forEach((k, i) => {
4096 4125 let oldItem = this.batchUpdateSettingForm.globalQueryJson[
4097 4126 index
4098   - ].conditionfield.find(sub => {
  4127 + ].conditionfield.find(sub => {
4099 4128 return sub.field === k.field
4100 4129 })
4101 4130 if (oldItem) {
... ... @@ -4105,7 +4134,7 @@ export default {
4105 4134 item.resultfield.forEach((k, i) => {
4106 4135 let oldItem = this.batchUpdateSettingForm.globalQueryJson[
4107 4136 index
4108   - ].resultfield.find(sub => {
  4137 + ].resultfield.find(sub => {
4109 4138 return sub.field === k.field
4110 4139 })
4111 4140 if (oldItem) {
... ... @@ -4258,50 +4287,50 @@ export default {
4258 4287 let subFields = JSON.parse(this.dataTemplate.subField)
4259 4288 let me_ = this
4260 4289 subFields &&
4261   - subFields.forEach(sub => {
4262   - if (sub.dsName == me_.curTemplateBoDef.boEnt.dsName) {
4263   - let tempSubFileds = []
4264   - let subFiledPath = sub.tableName + '.'
4265   - if (!sub.isExternal) {
4266   - subFiledPath += sub.fieldPrefix
4267   - }
4268   - sub.attributeList.forEach(item => {
4269   - tempSubFileds.push({
4270   - name: item.name,
4271   - path: subFiledPath + item.name,
4272   - desc: item.desc,
4273   - type: item.dataType,
4274   - defaultSort: '0',
4275   - isExport: '1',
4276   - sortSeq: 'asc'
4277   - })
  4290 + subFields.forEach(sub => {
  4291 + if (sub.dsName == me_.curTemplateBoDef.boEnt.dsName) {
  4292 + let tempSubFileds = []
  4293 + let subFiledPath = sub.tableName + '.'
  4294 + if (!sub.isExternal) {
  4295 + subFiledPath += sub.fieldPrefix
  4296 + }
  4297 + sub.attributeList.forEach(item => {
  4298 + tempSubFileds.push({
  4299 + name: item.name,
  4300 + path: subFiledPath + item.name,
  4301 + desc: item.desc,
  4302 + type: item.dataType,
  4303 + defaultSort: '0',
  4304 + isExport: '1',
  4305 + sortSeq: 'asc'
4278 4306 })
4279   - sub.attributeList = tempSubFileds
4280   - if (sub.childEnts) {
4281   - sub.childEnts.forEach(sun => {
4282   - if (sun.dsName == me_.curTemplateBoDef.boEnt.dsName) {
4283   - let tempSunFileds = []
4284   - let sunFiledPath = sun.tableName + '.'
4285   - if (!sun.isExternal) {
4286   - sunFiledPath += sun.fieldPrefix
4287   - }
4288   - sun.attributeList.forEach(item => {
4289   - tempSunFileds.push({
4290   - name: item.name,
4291   - path: sunFiledPath + item.name,
4292   - desc: item.desc,
4293   - type: item.dataType,
4294   - defaultSort: '0',
4295   - isExport: '1',
4296   - sortSeq: 'asc'
4297   - })
4298   - })
4299   - sun.attributeList = tempSunFileds
  4307 + })
  4308 + sub.attributeList = tempSubFileds
  4309 + if (sub.childEnts) {
  4310 + sub.childEnts.forEach(sun => {
  4311 + if (sun.dsName == me_.curTemplateBoDef.boEnt.dsName) {
  4312 + let tempSunFileds = []
  4313 + let sunFiledPath = sun.tableName + '.'
  4314 + if (!sun.isExternal) {
  4315 + sunFiledPath += sun.fieldPrefix
4300 4316 }
4301   - })
4302   - }
  4317 + sun.attributeList.forEach(item => {
  4318 + tempSunFileds.push({
  4319 + name: item.name,
  4320 + path: sunFiledPath + item.name,
  4321 + desc: item.desc,
  4322 + type: item.dataType,
  4323 + defaultSort: '0',
  4324 + isExport: '1',
  4325 + sortSeq: 'asc'
  4326 + })
  4327 + })
  4328 + sun.attributeList = tempSunFileds
  4329 + }
  4330 + })
4303 4331 }
4304   - })
  4332 + }
  4333 + })
4305 4334 this.exportSubFields = subFields
4306 4335 }
4307 4336 this.index = index
... ... @@ -4309,41 +4338,41 @@ export default {
4309 4338 },
4310 4339 getDefaultExportSettingFieldsTemp(){
4311 4340 let exportSettingFieldsTemp = []
4312   - if (this.data.displaySettingFields) {
4313   - let displayField = this.initDisplaySettingFields()
4314   - let mainFiledPath = 't.'
4315   - if (!this.curTemplateBoDef.boEnt.isExternal) {
4316   - mainFiledPath += this.curTemplateBoDef.boEnt.fieldPrefix
4317   - }
4318   - displayField.forEach(item => {
4319   - let findObj = exportSettingFieldsTemp.find(
4320   - row => item.name == row.name
4321   - )
4322   - if (
4323   - findObj == undefined &&
4324   - item.flowField === false &&
4325   - item.name != this.curTemplateBoDef.boEnt.fk &&
4326   - item.name != this.curTemplateBoDef.boEnt.pkKey
4327   - ) {
4328   - let displayId = item.oldTableField
  4341 + if (this.data.displaySettingFields) {
  4342 + let displayField = this.initDisplaySettingFields()
  4343 + let mainFiledPath = 't.'
  4344 + if (!this.curTemplateBoDef.boEnt.isExternal) {
  4345 + mainFiledPath += this.curTemplateBoDef.boEnt.fieldPrefix
  4346 + }
  4347 + displayField.forEach(item => {
  4348 + let findObj = exportSettingFieldsTemp.find(
  4349 + row => item.name == row.name
  4350 + )
  4351 + if (
  4352 + findObj == undefined &&
  4353 + item.flowField === false &&
  4354 + item.name != this.curTemplateBoDef.boEnt.fk &&
  4355 + item.name != this.curTemplateBoDef.boEnt.pkKey
  4356 + ) {
  4357 + let displayId = item.oldTableField
4329 4358 ? (`${item.tableName}${item.oldTableField}`).toLowerCase().replaceAll('_', '')
4330 4359 : item.name
4331   - exportSettingFieldsTemp.push({
4332   - name: item.name,
4333   - oldTableField: item.oldTableField,
4334   - tableName: item.tableName,
4335   - path: mainFiledPath + item.name,
4336   - desc: item.desc,
4337   - type: item.type,
4338   - defaultSort: '0',
4339   - isExport: '1',
4340   - sortSeq: 'asc',
4341   - displayId: displayId
4342   - })
4343   - }
4344   - })
4345   - }
4346   - return exportSettingFieldsTemp
  4360 + exportSettingFieldsTemp.push({
  4361 + name: item.name,
  4362 + oldTableField: item.oldTableField,
  4363 + tableName: item.tableName,
  4364 + path: mainFiledPath + item.name,
  4365 + desc: item.desc,
  4366 + type: item.type,
  4367 + defaultSort: '0',
  4368 + isExport: '1',
  4369 + sortSeq: 'asc',
  4370 + displayId: displayId
  4371 + })
  4372 + }
  4373 + })
  4374 + }
  4375 + return exportSettingFieldsTemp
4347 4376 },
4348 4377 importOk() {
4349 4378 const this_ = this
... ... @@ -4452,15 +4481,15 @@ export default {
4452 4481 let parentDesc = this.curTemplateBoDef.boEnt.desc
4453 4482 let subFields = JSON.parse(this.dataTemplate.subField)
4454 4483 subFields &&
4455   - subFields.forEach(sub => {
4456   - this.importSubFields.push({
4457   - id: sub.id,
4458   - name: sub.name,
4459   - desc: sub.desc,
4460   - type: 'sub',
4461   - parentDesc: parentDesc
4462   - })
  4484 + subFields.forEach(sub => {
  4485 + this.importSubFields.push({
  4486 + id: sub.id,
  4487 + name: sub.name,
  4488 + desc: sub.desc,
  4489 + type: 'sub',
  4490 + parentDesc: parentDesc
4463 4491 })
  4492 + })
4464 4493 }
4465 4494 },
4466 4495 createSun() {
... ... @@ -4732,7 +4761,7 @@ export default {
4732 4761 })
4733 4762 },
4734 4763 setCurrentCustomQuery() {
4735   - const _this = this
  4764 + const _this = this
4736 4765 _this.outConfig.customQuery.labelBind = ''
4737 4766 _this.outConfig.customQuery.valueBind = ''
4738 4767 _this.customQuerys.forEach(item => {
... ...
frontend/manage/src/components/form/dataTemplate/TemplateFilterDialog.vue
... ... @@ -48,7 +48,7 @@
48 48 </ht-form-item>
49 49 </div>
50 50 <el-checkbox v-if="filter.filterType == 1" v-model="filter.showAll"
51   - >查看全部</el-checkbox
  51 + >查看全部</el-checkbox
52 52 >
53 53 <table
54 54 class="filter-form-table"
... ... @@ -58,381 +58,381 @@
58 58 border="0"
59 59 >
60 60 <tbody>
61   - <tr v-if="filter.filterType == 1">
62   - <td colspan="6">
63   - <el-container class="filter-container">
64   - <el-main style="width: 100%">
65   - <div
66   - style="
  61 + <tr v-if="filter.filterType == 1">
  62 + <td colspan="6">
  63 + <el-container class="filter-container">
  64 + <el-main style="width: 100%">
  65 + <div
  66 + style="
67 67 position: relative;
68 68 height: 100%;
69 69 overflow: auto;
70 70 width: 100%;
71 71 "
72   - v-if="!filter.showAll"
73   - >
74   - <div style="position: absolute; z-index: 2">
75   - <form data-vv-scope="form1" v-form>
76   - <div
77   - class="table-list custom_condition_tab table"
78   - :style="tab.style"
79   - v-for="tab in tabList"
80   - :key="tab.indexStr"
81   - >
82   - <div class="condition-left__wrap">
  72 + v-if="!filter.showAll"
  73 + >
  74 + <div style="position: absolute; z-index: 2">
  75 + <form data-vv-scope="form1" v-form>
  76 + <div
  77 + class="table-list custom_condition_tab table"
  78 + :style="tab.style"
  79 + v-for="tab in tabList"
  80 + :key="tab.indexStr"
  81 + >
  82 + <div class="condition-left__wrap">
  83 + <el-select
  84 + v-model="tab.property"
  85 + v-validate="{required: true}"
  86 + @change="setFieldOtherInfo(this, tab, 1)"
  87 + style="width: 240px;margin-left:16px"
  88 + size="mini"
  89 + :class="{errorNull: !tab.property}"
  90 + >
  91 + <el-option
  92 + :value="m.pathStr"
  93 + :label="m.desc"
  94 + v-for="m in varTree"
  95 + :key="m.pathStr"
  96 + ></el-option>
  97 + </el-select>
  98 + <div>
83 99 <el-select
84   - v-model="tab.property"
  100 + v-model="tab.operator"
  101 + v-if="tab.dataType == 'number'"
85 102 v-validate="{required: true}"
86   - @change="setFieldOtherInfo(this, tab, 1)"
87   - style="width: 240px;margin-left:16px"
  103 + style="width: 120px;margin-left:16px"
88 104 size="mini"
89   - :class="{errorNull: !tab.property}"
  105 + @change="resetValue(tab)"
90 106 >
91 107 <el-option
92   - :value="m.pathStr"
93   - :label="m.desc"
94   - v-for="m in varTree"
95   - :key="m.pathStr"
96   - ></el-option>
97   - </el-select>
98   - <div>
99   - <el-select
100   - v-model="tab.operator"
101   - v-if="tab.dataType == 'number'"
102   - v-validate="{required: true}"
103   - style="width: 120px;margin-left:16px"
104   - size="mini"
105   - @change="resetValue(tab)"
  108 + v-for="item in operatorOptions"
  109 + :key="item.key"
  110 + :label="item.label"
  111 + :value="item.value"
106 112 >
107   - <el-option
108   - v-for="item in operatorOptions"
109   - :key="item.key"
110   - :label="item.label"
111   - :value="item.value"
112   - >
113   - </el-option>
114   - </el-select>
115   - <el-select
116   - v-model="tab.operator"
117   - v-if="
  113 + </el-option>
  114 + </el-select>
  115 + <el-select
  116 + v-model="tab.operator"
  117 + v-if="
118 118 tab.dataType != 'number' &&
119 119 tab.dataType != 'date'
120 120 "
121   - style="width: 120px;margin-left:16px"
122   - size="mini"
123   - @change="resetValue(tab)"
  121 + style="width: 120px;margin-left:16px"
  122 + size="mini"
  123 + @change="resetValue(tab)"
  124 + >
  125 + <el-option
  126 + v-for="item in optionList"
  127 + :key="item.key"
  128 + :label="item.label"
  129 + :value="item.value"
124 130 >
125   - <el-option
126   - v-for="item in optionList"
127   - :key="item.key"
128   - :label="item.label"
129   - :value="item.value"
130   - >
131   - </el-option>
132   - </el-select>
133   - <el-select
134   - v-model="tab.operator"
135   - v-if="tab.dataType == 'date'"
136   - style="width: 120px;margin-left:16px"
137   - size="mini"
138   - @change="resetValue(tab)"
  131 + </el-option>
  132 + </el-select>
  133 + <el-select
  134 + v-model="tab.operator"
  135 + v-if="tab.dataType == 'date'"
  136 + style="width: 120px;margin-left:16px"
  137 + size="mini"
  138 + @change="resetValue(tab)"
  139 + >
  140 + <el-option
  141 + v-for="item in dateOperatorOptions"
  142 + :key="item.key"
  143 + :label="item.label"
  144 + :value="item.value"
139 145 >
140   - <el-option
141   - v-for="item in dateOperatorOptions"
142   - :key="item.key"
143   - :label="item.label"
144   - :value="item.value"
145   - >
146   - </el-option>
147   - </el-select>
148   - </div>
149   - <div
150   - v-if="
  146 + </el-option>
  147 + </el-select>
  148 + </div>
  149 + <div
  150 + v-if="
151 151 tab.compType != '2' &&
152 152 tab.operator != 7 &&
153 153 tab.operator != 8 &&
154 154 tab.operator != 11 &&
155 155 tab.operator != 12
156 156 "
157   - >
158   - <ht-date
159   - v-if="tab.dataType == 'date'"
160   - v-model="tab.value"
161   - style="width: 240px;margin-left:16px"
162   - :validate="{required: true}"
163   - :format="tab.format"
164   - :showDate="true"
165   - :day="-3"
166   - />
167   - <ht-input
168   - v-else
169   - style="width: 240px;margin-left:16px"
170   - v-model="tab.value"
171   - :maxlength="50"
172   - :showWordLimit="true"
173   - :class="{errorNull: !tab.value}"
174   - />
175   - </div>
176   - <div v-if="tab.operator == 7 || tab.operator == 8">
177   - <el-select
178   - v-model="tab.value"
179   - v-validate="{required: true}"
180   - v-if="
  157 + >
  158 + <ht-date
  159 + v-if="tab.dataType == 'date'"
  160 + v-model="tab.value"
  161 + style="width: 240px;margin-left:16px"
  162 + :validate="{required: true}"
  163 + :format="tab.format"
  164 + :showDate="true"
  165 + :day="-3"
  166 + />
  167 + <ht-input
  168 + v-else
  169 + style="width: 240px;margin-left:16px"
  170 + v-model="tab.value"
  171 + :maxlength="50"
  172 + :showWordLimit="true"
  173 + :class="{errorNull: !tab.value}"
  174 + />
  175 + </div>
  176 + <div v-if="tab.operator == 7 || tab.operator == 8">
  177 + <el-select
  178 + v-model="tab.value"
  179 + v-validate="{required: true}"
  180 + v-if="
181 181 tab.dataType != 'number' &&
182 182 tab.dataType != 'date' &&
183 183 tab.dataType != 'clob'
184 184 "
185   - size="mini"
186   - style="margin-left:16px"
187   - :class="{errorNull: !tab.value}"
188   - >
189   - <el-option
190   - :value="cvar.alias"
191   - :label="cvar.title"
192   - v-for="cvar in comVarList"
193   - :key="cvar.alias"
194   - ></el-option>
195   - </el-select>
196   - </div>
197   - </div>
198   - <div class="right-clear">
199   - <i
200   - class="el-icon-error"
201   - @click="removeCondition(tab.indexStr)"
202   - ></i>
  185 + size="mini"
  186 + style="margin-left:16px"
  187 + :class="{errorNull: !tab.value}"
  188 + >
  189 + <el-option
  190 + :value="cvar.alias"
  191 + :label="cvar.title"
  192 + v-for="cvar in comVarList"
  193 + :key="cvar.alias"
  194 + ></el-option>
  195 + </el-select>
203 196 </div>
204 197 </div>
205   - </form>
206   - <div
207   - class="labelrag"
208   - :style="branch.style + ';height: 24px'"
209   - v-for="(branch, $index) in branchList"
210   - :key="branch.indexStr"
211   - >
212   - <el-select
213   - v-model="branch.newjunction"
214   - class="selected_search"
215   - @change="changecondition($index)"
216   - >
217   - <el-option label="并且" value="and"></el-option>
218   - <el-option label="或者" value="or"></el-option>
219   - <el-option label="添加条件" value="3"></el-option>
220   - <el-option
221   - label="添加联合条件"
222   - value="4"
223   - v-if="branch.condition != 'noAdd'"
224   - ></el-option>
225   - <el-option
226   - label="删除"
227   - value="5"
228   - v-if="branch.condition != 'noDel'"
229   - ></el-option>
230   - </el-select>
231   - <!-- <i v-if="tabList.length > 1" class="vertical-line"
232   - :style="{
233   - height:(tabList.length ? (tabList.length - 1)*80:0) + 'px',
234   - top:( 28 - (11 +(tabList.length ? (tabList.length - 1)*41:0)) + 'px')}"></i> -->
  198 + <div class="right-clear">
  199 + <i
  200 + class="el-icon-error"
  201 + @click="removeCondition(tab.indexStr)"
  202 + ></i>
  203 + </div>
235 204 </div>
236   - </div>
  205 + </form>
237 206 <div
238   - v-html="svgHtml"
239   - style="
  207 + class="labelrag"
  208 + :style="branch.style + ';height: 24px'"
  209 + v-for="(branch, $index) in branchList"
  210 + :key="branch.indexStr"
  211 + >
  212 + <el-select
  213 + v-model="branch.newjunction"
  214 + class="selected_search"
  215 + @change="changecondition($index)"
  216 + >
  217 + <el-option label="并且" value="and"></el-option>
  218 + <el-option label="或者" value="or"></el-option>
  219 + <el-option label="添加条件" value="3"></el-option>
  220 + <el-option
  221 + label="添加联合条件"
  222 + value="4"
  223 + v-if="branch.condition != 'noAdd'"
  224 + ></el-option>
  225 + <el-option
  226 + label="删除"
  227 + value="5"
  228 + v-if="branch.condition != 'noDel'"
  229 + ></el-option>
  230 + </el-select>
  231 + <!-- <i v-if="tabList.length > 1" class="vertical-line"
  232 + :style="{
  233 + height:(tabList.length ? (tabList.length - 1)*80:0) + 'px',
  234 + top:( 28 - (11 +(tabList.length ? (tabList.length - 1)*41:0)) + 'px')}"></i> -->
  235 + </div>
  236 + </div>
  237 + <div
  238 + v-html="svgHtml"
  239 + style="
240 240 position: absolute;
241 241 z-index: 1;
242 242 width: 100%;
243 243 height: 100%;
244 244 "
245   - ></div>
246   - </div>
247   - </el-main>
248   - </el-container>
249   - </td>
250   - </tr>
251   - <!-- 追加SQL -->
252   - <tr v-show="filter.filterType == 2 || filter.filterType == 3">
253   - <th width="10%">常用变量:</th>
254   - <td colspan="5">
255   - <template>
256   - <el-select
257   - v-model="selectVar"
258   - placeholder="请选择"
259   - @change="clickVar"
260   - >
261   - <el-option-group
262   - v-for="group in varList"
263   - :key="group.label"
264   - :label="group.label"
265   - >
266   - <el-option
267   - v-for="item in group.options"
268   - :key="item.value"
269   - :label="item.value"
270   - :value="item.key"
271   - ></el-option>
272   - </el-option-group>
273   - </el-select>
274   - </template>
275   - </td>
276   - </tr>
277   - <!-- 追加SQL -->
278   - <tr v-if="filter.filterType == 2 || filter.filterType == 3">
279   - <td colspan="6">
280   - <HtMonacoEditor
281   - ref="codeEditor"
282   - language="sql"
283   - v-model="filter.filter"
284   - height="400px"
285   - />
286   - </td>
287   - </tr>
288   - <!-- 数据权限 -->
289   - <tr v-if="filter.filterType == 4">
290   - <td colspan="6">
291   - <table
292   - class="form-table"
293   - cellspacing="0"
294   - cellpadding="0"
295   - border="0"
  245 + ></div>
  246 + </div>
  247 + </el-main>
  248 + </el-container>
  249 + </td>
  250 + </tr>
  251 + <!-- 追加SQL -->
  252 + <tr v-show="filter.filterType == 2 || filter.filterType == 3 || filter.filterType == 8">
  253 + <th width="10%">常用变量:</th>
  254 + <td colspan="5">
  255 + <template>
  256 + <el-select
  257 + v-model="selectVar"
  258 + placeholder="请选择"
  259 + @change="clickVar"
296 260 >
297   - <tbody>
298   - <tr>
299   - <th width="30%" style="text-align: left">权限字段</th>
300   - <th width="20%" style="text-align: left">数据关系</th>
301   - <th width="50%" style="text-align: left">权限类型</th>
302   - </tr>
303   - <tr>
304   - <td>
305   - <ht-select
306   - v-model="filter.loginUserField"
307   - :options="
  261 + <el-option-group
  262 + v-for="group in varList"
  263 + :key="group.label"
  264 + :label="group.label"
  265 + >
  266 + <el-option
  267 + v-for="item in group.options"
  268 + :key="item.value"
  269 + :label="item.value"
  270 + :value="item.key"
  271 + ></el-option>
  272 + </el-option-group>
  273 + </el-select>
  274 + </template>
  275 + </td>
  276 + </tr>
  277 + <!-- 追加SQL -->
  278 + <tr v-if="filter.filterType == 2 || filter.filterType == 3 || filter.filterType == 8">
  279 + <td colspan="6">
  280 + <HtMonacoEditor
  281 + ref="codeEditor"
  282 + language="sql"
  283 + v-model="filter.filter"
  284 + height="400px"
  285 + />
  286 + </td>
  287 + </tr>
  288 + <!-- 数据权限 -->
  289 + <tr v-if="filter.filterType == 4 ||filter.filterType == 9">
  290 + <td colspan="6">
  291 + <table
  292 + class="form-table"
  293 + cellspacing="0"
  294 + cellpadding="0"
  295 + border="0"
  296 + >
  297 + <tbody>
  298 + <tr>
  299 + <th width="30%" style="text-align: left">权限字段</th>
  300 + <th width="20%" style="text-align: left">数据关系</th>
  301 + <th width="50%" style="text-align: left">权限类型</th>
  302 + </tr>
  303 + <tr>
  304 + <td>
  305 + <ht-select
  306 + v-model="filter.loginUserField"
  307 + :options="
308 308 sqlOption.options.filter(obj => obj.type != 'date')
309 309 "
310   - clearable
311   - style="width: 100%"
312   - />
313   - </td>
314   - <td>等于</td>
315   - <td>
316   - <el-checkbox
317   - v-model="filter.loginUser"
318   - true-label="1"
319   - false-label="0"
320   - >当前登录用户的ID</el-checkbox
321   - >
322   - </td>
323   - </tr>
324   - <tr>
325   - <td>
326   - <ht-select
327   - v-model="filter.loginUserOrgsField"
328   - :options="
  310 + clearable
  311 + style="width: 100%"
  312 + />
  313 + </td>
  314 + <td>等于</td>
  315 + <td>
  316 + <el-checkbox
  317 + v-model="filter.loginUser"
  318 + true-label="1"
  319 + false-label="0"
  320 + >当前登录用户的ID</el-checkbox
  321 + >
  322 + </td>
  323 + </tr>
  324 + <tr>
  325 + <td>
  326 + <ht-select
  327 + v-model="filter.loginUserOrgsField"
  328 + :options="
329 329 sqlOption.options.filter(obj => obj.type != 'date')
330 330 "
331   - clearable
332   - style="width: 100%"
333   - />
334   - </td>
335   - <td>等于</td>
336   - <td>
337   - <el-checkbox
338   - v-model="filter.loginUserOrgs"
339   - true-label="1"
340   - false-label="0"
341   - >当前登录用户所属组织的ID</el-checkbox
342   - >
343   - </td>
344   - </tr>
345   - <tr>
346   - <td>
347   - <ht-select
348   - v-model="filter.loginUserSubOrgsField"
349   - :options="
  331 + clearable
  332 + style="width: 100%"
  333 + />
  334 + </td>
  335 + <td>等于</td>
  336 + <td>
  337 + <el-checkbox
  338 + v-model="filter.loginUserOrgs"
  339 + true-label="1"
  340 + false-label="0"
  341 + >当前登录用户所属组织的ID</el-checkbox
  342 + >
  343 + </td>
  344 + </tr>
  345 + <tr>
  346 + <td>
  347 + <ht-select
  348 + v-model="filter.loginUserSubOrgsField"
  349 + :options="
350 350 sqlOption.options.filter(obj => obj.type != 'date')
351 351 "
352   - clearable
353   - style="width: 100%"
354   - />
355   - </td>
356   - <td>属于</td>
357   - <td>
358   - <el-checkbox
359   - v-model="filter.loginUserSubOrgs"
360   - true-label="1"
361   - false-label="0"
362   - >当前登录用户所属组织及下属组织的ID</el-checkbox
363   - >
364   - </td>
365   - </tr>
366   - <tr>
367   - <td>
368   - <ht-select
369   - v-model="filter.customOrgsField"
370   - :options="
  352 + clearable
  353 + style="width: 100%"
  354 + />
  355 + </td>
  356 + <td>属于</td>
  357 + <td>
  358 + <el-checkbox
  359 + v-model="filter.loginUserSubOrgs"
  360 + true-label="1"
  361 + false-label="0"
  362 + >当前登录用户所属组织及下属组织的ID</el-checkbox
  363 + >
  364 + </td>
  365 + </tr>
  366 + <tr>
  367 + <td>
  368 + <ht-select
  369 + v-model="filter.customOrgsField"
  370 + :options="
371 371 sqlOption.options.filter(obj => obj.type != 'date')
372 372 "
373   - clearable
374   - style="width: 100%"
375   - />
376   - </td>
377   - <td>属于</td>
378   - <td>
379   - <el-tag
380   - v-for="selectOrg in orgSelectedArray"
381   - closable
382   - :disable-transitions="false"
383   - :key="selectOrg.code"
384   - @close="handleTagClose(selectOrg)"
385   - >{{ ' ' + selectOrg.name }}</el-tag
386   - >
387   - <el-button
388   - @click="orgSelector()"
389   - type="primary"
390   - size="small"
391   - icon="el-icon-search"
392   - plain
393   - >选择组织</el-button
394   - >
395   - </td>
396   - </tr>
397   - </tbody>
398   - </table>
399   - </td>
400   - </tr>
401   - <!-- 流程权限 -->
402   - <tr v-if="filter.filterType === 5">
403   - <td colspan="6">
404   - <table class="form-table" cellspacing="0" cellpadding="0">
405   - <tbody>
406   - <tr>
407   - <th width="50%" style="text-align: left">类型</th>
408   - <th width="50%" style="text-align: left">是否启用</th>
409   - </tr>
410   - <tr>
411   - <td>我相关的</td>
412   - <td>
413   - <el-checkbox
414   - :indeterminate="isIndeterminate"
415   - v-model="checkAll"
416   - @change="handleCheckAllChange"
417   - ></el-checkbox>
418   - </td>
419   - </tr>
420   - <tr
421   - v-for="(item, index) in flowAuthOptions"
422   - :key="'flowOptions-' + index"
  373 + clearable
  374 + style="width: 100%"
  375 + />
  376 + </td>
  377 + <td>属于</td>
  378 + <td>
  379 + <el-tag
  380 + v-for="selectOrg in orgSelectedArray"
  381 + closable
  382 + :disable-transitions="false"
  383 + :key="selectOrg.code"
  384 + @close="handleTagClose(selectOrg)"
  385 + >{{ ' ' + selectOrg.name }}</el-tag
  386 + >
  387 + <el-button
  388 + @click="orgSelector()"
  389 + type="primary"
  390 + size="small"
  391 + icon="el-icon-search"
  392 + plain
  393 + >选择组织</el-button
423 394 >
424   - <td>{{ item.label }}</td>
425   - <td>
426   - <el-checkbox
427   - v-model="flowAuth[item.value]"
428   - @change="handleFlowAuthChange"
429   - ></el-checkbox>
430   - </td>
431   - </tr>
432   - </tbody>
433   - </table>
434   - </td>
435   - </tr>
  395 + </td>
  396 + </tr>
  397 + </tbody>
  398 + </table>
  399 + </td>
  400 + </tr>
  401 + <!-- 流程权限 -->
  402 + <tr v-if="filter.filterType === 5">
  403 + <td colspan="6">
  404 + <table class="form-table" cellspacing="0" cellpadding="0">
  405 + <tbody>
  406 + <tr>
  407 + <th width="50%" style="text-align: left">类型</th>
  408 + <th width="50%" style="text-align: left">是否启用</th>
  409 + </tr>
  410 + <tr>
  411 + <td>我相关的</td>
  412 + <td>
  413 + <el-checkbox
  414 + :indeterminate="isIndeterminate"
  415 + v-model="checkAll"
  416 + @change="handleCheckAllChange"
  417 + ></el-checkbox>
  418 + </td>
  419 + </tr>
  420 + <tr
  421 + v-for="(item, index) in flowAuthOptions"
  422 + :key="'flowOptions-' + index"
  423 + >
  424 + <td>{{ item.label }}</td>
  425 + <td>
  426 + <el-checkbox
  427 + v-model="flowAuth[item.value]"
  428 + @change="handleFlowAuthChange"
  429 + ></el-checkbox>
  430 + </td>
  431 + </tr>
  432 + </tbody>
  433 + </table>
  434 + </td>
  435 + </tr>
436 436 </tbody>
437 437 </table>
438 438 <!-- 组织选择对话框 -->
... ... @@ -481,8 +481,11 @@ export default {
481 481 sqlOption: [],
482 482 filterTypeList: [
483 483 {key: 1, value: '条件脚本'},
484   - {key: 3, value: '追加SQL'},
485   - {key: 4, value: '数据权限'}
  484 +
  485 + {key: 3, value: '追加SQL(or)'},
  486 + {key: 4, value: '数据权限(or)'},
  487 + {key: 8, value: '追加SQL(and)'},
  488 + {key: 9, value: '数据权限(and)'}
486 489 ], //添加类型时,请不要添加key为5的元素,该类型是流程权限,动态新增的
487 490 dialogVisible: false,
488 491 varList: [],
... ... @@ -757,7 +760,7 @@ export default {
757 760 tempFilter.key = this.editFilter.key
758 761 tempFilter.filter = this.editFilter.condition
759 762 tempFilter.showAll = this.editFilter.showAll
760   - if (this.editFilter.type == 4 && tempFilter.filter) {
  763 + if ((this.editFilter.type == 4 ||this.editFilter.type == 9 ) && tempFilter.filter) {
761 764 //编辑的数据权限数据
762 765 let filterJson = JSON.parse(tempFilter.filter)
763 766 for (let i = 0; i < filterJson.length; i++) {
... ... @@ -781,7 +784,9 @@ export default {
781 784 } else if (
782 785 this.editFilter.type == 2 ||
783 786 this.editFilter.type == 3 ||
784   - this.editFilter.type == 5
  787 + this.editFilter.type == 5||
  788 +
  789 + this.editFilter.type == 8
785 790 ) {
786 791 this.$set(this.filter, 'key', this.editFilter.key)
787 792 this.$set(this.filter, 'name', this.editFilter.name)
... ... @@ -794,7 +799,7 @@ export default {
794 799 // this.filter.filterType = this.editFilter.type;
795 800 } else {
796 801 this.isEditabled = true
797   - if (this.filter.filterType == 2 || this.filter.filterType == 3) {
  802 + if (this.filter.filterType == 2 || this.filter.filterType == 3 || this.filter.filterType == 8) {
798 803 } else if (this.filter.filterType == 1) {
799 804 this.conditionObj = {junction: 'and', condition: []}
800 805 this.buildConditionTree(this.conditionObj)
... ... @@ -804,6 +809,7 @@ export default {
804 809 },
805 810 //新增、编辑弹窗打开
806 811 showDialog(conf) {
  812 + console.log("confconfconf",conf)
807 813 this.orgSelectedArray = []
808 814 if (conf.editFilter) {
809 815 this.editFilter = conf.editFilter
... ... @@ -821,7 +827,7 @@ export default {
821 827 },
822 828 changeFilterType() {
823 829 if (
824   - (this.filter.filterType == 2 || this.filter.filterType == 3) &&
  830 + (this.filter.filterType == 2 || this.filter.filterType == 3 || this.filter.filterType == 8) &&
825 831 this.filter.filterType != this.editFilter.type
826 832 ) {
827 833 this.filter.filter = ' '
... ... @@ -877,7 +883,7 @@ export default {
877 883 return false
878 884 }
879 885 }
880   - } else if (this.filter.filterType == 4) {
  886 + } else if (this.filter.filterType == 4||this.filter.filterType == 9) {
881 887 // 处理数据权限
882 888 this.filter.filter = this.getPermissionData()
883 889 } else if (this.filter.filterType == 5) {
... ... @@ -1091,7 +1097,7 @@ export default {
1091 1097 } else if (indexArr.length == 2) {
1092 1098 this.conditionObj.condition[indexArr[0]].condition[
1093 1099 indexArr[1]
1094   - ].junction = newVal
  1100 + ].junction = newVal
1095 1101 }
1096 1102 }
1097 1103 },
... ...
frontend/manage/src/views/meta/DataDicManager.vue
... ... @@ -28,8 +28,8 @@
28 28 </template>
29 29 <span class="custom-tree-node" slot-scope="{node, data}">
30 30 <span class="show-ellipsis" :title="node.label">{{
31   - node.label
32   - }}</span>
  31 + node.label
  32 + }}</span>
33 33 <el-dropdown @command="handleCommand">
34 34 <span class="el-dropdown-link">
35 35 <i class="icon-more" title="更多操作" />
... ... @@ -39,35 +39,35 @@
39 39 icon="el-icon-plus"
40 40 v-if="data.parentId == '5'"
41 41 :command="{node: node, data, action: 'dicAdd'}"
42   - >添加</el-dropdown-item
  42 + >添加</el-dropdown-item
43 43 >
44 44 <el-dropdown-item
45 45 icon="el-icon-edit"
46 46 :command="{node: node, data, action: 'edit'}"
47   - >编辑</el-dropdown-item
  47 + >编辑</el-dropdown-item
48 48 >
49 49 <el-dropdown-item
50 50 icon="el-icon-delete"
51 51 v-if="data.parentId != '5'"
52 52 :command="{node: node, data, action: 'dicDelete'}"
53   - >删除</el-dropdown-item
  53 + >删除</el-dropdown-item
54 54 >
55 55 <el-dropdown-item
56 56 icon="el-icon-delete"
57 57 v-if="data.parentId == '5'"
58 58 :command="{node: node, data, action: 'delete'}"
59   - >删除</el-dropdown-item
  59 + >删除</el-dropdown-item
60 60 >
61 61 <el-dropdown-item
62 62 icon="el-icon-upload2"
63 63 v-if="data.parentId == '5'"
64 64 :command="{node: node, data, action: 'import'}"
65   - >导入</el-dropdown-item
  65 + >导入</el-dropdown-item
66 66 >
67 67 <el-dropdown-item
68 68 icon="el-icon-download"
69 69 :command="{node: node, data, action: 'export'}"
70   - >导出</el-dropdown-item
  70 + >导出</el-dropdown-item
71 71 >
72 72 </el-dropdown-menu>
73 73 </el-dropdown>
... ... @@ -106,7 +106,7 @@
106 106 type="primary"
107 107 icon="el-icon-download"
108 108 @click="downloadTemplate()"
109   - >模板下载
  109 + >模板下载
110 110 </el-button>
111 111 </ht-form-item>
112 112 <ht-form-item label="文件">
... ... @@ -134,7 +134,7 @@
134 134 @click="submitImport"
135 135 element-loading-text="拼命导入中"
136 136 v-loading.fullscreen.lock="fullscreenLoading"
137   - >确 定</el-button
  137 + >确 定</el-button
138 138 >
139 139 </div>
140 140 </el-dialog>
... ... @@ -152,10 +152,10 @@
152 152 <span slot="footer" class="dialog-footer">
153 153 <el-button type="default" @click="beforeClose2">取消</el-button>
154 154 <el-button type="primary" @click="confirmSubmit('jump')"
155   - >跳过重复项</el-button
  155 + >跳过重复项</el-button
156 156 >
157 157 <el-button type="primary" @click="confirmSubmit('cover')"
158   - >覆盖更新</el-button
  158 + >覆盖更新</el-button
159 159 >
160 160 </span>
161 161 </el-dialog>
... ... @@ -189,7 +189,7 @@
189 189 @click="
190 190 editI18nMessage(`dictionary.${dicData.typeId}.${dicData.key}`)
191 191 "
192   - >国际化</el-button
  192 + >国际化</el-button
193 193 >
194 194 </ht-input>
195 195 </ht-form-item>
... ... @@ -198,7 +198,7 @@
198 198 v-model="dicData.key"
199 199 v-pinyin="dicData.name"
200 200 autocomplete="off"
201   - :validate="{required: true, alpha_dash: true, max: 40}"
  201 + :validate="{required: true, max: 40}"
202 202 placeholder="请输入key"
203 203 :disabled="dicData.id ? true : false"
204 204 :maxlength="40"
... ... @@ -206,7 +206,7 @@
206 206 />
207 207 </ht-form-item>
208 208 <ht-form-item label label-width="80px"
209   - >当前{{
  209 + >当前{{
210 210 dicTitle == '新增字典项' ? '字典项别名' : '数据字典别名'
211 211 }}必须唯一</ht-form-item
212 212 >
... ... @@ -218,7 +218,7 @@
218 218 :model="dicData"
219 219 scope-name="editDic"
220 220 @after-save-data="afterSaveDicData"
221   - >{{ $t('eip.common.save') }}</ht-submit-button
  221 + >{{ $t('eip.common.save') }}</ht-submit-button
222 222 >
223 223 </div>
224 224 </el-dialog>
... ... @@ -271,7 +271,7 @@
271 271 :model="sysType"
272 272 scope-name="editSysTypeForm"
273 273 @after-save-data="afterSaveData"
274   - >{{ $t('eip.common.save') }}</ht-submit-button
  274 + >{{ $t('eip.common.save') }}</ht-submit-button
275 275 >
276 276 </div>
277 277 </el-dialog>
... ... @@ -293,14 +293,14 @@
293 293 icon="el-icon-plus"
294 294 @click="handleCommand({action: 'dicAdd', typesLevel: 'two'})"
295 295 type="primary"
296   - >添加</el-button
  296 + >添加</el-button
297 297 >
298 298 <ht-delete-button
299 299 :url="dicDeleteUrl"
300 300 :htTable="$refs.dataDicTable"
301 301 style="margin-left:10px;"
302 302 :disabled="isDelDisabled"
303   - >删除</ht-delete-button
  303 + >删除</ht-delete-button
304 304 >
305 305 </template>
306 306 <template>
... ... @@ -320,7 +320,7 @@
320 320 <el-link
321 321 type="primary"
322 322 @click="handleCommand({data: row, action: 'edit'})"
323   - >{{ row.name }}</el-link
  323 + >{{ row.name }}</el-link
324 324 >
325 325 </template>
326 326 </ht-table-column>
... ... @@ -342,18 +342,18 @@
342 342 type="text"
343 343 @click="handleCommand({moveIndex: index, action: 'dicUp'})"
344 344 :disabled="index == 0"
345   - >上移</el-button
  345 + >上移</el-button
346 346 >
347 347 <el-button
348 348 type="text"
349 349 @click="handleCommand({moveIndex: index, action: 'dicDown'})"
350 350 :disabled="index == dicList.length - 1"
351   - >下移</el-button
  351 + >下移</el-button
352 352 >
353 353 <el-button
354 354 type="text"
355 355 @click="handleCommand({data: row, action: 'dicDelete'})"
356   - >删除</el-button
  356 + >删除</el-button
357 357 >
358 358 </template>
359 359 </ht-table-column>
... ... @@ -576,7 +576,7 @@ export default {
576 576 req
577 577 .get(
578 578 window.context.portal +
579   - '/sys/sysType/v1/getByParentIdOrLikeName?catId=5'
  579 + '/sys/sysType/v1/getByParentIdOrLikeName?catId=5'
580 580 )
581 581 .then(res => {
582 582 if (res && res.status == 200) {
... ... @@ -704,12 +704,12 @@ export default {
704 704 this.dicData.typeId = this.currentNode.parentId
705 705 this.dicData.parentId = this.currentNode.id
706 706 }
707   -
  707 +
708 708 this.dicDialogVisible = true
709 709 this.dicData.name = ''
710 710 this.dicData.key = ''
711   - this.dicData.id = ''
712   -
  711 + this.dicData.id = ''
  712 +
713 713 break
714 714 case 'dicDelete':
715 715 if (data.id) {
... ... @@ -858,7 +858,7 @@ export default {
858 858  
859 859 this.$refs.dataDicTable.load()
860 860 // this.getType()
861   -
  861 +
862 862 this.addChangeTree()
863 863 return
864 864 }
... ...
frontend/manage/src/views/system/TenantInfoManager.vue
... ... @@ -188,7 +188,7 @@
188 188 :loading="savaLoading"
189 189 @before-save-data="beforeSaveData"
190 190 @after-response-value="afterResponseValue"
191   - >保存</ht-submit-button
  191 + >保存</ht-submit-button
192 192 >
193 193 </ht-form-item>
194 194 </el-form>
... ... @@ -251,7 +251,7 @@
251 251 </template>
252 252 <ht-form-item style="text-align: center;">
253 253 <el-button type="primary" @click="tenantParamSubmit"
254   - >保存</el-button
  254 + >保存</el-button
255 255 >
256 256 </ht-form-item>
257 257 </el-form>
... ... @@ -283,53 +283,57 @@
283 283 class="fullheight"
284 284 >
285 285 <sys-signet-manager
286   - v-if="currentTabName === 'signetService'"
  286 + v-if="currentTabName === 'signetService'"
287 287 ref="signetManager"
288 288 :tenantId="curSelectTenantId"
289 289 ></sys-signet-manager>
290 290 </el-tab-pane>
291 291 <el-tab-pane label="安全设置" name="SecuritySetting" :lazy="true" v-if="$route.name !=='tenant'">
292   - <security-setting ref="securitySetting"></security-setting>
293   - </el-tab-pane>
294   - <el-tab-pane
295   - label="授权信息"
296   - name="authorizationInformation"
297   - :lazy="true"
298   - v-if="false"
299   - >
300   - <div class="authorization-information">
301   - <div class="information-header">
302   - <h3 class="title">授权基础信息</h3>
303   - <ul class="header-items">
304   - <li
305   - class="header-item"
306   - v-for="(item, index) in cardList"
307   - :key="index"
308   - >
309   - <h4 class="second-title">{{ item.title || '无限制' }}</h4>
310   - <p class="header-content">{{ item.content || '无限制' }}</p>
311   - </li>
312   - </ul>
313   - </div>
314   - <div class="information-content">
315   - <template v-if="isShowPie">
316   - <h3 class="title">月活跃用户</h3>
317   - <pie-echart
318   - chartId="pie-chart"
319   - :option="pieOption"
320   - :chartStyle="chartStyle"
321   - ></pie-echart>
322   - </template>
323   - <el-empty
324   - v-else
325   - :image-size="380"
326   - :image="noDataImg"
327   - description="无权限限制"
328   - >
329   - </el-empty>
330   - </div>
331   - </div>
  292 + <security-setting ref="securitySetting"></security-setting>
332 293 </el-tab-pane>
  294 + <!-- <el-tab-pane-->
  295 + <!-- label="授权信息"-->
  296 + <!-- name="authorizationInformation"-->
  297 + <!-- :lazy="true"-->
  298 + <!-- v-if="-->
  299 + <!-- currentUser.userAttrs && currentUser.userAttrs.tenantId == '-1' &&-->
  300 + <!-- tenantManage.id &&-->
  301 + <!-- tenantManage.status != 'draft'-->
  302 + <!-- "-->
  303 + <!-- >-->
  304 + <!-- <div class="authorization-information">-->
  305 + <!-- <div class="information-header">-->
  306 + <!-- <h3 class="title">授权基础信息</h3>-->
  307 + <!-- <ul class="header-items">-->
  308 + <!-- <li-->
  309 + <!-- class="header-item"-->
  310 + <!-- v-for="(item, index) in cardList"-->
  311 + <!-- :key="index"-->
  312 + <!-- >-->
  313 + <!-- <h4 class="second-title">{{ item.title || '无限制' }}</h4>-->
  314 + <!-- <p class="header-content">{{ item.content || '无限制' }}</p>-->
  315 + <!-- </li>-->
  316 + <!-- </ul>-->
  317 + <!-- </div>-->
  318 + <!-- <div class="information-content">-->
  319 + <!-- <template v-if="isShowPie">-->
  320 + <!-- <h3 class="title">月活跃用户</h3>-->
  321 + <!-- <pie-echart-->
  322 + <!-- chartId="pie-chart"-->
  323 + <!-- :option="pieOption"-->
  324 + <!-- :chartStyle="chartStyle"-->
  325 + <!-- ></pie-echart>-->
  326 + <!-- </template>-->
  327 + <!-- <el-empty-->
  328 + <!-- v-else-->
  329 + <!-- :image-size="380"-->
  330 + <!-- :image="noDataImg"-->
  331 + <!-- description="无权限限制"-->
  332 + <!-- >-->
  333 + <!-- </el-empty>-->
  334 + <!-- </div>-->
  335 + <!-- </div>-->
  336 + <!-- </el-tab-pane>-->
333 337 </el-tabs>
334 338 <!-- 租户访问地址 -->
335 339 <tenant-access-address
... ... @@ -482,7 +486,7 @@ export default {
482 486 'tenantManage.code': {
483 487 handler(val) {
484 488 if (val.length >= 10)
485   - this.tenantManage.code = val.substring(0, 10)
  489 + this.tenantManage.code = val.substring(0, 10)
486 490 }
487 491 }
488 492 },
... ... @@ -490,7 +494,7 @@ export default {
490 494 ...mapState('login', ['currentUser'])
491 495 },
492 496 created() {
493   - // this.getAuthorizationMessag?e()
  497 + // this.getAuthorizationMessage()
494 498 },
495 499 mounted() {
496 500 this.$validator = this.$root.$validator
... ... @@ -597,7 +601,7 @@ export default {
597 601 this.$http
598 602 .get(
599 603 '${uc}/api/params/v1/tenantParams/getTenantParams?tenantTypeId=' +
600   - this.tenantManage.typeId
  604 + this.tenantManage.typeId
601 605 )
602 606 .then(resp => {
603 607 that.tenantParams = resp.data
... ... @@ -610,7 +614,7 @@ export default {
610 614 this.$http
611 615 .get(
612 616 '${uc}/uc/tenantParams/v1/getParamsValue?tenantId=' +
613   - that.tenantManage.id
  617 + that.tenantManage.id
614 618 )
615 619 .then(response => {
616 620 if (response.data && response.data.constructor == Array) {
... ... @@ -636,7 +640,7 @@ export default {
636 640 this.$http
637 641 .post(
638 642 '${uc}/uc/tenantParams/v1/saveTenantParams?tenantId=' +
639   - this.tenantManage.id,
  643 + this.tenantManage.id,
640 644 data
641 645 )
642 646 .then(
... ... @@ -653,7 +657,7 @@ export default {
653 657 }
654 658 )
655 659 }
656   -
  660 +
657 661 },
658 662 beforeSaveData() {
659 663 this.savaLoading = true
... ... @@ -686,28 +690,28 @@ export default {
686 690 this.savaLoading = false
687 691 return
688 692 }
689   -
  693 +
690 694 if (this.tenantId == 'add') {
691 695 this.isSubmit = false
692 696 this.$http
693   - .get('${uc}/uc/tenantManage/v1/checkCode?code=' + this.tenantManage.code + '&tenantId=' + this.tenantId)
694   - .then(res => {
695   - if (res && res.data) {
696   - this.savaLoading = false
697   - this.$message.error('别名已存在')
698   - } else {
699   - this.$refs.submitButton.requestSaveData()
700   - }
701   - })
  697 + .get('${uc}/uc/tenantManage/v1/checkCode?code=' + this.tenantManage.code + '&tenantId=' + this.tenantId)
  698 + .then(res => {
  699 + if (res && res.data) {
  700 + this.savaLoading = false
  701 + this.$message.error('别名已存在')
  702 + } else {
  703 + this.$refs.submitButton.requestSaveData()
  704 + }
  705 + })
702 706 } else {
703 707 this.isSubmit = true
704 708 }
705   -
  709 +
706 710 },
707 711 afterResponseValue(value) {
708 712 this.savaLoading = false
709 713 if (this.tenantId == 'add') {
710   - this.tenantManage.id = value
  714 + this.tenantManage.id = value
711 715 this.$emit('after-add-success', this.tenantManage)
712 716 } else if (this.tenantId) {
713 717 this.$emit('after-add-success', this.tenantManage)
... ...