agilebuilder-ui 1.1.29-dingtalkphoto2 → 1.1.30-sit1
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-0311919c.js → 401-4b9f051d.js} +1 -1
- package/lib/{404-d3325636.js → 404-402fd5f3.js} +1 -1
- package/lib/{iframe-page-9bc89f23.js → iframe-page-018ff792.js} +1 -1
- package/lib/{index-3a58d4bf.js → index-c0c9807f.js} +19187 -19200
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +1 -1
- package/lib/super-ui.umd.cjs +94 -91
- package/lib/{tab-content-iframe-index-b9af19c7.js → tab-content-iframe-index-bccda4d3.js} +1 -1
- package/lib/{tab-content-index-c4821c60.js → tab-content-index-fc423676.js} +25 -24
- package/lib/{tache-subprocess-history-35f638e5.js → tache-subprocess-history-30f0a85b.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/fs-upload-list/src/fs-upload-list.vue +12 -10
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-app.vue +17 -9
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +6 -3
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload.vue +1 -1
- package/packages/multipart-upload/src/multipart-upload-form.vue +12 -7
- 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 +12 -11
- 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 +28 -8
- 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 +293 -294
- package/src/i18n/langs/en.js +292 -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 +16 -4
- package/src/styles/index.scss +17 -16
- package/src/styles/theme/black/index.scss +6 -0
- 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 +1 -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 +1 -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 +1 -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-c0c9807f.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-c0c9807f.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-c0c9807f.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>
|
|
@@ -10,16 +10,18 @@
|
|
|
10
10
|
:readonly="true"
|
|
11
11
|
>
|
|
12
12
|
<template v-slot:append>
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
<div class="group-link-btn-main">
|
|
14
|
+
<el-link v-if="!disabled" type="info" :underline="false" @click="openAnnexUpload">
|
|
15
|
+
<template v-slot:icon>
|
|
16
|
+
<el-icon :size="14"><Upload /></el-icon>
|
|
17
|
+
</template>
|
|
18
|
+
</el-link>
|
|
19
|
+
<el-link size="default" type="info" :underline="false" @click="preview">
|
|
20
|
+
<template v-slot:icon>
|
|
21
|
+
<el-icon :size="14"><ZoomIn /></el-icon>
|
|
22
|
+
</template>
|
|
23
|
+
</el-link>
|
|
24
|
+
</div>
|
|
23
25
|
</template>
|
|
24
26
|
</el-input>
|
|
25
27
|
|
|
@@ -153,13 +153,21 @@ const baseURLVal = ref(baseURL)
|
|
|
153
153
|
const baseAPI = window.$vueApp.config.globalProperties.baseAPI
|
|
154
154
|
const fileUploadRef = ref(null)
|
|
155
155
|
const emits = defineEmits(['remove', 'uploadend'])
|
|
156
|
-
|
|
156
|
+
const sourceType = ref(['album', 'camera'])
|
|
157
|
+
if (props.openCameraOrChoosePhoto) {
|
|
158
|
+
if (props.openCameraOrChoosePhoto === 'openCamera') {
|
|
159
|
+
sourceType.value = ['camera']
|
|
160
|
+
} else if (props.openCameraOrChoosePhoto === 'openChoosePhoto') {
|
|
161
|
+
sourceType.value = ['album']
|
|
162
|
+
}
|
|
163
|
+
}
|
|
157
164
|
// 表示点击了选择文件按钮
|
|
158
165
|
function pickBrowserFiles() {
|
|
159
166
|
// alert('pickBrowserFiles')
|
|
160
167
|
console.log('---点击了选择文件按钮---')
|
|
161
168
|
let message = {
|
|
162
169
|
type: 'pickFiles',
|
|
170
|
+
sourceType: sourceType.value,
|
|
163
171
|
multiple: props.multiple,
|
|
164
172
|
componentId: props.componentId,
|
|
165
173
|
componentName: props.componentName,
|
|
@@ -172,15 +180,15 @@ function pickBrowserFiles() {
|
|
|
172
180
|
// message.myCustom = 'window.parent.parent.parent'
|
|
173
181
|
// // 加上uniapp中的iframe,一共是4层iframe嵌套时.最多支持4层iframe嵌套。
|
|
174
182
|
// window.parent.parent.parent.postMessage(JSON.stringify(message), '*')
|
|
175
|
-
// } else
|
|
176
|
-
if(window.parent && window.parent.parent) {
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
// } else
|
|
184
|
+
if (window.parent && window.parent.parent) {
|
|
185
|
+
console.log('---点击了选择文件按钮222---')
|
|
186
|
+
message.myCustom = 'window.parent.parent'
|
|
179
187
|
// 加上uniapp中的iframe,一共是3层iframe嵌套时
|
|
180
188
|
window.parent.parent.postMessage(JSON.stringify(message), '*')
|
|
181
189
|
} else {
|
|
182
|
-
|
|
183
|
-
|
|
190
|
+
console.log('---点击了选择文件按钮444---')
|
|
191
|
+
message.myCustom = 'window.parent'
|
|
184
192
|
window.parent.postMessage(JSON.stringify(message), '*')
|
|
185
193
|
}
|
|
186
194
|
}
|
|
@@ -243,7 +251,7 @@ function uploadFileSuccess(files) {
|
|
|
243
251
|
}
|
|
244
252
|
}
|
|
245
253
|
console.log('uploadFileSuccess111111----fileListResult.value=', JSON.stringify(fileListResult.value))
|
|
246
|
-
|
|
254
|
+
|
|
247
255
|
fileUploadRef.value.changeFileList(fileListResult.value)
|
|
248
256
|
// this.isUploading = false
|
|
249
257
|
emits('uploadend', fileListResult.value)
|
|
@@ -256,7 +264,7 @@ function removeFile(param) {
|
|
|
256
264
|
emits('remove', { rmFiles: [file], serverFiles: fileListResult.value, index: param.index })
|
|
257
265
|
}
|
|
258
266
|
}
|
|
259
|
-
defineExpose({pickFileDone,uploadFileDone})
|
|
267
|
+
defineExpose({ pickFileDone, uploadFileDone })
|
|
260
268
|
</script>
|
|
261
269
|
|
|
262
270
|
<style lang="scss" scoped></style>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<input
|
|
22
22
|
ref="fileRef"
|
|
23
23
|
type="file"
|
|
24
|
-
:multiple="
|
|
24
|
+
:multiple="multipleUpload"
|
|
25
25
|
name="file"
|
|
26
26
|
:accept="myAccept"
|
|
27
27
|
style="display: none"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<input
|
|
35
35
|
ref="fileRef"
|
|
36
36
|
type="file"
|
|
37
|
-
:multiple="
|
|
37
|
+
:multiple="multipleUpload"
|
|
38
38
|
capture="environment"
|
|
39
39
|
name="file"
|
|
40
40
|
:accept="myAccept"
|
|
@@ -181,7 +181,10 @@ const props = defineProps({
|
|
|
181
181
|
default: () => {}
|
|
182
182
|
}
|
|
183
183
|
})
|
|
184
|
-
|
|
184
|
+
const multipleUpload = ref<string | null>(null)
|
|
185
|
+
if (props.multiple) {
|
|
186
|
+
multipleUpload.value = 'multiple'
|
|
187
|
+
}
|
|
185
188
|
const isDingTalk = ref(false)
|
|
186
189
|
const authSource = window.localStorage.getItem('auth_source')
|
|
187
190
|
if (authSource && authSource === 'dingtalk') {
|
|
@@ -9,13 +9,18 @@
|
|
|
9
9
|
:readonly="true"
|
|
10
10
|
>
|
|
11
11
|
<template v-slot:append>
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
:icon
|
|
15
|
-
size="
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
<div class="group-link-btn-main">
|
|
13
|
+
<el-link v-if="!disabled" type="info" :underline="false" @click="openAnnexUpload">
|
|
14
|
+
<template v-slot:icon>
|
|
15
|
+
<el-icon :size="14"><ElIconUpload2 /></el-icon>
|
|
16
|
+
</template>
|
|
17
|
+
</el-link>
|
|
18
|
+
<el-link size="default" type="info" :underline="false" @click="preview">
|
|
19
|
+
<template v-slot:icon>
|
|
20
|
+
<el-icon :size="14"><ElIconZoomIn /></el-icon>
|
|
21
|
+
</template>
|
|
22
|
+
</el-link>
|
|
23
|
+
</div>
|
|
19
24
|
</template>
|
|
20
25
|
</el-input>
|
|
21
26
|
|
|
@@ -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
|
},
|