agilebuilder-ui 1.1.27 → 1.1.29
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-c1ecc1a9.js → 401-b6438df4.js} +1 -1
- package/lib/{404-a507cf9c.js → 404-a63f6f05.js} +1 -1
- package/lib/{iframe-page-32671903.js → iframe-page-37f43db7.js} +1 -1
- package/lib/{index-ce3ae297.js → index-d3663821.js} +19913 -19927
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +1 -1
- package/lib/super-ui.umd.cjs +98 -95
- package/lib/{tab-content-iframe-index-55b69efd.js → tab-content-iframe-index-86707264.js} +1 -1
- package/lib/{tab-content-index-f8882314.js → tab-content-index-c7251161.js} +25 -24
- package/lib/{tache-subprocess-history-a2d815d2.js → tache-subprocess-history-6de071c9.js} +1 -1
- package/package.json +1 -1
- package/packages/dynamic-source-select/src/dynamic-source-select.vue +5 -1
- package/packages/fs-preview/src/fs-preview.vue +75 -53
- package/packages/organization-input/src/organization-input.vue +1 -1
- package/packages/row-form/operation.vue +1 -0
- package/packages/super-grid/src/components/mobile-table-card.jsx +12 -2
- package/packages/super-grid/src/custom-formatter.js +10 -7
- package/packages/super-grid/src/dynamic-input.vue +8 -7
- package/packages/super-grid/src/index-column.vue +24 -15
- package/packages/super-grid/src/normal-column-content.vue +19 -2
- package/packages/super-grid/src/normal-column.vue +14 -13
- package/packages/super-grid/src/row-operation.vue +49 -27
- package/packages/super-grid/src/selection-column.vue +2 -12
- package/packages/super-grid/src/super-grid.vue +27 -7
- package/packages/workflow-history-list/src/workflow-history-list.vue +101 -160
- package/src/components/Affix/index.vue +19 -12
- package/src/i18n/langs/cn.js +292 -294
- package/src/i18n/langs/en.js +291 -304
- package/src/permission.js +1 -1
- package/src/store/modules/table.js +1 -0
- package/src/styles/_layout-custom-properties.scss +2 -2
- package/src/styles/display-layout.scss +4 -4
- package/src/styles/index.scss +2 -9
- package/src/styles/theme/dark-blue/button.scss +6 -6
- package/src/styles/theme/dark-blue/card.scss +11 -15
- package/src/styles/theme/dark-blue/index.scss +0 -4
- package/src/styles/theme/dark-blue/sidebar.scss +0 -5
- package/src/styles/theme/default.scss +1 -1
- package/src/styles/theme/green/button.scss +2 -2
- package/src/styles/theme/green/index.scss +0 -4
- package/src/styles/theme/green/sidebar.scss +0 -5
- package/src/styles/theme/ocean-blue/button.scss +2 -2
- package/src/styles/theme/ocean-blue/index.scss +0 -4
- package/src/styles/theme/ocean-blue/sidebar.scss +0 -5
- package/src/styles/theme/tiffany-blue-mobile/button.scss +2 -2
- package/src/styles/theme/tiffany-blue-mobile/index.scss +1 -5
- package/src/styles/theme/tiffany-blue-mobile/sidebar.scss +0 -5
- package/src/utils/iframe-communicator.js +222 -222
- package/src/utils/jump-page-utils.js +1 -1
- package/vite.config.js +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
|
|
2
|
-
import { _ as s } from "./index-
|
|
2
|
+
import { _ as s } from "./index-d3663821.js";
|
|
3
3
|
const u = ["src"], f = s({ data: () => ({ src: null }), watch: { $route(n, c) {
|
|
4
4
|
this.src = this.$route.query.src;
|
|
5
5
|
} }, mounted() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as f, c as
|
|
2
|
-
import { resolveComponent as u, openBlock as
|
|
1
|
+
import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-d3663821.js";
|
|
2
|
+
import { resolveComponent as u, openBlock as d, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as T, renderList as C, createElementVNode as m, toDisplayString as w, normalizeClass as S, createCommentVNode as y } from "vue";
|
|
3
3
|
const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ levelList: null }), computed: { levelListWithTitle() {
|
|
4
4
|
return this.levelList.filter((e) => e.meta.title !== void 0 && e.meta.title !== null);
|
|
5
5
|
} }, watch: { $route() {
|
|
@@ -8,23 +8,24 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
8
8
|
this.getBreadcrumb();
|
|
9
9
|
}, methods: { getBreadcrumb() {
|
|
10
10
|
const { params: e } = this.$route;
|
|
11
|
+
this.$route.matched;
|
|
11
12
|
let t = this.$route.matched.filter((a) => {
|
|
12
13
|
if (a.name) {
|
|
13
|
-
var r =
|
|
14
|
+
var r = _(a.path);
|
|
14
15
|
return a.path = r(e), !0;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
17
18
|
if (t) {
|
|
18
19
|
let a;
|
|
19
|
-
const r = x(),
|
|
20
|
-
|
|
21
|
-
const s = P.get("selectMenu"),
|
|
22
|
-
let
|
|
23
|
-
if (
|
|
24
|
-
const i =
|
|
20
|
+
const r = x(), n = window.$vueApp.config.globalProperties.systemNameObj;
|
|
21
|
+
n && (a = n[r]), t = [{ path: "/", redirect: "noredirect", meta: { title: a } }].concat(t);
|
|
22
|
+
const s = P.get("selectMenu"), l = window.$vueApp.config.globalProperties._selectMenu;
|
|
23
|
+
let o;
|
|
24
|
+
if (l ? o = l : s && (o = s), o) {
|
|
25
|
+
const i = o.substring(0, o.indexOf("~~")), c = o.substring(o.indexOf("~~") + 2);
|
|
25
26
|
if (t && t.length > 0) {
|
|
26
|
-
const
|
|
27
|
-
this.isShouldConcatLastMenu(c, i,
|
|
27
|
+
const $ = t[t.length - 1];
|
|
28
|
+
this.isShouldConcatLastMenu(c, i, $) && t.push({ path: i, meta: { title: c } });
|
|
28
29
|
} else
|
|
29
30
|
t.push({ path: i, meta: { title: c } });
|
|
30
31
|
}
|
|
@@ -34,9 +35,9 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
34
35
|
return !(!this.isTitleNotEqual(e, a) || !this.isPathNotEqual(t, a));
|
|
35
36
|
}, isTitleNotEqual(e, t) {
|
|
36
37
|
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,
|
|
38
|
-
const
|
|
39
|
-
return
|
|
38
|
+
}, isPathNotEqual: (e, t) => !(!e || !t.path || e === t.path) } }, [["render", function(e, t, a, r, n, s) {
|
|
39
|
+
const l = u("el-breadcrumb-item"), o = u("el-breadcrumb");
|
|
40
|
+
return d(), b(o, { class: "app-breadcrumb", separator: ">" }, { default: g(() => [v(L, { name: "breadcrumb", tag: "span" }, { default: g(() => [(d(!0), p(T, null, C(s.levelListWithTitle, (i, c) => (d(), b(l, { key: i.path + "-" + c }, { default: g(() => [m("span", k, w(e.$t(i.meta.title)), 1)]), _: 2 }, 1024))), 128))]), _: 1 })]), _: 1 });
|
|
40
41
|
}], ["__scopeId", "data-v-768a430c"]]), { body: B } = document, E = { watch: { $route(e) {
|
|
41
42
|
this.device === "mobile" && this.sidebar.opened && h.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
42
43
|
} }, beforeMount() {
|
|
@@ -75,8 +76,8 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
75
76
|
if (e.routePath === "/iframe-page/page") {
|
|
76
77
|
let a, r = "";
|
|
77
78
|
if (e.routeQuery)
|
|
78
|
-
for (const
|
|
79
|
-
|
|
79
|
+
for (const n in e.routeQuery)
|
|
80
|
+
n === "src" ? a = e.routeQuery[n] : r += n + "=" + e.routeQuery[n] + "&";
|
|
80
81
|
a && (t = a), r && (t += "?" + r);
|
|
81
82
|
} 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
83
|
for (const a in e.routeQuery)
|
|
@@ -86,16 +87,16 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
86
87
|
if (e && typeof e.data == "string" && e.data === "refreshTabContent")
|
|
87
88
|
window.location.reload();
|
|
88
89
|
else if (e && typeof e.data == "string" && e.data.indexOf("loginTimeout") >= 0)
|
|
89
|
-
window.parent.postMessage(e.data, "*");
|
|
90
|
+
e.data, window.parent.postMessage(e.data, "*");
|
|
90
91
|
else if (e && typeof e.data == "string" && e.data === "return-to-system-list") {
|
|
91
92
|
this.$store.commit("clear_tabs");
|
|
92
93
|
let t = "_IS_APP_LIST";
|
|
93
94
|
const a = window.sessionStorage.getItem(t);
|
|
94
95
|
a !== void 0 && a === "true" ? this.$router.push({ path: "/mms/apps/list" }) : this.$router.push({ path: "/mms/systems/list" });
|
|
95
96
|
}
|
|
96
|
-
} } }, V = ["src"], Q = { key: 1, 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 = f({ name: "Layout", components: { Menubar: O, Breadcrumb: A, TabContent: f(N, [["render", function(e, t, a, r,
|
|
97
|
-
const
|
|
98
|
-
return e.openTab && e.openTab.length > 0 ? (
|
|
97
|
+
} } }, V = ["src"], Q = { key: 1, 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 = f({ name: "Layout", components: { Menubar: O, Breadcrumb: A, TabContent: f(N, [["render", function(e, t, a, r, n, s) {
|
|
98
|
+
const l = u("el-tab-pane"), o = u("el-tabs");
|
|
99
|
+
return e.openTab && e.openTab.length > 0 ? (d(), b(o, { 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(() => [(d(!0), p(T, null, C(e.openTab, (i) => (d(), b(l, { key: i.code, label: i.name, name: i.code }, { default: g(() => [m("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"])) : (d(), p("div", Q, [m("div", R, [m("div", q, w(n.defaultPageTipCn), 1), m("div", z, w(n.defaultPageTipEn), 1)])]));
|
|
99
100
|
}], ["__scopeId", "data-v-a5252a92"]]) }, mixins: [E], data: () => ({ showMenuRoute: I(), systemCode: null }), computed: { sidebar() {
|
|
100
101
|
return this.$store.state.app.sidebar;
|
|
101
102
|
}, device() {
|
|
@@ -103,12 +104,12 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
103
104
|
}, classObj() {
|
|
104
105
|
return { hideSidebar: !this.sidebar.opened, openSidebar: this.sidebar.opened, withoutAnimation: this.sidebar.withoutAnimation, mobile: this.device === "mobile" };
|
|
105
106
|
} }, created() {
|
|
106
|
-
this.systemCode = window.$vueApp.config.globalProperties.customSystem;
|
|
107
|
+
this.systemCode = window.$vueApp.config.globalProperties.customSystem, this.systemCode;
|
|
107
108
|
}, methods: { handleClickOutside() {
|
|
108
109
|
this.$store.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
109
|
-
} } }, [["render", function(e, t, a, r,
|
|
110
|
-
const
|
|
111
|
-
return
|
|
110
|
+
} } }, [["render", function(e, t, a, r, n, s) {
|
|
111
|
+
const l = u("menubar"), o = u("breadcrumb"), i = u("tab-content");
|
|
112
|
+
return d(), p("div", { class: S([s.classObj, "app-wrapper"]) }, [s.device === "mobile" && s.sidebar.opened ? (d(), p("div", { key: 0, class: "drawer-bg", onClick: t[0] || (t[0] = (...c) => s.handleClickOutside && s.handleClickOutside(...c)) })) : y("", !0), v(l, { "system-code": n.systemCode, collapse: !0, class: "sidebar-container" }, null, 8, ["system-code"]), m("div", j, [n.showMenuRoute ? (d(), b(o, { key: 0 })) : y("", !0), v(i)])], 2);
|
|
112
113
|
}], ["__scopeId", "data-v-5c0a6bf6"]]);
|
|
113
114
|
export {
|
|
114
115
|
W as default
|
|
@@ -1,5 +1,5 @@
|
|
|
1
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-
|
|
2
|
+
import { _ as I } from "./index-d3663821.js";
|
|
3
3
|
const g = { style: { "padding-bottom": "10px" } }, k = { key: 0, class: "graphDiv" }, N = I({ name: "TacheSubprocessHistory", data: () => ({ type: "graph", workflowId: null }), created() {
|
|
4
4
|
const o = this.$route.query.workflowId;
|
|
5
5
|
o && (this.workflowId = parseInt(o));
|
package/package.json
CHANGED
|
@@ -262,7 +262,11 @@ export default {
|
|
|
262
262
|
initWatchValue = this.entity[attr]
|
|
263
263
|
}
|
|
264
264
|
this.$watch('entity.' + attr, function (newValue, oldValue) {
|
|
265
|
-
|
|
265
|
+
if (newValue) {
|
|
266
|
+
this.watchAttrValueChange(newValue)
|
|
267
|
+
} else {
|
|
268
|
+
this.watchAttrValueChange('')
|
|
269
|
+
}
|
|
266
270
|
// this.inputValue('')
|
|
267
271
|
const items = this.optionItems.filter((item) => item[this.valueAttribute] === newValue)
|
|
268
272
|
if (!items) {
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="label">
|
|
3
|
-
<div class="list-file" @
|
|
3
|
+
<div class="list-file" @dblclick="dblclickEvent">
|
|
4
4
|
<el-icon><el-icon-paperclip /></el-icon>
|
|
5
5
|
{{ label }}
|
|
6
|
-
<el-
|
|
6
|
+
<el-tooltip :content="$t('imatrixUIPublicModel.preview')">
|
|
7
|
+
<el-icon style="cursor: pointer; color: #409eff; padding-right: 5px" @click="previewMuti()"
|
|
8
|
+
><el-icon-view
|
|
9
|
+
/></el-icon>
|
|
10
|
+
</el-tooltip>
|
|
11
|
+
<el-tooltip :content="$t('imatrixUIPublicModel.download')">
|
|
12
|
+
<el-icon style="cursor: pointer; color: #409eff" @click="donwloadViewFile()">
|
|
13
|
+
<el-icon-download />
|
|
14
|
+
</el-icon>
|
|
15
|
+
</el-tooltip>
|
|
7
16
|
</div>
|
|
8
|
-
<el-image-viewer
|
|
17
|
+
<el-image-viewer
|
|
18
|
+
v-if="showPreviewSingleImage"
|
|
19
|
+
teleported
|
|
20
|
+
:url-list="[previewImageInfo.src]"
|
|
21
|
+
@close="showPreviewSingleImage = false"
|
|
22
|
+
/>
|
|
9
23
|
<el-dialog
|
|
10
24
|
layout-mobile="bottom"
|
|
11
25
|
:append-to-body="true"
|
|
@@ -26,7 +40,7 @@
|
|
|
26
40
|
<el-table-column prop="showName" show-overflow-tooltip />
|
|
27
41
|
<el-table-column width="80" align="center">
|
|
28
42
|
<template v-slot="scope">
|
|
29
|
-
<div style="margin: -10px 0
|
|
43
|
+
<div style="margin: -10px 0">
|
|
30
44
|
<el-tooltip :content="$t('imatrixUIPublicModel.preview')" class="item" effect="dark" placement="top">
|
|
31
45
|
<el-button type="text" @click="previewSingle(scope.row)">
|
|
32
46
|
<el-icon style="cursor: pointer"><el-icon-view /></el-icon>
|
|
@@ -95,36 +109,15 @@ export default {
|
|
|
95
109
|
showPreviewMulti: false,
|
|
96
110
|
previewImageInfo: {},
|
|
97
111
|
fileList: [],
|
|
98
|
-
downloadable: true
|
|
112
|
+
downloadable: true,
|
|
113
|
+
keyValueParam: {}
|
|
99
114
|
}
|
|
100
115
|
},
|
|
101
116
|
created() {
|
|
117
|
+
this.keyValueParam = this.analysisFileSetObj(this.fileSetObj, this.isSql)
|
|
102
118
|
if (this.fileSetObj && this.fileSetObj.downloadable !== undefined && this.fileSetObj.downloadable !== null) {
|
|
103
119
|
this.downloadable = this.fileSetObj.downloadable
|
|
104
120
|
}
|
|
105
|
-
// let fileList = []
|
|
106
|
-
// if (this.column.fileSet && this.column.fileSet !== '' && (this.column.componentType === 'annex' || this.column.componentType === 'multipartUpload')) {
|
|
107
|
-
// const fileSetObj = JSON.parse(this.column.fileSet)
|
|
108
|
-
// const keyValueParam = this.analysisFileSetObj(fileSetObj, this.isSql)
|
|
109
|
-
// if (fileSetObj && fileSetObj.multiple) {
|
|
110
|
-
// if (fileSetObj.childAnnexDataTableCode) {
|
|
111
|
-
// // const lowerStr = fileSetObj.childAnnexDataTableCode.toLowerCase()
|
|
112
|
-
// const fileArr = this.entity[this.column.prop]
|
|
113
|
-
// // 子表
|
|
114
|
-
// fileList = otherFilesToStandard(fileSetObj, keyValueParam, fileArr, null)
|
|
115
|
-
// } else {
|
|
116
|
-
// const filesStringData = {
|
|
117
|
-
// 'showName': getEntityFieldValue(this.entity, keyValueParam.showName),
|
|
118
|
-
// 'serverPath': getEntityFieldValue(this.entity, keyValueParam.serverPath)
|
|
119
|
-
// }
|
|
120
|
-
// fileList = otherFilesToStandard(fileSetObj, keyValueParam, null, filesStringData)
|
|
121
|
-
// }
|
|
122
|
-
// } else {
|
|
123
|
-
// const showName = getEntityFieldValue(this.entity, keyValueParam.showName)
|
|
124
|
-
// const serverPath = getEntityFieldValue(this.entity, keyValueParam.serverPath)
|
|
125
|
-
// fileList.push(packageFile(showName, serverPath))
|
|
126
|
-
// }
|
|
127
|
-
// }
|
|
128
121
|
},
|
|
129
122
|
methods: {
|
|
130
123
|
dblclickEvent() {
|
|
@@ -132,7 +125,6 @@ export default {
|
|
|
132
125
|
},
|
|
133
126
|
previewSingle(fileInfo) {
|
|
134
127
|
fileInfo = packageFile(fileInfo.showName, fileInfo.serverPath)
|
|
135
|
-
debugger
|
|
136
128
|
if (isImage(fileInfo.showName)) {
|
|
137
129
|
this.previewImageInfo = fileInfo
|
|
138
130
|
this.showPreviewSingleImage = true
|
|
@@ -140,29 +132,57 @@ export default {
|
|
|
140
132
|
this.previewDoc(fileInfo)
|
|
141
133
|
}
|
|
142
134
|
},
|
|
143
|
-
|
|
144
|
-
const
|
|
135
|
+
donwloadViewFile() {
|
|
136
|
+
const { showName, serverPath } = this.getShowNameAndUuidKey()
|
|
137
|
+
if (serverPath) {
|
|
138
|
+
const uuids = serverPath.split(',')
|
|
139
|
+
if (uuids.length > 1) {
|
|
140
|
+
this.previewMuti()
|
|
141
|
+
} else {
|
|
142
|
+
// 单个文件
|
|
143
|
+
this.download(showName, serverPath)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
getShowNameAndUuidKey() {
|
|
148
|
+
let showName = null
|
|
145
149
|
let serverPath = null
|
|
146
150
|
if (this.fileInfo.showName && this.fileInfo.serverPath) {
|
|
147
151
|
serverPath = this.fileInfo.serverPath
|
|
152
|
+
showName = this.fileInfo.showName
|
|
148
153
|
} else if (this.entity) {
|
|
149
|
-
serverPath = getEntityFieldValue(this.entity, keyValueParam.serverPath)
|
|
154
|
+
serverPath = getEntityFieldValue(this.entity, this.keyValueParam.serverPath)
|
|
155
|
+
showName = getEntityFieldValue(this.entity, this.keyValueParam.showName)
|
|
150
156
|
}
|
|
157
|
+
return {
|
|
158
|
+
showName: showName,
|
|
159
|
+
serverPath: serverPath
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
previewMuti() {
|
|
163
|
+
const { showName, serverPath } = this.getShowNameAndUuidKey()
|
|
151
164
|
if (serverPath) {
|
|
152
165
|
const uuids = serverPath.split(',')
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.
|
|
161
|
-
|
|
162
|
-
|
|
166
|
+
if (uuids.length > 1) {
|
|
167
|
+
const baseURL = window.$vueApp.config.globalProperties.baseURL
|
|
168
|
+
const baseAPI = window.$vueApp.config.globalProperties.baseAPI
|
|
169
|
+
let tempAction = baseURL + '/common/fs-upload/search-file-names'
|
|
170
|
+
if (isPlateSys(window.$vueApp.config.globalProperties.systemCode)) {
|
|
171
|
+
tempAction = baseAPI + '/api/search-file-names'
|
|
172
|
+
}
|
|
173
|
+
this.$http.post(tempAction, uuids).then((result) => {
|
|
174
|
+
this.fileList = []
|
|
175
|
+
uuids.forEach((uuid) => {
|
|
176
|
+
this.fileList.push({ showName: result[uuid], serverPath: uuid })
|
|
177
|
+
})
|
|
178
|
+
this.showPreviewMulti = true
|
|
163
179
|
})
|
|
164
|
-
|
|
165
|
-
|
|
180
|
+
} else {
|
|
181
|
+
this.previewSingle({
|
|
182
|
+
showName: showName,
|
|
183
|
+
serverPath: serverPath
|
|
184
|
+
})
|
|
185
|
+
}
|
|
166
186
|
}
|
|
167
187
|
|
|
168
188
|
// var that = this
|
|
@@ -214,19 +234,22 @@ export default {
|
|
|
214
234
|
}
|
|
215
235
|
},
|
|
216
236
|
donwloadFile(index, fileList) {
|
|
217
|
-
const token = getToken()
|
|
218
237
|
const showName = this.formatFileName(this.fileList[index].showName)
|
|
219
238
|
if (!this.fileList[index].src) {
|
|
220
|
-
|
|
221
|
-
if (isPlateSys(window.$vueApp.config.globalProperties.systemCode)) {
|
|
222
|
-
url = window.$vueApp.config.globalProperties.baseAPI + '/component/super-form/downloads?jwt=' + token
|
|
223
|
-
}
|
|
224
|
-
const src = url + '&showName=' + encodeURI(showName) + '&serverPath=' + this.fileList[index].serverPath
|
|
225
|
-
window.open(src)
|
|
239
|
+
this.download(showName, this.fileList[index].serverPath)
|
|
226
240
|
} else {
|
|
227
241
|
window.open(this.fileList[index].src)
|
|
228
242
|
}
|
|
229
243
|
},
|
|
244
|
+
download(showName, serverPath) {
|
|
245
|
+
const token = getToken()
|
|
246
|
+
let url = window.$vueApp.config.globalProperties.baseURL + '/common/super-form/downloads?jwt=' + token
|
|
247
|
+
if (isPlateSys(window.$vueApp.config.globalProperties.systemCode)) {
|
|
248
|
+
url = window.$vueApp.config.globalProperties.baseAPI + '/component/super-form/downloads?jwt=' + token
|
|
249
|
+
}
|
|
250
|
+
const src = url + '&showName=' + encodeURI(showName) + '&serverPath=' + serverPath
|
|
251
|
+
window.open(src)
|
|
252
|
+
},
|
|
230
253
|
analysisFileSetObj(fileSetObj, isSql) {
|
|
231
254
|
let showName = ''
|
|
232
255
|
let serverPath = ''
|
|
@@ -267,5 +290,4 @@ export default {
|
|
|
267
290
|
}
|
|
268
291
|
</script>
|
|
269
292
|
|
|
270
|
-
<style lang="scss" scoped>
|
|
271
|
-
</style>
|
|
293
|
+
<style lang="scss" scoped></style>
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/** @jsxImportSource vue */
|
|
2
|
-
import { defineComponent, ref, computed, watch, defineEmits } from 'vue';
|
|
2
|
+
import { defineComponent, ref, computed, watch, defineEmits, onUnmounted } 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
5
|
import CardView from '../../../../src/components/Card';
|
|
6
6
|
import Scrollbar from '../../../../src/components/Scrollbar';
|
|
7
7
|
import store from '../store';
|
|
8
8
|
import { apisMixin } from '../apis'
|
|
9
|
+
import eventBus from '../eventBus'
|
|
9
10
|
|
|
10
11
|
import { ArrowLeft, Bottom, CirclePlus, Loading, Tickets } from '@element-plus/icons-vue';
|
|
11
12
|
// import { $emit, $off, $on } from '@/utils/gogocodeTransfer'
|
|
@@ -84,6 +85,9 @@ export default defineComponent({
|
|
|
84
85
|
// 子表打开历史数据
|
|
85
86
|
const childrenBreadcrumbData = ref([]);
|
|
86
87
|
|
|
88
|
+
// 是否自定义 开启 Add
|
|
89
|
+
const customizeAddColumnBtn = ref(undefined)
|
|
90
|
+
|
|
87
91
|
const setPaginationList = (data) => {
|
|
88
92
|
if (props.isStackingPaginatedData) {
|
|
89
93
|
paginationList.value[(props.currentPage ?? 1) - 1] = data
|
|
@@ -101,9 +105,11 @@ export default defineComponent({
|
|
|
101
105
|
const isFormSubTable = gridParams?.options?.isFormSubTable ?? false
|
|
102
106
|
const subTableCanAdd = gridParams?.options?.subTableCanAdd ?? false
|
|
103
107
|
const isOperation = componentDatas.value?.some(({ prop }) => ['operation'].includes(prop))
|
|
104
|
-
return showOperationButton && isFormSubTable && subTableCanAdd && isOperation
|
|
108
|
+
return customizeAddColumnBtn ?? (showOperationButton && isFormSubTable && subTableCanAdd && isOperation)
|
|
105
109
|
})
|
|
106
110
|
|
|
111
|
+
eventBus.$on('change-add-state',(is)=> customizeAddColumnBtn.value = is)
|
|
112
|
+
|
|
107
113
|
// 列表数据
|
|
108
114
|
const dataList = computed(() => {
|
|
109
115
|
if (props.isStackingPaginatedData) {
|
|
@@ -327,6 +333,10 @@ export default defineComponent({
|
|
|
327
333
|
}
|
|
328
334
|
}
|
|
329
335
|
|
|
336
|
+
onUnmounted(() => {
|
|
337
|
+
eventBus.$off('change-add-state')
|
|
338
|
+
})
|
|
339
|
+
|
|
330
340
|
const getAddBtn = (Fun) => addColumnBtn.value && <ElButton type="primary" plain icon={<CirclePlus />} onClick={() => Fun?.(attrs.listCode)}>Add</ElButton>
|
|
331
341
|
|
|
332
342
|
return {
|
|
@@ -306,21 +306,24 @@ const customFormatter = {
|
|
|
306
306
|
).then((openPageParams) => {
|
|
307
307
|
console.log('doClickHyperLink----openPageParams2222----', openPageParams)
|
|
308
308
|
if (openPageParams) {
|
|
309
|
+
let openPageParamsResult = {}
|
|
309
310
|
// 点击列表组件中某元素弹出的页面
|
|
310
311
|
if (jumpPageSetting && typeof jumpPageSetting === 'string' && jumpPageSetting !== '') {
|
|
311
312
|
jumpPageSetting = JSON.parse(jumpPageSetting)
|
|
312
313
|
}
|
|
313
|
-
Object.assign(
|
|
314
|
+
Object.assign(openPageParamsResult, jumpPageSetting)
|
|
315
|
+
// 解析结果中的值的优先级高于 跳转配置中的值
|
|
316
|
+
Object.assign(openPageParamsResult, openPageParams)
|
|
314
317
|
// console.log('clickHyperLink--openPageParams22===', openPageParams, '----jumpPageSetting===', jumpPageSetting)
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
+
openPageParamsResult._position = 'list'
|
|
319
|
+
openPageParamsResult._listCode = listCode
|
|
320
|
+
openPageParamsResult._rowIndex = rowIndex
|
|
318
321
|
// 行编辑的记录
|
|
319
|
-
|
|
322
|
+
openPageParamsResult.row = row
|
|
320
323
|
// 列点击时列属性名
|
|
321
|
-
|
|
324
|
+
openPageParamsResult._columnProp = column.prop
|
|
322
325
|
// 通知父页面弹出页面
|
|
323
|
-
this.$emit('open-page',
|
|
326
|
+
this.$emit('open-page', openPageParamsResult)
|
|
324
327
|
}
|
|
325
328
|
})
|
|
326
329
|
},
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
@input="cellEvent('input', $event)"
|
|
94
94
|
/>
|
|
95
95
|
<el-time-picker
|
|
96
|
-
v-else-if="type === 'timePicker'"
|
|
96
|
+
v-else-if="type === 'timePicker' || (type === 'input' && column.dataType === 'TIME')"
|
|
97
97
|
ref="item"
|
|
98
98
|
v-model="innerValue"
|
|
99
99
|
:disabled="disabled"
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
/>
|
|
109
109
|
<!--必须有@input ,否则无法输入值-->
|
|
110
110
|
<el-date-picker
|
|
111
|
-
v-else-if="type === 'time'
|
|
111
|
+
v-else-if="type === 'time'"
|
|
112
112
|
ref="item"
|
|
113
113
|
v-model="innerValue"
|
|
114
114
|
:disabled="disabled"
|
|
@@ -132,6 +132,7 @@
|
|
|
132
132
|
:disabled="disabled"
|
|
133
133
|
:placeholder="$t('imatrixUIMessage.pleaseEnterContent')"
|
|
134
134
|
:title="innerValue"
|
|
135
|
+
:type="column.dataType === 'INTEGER' || column.dataType === 'LONG' ? 'number' : 'text'"
|
|
135
136
|
clearable
|
|
136
137
|
@blur="cellEvent('blur', $event)"
|
|
137
138
|
@change="cellEvent('change', $event)"
|
|
@@ -926,14 +927,14 @@ export default {
|
|
|
926
927
|
let selectTittle = ''
|
|
927
928
|
if (typeof val === 'string') {
|
|
928
929
|
// 单选
|
|
929
|
-
this.options
|
|
930
|
+
this.options?.forEach((item) => {
|
|
930
931
|
if (item.value === val) {
|
|
931
932
|
selectTittle = item.label
|
|
932
933
|
}
|
|
933
934
|
})
|
|
934
935
|
} else {
|
|
935
936
|
// 多选
|
|
936
|
-
this.options
|
|
937
|
+
this.options?.forEach((item) => {
|
|
937
938
|
val.forEach((Vtem) => {
|
|
938
939
|
if (item.value === Vtem) {
|
|
939
940
|
selectTittle = selectTittle + item.label + ','
|
|
@@ -1743,7 +1744,7 @@ export default {
|
|
|
1743
1744
|
if (!this.innerValue || this.innerValue.indexOf(saveAll) >= 0) {
|
|
1744
1745
|
this.innerValue = []
|
|
1745
1746
|
}
|
|
1746
|
-
this.options
|
|
1747
|
+
this.options?.forEach((item) => {
|
|
1747
1748
|
if (this.innerValue.indexOf(item.value) === -1) {
|
|
1748
1749
|
this.innerValue.push(item.value)
|
|
1749
1750
|
}
|
|
@@ -1832,8 +1833,8 @@ export default {
|
|
|
1832
1833
|
},
|
|
1833
1834
|
// 时间格式判断是否是字符串类型,显示格式
|
|
1834
1835
|
isFormat() {
|
|
1835
|
-
if (this.type === 'time'
|
|
1836
|
-
return '
|
|
1836
|
+
if (this.type === 'time' || this.column.dataType === 'TIME') {
|
|
1837
|
+
return 'HH:mm:ss'
|
|
1837
1838
|
} else if (this.type === 'dateTimePicker') {
|
|
1838
1839
|
return 'YYYY-MM-DD HH:mm:ss'
|
|
1839
1840
|
} else if (this.type === 'date' && this.column.dataType === 'DATE') {
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-table-column
|
|
3
|
-
align="center"
|
|
3
|
+
header-align="center"
|
|
4
|
+
show-overflow-tooltip
|
|
5
|
+
:align="align"
|
|
4
6
|
:fixed="fixed"
|
|
5
|
-
:width="
|
|
7
|
+
:width="width"
|
|
8
|
+
:min-width="minWidth"
|
|
6
9
|
>
|
|
7
10
|
<template v-slot:header>
|
|
8
11
|
<span class="cell--span">{{ $t('superGrid.index') }}</span>
|
|
9
12
|
</template>
|
|
10
13
|
<template v-slot="scope">
|
|
11
|
-
|
|
12
|
-
{{ scope.$index + startIndex }}
|
|
13
|
-
</span>
|
|
14
|
+
{{ scope.$index + startIndex }}
|
|
14
15
|
</template>
|
|
15
16
|
</el-table-column>
|
|
16
17
|
</template>
|
|
@@ -43,19 +44,27 @@ export default {
|
|
|
43
44
|
type: Object,
|
|
44
45
|
default: null,
|
|
45
46
|
},
|
|
47
|
+
isDataChildren: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: false,
|
|
50
|
+
}
|
|
46
51
|
},
|
|
47
52
|
computed: {
|
|
53
|
+
align() {
|
|
54
|
+
if (this.isDataChildren) return 'left'
|
|
55
|
+
return 'center'
|
|
56
|
+
},
|
|
57
|
+
width() {
|
|
58
|
+
if (this.isDataChildren) return undefined
|
|
59
|
+
return 70
|
|
60
|
+
},
|
|
61
|
+
minWidth() {
|
|
62
|
+
if (this.isDataChildren) return 100
|
|
63
|
+
return undefined
|
|
64
|
+
},
|
|
48
65
|
fixed() {
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
(this.column.fixed === 'false' || this.column.fixed === '')
|
|
52
|
-
) {
|
|
53
|
-
return false
|
|
54
|
-
}
|
|
55
|
-
// 序号只支持左固定
|
|
56
|
-
if (this.column.fixed && this.column.fixed === 'right') {
|
|
57
|
-
return 'left'
|
|
58
|
-
}
|
|
66
|
+
if (!this.column.fixed) return false
|
|
67
|
+
if (['null', 'false', 'undefined'].includes(this.column.fixed)) return false
|
|
59
68
|
return this.column.fixed
|
|
60
69
|
},
|
|
61
70
|
startIndex() {
|
|
@@ -35,15 +35,16 @@
|
|
|
35
35
|
@open-page="openPageEvent"
|
|
36
36
|
/>
|
|
37
37
|
<div v-else class="column-text-main">
|
|
38
|
-
<div v-if="lineEdit.editable && isEditable && !isHideEdit && !isContentViewText" class="column-text-edit-main" @click="onEditing">
|
|
38
|
+
<div v-if="lineEdit.editable && (options?.configureObj?.props?.base?.columnEditable ?? true) && isEditable && !isHideEdit && !isContentViewText" class="column-text-edit-main" @click="onEditing">
|
|
39
39
|
<el-icon :size="14" color="#409eff"><Edit /></el-icon>
|
|
40
|
-
<span v-if="[undefined, null, ''].includes(row[column.prop])" table-column-placeholder
|
|
40
|
+
<span v-if="[undefined, null, ''].includes(row[column.prop])" table-column-placeholder>{{ $t('superGrid.editablePlaceholder') }}</span>
|
|
41
41
|
</div>
|
|
42
42
|
<span v-if="column.operations" class="grid-operation-buttons">
|
|
43
43
|
<span
|
|
44
44
|
v-for="(operation, operationIndex) in column.operations"
|
|
45
45
|
:key="operationIndex"
|
|
46
46
|
:class="isShowForm ? '' : 'cell--span'"
|
|
47
|
+
class="buttons-row-content-span"
|
|
47
48
|
>
|
|
48
49
|
<el-dropdown
|
|
49
50
|
v-if="operation.isGroup"
|
|
@@ -100,6 +101,7 @@
|
|
|
100
101
|
:row-index="rowIndex"
|
|
101
102
|
:list-code="listCode"
|
|
102
103
|
:parent-form-data="parentFormData"
|
|
104
|
+
is-table-btn-link
|
|
103
105
|
/>
|
|
104
106
|
</span>
|
|
105
107
|
</span>
|
|
@@ -358,6 +360,7 @@ import { $emit, $off, $on } from '../../utils/gogocodeTransfer'
|
|
|
358
360
|
import {
|
|
359
361
|
ArrowKeyAction,
|
|
360
362
|
getColumnValues,
|
|
363
|
+
isDisableEdit,
|
|
361
364
|
getFileList,
|
|
362
365
|
isDynamicDataSourceSource,
|
|
363
366
|
isHasEditOption,
|
|
@@ -617,6 +620,7 @@ export default {
|
|
|
617
620
|
if (gridParams && gridParams.options && gridParams.options.isFormSubTable) {
|
|
618
621
|
this.isFormSubTable = gridParams.options.isFormSubTable
|
|
619
622
|
}
|
|
623
|
+
this.disabled = isDisableEdit(this.column.prop, this.listCode, this.row)
|
|
620
624
|
if (
|
|
621
625
|
gridParams &&
|
|
622
626
|
gridParams.options &&
|
|
@@ -671,6 +675,10 @@ export default {
|
|
|
671
675
|
this.requiredClass = this.isRequired(this.row.$editing) ? 'm-requried' : ''
|
|
672
676
|
},
|
|
673
677
|
mounted() {
|
|
678
|
+
// 监听取消自定义编辑事件
|
|
679
|
+
eventBus.$on('clearTableAllStartEditing', () => {
|
|
680
|
+
this.clearAllEditing()
|
|
681
|
+
})
|
|
674
682
|
// 监听保存时点击按钮事件线触发
|
|
675
683
|
$on(eventBus, 'un-edit', (param) => {
|
|
676
684
|
// 处理多选选项组问题保存问题
|
|
@@ -759,6 +767,7 @@ export default {
|
|
|
759
767
|
if (this.$parent.$parent && this.$parent.$parent.$options._componentTag === 'GroupColumn') {
|
|
760
768
|
eventBus.$off('prohibitToEdit')
|
|
761
769
|
}
|
|
770
|
+
eventBus.$off('clearTableAllStartEditing')
|
|
762
771
|
},
|
|
763
772
|
methods: {
|
|
764
773
|
...customFormatter,
|
|
@@ -1137,6 +1146,7 @@ export default {
|
|
|
1137
1146
|
return 'primary'
|
|
1138
1147
|
},
|
|
1139
1148
|
changeDisabled(state) {
|
|
1149
|
+
debugger
|
|
1140
1150
|
this.disabled = state
|
|
1141
1151
|
},
|
|
1142
1152
|
refreshList() {
|
|
@@ -1199,6 +1209,13 @@ export default {
|
|
|
1199
1209
|
align-items: center;
|
|
1200
1210
|
gap: 10px;
|
|
1201
1211
|
|
|
1212
|
+
[table-column-placeholder] {
|
|
1213
|
+
display: block;
|
|
1214
|
+
white-space: nowrap;
|
|
1215
|
+
overflow: hidden;
|
|
1216
|
+
text-overflow: ellipsis;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1202
1219
|
&::after {
|
|
1203
1220
|
content: ' ';
|
|
1204
1221
|
position: absolute;
|