agilebuilder-ui 1.1.13-tmp2 → 1.1.13-tmp4
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/lib/401-e6404818.js +11 -0
- package/lib/404-3556013d.js +8 -0
- package/lib/authredirect-294d14ef.js +7 -0
- package/lib/iframe-page-1d95c5c4.js +12 -0
- package/lib/index-1a87600f.js +72054 -0
- package/lib/index-1cc4db24.js +8 -0
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +39 -69068
- package/lib/super-ui.umd.cjs +118 -86
- package/lib/tab-content-iframe-index-728fe039.js +12 -0
- package/lib/tab-content-index-5481253a.js +115 -0
- package/lib/tache-subprocess-history-051a2d26.js +12 -0
- package/package.json +1 -1
- package/packages/super-grid/src/components/mobile-table-card.jsx +75 -43
- package/packages/super-grid/src/dynamic-input.vue +1 -1
- package/packages/super-grid/src/super-grid.vue +113 -80
- package/{packages/super-grid/src/components/card-view.jsx → src/components/Card/index.jsx} +54 -11
- package/src/components/Scrollbar/index.vue +197 -0
- package/src/store/getters.js +3 -0
- package/src/store/modules/app.js +33 -18
- package/src/styles/display-layout.scss +98 -1
- package/src/views/layout/tab-content-index.vue +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
|
|
2
|
+
import { _ as s } from "./index-1a87600f.js";
|
|
3
|
+
const u = ["src"], f = s({ data: () => ({ src: null }), watch: { $route(n, c) {
|
|
4
|
+
this.src = this.$route.query.src;
|
|
5
|
+
} }, mounted() {
|
|
6
|
+
this.src = this.$route.query.src;
|
|
7
|
+
} }, [["render", function(n, c, a, l, e, m) {
|
|
8
|
+
return r(), t("div", null, [e.src && e.src !== null ? (r(), t("iframe", { key: 0, ref: "menuContent", src: e.src, name: "menu-content", title: "Main content", frameborder: "0" }, null, 8, u)) : o("", !0)]);
|
|
9
|
+
}], ["__scopeId", "data-v-20dccb82"]]);
|
|
10
|
+
export {
|
|
11
|
+
f as default
|
|
12
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { _ as v, c as $, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-1a87600f.js";
|
|
2
|
+
import { resolveComponent as m, openBlock as l, createBlock as b, withCtx as g, createVNode as w, TransitionGroup as L, createElementBlock as p, Fragment as T, renderList as C, createElementVNode as u, toDisplayString as y, createCommentVNode as f, normalizeClass as S } from "vue";
|
|
3
|
+
const A = { class: "no-redirect" }, k = v({ name: "Breadcrumb", data: () => ({ levelList: null }), computed: { levelListWithTitle() {
|
|
4
|
+
return this.levelList.filter((e) => e.meta.title !== void 0 && e.meta.title !== null);
|
|
5
|
+
} }, watch: { $route() {
|
|
6
|
+
this.getBreadcrumb();
|
|
7
|
+
} }, created() {
|
|
8
|
+
this.getBreadcrumb();
|
|
9
|
+
}, methods: { getBreadcrumb() {
|
|
10
|
+
const { params: e } = this.$route;
|
|
11
|
+
let t = this.$route.matched.filter((a) => {
|
|
12
|
+
if (a.name) {
|
|
13
|
+
var r = $(a.path);
|
|
14
|
+
return a.path = r(e), !0;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
if (t) {
|
|
18
|
+
let a;
|
|
19
|
+
const r = x(), o = window.$vueApp.config.globalProperties.systemNameObj;
|
|
20
|
+
o && (a = o[r]), t = [{ path: "/", redirect: "noredirect", meta: { title: a } }].concat(t);
|
|
21
|
+
const s = P.get("selectMenu"), d = window.$vueApp.config.globalProperties._selectMenu;
|
|
22
|
+
let n;
|
|
23
|
+
if (d ? n = d : s && (n = s), n) {
|
|
24
|
+
const i = n.substring(0, n.indexOf("~~")), c = n.substring(n.indexOf("~~") + 2);
|
|
25
|
+
if (t && t.length > 0) {
|
|
26
|
+
const _ = t[t.length - 1];
|
|
27
|
+
this.isShouldConcatLastMenu(c, i, _) && t.push({ path: i, meta: { title: c } });
|
|
28
|
+
} else
|
|
29
|
+
t.push({ path: i, meta: { title: c } });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
this.levelList = t;
|
|
33
|
+
}, isShouldConcatLastMenu(e, t, a) {
|
|
34
|
+
return !(!this.isTitleNotEqual(e, a) || !this.isPathNotEqual(t, a));
|
|
35
|
+
}, isTitleNotEqual(e, t) {
|
|
36
|
+
return !(!e || !t.meta || e === t.meta.title || e === this.$t(t.meta.title));
|
|
37
|
+
}, isPathNotEqual: (e, t) => !(!e || !t.path || e === t.path) } }, [["render", function(e, t, a, r, o, s) {
|
|
38
|
+
const d = m("el-breadcrumb-item"), n = m("el-breadcrumb");
|
|
39
|
+
return l(), b(n, { class: "app-breadcrumb", separator: ">" }, { default: g(() => [w(L, { name: "breadcrumb", tag: "span" }, { default: g(() => [(l(!0), p(T, null, C(s.levelListWithTitle, (i, c) => (l(), b(d, { key: i.path + "-" + c }, { default: g(() => [u("span", A, y(e.$t(i.meta.title)), 1)]), _: 2 }, 1024))), 128))]), _: 1 })]), _: 1 });
|
|
40
|
+
}], ["__scopeId", "data-v-768a430c"]]), { body: B } = document, E = { watch: { $route(e) {
|
|
41
|
+
this.device === "mobile" && this.sidebar.opened && h.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
42
|
+
} }, beforeMount() {
|
|
43
|
+
window.addEventListener("resize", this.resizeHandler);
|
|
44
|
+
}, mounted() {
|
|
45
|
+
this.isMobile() && (h.dispatch("toggelDevice", "mobile"), h.dispatch("closeSidebar", { withoutAnimation: !0 }));
|
|
46
|
+
}, methods: { isMobile: () => B.getBoundingClientRect().width - 3 < 1024, resizeHandler() {
|
|
47
|
+
if (!document.hidden) {
|
|
48
|
+
const e = this.isMobile();
|
|
49
|
+
h.dispatch("toggelDevice", e ? "mobile" : "desktop"), e && h.dispatch("closeSidebar", { withoutAnimation: !0 });
|
|
50
|
+
}
|
|
51
|
+
} } }, N = { name: "TabContent", data() {
|
|
52
|
+
let e = window.$vueApp.config.globalProperties.defaultPageTip;
|
|
53
|
+
e || (e = "欢迎访问Agile Builder/Welcome to Agile Builder");
|
|
54
|
+
let t, a = e;
|
|
55
|
+
return e && e.indexOf("/") > 0 && (a = e.substring(0, e.lastIndexOf("/")), t = e.substring(e.lastIndexOf("/") + 1)), { defaultPageTipCn: a, defaultPageTipEn: t };
|
|
56
|
+
}, computed: { ...M(["openTab"]), activeIndex: { get() {
|
|
57
|
+
return this.$store.state.tabContent.activeIndex;
|
|
58
|
+
}, set(e) {
|
|
59
|
+
this.$store.commit("set_active_index", e);
|
|
60
|
+
} } }, created() {
|
|
61
|
+
window.addEventListener("message", this.recieveMessage);
|
|
62
|
+
}, mounted() {
|
|
63
|
+
}, unmounted() {
|
|
64
|
+
window.removeEventListener("message", this.recieveMessage);
|
|
65
|
+
}, methods: { closeSelectedTag(e) {
|
|
66
|
+
const t = this.$store.state.tabContent.openTab.findIndex((r) => r.code === e), a = this.$store.state.tabContent.openTab[t];
|
|
67
|
+
this.$store.commit("delete_tabs", a), e === this.activeIndex && this.toLastView(this.$store.state.tabContent.openTab, t > 0 ? t - 1 : 0);
|
|
68
|
+
}, toLastView(e, t) {
|
|
69
|
+
if (e && e.length > 0 && e.length > t) {
|
|
70
|
+
const a = e[t];
|
|
71
|
+
a && this.$store.commit("set_active_index", a.code);
|
|
72
|
+
}
|
|
73
|
+
}, getFullPath(e) {
|
|
74
|
+
let t = "";
|
|
75
|
+
if (e.routePath === "/iframe-page/page") {
|
|
76
|
+
let a, r = "";
|
|
77
|
+
if (e.routeQuery)
|
|
78
|
+
for (const o in e.routeQuery)
|
|
79
|
+
o === "src" ? a = e.routeQuery[o] : r += o + "=" + e.routeQuery[o] + "&";
|
|
80
|
+
a && (t = a), r && (t += "?" + r);
|
|
81
|
+
} else if (e.routePath.indexOf("http:") < 0 && e.routePath.indexOf("https:") < 0 && (t = "#"), t = e.routePath.indexOf("?") >= 0 ? t + e.routePath + "&" : t + e.routePath + "?", e.routeQuery)
|
|
82
|
+
for (const a in e.routeQuery)
|
|
83
|
+
t += a + "=" + e.routeQuery[a] + "&";
|
|
84
|
+
return t && t.length > 0 && t.lastIndexOf("&") === t.length - 1 && (t = t.substring(0, t.lastIndexOf("&"))), t;
|
|
85
|
+
}, recieveMessage(e) {
|
|
86
|
+
if (e && typeof e.data == "string" && e.data === "refreshTabContent")
|
|
87
|
+
window.location.reload();
|
|
88
|
+
else if (e && typeof e.data == "string" && e.data.indexOf("loginTimeout") >= 0)
|
|
89
|
+
window.parent.postMessage(e.data, "*");
|
|
90
|
+
else if (e && typeof e.data == "string" && e.data === "return-to-system-list") {
|
|
91
|
+
this.$store.commit("clear_tabs");
|
|
92
|
+
let t = "_IS_APP_LIST";
|
|
93
|
+
const a = window.sessionStorage.getItem(t);
|
|
94
|
+
a !== void 0 && a === "true" ? this.$router.push({ path: "/mms/apps/list" }) : this.$router.push({ path: "/mms/systems/list" });
|
|
95
|
+
}
|
|
96
|
+
} } }, V = ["src"], Q = { class: "default-page-tip" }, R = { class: "default-page-tip-msg" }, q = { class: "default-page-tip-item" }, z = { class: "default-page-tip-item" }, j = { class: "main-container" }, W = v({ name: "Layout", components: { Menubar: O, Breadcrumb: k, TabContent: v(N, [["render", function(e, t, a, r, o, s) {
|
|
97
|
+
const d = m("el-tab-pane"), n = m("el-tabs");
|
|
98
|
+
return l(), p("div", null, [e.openTab && e.openTab.length > 0 ? (l(), b(n, { key: 0, modelValue: s.activeIndex, "onUpdate:modelValue": t[0] || (t[0] = (i) => s.activeIndex = i), class: "nav-tab menu-tab-container", closable: "", onTabRemove: s.closeSelectedTag }, { default: g(() => [(l(!0), p(T, null, C(e.openTab, (i) => (l(), b(d, { key: i.code, label: i.name, name: i.code }, { default: g(() => [u("iframe", { ref_for: !0, ref: "tabMainContent", src: s.getFullPath(i), class: "tab-main-content", name: "tab-main-content", frameborder: "0" }, null, 8, V)]), _: 2 }, 1032, ["label", "name"]))), 128))]), _: 1 }, 8, ["modelValue", "onTabRemove"])) : f("", !0), u("div", Q, [u("div", R, [u("div", q, y(o.defaultPageTipCn), 1), u("div", z, y(o.defaultPageTipEn), 1)])])]);
|
|
99
|
+
}], ["__scopeId", "data-v-acb71e42"]]) }, mixins: [E], data: () => ({ showMenuRoute: I(), systemCode: null }), computed: { sidebar() {
|
|
100
|
+
return this.$store.state.app.sidebar;
|
|
101
|
+
}, device() {
|
|
102
|
+
return this.$store.state.app.device;
|
|
103
|
+
}, classObj() {
|
|
104
|
+
return { hideSidebar: !this.sidebar.opened, openSidebar: this.sidebar.opened, withoutAnimation: this.sidebar.withoutAnimation, mobile: this.device === "mobile" };
|
|
105
|
+
} }, created() {
|
|
106
|
+
this.systemCode = window.$vueApp.config.globalProperties.customSystem;
|
|
107
|
+
}, methods: { handleClickOutside() {
|
|
108
|
+
this.$store.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
109
|
+
} } }, [["render", function(e, t, a, r, o, s) {
|
|
110
|
+
const d = m("menubar"), n = m("breadcrumb"), i = m("tab-content");
|
|
111
|
+
return l(), p("div", { class: S([s.classObj, "app-wrapper"]) }, [s.device === "mobile" && s.sidebar.opened ? (l(), p("div", { key: 0, class: "drawer-bg", onClick: t[0] || (t[0] = (...c) => s.handleClickOutside && s.handleClickOutside(...c)) })) : f("", !0), w(d, { "system-code": o.systemCode, collapse: !0, class: "sidebar-container" }, null, 8, ["system-code"]), u("div", j, [o.showMenuRoute ? (l(), b(n, { key: 0 })) : f("", !0), w(i)])], 2);
|
|
112
|
+
}], ["__scopeId", "data-v-5c0a6bf6"]]);
|
|
113
|
+
export {
|
|
114
|
+
W as default
|
|
115
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { resolveComponent as t, openBlock as a, createElementBlock as s, createElementVNode as y, createVNode as l, withCtx as r, createTextVNode as n, toDisplayString as p, createCommentVNode as c, createBlock as h } from "vue";
|
|
2
|
+
import { _ as I } from "./index-1a87600f.js";
|
|
3
|
+
const g = { style: { "padding-bottom": "10px" } }, k = { key: 0, class: "graphDiv" }, N = I({ name: "TacheSubprocessHistory", data: () => ({ type: "graph", workflowId: null }), created() {
|
|
4
|
+
const o = this.$route.query.workflowId;
|
|
5
|
+
o && (this.workflowId = parseInt(o));
|
|
6
|
+
} }, [["render", function(o, d, V, b, e, v) {
|
|
7
|
+
const i = t("el-radio-button"), w = t("el-radio-group"), u = t("workflow-history"), m = t("workflow-history-list");
|
|
8
|
+
return a(), s("div", null, [y("div", g, [l(w, { modelValue: e.type, "onUpdate:modelValue": d[0] || (d[0] = (f) => e.type = f) }, { default: r(() => [l(i, { label: "graph" }, { default: r(() => [n(p(o.$t("imatrixUIPublicModel.graphView")), 1)]), _: 1 }), l(i, { label: "list" }, { default: r(() => [n(p(o.$t("imatrixUIPublicModel.listView")), 1)]), _: 1 })]), _: 1 }, 8, ["modelValue"])]), e.type === "graph" ? (a(), s("div", k, [l(u, { id: e.workflowId }, null, 8, ["id"])])) : c("", !0), e.type === "list" ? (a(), h(m, { key: 1, "workflow-id": e.workflowId }, null, 8, ["workflow-id"])) : c("", !0)]);
|
|
9
|
+
}], ["__scopeId", "data-v-a936569d"]]);
|
|
10
|
+
export {
|
|
11
|
+
N as default
|
|
12
|
+
};
|
package/package.json
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { defineComponent, ref, computed, watch, defineEmits } from 'vue';
|
|
3
3
|
import { ElCard, ElDrawer, ElTag,ElDescriptions, ElDescriptionsItem, ElButton, ElIcon, ElCheckbox, ElCheckboxGroup, ElBreadcrumb, ElLink, ElEmpty, ElDivider } from 'element-plus';
|
|
4
4
|
import NormalColumnContent from '../normal-column-content.vue';
|
|
5
|
-
import CardView from '
|
|
5
|
+
import CardView from '../../../../src/components/Card';
|
|
6
|
+
import Scrollbar from '../../../../src/components/Scrollbar';
|
|
6
7
|
import store from '../store';
|
|
7
8
|
|
|
8
9
|
import { ArrowLeft, Bottom, Loading, Tickets } from '@element-plus/icons-vue';
|
|
@@ -12,7 +13,8 @@ export default defineComponent({
|
|
|
12
13
|
name: 'MobileTableCard',
|
|
13
14
|
components: {
|
|
14
15
|
NormalColumnContent,
|
|
15
|
-
CardView
|
|
16
|
+
CardView,
|
|
17
|
+
Scrollbar
|
|
16
18
|
},
|
|
17
19
|
props: {
|
|
18
20
|
// 展示字段限制
|
|
@@ -68,10 +70,10 @@ export default defineComponent({
|
|
|
68
70
|
const paginationList = ref([])
|
|
69
71
|
// 选中数据
|
|
70
72
|
const checkedList = ref([]);
|
|
73
|
+
// 当前勾选ID
|
|
74
|
+
const checkedClickId = ref(undefined);
|
|
71
75
|
// 当前选中数据
|
|
72
76
|
const isCheckedIndex = ref(undefined);
|
|
73
|
-
// 展开更多字段
|
|
74
|
-
const isColumnExpandMore = ref(undefined);
|
|
75
77
|
|
|
76
78
|
// 是否打开子表弹窗
|
|
77
79
|
const isChildrenDrawer = ref(false);
|
|
@@ -99,6 +101,14 @@ export default defineComponent({
|
|
|
99
101
|
}
|
|
100
102
|
});
|
|
101
103
|
|
|
104
|
+
const isLoadPaginationData = computed(() => {
|
|
105
|
+
if (props.isStackingPaginatedData) {
|
|
106
|
+
return (paginationList.value[props.currentPage - 1]?.length ?? 0) > 0
|
|
107
|
+
} else {
|
|
108
|
+
return dataList.value.length < props.pageSize * props.currentPage && pagesNumber.value >= props.currentPage
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
|
|
102
112
|
// 面包屑数据
|
|
103
113
|
const childrenList = computed(() => {
|
|
104
114
|
return childrenBreadcrumbData.value[childrenBreadcrumbData.value.length - 1]?.children ?? []
|
|
@@ -179,6 +189,7 @@ export default defineComponent({
|
|
|
179
189
|
} else {
|
|
180
190
|
checkedList.value = [...new Set([...checkedList.value, value])]
|
|
181
191
|
}
|
|
192
|
+
checkedClickId.value = value
|
|
182
193
|
}
|
|
183
194
|
|
|
184
195
|
/**
|
|
@@ -205,9 +216,8 @@ export default defineComponent({
|
|
|
205
216
|
const onAttrs = {
|
|
206
217
|
...Object.fromEntries(Object.keys($on).map(key => [`on${key.charAt(0).toUpperCase()}${key.slice(1).replace(/-([a-z])/g, (match, letter) => letter.toUpperCase())}`, $on[key]]))
|
|
207
218
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
</div>
|
|
219
|
+
|
|
220
|
+
return <NormalColumnContent isContentViewText={isViewText} {...attrs} {...onAttrs} />
|
|
211
221
|
}
|
|
212
222
|
|
|
213
223
|
/**
|
|
@@ -219,6 +229,7 @@ export default defineComponent({
|
|
|
219
229
|
* @returns .filter((_, index) => !props.showFieldCount || props.showFieldCount > index + 1)
|
|
220
230
|
*/
|
|
221
231
|
const getElDescriptions = (layoutDatas, columnFormData = detailsFormData.value, columnIndex = isCheckedIndex.value, showFieldCount = undefined) => {
|
|
232
|
+
// const propertyData = columnData?.find(({ property }) => property)
|
|
222
233
|
return <ElDescriptions column={1} label-width={maxLabelWidth.value} align="right" direction="horizontal" layout='form'>
|
|
223
234
|
{(showFieldCount ? layoutDatas?.slice?.(0, showFieldCount) : layoutDatas)?.map((columnCol, index) => (
|
|
224
235
|
<ElDescriptionsItem
|
|
@@ -228,6 +239,12 @@ export default defineComponent({
|
|
|
228
239
|
label: () => <div v-html={columnCol.label ? `${columnCol.label}:` : ''} />
|
|
229
240
|
}
|
|
230
241
|
}
|
|
242
|
+
// onRowDblclick={(event) => {
|
|
243
|
+
// console.log('我双击了', columnCol?.property )
|
|
244
|
+
// // if (isViewText) return
|
|
245
|
+
// event.stopPropagation()
|
|
246
|
+
// // emit('rowDblclick', columnFormData, columnData, event)
|
|
247
|
+
// }}
|
|
231
248
|
>
|
|
232
249
|
{columnViewDom(columnCol, columnFormData, columnIndex) || '-'}
|
|
233
250
|
</ElDescriptionsItem>
|
|
@@ -241,13 +258,23 @@ export default defineComponent({
|
|
|
241
258
|
}, { deep: true });
|
|
242
259
|
|
|
243
260
|
// 勾选监听
|
|
244
|
-
watch(checkedList, (newValue) => {
|
|
261
|
+
watch(checkedList, (newValue , oldValue) => {
|
|
262
|
+
console.log(newValue , oldValue)
|
|
245
263
|
if (attrs.selection.length === newValue.length) {
|
|
246
264
|
if (attrs.selection.every(({ $rowDataGuId }) => newValue.includes($rowDataGuId ) )) return
|
|
247
265
|
}
|
|
248
266
|
const selectData = dataList.value.filter(({ $rowDataGuId }) => newValue?.includes($rowDataGuId))
|
|
249
|
-
|
|
267
|
+
const findData = checkedClickId.value ? dataList.value.find(({ $rowDataGuId }) => checkedClickId.value === $rowDataGuId) : undefined
|
|
268
|
+
// 新增选中
|
|
269
|
+
if (newValue.length > oldValue?.length && findData) {
|
|
270
|
+
emit('select', selectData, findData)
|
|
271
|
+
}
|
|
272
|
+
// 移除选中
|
|
273
|
+
if (newValue.length < oldValue?.length && findData) {
|
|
274
|
+
emit('select', selectData, findData)
|
|
275
|
+
}
|
|
250
276
|
emit('selectionChange', selectData)
|
|
277
|
+
checkedClickId.value = undefined
|
|
251
278
|
}, { deep: true });
|
|
252
279
|
|
|
253
280
|
// 滚动数据加载监听
|
|
@@ -276,35 +303,35 @@ export default defineComponent({
|
|
|
276
303
|
}
|
|
277
304
|
}
|
|
278
305
|
|
|
279
|
-
const load = () => {
|
|
280
|
-
// 这里可以实现加载更多的逻辑
|
|
281
|
-
};
|
|
282
|
-
|
|
283
306
|
return () => (
|
|
284
|
-
<
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
307
|
+
<Scrollbar onScrollToBottom={scrollLoad} set-max-height={data => {
|
|
308
|
+
if (data?.windowHeight) {
|
|
309
|
+
const height = data?.windowHeight - 160
|
|
310
|
+
return height > 400 ? height : 400
|
|
311
|
+
}
|
|
312
|
+
}}>
|
|
313
|
+
{(<ElDrawer v-model={isChildrenDrawer.value} modal-class='yx-drawer yx-scrollbar-body' with-header={true} direction="btt" append-to-body size='90vh' v-slots={{
|
|
314
|
+
header: () => (<div class="yx-flex-wrap" style={{gap: '10px'}}>
|
|
315
|
+
{layoutData.value.header[0] && `${layoutData.value.header[0].label}: `}
|
|
316
|
+
<ElBreadcrumb separator-icon={<ArrowRight></ArrowRight>}>
|
|
317
|
+
{childrenBreadcrumbData.value.map((columnFormData, i) => {
|
|
318
|
+
const label = columnViewDom(layoutData.value.header[0], columnFormData, undefined, true)
|
|
319
|
+
return (
|
|
320
|
+
<ElBreadcrumbItem>
|
|
321
|
+
{
|
|
322
|
+
childrenBreadcrumbData.value.length - 1 === i ? label : <ElLink onClick={() => childrenBreadcrumbData.value = childrenBreadcrumbData.value.slice(0, i + 1)}>{ label }</ElLink>
|
|
323
|
+
}
|
|
324
|
+
</ElBreadcrumbItem>
|
|
325
|
+
)
|
|
326
|
+
|
|
327
|
+
})}
|
|
328
|
+
</ElBreadcrumb>
|
|
329
|
+
</div>)
|
|
330
|
+
}}
|
|
331
|
+
onClosed={() => childrenBreadcrumbData.value = []}
|
|
304
332
|
>
|
|
305
333
|
|
|
306
|
-
|
|
307
|
-
<ElScrollbar scrollable-main max-height='100%' style={{ 'flex': '1 1 auto'}}>
|
|
334
|
+
<Scrollbar scrollable-main max-height='100%' style={{ 'flex': '1 1 auto'}}>
|
|
308
335
|
<div class="yx-flex-wrap" vertical style={{ gap: '15px'}}>
|
|
309
336
|
{ childrenList.value.map((columnFormData, columnIndex) => {
|
|
310
337
|
// 开启编辑后禁止选中
|
|
@@ -316,6 +343,8 @@ export default defineComponent({
|
|
|
316
343
|
// 是否有子表
|
|
317
344
|
const isSubTable = !!((columnFormData?.children?.length ?? 0) > 0)
|
|
318
345
|
|
|
346
|
+
const clickPropertyData = layoutData.value.content?.find(({ property }) => property) ?? layoutData.value.content[0]
|
|
347
|
+
|
|
319
348
|
return (<CardView
|
|
320
349
|
form={columnFormData}
|
|
321
350
|
no={ isIndex ? columnIndex + 1 : undefined}
|
|
@@ -327,6 +356,8 @@ export default defineComponent({
|
|
|
327
356
|
onShowSubTable={() => {
|
|
328
357
|
childrenBreadcrumbData.value =[...childrenBreadcrumbData.value, columnFormData];
|
|
329
358
|
}}
|
|
359
|
+
onRowClick={(event) => emit('rowClick', columnFormData, clickPropertyData, event)}
|
|
360
|
+
onRowDblclick={(event) => emit('rowDblclick', columnFormData, clickPropertyData, event)}
|
|
330
361
|
v-slots={{
|
|
331
362
|
titleSlot: layoutData.value.header && layoutData.value.header?.map((columnCol) => columnViewDom(columnCol, columnFormData, columnIndex, true)),
|
|
332
363
|
children: ({ isMore }) => getElDescriptions(layoutData.value.content, columnFormData, columnIndex, !isMore ? undefined : props.showFieldCount),
|
|
@@ -337,19 +368,16 @@ export default defineComponent({
|
|
|
337
368
|
/>)
|
|
338
369
|
}) }
|
|
339
370
|
</div>
|
|
340
|
-
</
|
|
341
|
-
</
|
|
342
|
-
</ElDrawer>)}
|
|
371
|
+
</Scrollbar>
|
|
372
|
+
</ElDrawer>)}
|
|
343
373
|
<div
|
|
344
374
|
class="yx-flex-wrap"
|
|
345
375
|
vertical
|
|
346
376
|
style="overflow: auto; gap: 15px;"
|
|
347
|
-
onInfiniteScroll={load}
|
|
348
377
|
>
|
|
349
378
|
{dataList.value.length === 0 && <ElEmpty />}
|
|
350
379
|
|
|
351
380
|
{dataList.value.map((columnFormData, columnIndex) => {
|
|
352
|
-
const isColumnExpand = columnIndex === isColumnExpandMore.value
|
|
353
381
|
|
|
354
382
|
// 开启编辑后禁止选中
|
|
355
383
|
const onChecked = () => !columnFormData.$editing && setCheckedList(columnFormData.$rowDataGuId)
|
|
@@ -359,6 +387,9 @@ export default defineComponent({
|
|
|
359
387
|
|
|
360
388
|
// 是否有子表
|
|
361
389
|
const isSubTable = !!(columnFormData?.children?.length ?? false)
|
|
390
|
+
|
|
391
|
+
const clickPropertyData = layoutData.value.content?.find(({ property }) => property) ?? layoutData.value.content[0]
|
|
392
|
+
|
|
362
393
|
return (<CardView
|
|
363
394
|
form={columnFormData}
|
|
364
395
|
no={ isIndex ? columnIndex + 1 : undefined}
|
|
@@ -371,6 +402,8 @@ export default defineComponent({
|
|
|
371
402
|
childrenBreadcrumbData.value =[columnFormData];
|
|
372
403
|
isChildrenDrawer.value = true
|
|
373
404
|
}}
|
|
405
|
+
onRowClick={(event) => emit('rowClick', columnFormData, clickPropertyData, event)}
|
|
406
|
+
onRowDblclick={(event) => emit('rowDblclick', columnFormData, clickPropertyData, event)}
|
|
374
407
|
v-slots={{
|
|
375
408
|
titleSlot: layoutData.value.header && layoutData.value.header?.map((columnCol) => columnViewDom(columnCol, columnFormData, columnIndex, true)),
|
|
376
409
|
children: ({ isMore }) => getElDescriptions(layoutData.value.content, columnFormData, columnIndex, !isMore ? undefined : props.showFieldCount),
|
|
@@ -383,12 +416,11 @@ export default defineComponent({
|
|
|
383
416
|
|
|
384
417
|
{
|
|
385
418
|
dataList.value.length > 0 && pagesNumber.value > 1 && (<ElDivider>
|
|
386
|
-
{ (pagesNumber.value > props.currentPage || isPaginationLoading.value)
|
|
387
|
-
{ (pagesNumber.value <= props.currentPage) && 'END' }
|
|
419
|
+
{ (pagesNumber.value > props.currentPage || isPaginationLoading.value) ? (<ElIcon loading-rotate size={25} color="#409eff" style={{ margin: '15px auto' }}><Loading></Loading></ElIcon>) : (pagesNumber.value <= props.currentPage && isLoadPaginationData.value) && 'END' }
|
|
388
420
|
</ElDivider>)
|
|
389
421
|
}
|
|
390
422
|
</div>
|
|
391
|
-
</
|
|
423
|
+
</Scrollbar>
|
|
392
424
|
);
|
|
393
425
|
}
|
|
394
426
|
});
|
|
@@ -648,8 +648,8 @@ export default {
|
|
|
648
648
|
userAgent = 'browser'
|
|
649
649
|
}
|
|
650
650
|
console.log('superGrid----window.location.protocol---', window.location.protocol)
|
|
651
|
-
const isShowScanIcon = isMobile && window.location.protocol === 'https:' ? true : false
|
|
652
651
|
const isApk = isMobile && userAgent && userAgent === 'app' ? true : false
|
|
652
|
+
const isShowScanIcon = isApk || (isMobile && scanEnable && window.location.protocol === 'https:' ? true : false)
|
|
653
653
|
|
|
654
654
|
let baseURL = gridParams.options.backendUrl
|
|
655
655
|
if (!baseURL) {
|