@fecp/designer 5.5.115 → 5.5.117
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.
- package/es/designer/index.mjs +8 -1
- package/es/designer/package.json.mjs +1 -1
- package/es/designer/src/packages/dataSource/index.vue.mjs +3 -1
- package/es/designer/src/packages/dialog/index.vue2.mjs +15 -15
- package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +17 -16
- package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
- package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
- package/es/designer.css +135 -127
- package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +60 -14
- package/es/packages/mobile/src/components/custom/document/Document.vue.mjs +2 -6
- package/es/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.mjs +2 -6
- package/es/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.mjs +50 -56
- package/es/packages/mobile/src/components/form/search/Search.vue.mjs +7 -8
- package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +2 -6
- package/lib/designer/index.js +8 -1
- package/lib/designer/package.json.js +1 -1
- package/lib/designer/src/packages/dataSource/index.vue.js +3 -1
- package/lib/designer/src/packages/dialog/index.vue2.js +15 -15
- package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/index.vue2.js +17 -16
- package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
- package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
- package/lib/designer.css +135 -127
- package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +59 -13
- package/lib/packages/mobile/src/components/custom/document/Document.vue.js +2 -6
- package/lib/packages/mobile/src/components/dataDisplay/collapse/Collapse.vue.js +2 -6
- package/lib/packages/mobile/src/components/dataDisplay/dataStat/DataStat.vue.js +49 -55
- package/lib/packages/mobile/src/components/form/search/Search.vue.js +7 -8
- package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +2 -6
- 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
|
-
|
|
60
|
-
|
|
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(
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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(
|
|
60
|
+
const loading = Vue.ref(true);
|
|
78
61
|
const dataList = Vue.ref([]);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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-
|
|
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
|
|
43
|
-
onSearch
|
|
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":
|
|
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:
|
|
174
|
+
Vue.createElementVNode("div", { onClick: onSearch }, "搜索")
|
|
176
175
|
]),
|
|
177
176
|
_: 1
|
|
178
|
-
}, 8, ["modelValue", "placeholder"
|
|
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
|
-
|
|
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-
|
|
183
|
+
const _Tabs = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-2dd78d51"]]);
|
|
188
184
|
exports.default = _Tabs;
|