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

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 (192) 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 +45 -3
  4. package/src/components/VabUpload/mixins.js +126 -19
  5. package/src/components/VabUpload/view.vue +248 -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/excelImport/index.vue +156 -156
  18. package/src/components/jsonImport/index.vue +1 -1
  19. package/src/components/langImport/index.vue +1 -1
  20. package/src/components/mobile/statusTag/mixins.js +1 -61
  21. package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
  22. package/src/components/mobile/wf/content.vue +1705 -1556
  23. package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
  24. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  25. package/src/components/mobile/wf/selectUserDialog.vue +122 -0
  26. package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
  27. package/src/components/mobile/wf/urgingDialog.vue +26 -3
  28. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  29. package/src/components/obsUpload/index.vue +1 -1
  30. package/src/components/table/config.js +78 -78
  31. package/src/components/table/index.js +1276 -1276
  32. package/src/components/table/plugins/cell-area/index.js +1055 -0
  33. package/src/components/table/plugins/cell-area/index.scss +77 -0
  34. package/src/components/table/plugins/cell-area/util.js +224 -0
  35. package/src/components/table/tableForm.vue +330 -330
  36. package/src/components/table/tableFormMixin.js +318 -318
  37. package/src/components/table/vxeFilter/index.js +163 -163
  38. package/src/components/table/vxeFilter/mixin.js +316 -316
  39. package/src/components/wf/content.vue +1188 -1188
  40. package/src/components/wf/wf.js +40 -20
  41. package/src/components/wf/wfActionDropdown.vue +1 -1
  42. package/src/components/wf/wfActionItems.js +1 -1
  43. 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
  44. 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
  45. 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
  46. 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
  47. package/src/components/xform/form-designer/designer.js +51 -52
  48. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  49. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  50. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  51. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  52. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  53. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  54. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  55. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  56. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  57. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  58. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  59. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  60. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  61. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  62. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  63. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  64. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  65. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  66. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  67. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  68. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  69. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  70. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  71. package/src/components/xform/form-designer/indexMixin.js +35 -1
  72. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  73. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  80. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  81. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  88. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  89. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  90. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  92. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  93. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  94. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  95. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  96. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  97. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  98. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  99. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  100. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  101. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  102. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  103. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  104. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  105. package/src/components/xform/form-render/index.vue +153 -147
  106. package/src/components/xform/form-render/indexMixin.js +35 -3
  107. package/src/components/xform/lang/en-US.js +14 -0
  108. package/src/components/xform/lang/zh-CN.js +17 -0
  109. package/src/components/xform/mixins/defaultHandle.js +707 -707
  110. package/src/components/xform/styles/h5.scss +2238 -0
  111. package/src/components/xform/utils/textMaskUtil.js +182 -179
  112. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  113. package/src/components/xform/utils/util.js +56 -11
  114. package/src/directive/append-to-body/index.js +48 -0
  115. package/src/index.js +13 -4
  116. package/src/layout/components/Sidebar/default.vue +1655 -1655
  117. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  118. package/src/router/index.js +48 -27
  119. package/src/router/modules/customer.js +71 -14
  120. package/src/store/modules/permission.js +17 -18
  121. package/src/utils/assetUrl.js +19 -0
  122. package/src/utils/pdfUtil.js +429 -429
  123. package/src/utils/resolveViewComponent.js +142 -16
  124. package/src/utils/vab.js +1283 -1279
  125. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  126. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  127. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  128. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  129. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  130. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  131. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  132. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  133. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  134. package/src/views/bd/project/common/form_script/list.vue +16 -0
  135. package/src/views/bd/project/common/form_template/list.vue +15 -0
  136. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  137. package/src/views/bd/project/core/branchContext.js +100 -0
  138. package/src/views/bd/project/core/branchPage.js +78 -0
  139. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  140. package/src/views/bd/project/core/branchScope.js +44 -0
  141. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  142. package/src/views/bd/project/core/branchSelect.vue +85 -0
  143. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  144. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  145. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  146. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  147. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  148. package/src/views/bd/setting/form_template/edit.vue +378 -356
  149. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  150. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  151. package/src/views/bd/setting/form_template/list.vue +304 -303
  152. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  153. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  154. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  155. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  156. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  157. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  158. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  159. package/src/views/demo/bizTab/bill/list.vue +288 -0
  160. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  161. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  162. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  163. package/src/views/demo/bizTab/simple/list.vue +217 -0
  164. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  165. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  166. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  167. package/src/views/demo/bizTab/wf/list.vue +242 -0
  168. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  169. package/src/views/support/form-dialog-demo/index.vue +537 -0
  170. package/src/views/user/file_view_ins/list.vue +970 -970
  171. package/src/views/user/form/vform/designer.vue +823 -821
  172. package/src/views/user/home/default.vue +1117 -1117
  173. package/src/views/user/home/default2.vue +1 -1
  174. package/src/views/user/home/index.vue +103 -101
  175. package/src/views/user/home/wjl/content.vue +1569 -0
  176. package/src/views/user/notify_message/dialog.vue +139 -137
  177. package/src/views/user/outLink/cc_form_view.vue +188 -0
  178. package/src/views/user/outLink/form_view.vue +202 -202
  179. package/src/views/user/outLink/index.vue +110 -110
  180. package/src/views/user/outLink/view.vue +3 -3
  181. package/src/views/user/role/edit.vue +632 -632
  182. package/src/views/user/role/list.vue +260 -260
  183. package/src/views/user/wf/iframe/index.vue +51 -51
  184. package/src/views/user/wf/iframe/index2.vue +64 -64
  185. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  186. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  187. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  188. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  189. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  190. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  191. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  192. package/src/utils/wf.js +0 -766
@@ -1,148 +1,148 @@
1
- import { selectDialogMixins } from "@base/mixins/selectDialog";
2
-
3
- let modules = {};
4
- modules = {
5
- name: "zdDialog",
6
- props: ["visiable", "multi", "rows", "param", "taBm"],
7
- mixins: [selectDialogMixins],
8
- components: {},
9
- created() {
10
- this.initSetting();
11
- },
12
- mounted() {
13
- this.initTableM1();
14
- },
15
- data() {
16
- return {
17
- showDialog: true,
18
- falseValue: false,
19
- selectMulti: true,
20
- formData: {},
21
- vxeOption: {},
22
- showSaleOrgDialog: false,
23
- fieldKey: "taZdMc",
24
- };
25
- },
26
- methods: {
27
- initTableM1() {
28
- let that = this;
29
-
30
- let zdTypeMap = {
31
- Boolean: this.$t1("布尔"),
32
- Integer: this.$t1("整数"),
33
- Long: this.$t1("长整数"),
34
- Decimal: this.$t1("精度小数"),
35
- Money: this.$t1("金额"),
36
- Text: this.$t1("文本"),
37
- TextArea: this.$t1("长文本"),
38
- DateTime: this.$t1("日期时间"),
39
- Reference: this.$t1("关联表(文本)"),
40
- ReferenceLong: this.$t1("关联表(长整型)"),
41
- };
42
-
43
- let tableOption = {
44
- vue: that,
45
- tableRef: "table-m1",
46
- tableName: "bd_table_model_field_dialog-m1",
47
- path: USER_PREFIX + "/szTaMb/getSzTaZdMbsByTaBm",
48
- param: () => {
49
- return {
50
- taBm: this.taBm,
51
- enabled: true,
52
- searchDb: true,
53
- ...this.formData,
54
- ...this.param,
55
- };
56
- },
57
- callback: (rows) => {
58
- this.restoreChecked(rows);
59
- },
60
- columns: [
61
- { type: "checkbox", width: 48, resizable: false, fixed: "left" },
62
- {
63
- title: this.$t1("实体字段名称"),
64
- field: "zdEn",
65
- width: 150,
66
- },
67
- {
68
- title: this.$t1("数据库表字段名"),
69
- field: "taZdMc",
70
- width: 150,
71
- },
72
- {
73
- title: this.$t1("字段描述"),
74
- field: "zdCh",
75
- width: 150,
76
- },
77
- {
78
- title: this.$t1("字段类型"),
79
- field: "zdType",
80
- width: 150,
81
- slots: {
82
- default: ({ row, rowIndex, $table }) => {
83
- return zdTypeMap[row.zdType];
84
- },
85
- },
86
- },
87
- {
88
- title: this.$t1("关联字段"),
89
- field: "referenceZd",
90
- width: 150,
91
- },
92
- {
93
- width: 47,
94
- fixed: "right",
95
- title: "",
96
- sortable: false,
97
- },
98
- ],
99
- config: {
100
- checkboxConfig: {
101
- checkStrictly: true,
102
- showHeader: this.selectMulti,
103
- trigger: "row",
104
- },
105
- proxyConfig: {
106
- props: {
107
- result: "objx", // 配置响应结果列表字段
108
- total: "objx.length", // 配置响应结果总页数字段
109
- },
110
- },
111
- },
112
- };
113
- this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
114
- that.vxeOption = opts;
115
- });
116
- },
117
- /**
118
- * 列表每次查询完,把已选中的字段重新勾上。
119
- *
120
- * selectDialogMixins.initSetting 只把 rows 播种进 checkRows(右侧已选列表),
121
- * 表格自身的勾选状态没人恢复 —— 不补这一步,弹框打开时左边一个勾都没有,
122
- * 用户再勾一个新字段就会把原有的显示字段整组顶掉。
123
- */
124
- restoreChecked(rows) {
125
- let checkRows = this.checkRows;
126
- if (!checkRows || !checkRows.length || !rows || !rows.length) {
127
- return;
128
- }
129
- let fieldKey = this.fieldKey;
130
- let keys = checkRows.map((item) => item[fieldKey]);
131
- let targetRows = rows.filter((row) => keys.includes(row[fieldKey]));
132
- if (!targetRows.length) {
133
- return;
134
- }
135
- // 回填进来的可能只是 { taZdMc } 这样的占位行,用列表里的真实行替换掉,
136
- // 保证「确定」抛给调用方的是带 zdEn / zdCh 的完整数据
137
- this.checkRows = checkRows.map((item) => {
138
- let real = targetRows.find((row) => row[fieldKey] === item[fieldKey]);
139
- return real || item;
140
- });
141
- let $grid = this.$refs[this.defaultTableRefName];
142
- if ($grid && $grid.setCheckboxRow) {
143
- $grid.setCheckboxRow(targetRows, true);
144
- }
145
- },
146
- },
147
- };
148
- export default modules;
1
+ import { selectDialogMixins } from "@base/mixins/selectDialog";
2
+
3
+ let modules = {};
4
+ modules = {
5
+ name: "zdDialog",
6
+ props: ["visiable", "multi", "rows", "param", "taBm"],
7
+ mixins: [selectDialogMixins],
8
+ components: {},
9
+ created() {
10
+ this.initSetting();
11
+ },
12
+ mounted() {
13
+ this.initTableM1();
14
+ },
15
+ data() {
16
+ return {
17
+ showDialog: true,
18
+ falseValue: false,
19
+ selectMulti: true,
20
+ formData: {},
21
+ vxeOption: {},
22
+ showSaleOrgDialog: false,
23
+ fieldKey: "taZdMc",
24
+ };
25
+ },
26
+ methods: {
27
+ initTableM1() {
28
+ let that = this;
29
+
30
+ let zdTypeMap = {
31
+ Boolean: this.$t1("布尔"),
32
+ Integer: this.$t1("整数"),
33
+ Long: this.$t1("长整数"),
34
+ Decimal: this.$t1("精度小数"),
35
+ Money: this.$t1("金额"),
36
+ Text: this.$t1("文本"),
37
+ TextArea: this.$t1("长文本"),
38
+ DateTime: this.$t1("日期时间"),
39
+ Reference: this.$t1("关联表(文本)"),
40
+ ReferenceLong: this.$t1("关联表(长整型)"),
41
+ };
42
+
43
+ let tableOption = {
44
+ vue: that,
45
+ tableRef: "table-m1",
46
+ tableName: "bd_table_model_field_dialog-m1",
47
+ path: USER_PREFIX + "/szTaMb/getSzTaZdMbsByTaBm",
48
+ param: () => {
49
+ return {
50
+ taBm: this.taBm,
51
+ enabled: true,
52
+ searchDb: true,
53
+ ...this.formData,
54
+ ...this.param,
55
+ };
56
+ },
57
+ callback: (rows) => {
58
+ this.restoreChecked(rows);
59
+ },
60
+ columns: [
61
+ { type: "checkbox", width: 48, resizable: false, fixed: "left" },
62
+ {
63
+ title: this.$t1("实体字段名称"),
64
+ field: "zdEn",
65
+ width: 150,
66
+ },
67
+ {
68
+ title: this.$t1("数据库表字段名"),
69
+ field: "taZdMc",
70
+ width: 150,
71
+ },
72
+ {
73
+ title: this.$t1("字段描述"),
74
+ field: "zdCh",
75
+ width: 150,
76
+ },
77
+ {
78
+ title: this.$t1("字段类型"),
79
+ field: "zdType",
80
+ width: 150,
81
+ slots: {
82
+ default: ({ row, rowIndex, $table }) => {
83
+ return zdTypeMap[row.zdType];
84
+ },
85
+ },
86
+ },
87
+ {
88
+ title: this.$t1("关联字段"),
89
+ field: "referenceZd",
90
+ width: 150,
91
+ },
92
+ {
93
+ width: 47,
94
+ fixed: "right",
95
+ title: "",
96
+ sortable: false,
97
+ },
98
+ ],
99
+ config: {
100
+ checkboxConfig: {
101
+ checkStrictly: true,
102
+ showHeader: this.selectMulti,
103
+ trigger: "row",
104
+ },
105
+ proxyConfig: {
106
+ props: {
107
+ result: "objx", // 配置响应结果列表字段
108
+ total: "objx.length", // 配置响应结果总页数字段
109
+ },
110
+ },
111
+ },
112
+ };
113
+ this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
114
+ that.vxeOption = opts;
115
+ });
116
+ },
117
+ /**
118
+ * 列表每次查询完,把已选中的字段重新勾上。
119
+ *
120
+ * selectDialogMixins.initSetting 只把 rows 播种进 checkRows(右侧已选列表),
121
+ * 表格自身的勾选状态没人恢复 —— 不补这一步,弹框打开时左边一个勾都没有,
122
+ * 用户再勾一个新字段就会把原有的显示字段整组顶掉。
123
+ */
124
+ restoreChecked(rows) {
125
+ let checkRows = this.checkRows;
126
+ if (!checkRows || !checkRows.length || !rows || !rows.length) {
127
+ return;
128
+ }
129
+ let fieldKey = this.fieldKey;
130
+ let keys = checkRows.map((item) => item[fieldKey]);
131
+ let targetRows = rows.filter((row) => keys.includes(row[fieldKey]));
132
+ if (!targetRows.length) {
133
+ return;
134
+ }
135
+ // 回填进来的可能只是 { taZdMc } 这样的占位行,用列表里的真实行替换掉,
136
+ // 保证「确定」抛给调用方的是带 zdEn / zdCh 的完整数据
137
+ this.checkRows = checkRows.map((item) => {
138
+ let real = targetRows.find((row) => row[fieldKey] === item[fieldKey]);
139
+ return real || item;
140
+ });
141
+ let $grid = this.$refs[this.defaultTableRefName];
142
+ if ($grid && $grid.setCheckboxRow) {
143
+ $grid.setCheckboxRow(targetRows, true);
144
+ }
145
+ },
146
+ },
147
+ };
148
+ export default modules;
@@ -0,0 +1,41 @@
1
+ import prefixConfig from "@/prefixConfig.js";
2
+
3
+ /**
4
+ * demo B 接的是真实单据:PMD 的「产品变更申请」,走通用 bd_api(getPage / getOne / getList / saveUpdate)。
5
+ * 换成你自己的单据只改这里:表单编码、表名、流程编码、页签标题字段。
6
+ *
7
+ * 请求写法逐条对齐 stdxx 的真实页面 `views/pmd/product/product_change/{list,edit,productItemDialog}.vue`,
8
+ * 那边跑得通这边就跑得通(连 getOne/saveUpdate 不带 formVersion 都是照它来的)。
9
+ *
10
+ * ⚠️ 前置条件(跑不起来先核对这几条):
11
+ * 1. 表单模板 item_change(列表)/ item_change_edit(详情),且配了脚本
12
+ * getPage / getOne / getList / saveUpdate / findItemPage;
13
+ * 2. 表 pcp_item_change / pcp_item_change_item 存在;
14
+ * 3. 流程 product_change_edit 存在,且至少有一个允许改单据(toModify)的节点,
15
+ * 否则「通过自动保存」这条验不到。
16
+ * 真实页面还会写第三张表 pcp_product_properties_change(产品参数),demo 不带它——
17
+ * saveUpdate 只写 data 里出现的表,不传即不动,所以参数不会被清空。
18
+ * 不吃这些前置条件的版本看 ../simple/(前端 mock,不打后台)。
19
+ *
20
+ * ⚠️ 保存是整表提交:saveUpdate 的 data 里带哪几张表,后台就按哪几张表落库。
21
+ * 所以 detail.vue 把子表 pcp_item_change_item 一起读出来、原样带回,
22
+ * 不然拿真实单据试保存会把子表冲掉。你自己的单据有子表时照此办理。
23
+ */
24
+ export const BILL = {
25
+ prefix: prefixConfig.PMD_PREFIX,
26
+ listFormCode: "item_change", // 列表分页用的表单编码
27
+ formCode: "item_change_edit", // 详情取数/保存用的表单编码
28
+ taBm: "pcp_item_change", // 主表表名
29
+ itemTaBm: "pcp_item_change_item", // 子表表名
30
+ wfCode: "div_form_item_change_edit", // 流程编码
31
+ titleField: "sn", // 页签标题字段(变更单号)
32
+ type: 0, // 业务过滤条件:0 产品变更 / 1 零件变更
33
+ };
34
+
35
+ export const STATUS_MAP = {
36
+ 0: { label: "未审核", cls: "list-tag warning" },
37
+ 1: { label: "审核中", cls: "list-tag" },
38
+ 2: { label: "已审核", cls: "list-tag success" },
39
+ };
40
+
41
+ export default BILL;