@fecp/designer 5.5.115 → 5.5.116

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 (31) hide show
  1. package/es/designer/index.mjs +5 -0
  2. package/es/designer/package.json.mjs +1 -1
  3. package/es/designer/src/packages/dataSource/index.vue.mjs +3 -1
  4. package/es/designer/src/packages/dialog/index.vue2.mjs +15 -15
  5. package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
  6. package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +17 -16
  7. package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
  8. package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
  9. package/es/designer.css +135 -127
  10. package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +60 -14
  11. package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +2 -6
  12. package/es/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.mjs +2 -6
  13. package/es/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.mjs +50 -56
  14. package/es/packages/mobile/src/components/form/search/Search.vue.mjs +7 -8
  15. package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +2 -6
  16. package/lib/designer/index.js +5 -0
  17. package/lib/designer/package.json.js +1 -1
  18. package/lib/designer/src/packages/dataSource/index.vue.js +3 -1
  19. package/lib/designer/src/packages/dialog/index.vue2.js +15 -15
  20. package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
  21. package/lib/designer/src/packages/dialogGlobal/index.vue2.js +17 -16
  22. package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
  23. package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
  24. package/lib/designer.css +135 -127
  25. package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +59 -13
  26. package/lib/packages/mobile/src/components/custom/document/Document.vue.js +2 -6
  27. package/lib/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.js +2 -6
  28. package/lib/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.js +49 -55
  29. package/lib/packages/mobile/src/components/form/search/Search.vue.js +7 -8
  30. package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +2 -6
  31. package/package.json +1 -1
@@ -1,8 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ ;/* empty css */
4
+ ;/* empty css */
3
5
  const Vue = require("vue");
4
6
  ;/* empty css */
5
7
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
8
+ const index = require("../../../../../../node_modules/vant/es/empty/index.js");
9
+ const _hoisted_1 = {
10
+ key: 0,
11
+ class: "route-wrapper"
12
+ };
13
+ const _hoisted_2 = {
14
+ key: 1,
15
+ class: "route-wrapper"
16
+ };
6
17
  const _sfc_main = {
7
18
  __name: "AppDetail",
8
19
  props: {
@@ -48,7 +59,6 @@ const _sfc_main = {
48
59
  const taskData = { ...props.params.taskData };
49
60
  const taskParams = { ...props.params };
50
61
  delete taskParams.taskData;
51
- debugger;
52
62
  const canMobileApproval = Vue.ref(true);
53
63
  const baseInfoPageId = Vue.ref("");
54
64
  if (props.baseInfoPageSource == "fixed") {
@@ -56,14 +66,9 @@ const _sfc_main = {
56
66
  }
57
67
  const expandingTabOptions = Vue.ref([]);
58
68
  const show = Vue.ref(false);
59
- ctx.$http.postForm(
60
- "/base-server/flow/flowApproveDetail/findById",
61
- {
62
- taskId: (_a = props.params) == null ? void 0 : _a.taskId,
63
- type: (_b = props.params) == null ? void 0 : _b.type
64
- },
65
- true
66
- ).then((data) => {
69
+ const showEmpty = Vue.ref(false);
70
+ const taskNotFound = Vue.ref(false);
71
+ function handleData(data) {
67
72
  if (props.baseInfoPageSource == "dynamic") {
68
73
  baseInfoPageId.value = data.mobileDetailPage;
69
74
  }
@@ -81,7 +86,37 @@ const _sfc_main = {
81
86
  }
82
87
  );
83
88
  show.value = true;
84
- });
89
+ }
90
+ const taskId = (_a = props.params) == null ? void 0 : _a.taskId;
91
+ 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
+ });
119
+ }
85
120
  const activeName = Vue.ref("tab_base_info");
86
121
  const tabsOptions = Vue.computed(() => {
87
122
  const tabs = [
@@ -99,9 +134,20 @@ const _sfc_main = {
99
134
  });
100
135
  return (_ctx, _cache) => {
101
136
  var _a2;
137
+ const _component_van_empty = index.Empty;
102
138
  const _component_FecMobileTabs = Vue.resolveComponent("FecMobileTabs");
103
139
  const _component_FecMobileApprovalBar = Vue.resolveComponent("FecMobileApprovalBar");
104
- return Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, null, [
140
+ return Vue.unref(showEmpty) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
141
+ Vue.createVNode(_component_van_empty, {
142
+ image: "error",
143
+ description: "任务ID为空"
144
+ })
145
+ ])) : Vue.unref(taskNotFound) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
146
+ Vue.createVNode(_component_van_empty, {
147
+ image: "error",
148
+ description: "任务不存在"
149
+ })
150
+ ])) : (Vue.openBlock(), Vue.createElementBlock(Vue.Fragment, { key: 2 }, [
105
151
  Vue.createVNode(_component_FecMobileTabs, {
106
152
  modelValue: Vue.unref(activeName),
107
153
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => Vue.isRef(activeName) ? activeName.value = $event : null),
@@ -118,9 +164,9 @@ const _sfc_main = {
118
164
  operationPageId: __props.operationPageId,
119
165
  canMobileApproval: Vue.unref(canMobileApproval)
120
166
  }), null, 16, ["opinionTypeOptions", "operationPageId", "canMobileApproval"])) : Vue.createCommentVNode("", true)
121
- ], 64);
167
+ ], 64));
122
168
  };
123
169
  }
124
170
  };
125
- const _AppDetail = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d358b0d3"]]);
171
+ const _AppDetail = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-ade90293"]]);
126
172
  exports.default = _AppDetail;
@@ -158,11 +158,7 @@ const _sfc_main = {
158
158
  });
159
159
  }
160
160
  const compHeight = Vue.computed(() => {
161
- if (props.autoHeight) {
162
- return "100%";
163
- } else {
164
- return props.height + "px";
165
- }
161
+ return "100%";
166
162
  });
167
163
  function onDocClick(doc) {
168
164
  console.log("点击工具:", doc);
@@ -367,5 +363,5 @@ const _sfc_main = {
367
363
  };
368
364
  }
369
365
  };
370
- const _Document = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8b45de1b"]]);
366
+ const _Document = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-ae58ecdb"]]);
371
367
  exports.default = _Document;
@@ -36,11 +36,7 @@ const _sfc_main = {
36
36
  }
37
37
  });
38
38
  const compHeight = Vue.computed(() => {
39
- if (props.autoHeight) {
40
- return "100%";
41
- } else {
42
- return props.height + "px";
43
- }
39
+ return "100%";
44
40
  });
45
41
  return (_ctx, _cache) => {
46
42
  const _component_van_collapse = index.Collapse;
@@ -66,5 +62,5 @@ const _sfc_main = {
66
62
  };
67
63
  }
68
64
  };
69
- const _Collapse = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-6037566c"]]);
65
+ const _Collapse = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-6242f3b6"]]);
70
66
  exports.default = _Collapse;
@@ -53,37 +53,57 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
53
53
  name: "FecMobileDataStat"
54
54
  }, {
55
55
  __name: "DataStat",
56
- props: {
57
- // 是否使用 mock 数据(接口未通时用 mock 兜底)
58
- useMock: {
59
- type: Boolean,
60
- default: true
61
- },
62
- // 数据接口 URL
63
- apiUrl: {
64
- type: String,
65
- default: "/base-server/mobileApi/getHomeStat"
66
- },
67
- // 加载完成后是否自动请求(默认 true)
68
- autoLoad: {
69
- type: Boolean,
70
- default: true
71
- }
72
- },
73
- setup(__props, { expose: __expose }) {
74
- const props = __props;
56
+ props: {},
57
+ setup(__props) {
75
58
  const currentInstance = Vue.getCurrentInstance();
76
59
  const ctx = currentInstance.proxy;
77
- const loading = Vue.ref(false);
60
+ const loading = Vue.ref(true);
78
61
  const dataList = Vue.ref([]);
79
- const mockData = [
80
- { label: "资产总额", value: 7005, unit: "万元", theme: "blue" },
81
- { label: "客户数量", value: 20, unit: "人", theme: "mint" },
82
- { label: "资产余额", value: 6561.61, unit: "万", theme: "purple" },
83
- { label: "今日到期租金", value: 0, unit: "万", theme: "mist" },
84
- { label: "未结清合同", value: 21, unit: "", theme: "orange" },
85
- { label: "未来7日到期租金", value: 0, unit: "万", theme: "rose" }
86
- ];
62
+ ctx.$http.postForm("/base-server/sysHome/getData4UpperLeft", {}, false).then((data) => {
63
+ dataList.value = [
64
+ {
65
+ label: "资产总额",
66
+ value: data.dueAmt,
67
+ unit: "万元",
68
+ theme: "blue"
69
+ },
70
+ {
71
+ label: "客户数量",
72
+ value: data.cusCount,
73
+ unit: "人",
74
+ theme: "mint"
75
+ },
76
+ {
77
+ label: "资产余额",
78
+ value: data.dueBal,
79
+ unit: "万",
80
+ theme: "purple"
81
+ },
82
+ {
83
+ label: "今日到期租金",
84
+ value: data.currRentAmt,
85
+ unit: "万",
86
+ theme: "mist"
87
+ },
88
+ {
89
+ label: "未结清合同",
90
+ value: data.unSettleContNum,
91
+ unit: "笔",
92
+ theme: "orange"
93
+ },
94
+ {
95
+ label: "未来7日到期租金",
96
+ value: data.laterRentAmt,
97
+ unit: "万",
98
+ theme: "rose"
99
+ }
100
+ ];
101
+ }).catch((err) => {
102
+ console.error("[DataStat] 加载失败", err);
103
+ dataList.value = [];
104
+ }).finally(() => {
105
+ loading.value = false;
106
+ });
87
107
  const hero = Vue.computed(() => dataList.value[0] || null);
88
108
  const rows = Vue.computed(() => {
89
109
  const rest = dataList.value.slice(1);
@@ -112,32 +132,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
112
132
  maximumFractionDigits: 2
113
133
  });
114
134
  }
115
- async function loadData() {
116
- loading.value = true;
117
- try {
118
- if (props.useMock) {
119
- await new Promise((resolve) => setTimeout(resolve, 500));
120
- dataList.value = JSON.parse(JSON.stringify(mockData));
121
- } else {
122
- const res = await ctx.$http.postForm(props.apiUrl, {}, false);
123
- const list = Array.isArray(res) ? res : (res == null ? void 0 : res.data) || (res == null ? void 0 : res.list) || [];
124
- dataList.value = list;
125
- }
126
- } catch (err) {
127
- console.error("[DataStat] 加载失败", err);
128
- dataList.value = JSON.parse(JSON.stringify(mockData));
129
- } finally {
130
- loading.value = false;
131
- }
132
- }
133
- __expose({
134
- refresh: loadData
135
- });
136
- Vue.onMounted(() => {
137
- if (props.autoLoad) {
138
- loadData();
139
- }
140
- });
141
135
  return (_ctx, _cache) => {
142
136
  const _component_van_loading = index.Loading;
143
137
  const _component_van_empty = index$1.Empty;
@@ -222,5 +216,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
222
216
  };
223
217
  }
224
218
  });
225
- const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-3e56445e"]]);
219
+ const _DataStat = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f233d5ac"]]);
226
220
  exports.default = _DataStat;
@@ -39,10 +39,8 @@ const _sfc_main = {
39
39
  const searchData = Vue.ref("");
40
40
  function onClickFilter() {
41
41
  }
42
- function onClickButton() {
43
- onSearch(searchData.value);
44
- }
45
- function onSearch(val) {
42
+ function onSearch() {
43
+ console.log("🚀 ~ onSearch ~ searchData.value:", searchData.value);
46
44
  }
47
45
  function onQuickFilterChange(result) {
48
46
  console.log("筛选数据:", result);
@@ -167,15 +165,16 @@ const _sfc_main = {
167
165
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => Vue.isRef(searchData) ? searchData.value = $event : null),
168
166
  shape: "round",
169
167
  placeholder: __props.placeholder,
170
- "show-action": __props.filterMode == "input",
168
+ "show-action": false,
171
169
  clearable: "",
172
- onClickInput: _cache[1] || (_cache[1] = Vue.withModifiers(($event) => __props.filterMode == "router" && onClickFilter, ["stop"]))
170
+ onClickInput: _cache[1] || (_cache[1] = Vue.withModifiers(($event) => __props.filterMode == "router" && onClickFilter, ["stop"])),
171
+ onSearch
173
172
  }, {
174
173
  action: Vue.withCtx(() => [
175
- Vue.createElementVNode("div", { onClick: onClickButton }, "搜索")
174
+ Vue.createElementVNode("div", { onClick: onSearch }, "搜索")
176
175
  ]),
177
176
  _: 1
178
- }, 8, ["modelValue", "placeholder", "show-action"]),
177
+ }, 8, ["modelValue", "placeholder"]),
179
178
  Vue.createVNode(QuickFilter.default, {
180
179
  "filter-data": Vue.unref(filterData),
181
180
  onChange: onQuickFilterChange
@@ -103,11 +103,7 @@ const _sfc_main = {
103
103
  };
104
104
  });
105
105
  const compHeight = Vue.computed(() => {
106
- if (props.autoHeight) {
107
- return "100%";
108
- } else {
109
- return props.height + "px";
110
- }
106
+ return "100%";
111
107
  });
112
108
  const tabSwipeable = Vue.ref(false);
113
109
  Vue.onMounted(() => {
@@ -184,5 +180,5 @@ const _sfc_main = {
184
180
  };
185
181
  }
186
182
  };
187
- const _Tabs = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-3f9e5c3d"]]);
183
+ const _Tabs = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-2dd78d51"]]);
188
184
  exports.default = _Tabs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecp/designer",
3
- "version": "5.5.115",
3
+ "version": "5.5.116",
4
4
  "main": "lib/designer/index.js",
5
5
  "module": "es/designer/index.mjs",
6
6
  "files": [