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