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