@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
@@ -11,10 +11,9 @@
11
11
  /* empty css */
12
12
  /* empty css */
13
13
  /* empty css */
14
- import { getCurrentInstance, useAttrs, ref, watch, computed, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
14
+ import { getCurrentInstance, useAttrs, computed, ref, createBlock, openBlock, unref, mergeProps, isRef, createSlots, withCtx, createVNode, withModifiers } from "vue";
15
15
  import { MobileField } from "../field/index.mjs";
16
- import { getOptions } from "../../../utils/optionUtil.mjs";
17
- import { cloneDeep } from "../../../utils/common.mjs";
16
+ import "../../../utils/optionUtil.mjs";
18
17
  import { Picker } from "../../../../../../node_modules/vant/es/picker/index.mjs";
19
18
  import { Popup } from "../../../../../../node_modules/vant/es/popup/index.mjs";
20
19
  import { Icon } from "../../../../../../node_modules/vant/es/icon/index.mjs";
@@ -66,34 +65,19 @@ const _sfc_main = {
66
65
  emits: ["update:modelValue"],
67
66
  setup(__props, { emit: __emit }) {
68
67
  const currentInstance = getCurrentInstance();
69
- const ctx = currentInstance.proxy;
68
+ currentInstance.proxy;
70
69
  const props = __props;
71
70
  useAttrs();
72
- const finalOptions = ref([]);
73
- watch(
74
- () => cloneDeep(props.optionConfig),
75
- (val) => {
76
- getOptions({
77
- ctx,
78
- dataSources: props.dataSources,
79
- formData: props.formData,
80
- fields: props.fields,
81
- ...props.optionConfig
82
- }).then((data) => {
83
- finalOptions.value = data;
84
- });
85
- },
86
- {
87
- deep: true,
88
- immediate: true
89
- }
90
- );
71
+ const finalOptions = computed(() => {
72
+ if (!props.optionConfig) return [];
73
+ return props.optionConfig.options || [];
74
+ });
91
75
  const showPicker = ref(false);
92
76
  const emit = __emit;
93
77
  const pickerValue = computed({
94
78
  get: () => {
95
79
  const value = props.modelValue;
96
- return value.split(",");
80
+ return (value == null ? void 0 : value.split(",")) || [];
97
81
  },
98
82
  set: (val) => {
99
83
  emit("update:modelValue", val.join(","));
@@ -103,7 +87,7 @@ const _sfc_main = {
103
87
  const selectedOption = finalOptions.value.find(
104
88
  (option) => option.value == pickerValue.value.join(",")
105
89
  );
106
- return selectedOption ? selectedOption.label : "";
90
+ return selectedOption ? selectedOption.label : pickerValue.value.join(",");
107
91
  });
108
92
  const onConfirm = ({ selectedValues, selectedOptions }) => {
109
93
  pickerValue.value = selectedValues;
@@ -1,8 +1,7 @@
1
- import { getCurrentInstance, useAttrs, ref, watch, computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
1
+ import { getCurrentInstance, useAttrs, computed, createBlock, openBlock, unref, mergeProps, isRef, withCtx, createElementBlock, toDisplayString } from "vue";
2
2
  import { MobileField } from "../field/index.mjs";
3
- import { getOptions } from "../../../utils/optionUtil.mjs";
3
+ import "../../../utils/optionUtil.mjs";
4
4
  import { MobileRadioGroup } from "../radioGroup/index.mjs";
5
- import { cloneDeep } from "../../../utils/common.mjs";
6
5
  const _hoisted_1 = { key: 1 };
7
6
  const _sfc_main = {
8
7
  __name: "FieldRadio",
@@ -36,28 +35,13 @@ const _sfc_main = {
36
35
  emits: ["update:modelValue"],
37
36
  setup(__props, { emit: __emit }) {
38
37
  const currentInstance = getCurrentInstance();
39
- const ctx = currentInstance.proxy;
38
+ currentInstance.proxy;
40
39
  const props = __props;
41
40
  useAttrs();
42
- const finalOptions = ref([]);
43
- watch(
44
- () => cloneDeep(props.optionConfig),
45
- (val) => {
46
- getOptions({
47
- ctx,
48
- dataSources: props.dataSources,
49
- formData: props.formData,
50
- fields: props.fields,
51
- ...props.optionConfig
52
- }).then((data) => {
53
- finalOptions.value = data;
54
- });
55
- },
56
- {
57
- deep: true,
58
- immediate: true
59
- }
60
- );
41
+ const finalOptions = computed(() => {
42
+ if (!props.optionConfig) return [];
43
+ return props.optionConfig.options || [];
44
+ });
61
45
  const emit = __emit;
62
46
  const compValue = computed({
63
47
  get: () => {
@@ -71,7 +55,7 @@ const _sfc_main = {
71
55
  const selectedOption = finalOptions.value.find(
72
56
  (option) => option.value === compValue.value
73
57
  );
74
- return selectedOption ? selectedOption.label : "";
58
+ return selectedOption ? selectedOption.label : compValue.value;
75
59
  });
76
60
  return (_ctx, _cache) => {
77
61
  return openBlock(), createBlock(unref(MobileField), mergeProps(_ctx.$attrs, {
@@ -37,12 +37,19 @@ const _sfc_main = {
37
37
  const searchData = ref("");
38
38
  function onClickFilter() {
39
39
  }
40
+ const filters = ref({});
40
41
  function onSearch() {
41
- console.log("🚀 ~ onSearch ~ searchData.value:", searchData.value);
42
+ filters.value.dynamicFilter = searchData.value;
43
+ emit("filterChange", filters.value);
42
44
  }
43
45
  function onQuickFilterChange(result) {
44
- console.log("筛选数据:", result);
45
- emit("filterChange", result);
46
+ filters.value = {
47
+ dynamicFilter: searchData.value
48
+ };
49
+ result.forEach((item) => {
50
+ filters.value[item.fieldName] = item.values.join("|");
51
+ });
52
+ emit("filterChange", filters.value);
46
53
  }
47
54
  const filterData = ref([]);
48
55
  const fieldDataSources = /* @__PURE__ */ new Set();
@@ -67,7 +74,8 @@ const _sfc_main = {
67
74
  const dsManager = createDataSource({
68
75
  http: ctx.$http,
69
76
  dataSources: props.dataSources,
70
- currentDataSourceId: dataSourceId
77
+ currentDataSourceId: dataSourceId,
78
+ loading: false
71
79
  });
72
80
  const data = await dsManager.fetch();
73
81
  let options = [];
@@ -85,11 +93,12 @@ const _sfc_main = {
85
93
  if (dictionaryKeys.size > 0) {
86
94
  try {
87
95
  const keyName = Array.from(dictionaryKeys).join(",");
88
- const response = await ctx.$http.postForm(
89
- "/base-server/parm/sysParmDic/getDicListByKey",
96
+ const response = await ctx.$http.postFormMobile(
97
+ "/" + window.$servers.base + "/parm/sysParmDic/getDicListByKey",
90
98
  {
91
99
  keyName
92
- }
100
+ },
101
+ false
93
102
  );
94
103
  const dictionaryData = response;
95
104
  if (typeof dictionaryData === "object") {
@@ -75,7 +75,7 @@ const _sfc_main = {
75
75
  const emit = __emit;
76
76
  const fileList = computed({
77
77
  get: () => {
78
- return props.modelValue;
78
+ return props.modelValue || [];
79
79
  },
80
80
  set: (val) => {
81
81
  emit("update:modelValue", val);
@@ -219,7 +219,7 @@ const _sfc_main = {
219
219
  };
220
220
  }
221
221
  };
222
- const _Uploader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-67b22b6d"]]);
222
+ const _Uploader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c9dede2d"]]);
223
223
  export {
224
224
  _Uploader as default
225
225
  };
@@ -52,7 +52,11 @@ const _sfc_main = {
52
52
  });
53
53
  });
54
54
  function getFlowCutNum() {
55
- ctx.$http.post("/base-server/flow/workbench/getTaskCutByUser").then((data) => {
55
+ ctx.$http.postMobile(
56
+ "/" + window.$servers.base + "/flow/workbench/getTaskCutByUser",
57
+ null,
58
+ false
59
+ ).then((data) => {
56
60
  flowMsgNum.value = data;
57
61
  });
58
62
  }
@@ -61,9 +65,13 @@ const _sfc_main = {
61
65
  getFlowCutNum();
62
66
  });
63
67
  function getMessageCutNum() {
64
- ctx.$http.postForm("/base-server/msgMessages/initMsgUnReadNum", {
65
- opNo: store.getters.user.opNo
66
- }).then((data) => {
68
+ ctx.$http.postFormMobile(
69
+ "/" + window.$servers.base + "/msgMessages/initMsgUnReadNum",
70
+ {
71
+ opNo: store.getters.user.opNo
72
+ },
73
+ false
74
+ ).then((data) => {
67
75
  msgNum.value = data;
68
76
  });
69
77
  }
@@ -110,7 +118,7 @@ const _sfc_main = {
110
118
  };
111
119
  }
112
120
  };
113
- const _Tabbar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1f859803"]]);
121
+ const _Tabbar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cf078e7a"]]);
114
122
  export {
115
123
  _Tabbar as default
116
124
  };
@@ -5,18 +5,14 @@
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
- /* empty css */
9
- /* empty css */
10
- /* empty css */
11
- /* empty css */
12
- import { inject, ref, computed, onMounted, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, isRef, withCtx, Fragment, renderList, mergeProps, createElementVNode, resolveDynamicComponent } from "vue";
8
+ import { inject, ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, isRef, withCtx, Fragment, renderList, mergeProps, createElementVNode, resolveDynamicComponent } from "vue";
13
9
  import { findPageById } from "../../../utils/common.mjs";
14
10
  import MobilePage from "../../../page.vue.mjs";
15
11
  import { MobileTimeLineFilter } from "../../custom/appTimeLine/index.mjs";
16
12
  import { MobileDocument } from "../../custom/document/index.mjs";
13
+ import { checkFilterMatch } from "../../../utils/parseFilterConfig.mjs";
17
14
  /* empty css */
18
15
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
19
- import { Search } from "../../../../../../node_modules/vant/es/search/index.mjs";
20
16
  import { Tabs } from "../../../../../../node_modules/vant/es/tabs/index.mjs";
21
17
  import { Tab } from "../../../../../../node_modules/vant/es/tab/index.mjs";
22
18
  const _hoisted_1 = { class: "fec-tab-content" };
@@ -68,6 +64,22 @@ const _sfc_main = {
68
64
  busPkField: {
69
65
  type: String,
70
66
  default: ""
67
+ },
68
+ formData: {
69
+ type: Object,
70
+ default: {}
71
+ },
72
+ fields: {
73
+ type: Array,
74
+ default: []
75
+ },
76
+ isDev: {
77
+ type: Boolean,
78
+ default: false
79
+ },
80
+ dynamicInputFilter: {
81
+ type: Array,
82
+ default: []
71
83
  }
72
84
  },
73
85
  emits: ["update:modelValue"],
@@ -77,11 +89,27 @@ const _sfc_main = {
77
89
  const pageList = inject("pageList");
78
90
  const activeName = ref(((_a = props.options[0]) == null ? void 0 : _a.id) || "");
79
91
  const tabsOptions = computed(() => {
80
- const tabs = [...props.options || []];
92
+ const tabs = [...props.options || []].filter((item) => {
93
+ if (!item.showCondition || props.isDev) return true;
94
+ return checkFilterMatch(item.showCondition, props.formData, props.fields);
95
+ });
96
+ tabs.forEach((tab) => {
97
+ const params = {};
98
+ const fieldMapping = tab.fieldMapping;
99
+ if (fieldMapping && Array.isArray(fieldMapping)) {
100
+ fieldMapping.forEach((item) => {
101
+ const field = props.fields.find((field2) => field2.id == item.field);
102
+ if (field) {
103
+ params[item.value] = props.formData[field.fieldName];
104
+ }
105
+ });
106
+ }
107
+ tab.params = { ...props.formData, ...params };
108
+ });
81
109
  if (props.document) {
82
110
  tabs.push({ id: "tab_doc_info", title: "要件信息", component: MobileDocument });
83
111
  }
84
- if (props.approvalHistory) {
112
+ if (props.approvalHistory && props.formData.approveSts != "00") {
85
113
  tabs.push({
86
114
  id: "tab_timeline_info",
87
115
  title: "审批历史",
@@ -92,12 +120,14 @@ const _sfc_main = {
92
120
  });
93
121
  const componentParams = computed(() => {
94
122
  let traceNo = props.params.traceNo;
123
+ let processInstanceId = props.params.processInstanceId;
95
124
  if (props.busPkField) {
96
- traceNo = props.params[props.busPkField];
125
+ traceNo = props.formData[props.busPkField];
97
126
  }
98
127
  return {
99
- ...props.params,
100
- traceNo
128
+ ...props.formData,
129
+ traceNo,
130
+ processInstanceId
101
131
  };
102
132
  });
103
133
  const compHeight = computed(() => {
@@ -122,32 +152,34 @@ const _sfc_main = {
122
152
  const getPage = (pageId) => {
123
153
  return pageCache.value[pageId] || null;
124
154
  };
155
+ const setPageRef = (id, el) => {
156
+ };
125
157
  const searchData = ref("");
126
- function onSearch() {
127
- console.log("搜索:", searchData.value);
158
+ function onFilterChange(filter) {
159
+ const dynamicFilterFieldName = props.dynamicInputFilter.map((item) => item.fieldName).join(",");
160
+ searchData.value = {
161
+ filters: JSON.stringify({ ...filter, dynamicFilterFieldName })
162
+ };
128
163
  }
129
164
  return (_ctx, _cache) => {
130
- const _component_van_search = Search;
165
+ const _component_fec_mobile_search = resolveComponent("fec-mobile-search");
131
166
  const _component_van_tab = Tab;
132
167
  const _component_van_tabs = Tabs;
133
168
  return openBlock(), createElementBlock("div", {
134
169
  class: normalizeClass(["fec-tabs-container", { isAutoHeight: props.autoHeight }]),
135
170
  style: normalizeStyle("height:" + unref(compHeight))
136
171
  }, [
137
- __props.enableFilter ? (openBlock(), createBlock(_component_van_search, {
172
+ __props.enableFilter ? (openBlock(), createBlock(_component_fec_mobile_search, {
138
173
  key: 0,
139
- modelValue: unref(searchData),
140
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchData) ? searchData.value = $event : null),
141
- shape: "round",
142
174
  placeholder: __props.filterPlaceholder,
143
- clearable: "",
144
- onSearch
145
- }, null, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true),
175
+ onFilterChange
176
+ }, null, 8, ["placeholder"])) : createCommentVNode("", true),
146
177
  createVNode(_component_van_tabs, {
147
178
  class: "fec-tabs",
148
179
  active: unref(activeName),
149
- "onUpdate:active": _cache[1] || (_cache[1] = ($event) => isRef(activeName) ? activeName.value = $event : null),
150
- swipeable: unref(tabSwipeable)
180
+ "onUpdate:active": _cache[0] || (_cache[0] = ($event) => isRef(activeName) ? activeName.value = $event : null),
181
+ swipeable: unref(tabSwipeable),
182
+ "swipe-threshold": 4
151
183
  }, {
152
184
  default: withCtx(() => [
153
185
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tabsOptions), (item) => {
@@ -160,9 +192,12 @@ const _sfc_main = {
160
192
  createElementVNode("div", _hoisted_1, [
161
193
  item.pageId && getPage(item.pageId) ? (openBlock(), createBlock(MobilePage, {
162
194
  key: 0,
195
+ ref_for: true,
196
+ ref: (el) => setPageRef(item.id),
163
197
  parentPage: getPage(item.pageId),
164
- params: __props.params
165
- }, null, 8, ["parentPage", "params"])) : item.component ? (openBlock(), createBlock(resolveDynamicComponent(item.component), mergeProps({
198
+ params: item.params,
199
+ initSearchData: unref(searchData)
200
+ }, null, 8, ["parentPage", "params", "initSearchData"])) : item.component ? (openBlock(), createBlock(resolveDynamicComponent(item.component), mergeProps({
166
201
  key: 1,
167
202
  ref_for: true
168
203
  }, unref(componentParams)), null, 16)) : createCommentVNode("", true)
@@ -178,7 +213,7 @@ const _sfc_main = {
178
213
  };
179
214
  }
180
215
  };
181
- const _Tabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2dd78d51"]]);
216
+ const _Tabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b22e2eda"]]);
182
217
  export {
183
218
  _Tabs as default
184
219
  };
@@ -12,7 +12,7 @@ import MobilePage from "./page.vue.mjs";
12
12
  import api from "./api/index.mjs";
13
13
  import emitter from "./utils/eventBus.mjs";
14
14
  import { pageHistory } from "./utils/pageHistory.mjs";
15
- import { findPageById } from "./utils/common.mjs";
15
+ import { findPageById, findPageByKey } from "./utils/common.mjs";
16
16
  import { useStore } from "../../../node_modules/vuex/dist/vuex.esm-bundler.mjs";
17
17
  /* empty css */
18
18
  /* empty css */
@@ -31,6 +31,10 @@ const _sfc_main = {
31
31
  pageKey: {
32
32
  type: String,
33
33
  default: ""
34
+ },
35
+ queryParams: {
36
+ type: Object,
37
+ default: {}
34
38
  }
35
39
  },
36
40
  setup(__props) {
@@ -54,7 +58,7 @@ const _sfc_main = {
54
58
  pageHistory.clear();
55
59
  let homePage;
56
60
  if (props.pageKey) {
57
- homePage = pageList.value.find((page) => page.isHome);
61
+ homePage = findPageByKey(pageList.value, props.pageKey);
58
62
  if (!homePage) {
59
63
  noTargetPage.value = true;
60
64
  }
@@ -112,7 +116,7 @@ const _sfc_main = {
112
116
  routePage.value = null;
113
117
  }
114
118
  }
115
- const pageParams = ref({});
119
+ const pageParams = ref(props.queryParams);
116
120
  emitter.on("loadPage", ({ pageId, params }) => {
117
121
  loadPage(pageId);
118
122
  pageParams.value = params;
@@ -126,6 +130,19 @@ const _sfc_main = {
126
130
  });
127
131
  provide("pageList", pageList);
128
132
  onMounted(() => {
133
+ const search = new URLSearchParams(location.search);
134
+ if (search.get("safeTop") || search.get("safeBottom")) {
135
+ const top = search.get("safeTop") || 0;
136
+ const bottom = search.get("safeBottom") || 0;
137
+ document.documentElement.style.setProperty(
138
+ "--safe-area-inset-top",
139
+ `${top}px`
140
+ );
141
+ document.documentElement.style.setProperty(
142
+ "--safe-area-inset-bottom",
143
+ `${bottom}px`
144
+ );
145
+ }
129
146
  loadConfig();
130
147
  });
131
148
  return (_ctx, _cache) => {
@@ -154,7 +171,7 @@ const _sfc_main = {
154
171
  };
155
172
  }
156
173
  };
157
- const MobileApp = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65074c8b"]]);
174
+ const MobileApp = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b26c4347"]]);
158
175
  export {
159
176
  MobileApp as default
160
177
  };