@fecp/designer 5.5.120 → 5.6.1

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 (139) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer/src/assets/logo.png.mjs +1 -1
  3. package/es/designer/src/components/EventConfigButton.vue.mjs +2 -2
  4. package/es/designer/src/packages/dataSource/index.vue.mjs +3 -3
  5. package/es/designer/src/packages/dialog/index.vue2.mjs +15 -15
  6. package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +15 -16
  7. package/es/designer/src/packages/event/pageEvent.vue.mjs +1 -1
  8. package/es/designer/src/packages/form/index.vue.mjs +2 -2
  9. package/es/designer/src/packages/form/property/contract.vue.mjs +15 -1
  10. package/es/designer/src/packages/form/property/pageFooterBtn.vue.mjs +2 -2
  11. package/es/designer/src/packages/form/property/pageHeaderBtn.vue.mjs +2 -2
  12. package/es/designer/src/packages/form/property/widgets.vue.mjs +4 -4
  13. package/es/designer/src/packages/table/property/customBtn.vue.mjs +2 -2
  14. package/es/designer/src/packages/table/property/optBtn.vue.mjs +2 -2
  15. package/es/designer/src/packages/table/property/widgets.vue.mjs +2 -2
  16. package/es/designer.css +611 -520
  17. package/es/logo.ico +0 -0
  18. package/es/packages/mobile/index.mjs +2 -0
  19. package/es/packages/mobile/src/api/index.mjs +1 -1
  20. package/es/packages/mobile/src/assets/images/baseRate.png.mjs +1 -1
  21. package/es/packages/mobile/src/assets/images/home-bg.png.mjs +1 -1
  22. package/es/packages/mobile/src/assets/images/rentCalc.png.mjs +1 -1
  23. package/es/packages/mobile/src/assets/images/user.png.mjs +4 -0
  24. package/es/packages/mobile/src/components/all.mjs +2 -0
  25. package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +63 -44
  26. package/es/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.mjs +9 -5
  27. package/es/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.mjs +134 -71
  28. package/es/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.mjs +3 -3
  29. package/es/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.mjs +36 -26
  30. package/es/packages/mobile/src/components/custom/customCode/CustomCode.vue.mjs +60 -0
  31. package/es/packages/mobile/src/components/custom/customCode/index.mjs +10 -0
  32. package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +3 -3
  33. package/es/packages/mobile/src/components/custom/userSelect/UserSelect.vue.mjs +3 -3
  34. package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +189 -8
  35. package/es/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.mjs +109 -47
  36. package/es/packages/mobile/src/components/dataDisplay/mine/Mine.vue.mjs +33 -9
  37. package/es/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.mjs +39 -79
  38. package/es/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.mjs +10 -2
  39. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +167 -32
  40. package/es/packages/mobile/src/components/form/fieldArea/FieldArea.vue.mjs +3 -2
  41. package/es/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.mjs +13 -15
  42. package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +10 -10
  43. package/es/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.mjs +7 -23
  44. package/es/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.mjs +14 -26
  45. package/es/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.mjs +14 -15
  46. package/es/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.mjs +6 -19
  47. package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +9 -25
  48. package/es/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.mjs +8 -24
  49. package/es/packages/mobile/src/components/form/search/Search.vue.mjs +16 -7
  50. package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +2 -2
  51. package/es/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.mjs +13 -5
  52. package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +61 -26
  53. package/es/packages/mobile/src/index.vue.mjs +21 -4
  54. package/es/packages/mobile/src/page.vue.mjs +342 -138
  55. package/es/packages/mobile/src/utils/common.mjs +21 -0
  56. package/es/packages/mobile/src/utils/datasource.mjs +4 -4
  57. package/es/packages/mobile/src/utils/eventFlow/actionHandlers.mjs +35 -22
  58. package/es/packages/mobile/src/utils/formatterUtil.mjs +4 -24
  59. package/es/packages/mobile/src/utils/formulajs/calculate.mjs +11 -5
  60. package/es/packages/mobile/src/utils/optionUtil.mjs +4 -29
  61. package/es/packages/mobile/src/utils/pageHistory.mjs +16 -0
  62. package/es/packages/mobile/src/utils/validation.mjs +129 -0
  63. package/es/packages/vue/src/components/bus/contract/Contract.vue.mjs +12 -1
  64. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +5 -2
  65. package/es/packages/vue/src/components/forms/number/Number.vue.mjs +3 -2
  66. package/es/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.mjs +2 -2
  67. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +20 -26
  68. package/es/packages/vue/src/components/forms/userSelect/UserSelect.vue.mjs +2 -2
  69. package/es/packages/vue/src/components/table/Table.vue.mjs +5 -2
  70. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +10 -8
  71. package/es/packages/vue/src/directive/auth.mjs +2 -1
  72. package/es/packages/vue/src/utils/parseRouteParams.mjs +2 -2
  73. package/lib/designer/package.json.js +1 -1
  74. package/lib/designer/src/assets/logo.png.js +1 -1
  75. package/lib/designer/src/components/EventConfigButton.vue.js +2 -2
  76. package/lib/designer/src/packages/dataSource/index.vue.js +3 -3
  77. package/lib/designer/src/packages/dialog/index.vue2.js +15 -15
  78. package/lib/designer/src/packages/dialogGlobal/index.vue2.js +15 -16
  79. package/lib/designer/src/packages/event/pageEvent.vue.js +1 -1
  80. package/lib/designer/src/packages/form/index.vue.js +2 -2
  81. package/lib/designer/src/packages/form/property/contract.vue.js +15 -1
  82. package/lib/designer.css +611 -520
  83. package/lib/logo.ico +0 -0
  84. package/lib/packages/mobile/index.js +4 -2
  85. package/lib/packages/mobile/src/api/index.js +1 -1
  86. package/lib/packages/mobile/src/assets/images/baseRate.png.js +1 -1
  87. package/lib/packages/mobile/src/assets/images/home-bg.png.js +1 -1
  88. package/lib/packages/mobile/src/assets/images/rentCalc.png.js +1 -1
  89. package/lib/packages/mobile/src/assets/images/user.png.js +4 -0
  90. package/lib/packages/mobile/src/components/all.js +2 -0
  91. package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +62 -43
  92. package/lib/packages/mobile/src/components/custom/appTimeLine/AppTimeLine.vue.js +9 -5
  93. package/lib/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.js +137 -74
  94. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalCard.vue.js +3 -3
  95. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.js +36 -26
  96. package/lib/packages/mobile/src/components/custom/customCode/CustomCode.vue.js +60 -0
  97. package/lib/packages/mobile/src/components/custom/customCode/index.js +10 -0
  98. package/lib/packages/mobile/src/components/custom/document/Document.vue.js +3 -3
  99. package/lib/packages/mobile/src/components/custom/userSelect/UserSelect.vue.js +3 -3
  100. package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +189 -8
  101. package/lib/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.js +109 -47
  102. package/lib/packages/mobile/src/components/dataDisplay/mine/Mine.vue.js +38 -14
  103. package/lib/packages/mobile/src/components/dataDisplay/rentCalcResult/RentCalcResult.vue.js +39 -79
  104. package/lib/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.js +10 -2
  105. package/lib/packages/mobile/src/components/form/field/Field.vue.js +165 -30
  106. package/lib/packages/mobile/src/components/form/fieldArea/FieldArea.vue.js +3 -2
  107. package/lib/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.js +13 -15
  108. package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +9 -9
  109. package/lib/packages/mobile/src/components/form/fieldCheckbox/FieldCheckbox.vue.js +6 -22
  110. package/lib/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.js +13 -25
  111. package/lib/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.js +13 -14
  112. package/lib/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.js +6 -19
  113. package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +8 -24
  114. package/lib/packages/mobile/src/components/form/fieldRadio/FieldRadio.vue.js +7 -23
  115. package/lib/packages/mobile/src/components/form/search/Search.vue.js +16 -7
  116. package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +2 -2
  117. package/lib/packages/mobile/src/components/navigation/tabbar/Tabbar.vue.js +13 -5
  118. package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +64 -29
  119. package/lib/packages/mobile/src/index.vue.js +20 -3
  120. package/lib/packages/mobile/src/page.vue.js +341 -137
  121. package/lib/packages/mobile/src/utils/common.js +21 -0
  122. package/lib/packages/mobile/src/utils/datasource.js +4 -4
  123. package/lib/packages/mobile/src/utils/eventFlow/actionHandlers.js +35 -22
  124. package/lib/packages/mobile/src/utils/formatterUtil.js +3 -23
  125. package/lib/packages/mobile/src/utils/formulajs/calculate.js +11 -5
  126. package/lib/packages/mobile/src/utils/optionUtil.js +3 -28
  127. package/lib/packages/mobile/src/utils/pageHistory.js +16 -0
  128. package/lib/packages/mobile/src/utils/validation.js +129 -0
  129. package/lib/packages/vue/src/components/bus/contract/Contract.vue.js +12 -1
  130. package/lib/packages/vue/src/components/forms/form/Form.vue.js +5 -2
  131. package/lib/packages/vue/src/components/forms/number/Number.vue.js +3 -2
  132. package/lib/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.js +2 -2
  133. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +20 -26
  134. package/lib/packages/vue/src/components/forms/userSelect/UserSelect.vue.js +2 -2
  135. package/lib/packages/vue/src/components/table/Table.vue.js +5 -2
  136. package/lib/packages/vue/src/components/table/TableColumn.vue.js +10 -8
  137. package/lib/packages/vue/src/directive/auth.js +2 -1
  138. package/lib/packages/vue/src/utils/parseRouteParams.js +2 -2
  139. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const userImg = "data:image/png;base64,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";
4
+ exports.default = userImg;
@@ -78,6 +78,7 @@ const index$19 = require("./custom/approvalList/index.js");
78
78
  require("./custom/appTimeLine/index.js");
79
79
  const index$1a = require("./custom/document/index.js");
80
80
  const index$1b = require("./custom/userSelect/index.js");
81
+ const index$1c = require("./custom/customCode/index.js");
81
82
  exports.MobileButton = index.MobileButton;
82
83
  exports.MobileIcon = index$1.MobileIcon;
83
84
  exports.MobileCell = index$2.MobileCell;
@@ -154,3 +155,4 @@ exports.MobileApprovalBar = index$18.MobileApprovalBar;
154
155
  exports.MobileApprovalList = index$19.MobileApprovalList;
155
156
  exports.MobileDocument = index$1a.MobileDocument;
156
157
  exports.MobileUserSelect = index$1b.MobileUserSelect;
158
+ exports.MobileCustomCode = index$1c.MobileCustomCode;
@@ -3,6 +3,8 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  ;/* empty css */
4
4
  ;/* empty css */
5
5
  const Vue = require("vue");
6
+ const page = require("../../../page.vue.js");
7
+ const common = require("../../../utils/common.js");
6
8
  ;/* empty css */
7
9
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
8
10
  const index = require("../../../../../../node_modules/vant/es/empty/index.js");
@@ -14,6 +16,14 @@ const _hoisted_2 = {
14
16
  key: 1,
15
17
  class: "route-wrapper"
16
18
  };
19
+ const _hoisted_3 = {
20
+ key: 0,
21
+ class: "approve-wrapper tip"
22
+ };
23
+ const _hoisted_4 = {
24
+ key: 1,
25
+ class: "approve-wrapper"
26
+ };
17
27
  const _sfc_main = {
18
28
  __name: "AppDetail",
19
29
  props: {
@@ -44,14 +54,15 @@ const _sfc_main = {
44
54
  type: Boolean,
45
55
  default: true
46
56
  },
47
- operationPageId: {
48
- type: String,
49
- default: ""
57
+ isDev: {
58
+ type: Boolean,
59
+ default: false
50
60
  }
51
61
  },
52
62
  setup(__props) {
53
63
  var _a, _b;
54
64
  const props = __props;
65
+ const pageList = Vue.inject("pageList");
55
66
  const currentInstance = Vue.getCurrentInstance();
56
67
  const ctx = currentInstance.proxy;
57
68
  ctx.route;
@@ -59,19 +70,28 @@ const _sfc_main = {
59
70
  const taskData = { ...props.params.taskData };
60
71
  const taskParams = { ...props.params };
61
72
  delete taskParams.taskData;
73
+ const appDetailPage = Vue.ref();
62
74
  const canMobileApproval = Vue.ref(true);
63
75
  const baseInfoPageId = Vue.ref("");
76
+ const operationPageId = Vue.ref("");
64
77
  if (props.baseInfoPageSource == "fixed") {
65
78
  baseInfoPageId.value = props.baseInfoPageId;
79
+ appDetailPage.value = common.findPageById(pageList.value, props.baseInfoPageId);
66
80
  }
81
+ const page$1 = Vue.computed(() => {
82
+ return { ...appDetailPage.value, isNavBar: false };
83
+ });
67
84
  const expandingTabOptions = Vue.ref([]);
68
85
  const show = Vue.ref(false);
69
86
  const showEmpty = Vue.ref(false);
70
87
  const taskNotFound = Vue.ref(false);
71
88
  function handleData(data) {
89
+ taskParams.processInstanceId = data.processInstanceId;
72
90
  if (props.baseInfoPageSource == "dynamic") {
73
91
  baseInfoPageId.value = data.mobileDetailPage;
92
+ appDetailPage.value = common.findPageById(pageList.value, data.mobileDetailPage);
74
93
  }
94
+ operationPageId.value = data.mobileAppPage;
75
95
  canMobileApproval.value = data.mobileApproval != "1";
76
96
  opinionTypeOptions.value = data.approvalBtn.filter(
77
97
  (item) => item.approveType != "C1"
@@ -89,33 +109,35 @@ const _sfc_main = {
89
109
  }
90
110
  const taskId = (_a = props.params) == null ? void 0 : _a.taskId;
91
111
  const type = (_b = props.params) == null ? void 0 : _b.type;
92
- if (!taskId) {
93
- showEmpty.value = true;
94
- } else {
95
- ctx.$http.postForm(
96
- "/base-server/flow/flowApproveDetail/findById",
97
- {
98
- taskId,
99
- type
100
- },
101
- true
102
- ).then((data) => {
103
- if (data.notFound) {
104
- ctx.$http.postForm(
105
- "/base-server/flow/flowApproveDetail/findById",
106
- { taskId, type: "1" },
107
- true
108
- ).then((retryData) => {
109
- if (retryData.notFound) {
110
- taskNotFound.value = true;
111
- return;
112
- }
113
- handleData(retryData);
114
- });
115
- return;
116
- }
117
- handleData(data);
118
- });
112
+ if (!props.isDev) {
113
+ if (!taskId) {
114
+ showEmpty.value = true;
115
+ } else {
116
+ ctx.$http.postFormMobile(
117
+ "/" + window.$servers.base + "/flow/flowApproveDetail/findById",
118
+ {
119
+ taskId,
120
+ type
121
+ },
122
+ true
123
+ ).then((data) => {
124
+ if (data.notFound) {
125
+ ctx.$http.postFormMobile(
126
+ "/" + window.$servers.base + "/flow/flowApproveDetail/findById",
127
+ { taskId, type: "1" },
128
+ true
129
+ ).then((retryData) => {
130
+ if (retryData.notFound) {
131
+ taskNotFound.value = true;
132
+ return;
133
+ }
134
+ handleData(retryData);
135
+ });
136
+ return;
137
+ }
138
+ handleData(data);
139
+ });
140
+ }
119
141
  }
120
142
  const activeName = Vue.ref("tab_base_info");
121
143
  const tabsOptions = Vue.computed(() => {
@@ -135,7 +157,6 @@ const _sfc_main = {
135
157
  return (_ctx, _cache) => {
136
158
  var _a2;
137
159
  const _component_van_empty = index.Empty;
138
- const _component_FecMobileTabs = Vue.resolveComponent("FecMobileTabs");
139
160
  const _component_FecMobileApprovalBar = Vue.resolveComponent("FecMobileApprovalBar");
140
161
  return Vue.unref(showEmpty) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
141
162
  Vue.createVNode(_component_van_empty, {
@@ -148,25 +169,23 @@ const _sfc_main = {
148
169
  description: "任务不存在"
149
170
  })
150
171
  ])) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [
151
- Vue.createVNode(_component_FecMobileTabs, {
152
- modelValue: Vue.unref(activeName),
153
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => Vue.isRef(activeName) ? activeName.value = $event : null),
154
- options: Vue.unref(tabsOptions),
155
- params: taskParams,
156
- swipeable: __props.swipeable,
157
- document: __props.document,
158
- approvalHistory: __props.approvalHistory
159
- }, null, 8, ["modelValue", "options", "swipeable", "document", "approvalHistory"]),
160
- Vue.unref(show) && ((_a2 = props.params) == null ? void 0 : _a2.type) == "0" ? (Vue.openBlock(), Vue.createBlock(_component_FecMobileApprovalBar, Vue.mergeProps({ key: 0 }, __props.actionBar, {
172
+ __props.isDev ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3, "审批详情页面显示区")) : (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4, [
173
+ Vue.unref(appDetailPage) ? (Vue.openBlock(), Vue.createBlock(page.default, {
174
+ key: 0,
175
+ parentPage: Vue.unref(page$1),
176
+ params: taskParams
177
+ }, null, 8, ["parentPage"])) : Vue.createCommentVNode("", true)
178
+ ])),
179
+ Vue.unref(show) && ((_a2 = props.params) == null ? void 0 : _a2.type) == "0" ? (Vue.openBlock(), Vue.createBlock(_component_FecMobileApprovalBar, Vue.mergeProps({ key: 2 }, __props.actionBar, {
161
180
  params: taskParams,
162
181
  taskData,
163
182
  opinionTypeOptions: Vue.unref(opinionTypeOptions),
164
- operationPageId: __props.operationPageId,
183
+ operationPageId: Vue.unref(operationPageId),
165
184
  canMobileApproval: Vue.unref(canMobileApproval)
166
185
  }), null, 16, ["opinionTypeOptions", "operationPageId", "canMobileApproval"])) : Vue.createCommentVNode("", true)
167
186
  ], 64));
168
187
  };
169
188
  }
170
189
  };
171
- const _AppDetail = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-ade90293"]]);
190
+ const _AppDetail = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-2edc3d85"]]);
172
191
  exports.default = _AppDetail;
@@ -106,6 +106,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
106
106
  type: String,
107
107
  default: ""
108
108
  },
109
+ processInstanceId: {
110
+ type: String,
111
+ default: ""
112
+ },
109
113
  hisTaskData: {
110
114
  type: Array,
111
115
  default: []
@@ -154,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
154
158
  currentAssignees.value = item.assignee || [];
155
159
  showAssigneePopup.value = true;
156
160
  }
157
- if (props.traceNo) {
161
+ if (props.processInstanceId) {
158
162
  fetchData();
159
163
  } else if (props.hisTaskData.length > 0) {
160
164
  hisTask.value = props.hisTaskData;
@@ -165,10 +169,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
165
169
  }
166
170
  function fetchData() {
167
171
  loading.value = true;
168
- ctx.$http.postForm(
169
- "/base-server/flow/flowData/findTimeLineByTraceNo",
172
+ ctx.$http.postFormMobile(
173
+ "/" + window.$servers.base + "/flow/flowData/findTimeLineByProcessInstanceId",
170
174
  {
171
- traceNo: props.traceNo,
175
+ processInstanceId: props.processInstanceId,
172
176
  type: "app",
173
177
  taskDefKey: ""
174
178
  },
@@ -482,5 +486,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
482
486
  };
483
487
  }
484
488
  });
485
- const _TimeLineFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e967cbbd"]]);
489
+ const _TimeLineFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c284e414"]]);
486
490
  exports.default = _TimeLineFilter;
@@ -31,19 +31,19 @@ require("../../../../../../node_modules/vant/es/toast/index.js");
31
31
  const index = require("../../../../../../node_modules/vant/es/action-bar/index.js");
32
32
  const index$1 = require("../../../../../../node_modules/vant/es/action-bar-button/index.js");
33
33
  const index$2 = require("../../../../../../node_modules/vant/es/popup/index.js");
34
- const index$3 = require("../../../../../../node_modules/vant/es/field/index.js");
35
- const index$4 = require("../../../../../../node_modules/vant/es/picker/index.js");
34
+ const index$3 = require("../../../../../../node_modules/vant/es/form/index.js");
35
+ const index$4 = require("../../../../../../node_modules/vant/es/field/index.js");
36
+ const index$5 = require("../../../../../../node_modules/vant/es/picker/index.js");
36
37
  const _hoisted_1 = {
37
38
  key: 1,
38
39
  class: "fec-mobile-approval-disabled"
39
40
  };
40
- const _hoisted_2 = { class: "appPopContent" };
41
- const _hoisted_3 = {
41
+ const _hoisted_2 = {
42
42
  class: "appOptContent",
43
- style: { "max-height": "235px", "padding-bottom": "0" }
43
+ style: { "height": "200px", "padding-bottom": "0" }
44
44
  };
45
- const _hoisted_4 = { class: "appPopContent" };
46
- const _hoisted_5 = { class: "appOptContent" };
45
+ const _hoisted_3 = { class: "appPopContent" };
46
+ const _hoisted_4 = { class: "appOptContent" };
47
47
  const _sfc_main = {
48
48
  __name: "ApprovalBar",
49
49
  props: {
@@ -94,11 +94,25 @@ const _sfc_main = {
94
94
  };
95
95
  const targetNodeList = Vue.ref([]);
96
96
  const targetNodeSelectShow = Vue.ref(false);
97
+ const operPageRef = Vue.ref();
98
+ const agreeFormRef = Vue.ref();
99
+ const otherFormRef = Vue.ref();
100
+ const agreePopContentRef = Vue.ref(null);
101
+ function layoutDataHeight(height) {
102
+ Vue.nextTick(() => {
103
+ const el = agreePopContentRef.value;
104
+ if (!el) return;
105
+ el.style.height = 272 + height + "px";
106
+ });
107
+ }
97
108
  function clickHandler(item) {
109
+ var _a, _b;
98
110
  console.log("🚀 ~ clickHandler ~ item:", item);
99
111
  if (item.approvalType == "agree") {
112
+ (_a = agreeFormRef.value) == null ? void 0 : _a.resetValidation();
100
113
  showAgreePop.value = true;
101
114
  } else if (item.approvalType == "other") {
115
+ (_b = otherFormRef.value) == null ? void 0 : _b.resetValidation();
102
116
  opinionForm.approveId = "";
103
117
  opinionForm.approveText = "";
104
118
  opinionForm.approveType = "";
@@ -139,48 +153,44 @@ const _sfc_main = {
139
153
  switch (approveType) {
140
154
  //提交到当前节点后的指定节点
141
155
  case "C2":
142
- ctx.$http.postForm(
143
- "/base-server/flow/flowApproveDetail/getAllNextNodeList",
156
+ ctx.$http.postFormMobile(
157
+ "/" + window.$servers.base + "/flow/flowApproveDetail/getAllNextNodeList",
144
158
  { taskId },
145
159
  false
146
160
  ).then((data) => {
147
161
  nodeList.value = data;
148
- debugger;
149
162
  });
150
163
  break;
151
164
  //提交到已执行过的指定节点
152
165
  case "C22":
153
- ctx.$http.postForm(
154
- "/base-server/flow/flowApproveDetail/getFinishNodeList",
166
+ ctx.$http.postFormMobile(
167
+ "/" + window.$servers.base + "/flow/flowApproveDetail/getFinishNodeList",
155
168
  { taskId },
156
169
  false
157
170
  ).then((data) => {
158
171
  nodeList.value = data;
159
- debugger;
160
172
  });
161
173
  break;
162
174
  //退回到主流指定节点
163
175
  case "R50":
164
- ctx.$http.postForm(
165
- "/base-server/flow/flowApproveDetail/getFinishParentNodeList",
176
+ ctx.$http.postFormMobile(
177
+ "/" + window.$servers.base + "/flow/flowApproveDetail/getFinishParentNodeList",
166
178
  { taskId },
167
179
  false
168
180
  ).then((data) => {
169
181
  nodeList.value = data;
170
- debugger;
171
182
  });
172
183
  break;
173
184
  //退回到指定节点
174
185
  case "R5":
175
186
  //退回到指定节点并提交到退回节点
176
187
  case "R55":
177
- ctx.$http.postForm(
178
- "/base-server/flow/flowApproveDetail/getRollBackNodeList",
188
+ ctx.$http.postFormMobile(
189
+ "/" + window.$servers.base + "/flow/flowApproveDetail/getRollBackNodeList",
179
190
  { taskId },
180
191
  false
181
192
  ).then((data) => {
182
193
  nodeList.value = data;
183
- debugger;
184
194
  });
185
195
  break;
186
196
  }
@@ -191,8 +201,25 @@ const _sfc_main = {
191
201
  opinionForm.targetNodeText = (_b = selectedOptions[0]) == null ? void 0 : _b.name;
192
202
  showTargetNodePicker.value = false;
193
203
  }
194
- const operPageRef = Vue.ref();
204
+ function submitAgreeOpinion() {
205
+ var _a, _b;
206
+ if ((_a = operPageRef.value) == null ? void 0 : _a.validate) {
207
+ (_b = operPageRef.value) == null ? void 0 : _b.validate().then(() => {
208
+ submitOpinion();
209
+ });
210
+ } else {
211
+ submitOpinion();
212
+ }
213
+ }
195
214
  function submitOpinion() {
215
+ const formRef = showAgreePop.value ? agreeFormRef : otherFormRef;
216
+ formRef.value.validate().then(() => {
217
+ doSubmit();
218
+ }).catch((errors) => {
219
+ console.log("表单校验失败:", errors);
220
+ });
221
+ }
222
+ function doSubmit() {
196
223
  var _a;
197
224
  const formData = ((_a = operPageRef.value) == null ? void 0 : _a.getFormData()) || {};
198
225
  const commitData = {
@@ -216,7 +243,11 @@ const _sfc_main = {
216
243
  forbidClick: true,
217
244
  duration: 0
218
245
  });
219
- ctx.$http.post("/base-server/flow/flowApproveDetail/doCommit", commitData, false).then((data) => {
246
+ ctx.$http.postMobile(
247
+ "/" + window.$servers.base + "/flow/flowApproveDetail/doCommit",
248
+ commitData,
249
+ false
250
+ ).then((data) => {
220
251
  if (data && data.needOper) {
221
252
  functionCall.showFailToast("待开发:需要人工操作的节点");
222
253
  } else {
@@ -234,9 +265,10 @@ const _sfc_main = {
234
265
  return (_ctx, _cache) => {
235
266
  const _component_van_action_bar_button = index$1.ActionBarButton;
236
267
  const _component_van_action_bar = index.ActionBar;
237
- const _component_van_field = index$3.Field;
268
+ const _component_van_field = index$4.Field;
269
+ const _component_van_form = index$3.Form;
238
270
  const _component_van_popup = index$2.Popup;
239
- const _component_van_picker = index$4.Picker;
271
+ const _component_van_picker = index$5.Picker;
240
272
  return Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, [
241
273
  Vue.createVNode(_component_van_action_bar, {
242
274
  "safe-area-inset-bottom": "",
@@ -249,7 +281,7 @@ const _sfc_main = {
249
281
  text: item.text,
250
282
  onClick: ($event) => clickHandler(item)
251
283
  }, null, 8, ["class", "text", "onClick"]);
252
- }), 256)) : (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, " 当前流程任务不支持移动端审批,请前往 PC 端处理 "))
284
+ }), 256)) : (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, " 当前任务节点,不允许移动端办理,请前往 PC 端处理 "))
253
285
  ]),
254
286
  _: 1
255
287
  }, 8, ["style"]),
@@ -261,38 +293,55 @@ const _sfc_main = {
261
293
  style: { "max-height": "80%" }
262
294
  }, {
263
295
  default: Vue.withCtx(() => [
264
- Vue.createElementVNode("div", _hoisted_2, [
296
+ Vue.createElementVNode("div", {
297
+ class: "appPopContent",
298
+ ref_key: "agreePopContentRef",
299
+ ref: agreePopContentRef
300
+ }, [
265
301
  Vue.unref(operPage) ? (Vue.openBlock(), Vue.createBlock(page.default, {
266
302
  key: 0,
267
303
  parentPage: Vue.unref(operPage),
268
304
  params: __props.params,
305
+ onLayoutDataHeight: layoutDataHeight,
269
306
  ref_key: "operPageRef",
270
307
  ref: operPageRef
271
308
  }, null, 8, ["parentPage", "params"])) : Vue.createCommentVNode("", true),
272
- Vue.createElementVNode("div", _hoisted_3, [
273
- Vue.createVNode(_component_van_field, {
274
- modelValue: Vue.unref(opinionForm).approveIdea,
275
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => Vue.unref(opinionForm).approveIdea = $event),
276
- rows: "6",
277
- autosize: "",
278
- label: "意见内容",
279
- type: "textarea",
280
- maxlength: "500",
281
- "show-word-limit": "",
282
- placeholder: "请输入审批意见"
283
- }, null, 8, ["modelValue"])
284
- ]),
309
+ Vue.createVNode(_component_van_form, {
310
+ ref_key: "agreeFormRef",
311
+ ref: agreeFormRef,
312
+ required: "auto",
313
+ "show-error": "",
314
+ "show-error-message": false
315
+ }, {
316
+ default: Vue.withCtx(() => [
317
+ Vue.createElementVNode("div", _hoisted_2, [
318
+ Vue.createVNode(_component_van_field, {
319
+ modelValue: Vue.unref(opinionForm).approveIdea,
320
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => Vue.unref(opinionForm).approveIdea = $event),
321
+ rows: "6",
322
+ autosize: "",
323
+ label: "意见内容",
324
+ type: "textarea",
325
+ maxlength: "500",
326
+ "show-word-limit": "",
327
+ placeholder: "请输入审批意见",
328
+ rules: [{ required: true, message: "请输入审批意见" }]
329
+ }, null, 8, ["modelValue"])
330
+ ])
331
+ ]),
332
+ _: 1
333
+ }, 512),
285
334
  Vue.createVNode(_component_van_action_bar, { "safe-area-inset-bottom": "" }, {
286
335
  default: Vue.withCtx(() => [
287
336
  Vue.createVNode(_component_van_action_bar_button, {
288
337
  class: Vue.normalizeClass("icon-blue"),
289
338
  text: "提交",
290
- onClick: submitOpinion
339
+ onClick: submitAgreeOpinion
291
340
  })
292
341
  ]),
293
342
  _: 1
294
343
  })
295
- ])
344
+ ], 512)
296
345
  ]),
297
346
  _: 1
298
347
  }, 8, ["show"]),
@@ -303,39 +352,53 @@ const _sfc_main = {
303
352
  position: "bottom"
304
353
  }, {
305
354
  default: Vue.withCtx(() => [
306
- Vue.createElementVNode("div", _hoisted_4, [
307
- Vue.createElementVNode("div", _hoisted_5, [
308
- Vue.createVNode(_component_van_field, {
309
- modelValue: Vue.unref(opinionForm).approveText,
310
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => Vue.unref(opinionForm).approveText = $event),
311
- "is-link": "",
312
- readonly: "",
313
- label: "审批意见",
314
- placeholder: "请选择审批意见",
315
- onClick: _cache[3] || (_cache[3] = ($event) => showOpinionPicker.value = true)
316
- }, null, 8, ["modelValue"]),
317
- Vue.unref(targetNodeSelectShow) ? (Vue.openBlock(), Vue.createBlock(_component_van_field, {
318
- key: 0,
319
- modelValue: Vue.unref(opinionForm).targetNodeText,
320
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => Vue.unref(opinionForm).targetNodeText = $event),
321
- "is-link": "",
322
- readonly: "",
323
- label: "目标节点",
324
- placeholder: "请选择目标节点",
325
- onClick: _cache[5] || (_cache[5] = ($event) => showTargetNodePicker.value = true)
326
- }, null, 8, ["modelValue"])) : Vue.createCommentVNode("", true),
327
- Vue.createVNode(_component_van_field, {
328
- modelValue: Vue.unref(opinionForm).approveIdea,
329
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => Vue.unref(opinionForm).approveIdea = $event),
330
- rows: "6",
331
- autosize: "",
332
- label: "意见内容",
333
- type: "textarea",
334
- maxlength: "500",
335
- "show-word-limit": "",
336
- placeholder: "请输入审批意见"
337
- }, null, 8, ["modelValue"])
338
- ]),
355
+ Vue.createElementVNode("div", _hoisted_3, [
356
+ Vue.createVNode(_component_van_form, {
357
+ ref_key: "otherFormRef",
358
+ ref: otherFormRef,
359
+ required: "auto",
360
+ "show-error": "",
361
+ "show-error-message": false
362
+ }, {
363
+ default: Vue.withCtx(() => [
364
+ Vue.createElementVNode("div", _hoisted_4, [
365
+ Vue.createVNode(_component_van_field, {
366
+ modelValue: Vue.unref(opinionForm).approveText,
367
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => Vue.unref(opinionForm).approveText = $event),
368
+ "is-link": "",
369
+ readonly: "",
370
+ label: "审批意见",
371
+ placeholder: "请选择审批意见",
372
+ rules: [{ required: true, message: "请选择审批意见" }],
373
+ onClick: _cache[3] || (_cache[3] = ($event) => showOpinionPicker.value = true)
374
+ }, null, 8, ["modelValue"]),
375
+ Vue.unref(targetNodeSelectShow) ? (Vue.openBlock(), Vue.createBlock(_component_van_field, {
376
+ key: 0,
377
+ modelValue: Vue.unref(opinionForm).targetNodeText,
378
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => Vue.unref(opinionForm).targetNodeText = $event),
379
+ "is-link": "",
380
+ readonly: "",
381
+ label: "目标节点",
382
+ placeholder: "请选择目标节点",
383
+ rules: [{ required: true, message: "请选择目标节点" }],
384
+ onClick: _cache[5] || (_cache[5] = ($event) => showTargetNodePicker.value = true)
385
+ }, null, 8, ["modelValue"])) : Vue.createCommentVNode("", true),
386
+ Vue.createVNode(_component_van_field, {
387
+ modelValue: Vue.unref(opinionForm).approveIdea,
388
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => Vue.unref(opinionForm).approveIdea = $event),
389
+ rows: "6",
390
+ autosize: "",
391
+ label: "意见内容",
392
+ type: "textarea",
393
+ maxlength: "500",
394
+ "show-word-limit": "",
395
+ placeholder: "请输入审批意见",
396
+ rules: [{ required: true, message: "请输入审批意见" }]
397
+ }, null, 8, ["modelValue"])
398
+ ])
399
+ ]),
400
+ _: 1
401
+ }, 512),
339
402
  Vue.createVNode(_component_van_action_bar, { "safe-area-inset-bottom": "" }, {
340
403
  default: Vue.withCtx(() => [
341
404
  Vue.createVNode(_component_van_action_bar_button, {
@@ -389,5 +452,5 @@ const _sfc_main = {
389
452
  };
390
453
  }
391
454
  };
392
- const _ApprovalBar = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8d0c761c"]]);
455
+ const _ApprovalBar = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-09c36d09"]]);
393
456
  exports.default = _ApprovalBar;
@@ -76,7 +76,7 @@ const _sfc_main = {
76
76
  _: 1
77
77
  })) : Vue.createCommentVNode("", true)
78
78
  ]),
79
- __props.type != "0" ? (Vue.openBlock(), Vue.createElementBlock("span", {
79
+ __props.type != "0" && __props.item.statusText ? (Vue.openBlock(), Vue.createElementBlock("span", {
80
80
  key: 0,
81
81
  class: "fec-card-status",
82
82
  style: Vue.normalizeStyle({ background: __props.item.statusColor || "#fa8c16" })
@@ -85,7 +85,7 @@ const _sfc_main = {
85
85
  name: __props.item.statusIcon || "clock-o",
86
86
  size: "12"
87
87
  }, null, 8, ["name"]),
88
- Vue.createTextVNode(" " + Vue.toDisplayString(__props.item.statusText || "待处理"), 1)
88
+ Vue.createTextVNode(" " + Vue.toDisplayString(__props.item.statusText), 1)
89
89
  ], 4)) : Vue.createCommentVNode("", true)
90
90
  ]),
91
91
  Vue.createElementVNode("div", _hoisted_5, [
@@ -160,5 +160,5 @@ const _sfc_main = {
160
160
  };
161
161
  }
162
162
  };
163
- const ApprovalCard = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-404eba8c"]]);
163
+ const ApprovalCard = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-7261618f"]]);
164
164
  exports.default = ApprovalCard;