cloud-web-corejs 1.0.281 → 1.1.0-dev.4

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 (158) hide show
  1. package/package.json +6 -2
  2. package/src/components/VabUpload/image-viewer.vue +442 -442
  3. package/src/components/VabUpload/index.vue +44 -2
  4. package/src/components/VabUpload/mixins.js +126 -19
  5. package/src/components/VabUpload/view.vue +247 -209
  6. package/src/components/baseTabs/mixins.js +181 -181
  7. package/src/components/bizTab/BizBillActions.vue +129 -0
  8. package/src/components/bizTab/BizTabListPage.vue +391 -0
  9. package/src/components/bizTab/README.md +378 -0
  10. package/src/components/bizTab/billTableUtil.js +48 -0
  11. package/src/components/bizTab/billValidators.js +136 -0
  12. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  13. package/src/components/bizTab/index.js +24 -0
  14. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  15. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  16. package/src/components/excelExport/mixins.js +3 -3
  17. package/src/components/mobile/statusTag/mixins.js +1 -61
  18. package/src/components/mobile/wf/content.vue +1662 -1556
  19. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  20. package/src/components/table/config.js +78 -78
  21. package/src/components/table/index.js +1276 -1276
  22. package/src/components/table/plugins/cell-area/index.js +1055 -0
  23. package/src/components/table/plugins/cell-area/index.scss +77 -0
  24. package/src/components/table/plugins/cell-area/util.js +224 -0
  25. package/src/components/table/tableForm.vue +330 -330
  26. package/src/components/table/tableFormMixin.js +318 -318
  27. package/src/components/table/vxeFilter/index.js +163 -163
  28. package/src/components/table/vxeFilter/mixin.js +316 -316
  29. package/src/components/wf/content.vue +1188 -1188
  30. package/src/components/wf/wf.js +40 -20
  31. package/src/components/wf/wfActionDropdown.vue +1 -1
  32. package/src/components/wf/wfActionItems.js +1 -1
  33. package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
  34. package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
  35. package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
  36. package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
  37. package/src/components/xform/form-designer/designer.js +15 -0
  38. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  39. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  40. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  41. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  42. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  43. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  44. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  45. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  46. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  47. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  48. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  49. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  50. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  51. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  52. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  53. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  54. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  55. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +1 -0
  56. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  57. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  58. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  59. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  60. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  61. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  62. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +19 -5
  63. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  64. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  65. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  66. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  67. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  68. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  69. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  70. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  71. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  72. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  73. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  74. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  75. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  76. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  77. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  78. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +4 -0
  79. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +59 -3
  80. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  81. package/src/components/xform/form-render/container-item/detail-h5-item.vue +183 -32
  82. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  83. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  84. package/src/components/xform/form-render/container-item/list-h5-item.vue +1688 -1700
  85. package/src/components/xform/form-render/index.vue +153 -147
  86. package/src/components/xform/form-render/indexMixin.js +12 -0
  87. package/src/components/xform/lang/en-US.js +10 -0
  88. package/src/components/xform/lang/zh-CN.js +12 -0
  89. package/src/components/xform/mixins/defaultHandle.js +707 -707
  90. package/src/components/xform/styles/h5.scss +1992 -0
  91. package/src/components/xform/utils/textMaskUtil.js +182 -179
  92. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  93. package/src/components/xform/utils/util.js +56 -11
  94. package/src/index.js +9 -4
  95. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  96. package/src/router/index.js +21 -0
  97. package/src/router/modules/customer.js +71 -14
  98. package/src/store/modules/permission.js +17 -18
  99. package/src/utils/pdfUtil.js +429 -429
  100. package/src/utils/resolveViewComponent.js +142 -16
  101. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  102. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  103. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  104. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  105. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  106. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  107. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  108. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  109. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  110. package/src/views/bd/project/common/form_script/list.vue +16 -0
  111. package/src/views/bd/project/common/form_template/list.vue +15 -0
  112. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  113. package/src/views/bd/project/core/branchContext.js +100 -0
  114. package/src/views/bd/project/core/branchPage.js +78 -0
  115. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  116. package/src/views/bd/project/core/branchScope.js +44 -0
  117. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  118. package/src/views/bd/project/core/branchSelect.vue +85 -0
  119. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  120. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  121. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  122. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  123. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  124. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  125. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  126. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  127. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  128. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  129. package/src/views/demo/bizTab/bill/list.vue +288 -0
  130. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  131. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  132. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  133. package/src/views/demo/bizTab/simple/list.vue +217 -0
  134. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  135. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  136. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  137. package/src/views/demo/bizTab/wf/list.vue +242 -0
  138. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  139. package/src/views/support/form-dialog-demo/index.vue +537 -0
  140. package/src/views/user/file_view_ins/list.vue +3 -3
  141. package/src/views/user/home/index.vue +8 -6
  142. package/src/views/user/home/wjl/content.vue +1569 -0
  143. package/src/views/user/notify_message/dialog.vue +7 -5
  144. package/src/views/user/outLink/cc_form_view.vue +188 -0
  145. package/src/views/user/outLink/form_view.vue +2 -2
  146. package/src/views/user/outLink/index.vue +4 -4
  147. package/src/views/user/outLink/view.vue +3 -3
  148. package/src/views/user/role/edit.vue +632 -632
  149. package/src/views/user/role/list.vue +260 -260
  150. package/src/views/user/wf/iframe/index.vue +3 -3
  151. package/src/views/user/wf/iframe/index2.vue +3 -3
  152. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  153. package/src/views/user/wf/wf_manage/list2.vue +9 -13
  154. package/src/views/user/wf/wf_manage/wfContentDialog.vue +8 -5
  155. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  156. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  157. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  158. package/src/utils/wf.js +0 -766
@@ -0,0 +1,189 @@
1
+ import menuKindDialog from "../menuKindDialog.vue";
2
+ import { getJsxBtn } from "@base/views/bd/setting/utils/index";
3
+
4
+ const BRANCH_CODE_REG = /^[0-9a-zA-Z_.-]{1,80}$/;
5
+
6
+ let modules = {};
7
+ modules = {
8
+ name: "bdBranchEdit",
9
+ components: { menuKindDialog },
10
+ props: {
11
+ _dataId: [String, Number],
12
+ },
13
+ created() {
14
+ if (this._dataId && !isNaN(this._dataId)) {
15
+ this.dataId = this._dataId;
16
+ }
17
+ },
18
+ mounted() {
19
+ this.initTableMenuKind();
20
+ this.getData();
21
+ },
22
+ data() {
23
+ return {
24
+ isEdit: false,
25
+ dataId: "",
26
+ bdBranch: {
27
+ enabled: true,
28
+ },
29
+ menuKindRows: [],
30
+ menuKindOption: {},
31
+ showMenuKindDialog: false,
32
+ branchCodeRules: [
33
+ { required: true, message: this.$t1("分支编码不能为空"), trigger: "blur" },
34
+ {
35
+ pattern: BRANCH_CODE_REG,
36
+ message: this.$t1("分支编码只允许是字母或数字或'_.-',长度80位以内"),
37
+ trigger: "blur",
38
+ },
39
+ ],
40
+ branchNameRules: [
41
+ { required: true, message: this.$t1("分支名称不能为空"), trigger: "blur" },
42
+ ],
43
+ };
44
+ },
45
+ computed: {
46
+ checkedMenuKindRows() {
47
+ return this.menuKindRows.map((item) => {
48
+ return { id: item.menuKindId, name: item.menuKindName };
49
+ });
50
+ },
51
+ },
52
+ methods: {
53
+ getData() {
54
+ if (!this.dataId || isNaN(this.dataId)) {
55
+ return;
56
+ }
57
+ this.isEdit = true;
58
+ this.$commonHttp({
59
+ url: USER_PREFIX + `/bd_branch/get`,
60
+ method: `post`,
61
+ data: {
62
+ id: this.dataId,
63
+ },
64
+ isLoading: true,
65
+ modalStrictly: true,
66
+ success: (res) => {
67
+ this.bdBranch = res.objx || {};
68
+ this.getMenuKinds();
69
+ },
70
+ });
71
+ },
72
+ getMenuKinds() {
73
+ this.$http({
74
+ url: USER_PREFIX + `/bd_branch/getBdBranchMenuKinds`,
75
+ method: `post`,
76
+ data: {
77
+ id: this.dataId,
78
+ },
79
+ success: (res) => {
80
+ this.menuKindRows = res.objx || [];
81
+ },
82
+ });
83
+ },
84
+ initTableMenuKind() {
85
+ let tableOption = {
86
+ vue: this,
87
+ tableRef: "table-menuKind",
88
+ tableName: "bd_branch_edit-menuKind",
89
+ config: {
90
+ height: "auto",
91
+ },
92
+ columns: [
93
+ { type: "checkbox", width: 48, resizable: false, fixed: "left" },
94
+ {
95
+ title: this.$t1("表单分类名称"),
96
+ field: "menuKindName",
97
+ minWidth: 250,
98
+ },
99
+ {
100
+ width: 47,
101
+ fixed: "right",
102
+ title: "",
103
+ sortable: false,
104
+ slots: {
105
+ default: ({ rowIndex }) => {
106
+ return getJsxBtn({
107
+ iconName: "el-icon-delete",
108
+ content: this.$t1("删除"),
109
+ onclick: () => {
110
+ this.menuKindRows.splice(rowIndex, 1);
111
+ },
112
+ });
113
+ },
114
+ },
115
+ },
116
+ ],
117
+ };
118
+ this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
119
+ this.menuKindOption = opts;
120
+ });
121
+ },
122
+ openMenuKindDialog() {
123
+ this.showMenuKindDialog = true;
124
+ },
125
+ confirmMenuKindDialog(rows) {
126
+ let oldMap = {};
127
+ this.menuKindRows.forEach((item) => {
128
+ oldMap[item.menuKindId] = item;
129
+ });
130
+ this.menuKindRows = (rows || []).map((row) => {
131
+ // 保留已有明细的 id/branchId,避免更新时被当成新增
132
+ let old = oldMap[row.id];
133
+ if (old) {
134
+ return old;
135
+ }
136
+ return {
137
+ menuKindId: row.id,
138
+ menuKindName: row.name,
139
+ };
140
+ });
141
+ },
142
+ saveData() {
143
+ this.$refs.editForm.$baseValidate((valid) => {
144
+ if (!valid) {
145
+ return;
146
+ }
147
+ if (!this.menuKindRows.length) {
148
+ this.$message({
149
+ type: "error",
150
+ message: this.$t1("分支菜单类型不能为空"),
151
+ });
152
+ return;
153
+ }
154
+ this.$baseConfirm(this.$t1("您确定要保存吗?")).then(() => {
155
+ let url =
156
+ USER_PREFIX + (this.isEdit ? `/bd_branch/update` : `/bd_branch/save`);
157
+ this.$http({
158
+ url: url,
159
+ method: `post`,
160
+ data: {
161
+ ...this.bdBranch,
162
+ bdBranchMenuKindDTOs: this.menuKindRows,
163
+ },
164
+ isLoading: true,
165
+ success: (res) => {
166
+ this.$message({
167
+ message: res.content,
168
+ type: "success",
169
+ duration: 500,
170
+ onClose: () => {
171
+ if (this.isEdit) {
172
+ this.$baseReload();
173
+ } else {
174
+ this.$baseReload({
175
+ updateParam: {
176
+ _dataId: res.objx,
177
+ },
178
+ });
179
+ }
180
+ },
181
+ });
182
+ },
183
+ });
184
+ });
185
+ });
186
+ },
187
+ },
188
+ };
189
+ export default modules;
@@ -0,0 +1,124 @@
1
+ import tableForm from "@base/components/table/tableForm.vue";
2
+ import editView from "../edit.vue";
3
+ import { getJsxBtn, getJsxStatus } from "@base/views/bd/setting/utils/index";
4
+
5
+ let modules = {};
6
+ modules = {
7
+ name: "bd_branch:list",
8
+ components: { tableForm, editView },
9
+ mounted() {
10
+ this.initTableList();
11
+ },
12
+ data() {
13
+ return {
14
+ activeName: "second",
15
+ dataId: 0,
16
+ showEdit: false,
17
+ vxeOption: {},
18
+ formData: {},
19
+ };
20
+ },
21
+ methods: {
22
+ searchEvent() {
23
+ this.$refs["table-m1"].commitProxy("reload");
24
+ },
25
+ resetEvent() {
26
+ this.formData = {};
27
+ this.$refs["table-m1"].commitProxy("reload");
28
+ },
29
+ openEditDialog(id) {
30
+ this.dataId = !id || typeof id == "object" ? 0 : id;
31
+ this.activeName = "first";
32
+ this.$openEditView("showEdit");
33
+ },
34
+ getSearchParam() {
35
+ return {
36
+ ...this.formData,
37
+ };
38
+ },
39
+ initTableList() {
40
+ let tableOption = {
41
+ vue: this,
42
+ tableRef: "table-m1",
43
+ tableName: "bd_branch_list-m1",
44
+ path: USER_PREFIX + "/bd_branch/listPage",
45
+ param: () => {
46
+ return this.getSearchParam();
47
+ },
48
+ columns: [
49
+ { type: "checkbox", width: 48, resizable: false, fixed: "left" },
50
+ {
51
+ title: this.$t1("分支编码"),
52
+ field: "branchCode",
53
+ width: 200,
54
+ fixed: "left",
55
+ },
56
+ { title: this.$t1("分支名称"), field: "branchName", width: 200 },
57
+ {
58
+ title: this.$t1("是否启用"),
59
+ field: "enabled",
60
+ width: 120,
61
+ slots: {
62
+ default: ({ row }) => {
63
+ if (row.enabled) {
64
+ return getJsxStatus(null, this.$t1("启用"));
65
+ }
66
+ return getJsxStatus("s-3", this.$t1("禁用"));
67
+ },
68
+ },
69
+ },
70
+ { title: this.$t1("备注"), field: "remark", width: 250 },
71
+ { field: "createBy", title: this.$t1("创建人"), width: 120 },
72
+ { field: "createDate", title: this.$t1("创建时间"), width: 150 },
73
+ { field: "modifyBy", title: this.$t1("更新人"), width: 120 },
74
+ { field: "modifyDate", title: this.$t1("更新时间"), width: 150 },
75
+ {
76
+ width: 47,
77
+ fixed: "right",
78
+ title: "",
79
+ sortable: false,
80
+ slots: {
81
+ default: ({ row }) => {
82
+ return getJsxBtn({
83
+ iconName: "el-icon-edit",
84
+ content: this.$t1("查看"),
85
+ onclick: () => {
86
+ this.openEditDialog(row.id);
87
+ },
88
+ });
89
+ },
90
+ },
91
+ },
92
+ ],
93
+ searchColumns: [
94
+ {
95
+ title: this.$t1("分支编码"),
96
+ field: "branchCode",
97
+ type: "input",
98
+ common: true,
99
+ },
100
+ {
101
+ title: this.$t1("分支名称"),
102
+ field: "branchName",
103
+ type: "input",
104
+ common: true,
105
+ },
106
+ {
107
+ title: this.$t1("是否启用"),
108
+ field: "enabled",
109
+ type: "select",
110
+ common: true,
111
+ itemOption: [
112
+ { label: this.$t1("启用"), value: true },
113
+ { label: this.$t1("禁用"), value: false },
114
+ ],
115
+ },
116
+ ],
117
+ };
118
+ this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
119
+ this.vxeOption = opts;
120
+ });
121
+ },
122
+ },
123
+ };
124
+ export default modules;
@@ -0,0 +1,85 @@
1
+ import { selectDialogMixins } from "@base/mixins/selectDialog";
2
+ import { BRANCH_FLAG } from "../../../core/branchContext";
3
+
4
+ let modules = {};
5
+ modules = {
6
+ props: ["visiable", "multi", "rows"],
7
+ mixins: [selectDialogMixins],
8
+ created() {
9
+ this.initSetting();
10
+ },
11
+ mounted() {
12
+ this.initTableM1();
13
+ },
14
+ data() {
15
+ return {
16
+ showDialog: true,
17
+ falseValue: false,
18
+ selectMulti: true,
19
+ formData: {},
20
+ vxeOption: {},
21
+ };
22
+ },
23
+ methods: {
24
+ initTableM1() {
25
+ let that = this;
26
+ let tableOption = {
27
+ vue: that,
28
+ tableRef: "table-m1",
29
+ tableName: "bd_branch_menuKind_dialog-m1",
30
+ path: USER_PREFIX + "/menuKind/getAllList",
31
+ param: () => {
32
+ return {
33
+ ...this.formData,
34
+ // 只能选择「分类-通用」的一级分类
35
+ parent: 0,
36
+ enabled: true,
37
+ branchFlag: BRANCH_FLAG.COMMON,
38
+ };
39
+ },
40
+ // getAllList 返回的是普通数组而非分页对象
41
+ config: {
42
+ pagerConfig: {
43
+ autoHidden: true,
44
+ },
45
+ proxyConfig: {
46
+ props: {
47
+ result: "objx",
48
+ total: "objx.length",
49
+ },
50
+ },
51
+ checkboxConfig: {
52
+ showHeader: this.selectMulti,
53
+ trigger: "row",
54
+ },
55
+ },
56
+ columns: [
57
+ { type: "checkbox", width: 50, resizable: false, fixed: "left" },
58
+ {
59
+ title: this.$t1("表单分类名称"),
60
+ field: "name",
61
+ width: 250,
62
+ fixed: "left",
63
+ },
64
+ {
65
+ field: "menuKindCode",
66
+ title: this.$t1("表单分类编码"),
67
+ width: 180,
68
+ },
69
+ { field: "treePathName", title: this.$t1("上级分类"), width: 180 },
70
+ { field: "serviceName", title: this.$t1("服务名"), width: 150 },
71
+ {
72
+ width: 47,
73
+ fixed: "right",
74
+ title: "",
75
+ sortable: false,
76
+ },
77
+ ],
78
+ };
79
+ this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
80
+ that.vxeOption = opts;
81
+ });
82
+ },
83
+ },
84
+ };
85
+ export default modules;
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <!-- 分支说明与「打开新分支」放在左侧树区域顶部,不再占用内容区工具条 -->
3
+ <branchPageWrap
4
+ :branchCode.sync="branchCode"
5
+ :branchLabel="branchLabel"
6
+ :show-bar="false"
7
+ @branch-change="onBranchChange"
8
+ >
9
+ <baseList :key="branchCode">
10
+ <template #treeTop>
11
+ <branchTreeBar
12
+ :branchLabel="branchLabel"
13
+ @open-new="openNewBranch"
14
+ ></branchTreeBar>
15
+ </template>
16
+ </baseList>
17
+ </branchPageWrap>
18
+ </template>
19
+
20
+ <script>
21
+ import branchPage from "../../core/branchPage";
22
+ import branchTreeBar from "../../core/branchTreeBar.vue";
23
+ // 逻辑脚本对应 scriptType=1 的 list1
24
+ import baseList from "@base/views/bd/setting/form_script/list1.vue";
25
+
26
+ export default {
27
+ name: "branch_form_script:list",
28
+ components: { baseList, branchTreeBar },
29
+ mixins: [branchPage],
30
+ };
31
+ </script>
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <!-- 分支说明与「打开新分支」放在左侧树区域顶部,不再占用内容区工具条 -->
3
+ <branchPageWrap
4
+ :branchCode.sync="branchCode"
5
+ :branchLabel="branchLabel"
6
+ :show-bar="false"
7
+ @branch-change="onBranchChange"
8
+ >
9
+ <baseList :key="branchCode">
10
+ <template #treeTop>
11
+ <branchTreeBar
12
+ :branchLabel="branchLabel"
13
+ @open-new="openNewBranch"
14
+ ></branchTreeBar>
15
+ </template>
16
+ </baseList>
17
+ </branchPageWrap>
18
+ </template>
19
+
20
+ <script>
21
+ import branchPage from "../../core/branchPage";
22
+ import branchTreeBar from "../../core/branchTreeBar.vue";
23
+ import baseList from "@base/views/bd/setting/form_template/list.vue";
24
+
25
+ export default {
26
+ name: "branch_form_template:list",
27
+ components: { baseList, branchTreeBar },
28
+ mixins: [branchPage],
29
+ };
30
+ </script>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <!-- 先选分支再进入,进入后分支作为第一个查询条件可继续切换;不提供「打开新分支」 -->
3
+ <branchPageWrap
4
+ :branchCode.sync="branchCode"
5
+ :branchLabel="branchLabel"
6
+ :show-bar="false"
7
+ :show-open-new="false"
8
+ @branch-change="onBranchChange"
9
+ >
10
+ <branchList :initBranchCode="branchCode" @branch-change="onBranchChange"></branchList>
11
+ </branchPageWrap>
12
+ </template>
13
+
14
+ <script>
15
+ import branchPage from "../../core/branchPage";
16
+ import branchSearchPage from "../../core/branchSearchPage";
17
+ import baseList from "@base/views/bd/setting/menu_kind/list.vue";
18
+
19
+ // 复用原分类列表,只把分支塞进查询条件
20
+ const branchList = {
21
+ name: "branch_menu_kind_list",
22
+ extends: baseList,
23
+ mixins: [branchSearchPage],
24
+ };
25
+
26
+ export default {
27
+ name: "branch_menu_kind:list",
28
+ components: { branchList },
29
+ mixins: [branchPage],
30
+ };
31
+ </script>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <baseList></baseList>
3
+ </template>
4
+
5
+ <script>
6
+ import branchScope from "../../core/branchScope";
7
+ import { BRANCH_FLAG } from "../../core/branchContext";
8
+ // 逻辑脚本对应 scriptType=1 的 list1
9
+ import baseList from "@base/views/bd/setting/form_script/list1.vue";
10
+
11
+ export default {
12
+ name: "common_form_script:list",
13
+ components: { baseList },
14
+ mixins: [branchScope(BRANCH_FLAG.COMMON)],
15
+ };
16
+ </script>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <baseList></baseList>
3
+ </template>
4
+
5
+ <script>
6
+ import branchScope from "../../core/branchScope";
7
+ import { BRANCH_FLAG } from "../../core/branchContext";
8
+ import baseList from "@base/views/bd/setting/form_template/list.vue";
9
+
10
+ export default {
11
+ name: "common_form_template:list",
12
+ components: { baseList },
13
+ mixins: [branchScope(BRANCH_FLAG.COMMON)],
14
+ };
15
+ </script>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <baseList></baseList>
3
+ </template>
4
+
5
+ <script>
6
+ import branchScope from "../../core/branchScope";
7
+ import { BRANCH_FLAG } from "../../core/branchContext";
8
+ import baseList from "@base/views/bd/setting/menu_kind/list.vue";
9
+
10
+ export default {
11
+ name: "common_menu_kind:list",
12
+ components: { baseList },
13
+ mixins: [branchScope(BRANCH_FLAG.COMMON)],
14
+ };
15
+ </script>
@@ -0,0 +1,100 @@
1
+ /**
2
+ * 分支作用域上下文。
3
+ *
4
+ * 通用工程/分支工程/数据表管理三组菜单直接复用 bd/setting 下的原页面组件,
5
+ * 原组件不感知分支,所以由外层壳组件在自身实例上挂一个作用域标记,
6
+ * 请求注入器沿组件树向上找到该标记后给请求补上 branchFlag / branchCode。
7
+ */
8
+
9
+ export const SCOPE_KEY = "__bdBranchScope__";
10
+
11
+ /** 分支标识:0通用工程 1分支工程 99数据表分类 */
12
+ export const BRANCH_FLAG = {
13
+ COMMON: 0,
14
+ BRANCH: 1,
15
+ DATA_TABLE: 99,
16
+ };
17
+
18
+ /**
19
+ * 只有后端 DTO 真正声明了 branchCode/branchFlag 的接口才允许注入,
20
+ * 否则多余字段会被反序列化拒绝。以路径结尾精确匹配。
21
+ */
22
+ const INJECT_URLS = [
23
+ "/menuKind/getAllList",
24
+ "/menuKind/getChildren",
25
+ "/menuKind/save",
26
+ "/menuKind/update",
27
+
28
+ "/formTemplate/listPage",
29
+ "/formTemplate/listOtherPage",
30
+ "/formTemplate/listPageWf",
31
+ "/formTemplate/save",
32
+ "/formTemplate/update",
33
+ "/formTemplate/updateDesign",
34
+
35
+ "/formScript/listPage",
36
+ "/formScript/listOtherPage",
37
+ "/formScript/save",
38
+ "/formScript/update",
39
+ "/formScript/saves",
40
+ "/formScript/getServiceName",
41
+
42
+ "/szTaMb/listPage",
43
+ "/szTaMb/listOtherPage",
44
+ "/szTaMb/save",
45
+ "/szTaMb/update",
46
+
47
+ "/formVersion/listPage",
48
+ "/form_oplog/listPage",
49
+ "/form_import_log/listPage",
50
+ ];
51
+
52
+ /**
53
+ * 脱离组件树创建的实例($jsonImport 动态弹框等)找不到父链,
54
+ * 由当前激活的分支页面兜底。
55
+ */
56
+ let fallbackScope = null;
57
+
58
+ export function setFallbackScope(scope) {
59
+ fallbackScope = scope || null;
60
+ }
61
+
62
+ export function getFallbackScope() {
63
+ return fallbackScope;
64
+ }
65
+
66
+ /** 沿 $parent 向上找最近的分支作用域,找不到则用兜底作用域 */
67
+ export function findScope(vm) {
68
+ let cur = vm;
69
+ while (cur) {
70
+ if (cur[SCOPE_KEY]) {
71
+ return cur[SCOPE_KEY];
72
+ }
73
+ cur = cur.$parent;
74
+ }
75
+ return fallbackScope;
76
+ }
77
+
78
+ export function needInject(url) {
79
+ if (!url) {
80
+ return false;
81
+ }
82
+ let path = url;
83
+ let qIndex = path.indexOf("?");
84
+ if (qIndex >= 0) {
85
+ path = path.substring(0, qIndex);
86
+ }
87
+ return INJECT_URLS.some((item) => path.endsWith(item));
88
+ }
89
+
90
+ /** 作用域转成请求参数:通用工程/数据表管理没有分支编码 */
91
+ export function getScopeParams(scope) {
92
+ if (!scope) {
93
+ return null;
94
+ }
95
+ let params = { branchFlag: scope.branchFlag };
96
+ if (scope.branchCode) {
97
+ params.branchCode = scope.branchCode;
98
+ }
99
+ return params;
100
+ }