@javaguns/flow-ui
Version:
``` <template> <a-spin :spinning="loading"> <FlowDesigner ref="flowDesigner" top="50px"> </FlowDesigner> </a-spin> </template> <script lang="ts" setup> import { ref, provide, onMounted } from 'vue'; import { FlowDesigner, LoadingKey } from '@j
345 lines (344 loc) • 13.4 kB
JavaScript
import { defineComponent as R, ref as b, getCurrentInstance as X, reactive as D, openBlock as f, createBlock as y, unref as r, withCtx as o, createElementVNode as i, createVNode as n, createTextVNode as _, createElementBlock as M, Fragment as Y, renderList as Z, normalizeClass as ee, toDisplayString as q, createCommentVNode as h } from "vue";
import { pluginManager as u } from "@javaguns/utils";
import { GunsSpace as le } from "@javaguns/ui";
import te from "../../../hooks/useDrawer.mjs";
import ae from "../../../hooks/useForm.mjs";
import { editJob as oe, saveJob as ne } from "../../../utils/jobApi.mjs";
import g from "../../common/flowDrawerContent.vue.mjs";
import se from "../../common/flowSelect.vue.mjs";
import re from "../../common/flowNoticeSelect.vue.mjs";
import { FlowSelection as O } from "../../../flow-selection/index.mjs";
const de = ["onClick"], ue = ["src"], ie = {
key: 0,
class: "action-type-modeal-item-wrap-active-img",
src: "https://foruda.gitee.com/images/1675700393520586389/bb92d805_9837676.png"
}, me = /* @__PURE__ */ i("span", { style: { "padding-right": "8px", "font-size": "14px", color: "rgb(25, 31, 37)" } }, "流程到达该审批节点超过", -1), fe = { style: { "font-size": "14px", color: "rgb(25, 31, 37)" } }, pe = { class: "dialog-footer" }, ce = R({ name: "flow-approver-timeLimitJob" }), Ve = /* @__PURE__ */ R({
...ce,
emits: ["ok"],
setup(ve, { expose: T, emit: G }) {
const F = u.getComponent("Row"), J = u.getComponent("Col"), B = u.getComponent("Form"), m = u.getComponent("FormItem"), L = u.getComponent("InputNumber"), $ = u.getComponent("Checkbox"), C = u.getComponent("Button"), z = u.getComponent("Dialog"), p = b(!1), V = b(!1), d = b(!1), j = b(), { appContext: S } = X(), { jobItems: E } = te(), { formValid: A } = ae(S), t = b({}), a = D(E), c = D({
jobDuration: [
{
required: !0,
message: "超时时长不为空"
}
],
lengthUnit: [
{
required: !0,
message: "时长单位不为空"
}
],
warnType: [
{
required: !0,
message: "提醒方式不能为空"
}
]
}), H = [
{ label: "天(24小时)", value: 1 },
{ label: "小时", value: 2 },
{ label: "分", value: 3 }
], U = () => {
d.value = !1;
}, K = (s) => {
for (let l = 0; l < a.length; l++)
a[l].check = !1;
s.check = !0, t.value.jobMode = s.index, t.value.jobMode == 2 ? c.transferUserIds = [
{
required: !0,
message: "转交人不能为空"
}
] : delete c.transferUserIds, t.value.jobMode == 1 ? c.noticeUserIds = [
{
required: !0,
message: "提醒人不能为空 "
}
] : delete c.noticeUserIds;
}, P = (s) => {
p.value = !1, d.value = !0, t.value = {
modelId: s.modelId,
definitionId: s.definitionId,
nodeId: s.nodeId,
/**
* 处理方式:
* 1-自动提醒(默认),
* 2-自动转交,
* 3-自动同意,
* 4-自动拒绝
*/
jobMode: 1,
jobDuration: 3,
lengthUnit: 1,
addOpinion: !0,
noticeUserIds: [],
noticeUserNames: [],
transferUserIds: [],
transferUserNames: [],
warnType: 1
}, c.noticeUserIds = [
{
required: !0,
message: "提醒人不能为空 "
}
], w(null, s.jobs);
}, Q = (s, l) => {
p.value = !1, d.value = !0;
const e = { ...s };
e.addOpinion == 1 ? e.addOpinion = !0 : e.addOpinion = !1, t.value = e, V.value = !0, w(e, l);
}, w = (s, l) => {
for (var e = 0; e < a.length; e++)
a[e].disabled = !1, a[e].check = !1, !s && a[e].index == 1 && (a[e].check = !0);
let k = l.filter((I) => I.jobMode == 3 || I.jobMode == 4), v = l.filter((I) => I.jobMode == 2), x = !1;
if (k && k.length > 0)
for (var e = 0; e < a.length; e++)
a[e].index == 3 || a[e].index == 4 || a[e].index == 2 && v && v.length > 0 ? a[e].disabled = !0 : a[e].disabled = !1, s && s.jobMode == a[e].index ? (a[e].check = !0, x = !0) : a[e].check = !1;
else if (v && v.length > 0)
for (var e = 0; e < a.length; e++)
a[e].index == 2 ? a[e].disabled = !0 : a[e].disabled = !1, s && s.jobMode == a[e].index ? (a[e].check = !0, x = !0) : a[e].check = !1;
x || (a[0].check = !0);
}, W = G, N = async () => {
if (!await A(j))
return !1;
p.value = !0;
let l = null;
V.value ? l = oe(t.value) : l = ne(t.value), l.then((e) => {
p.value = !1, d.value = !1, W("ok");
}).catch(() => {
p.value = !1;
});
};
return T({
addLimitJob: P,
editLimitJob: Q,
close: U
}), (s, l) => d.value ? (f(), y(r(z), {
key: 0,
modelValue: d.value,
"onUpdate:modelValue": l[11] || (l[11] = (e) => d.value = e),
visible: d.value,
open: d.value,
width: 650,
title: "处理方式",
"body-style": { paddingBottom: "8px" },
"onUpdate:visible": U,
onClose: U,
maskClosable: !0,
onOk: N
}, {
footer: o(() => [
i("div", pe, [
n(r(C), { onClick: U }, {
default: o(() => [
_("取消")
]),
_: 1
}),
n(r(C), {
type: "primary",
onClick: N
}, {
default: o(() => [
_(" 确定 ")
]),
_: 1
})
])
]),
default: o(() => [
i("div", null, [
n(r(F), { gutter: 16 }, {
default: o(() => [
(f(!0), M(Y, null, Z(a, (e, k) => (f(), y(r(J), {
span: 6,
key: k
}, {
default: o(() => [
i("div", {
class: ee(["action-type-modeal-item", { "action-type-modeal-item-check": e.check, "action-type-modeal-item-disabled": e.disabled }]),
onClick: (v) => !e.disabled && K(e)
}, [
i("img", {
src: e.disabled ? e.disabledImg : e.activateImg,
alt: ""
}, null, 8, ue),
i("span", null, q(e.name), 1),
e.check ? (f(), M("img", ie)) : h("", !0)
], 10, de)
]),
_: 2
}, 1024))), 128))
]),
_: 1
}),
n(r(B), {
ref_key: "formRef",
ref: j,
model: t.value
}, {
default: o(() => [
n(g, { name: "时间设置" }, {
default: o(() => [
n(r(le), { class: "time-rule-content" }, {
default: o(() => [
n(r(m), {
name: "jobDuration",
prop: "jobDuration",
field: "jobDuration",
rules: [{ required: !0, message: "不能为空" }]
}, {
default: o(() => [
me,
n(r(L), {
modelValue: t.value.jobDuration,
"onUpdate:modelValue": l[0] || (l[0] = (e) => t.value.jobDuration = e),
value: t.value.jobDuration,
"onUpdate:value": l[1] || (l[1] = (e) => t.value.jobDuration = e),
min: 1,
max: 10,
style: { width: "128px" }
}, null, 8, ["modelValue", "value"])
]),
_: 1
}),
n(r(m), {
name: "lengthUnit",
prop: "lengthUnit",
field: "lengthUnit",
rules: [{ required: !0, message: "不能为空" }]
}, {
default: o(() => [
n(se, {
modelValue: t.value.lengthUnit,
"onUpdate:modelValue": l[2] || (l[2] = (e) => t.value.lengthUnit = e),
label: t.value.lengthUnitName,
"onUpdate:label": l[3] || (l[3] = (e) => t.value.lengthUnitName = e),
valueName: "value",
labelName: "label",
mode: "simple",
datas: H,
style: { width: "120px" }
}, null, 8, ["modelValue", "label"])
]),
_: 1
}),
n(r(m), null, {
default: o(() => [
i("span", fe, "未处理时" + q(t.value.name), 1)
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}),
t.value.jobMode == 2 ? (f(), y(g, {
key: 0,
name: "转交给谁"
}, {
default: o(() => [
n(r(m), {
name: "transferUserIds",
prop: "transferUserIds",
field: "transferUserIds",
rules: [{ required: !0, message: "不能为空" }]
}, {
default: o(() => [
n(r(O), {
type: "user",
title: "请选择成员",
isRadio: !1,
min: 1,
max: 1,
modelValue: t.value.transferUserIds,
"onUpdate:modelValue": l[4] || (l[4] = (e) => t.value.transferUserIds = e),
label: t.value.transferUserNames,
"onUpdate:label": l[5] || (l[5] = (e) => t.value.transferUserNames = e)
}, null, 8, ["modelValue", "label"])
]),
_: 1
})
]),
_: 1
})) : h("", !0),
n(g, {
name: "被提醒人",
text: " (默认当前节点审批人/转交人和发起人,其他提醒人不能超过 25 人)"
}, {
default: o(() => [
n(r(m), {
name: "noticeUserIds",
prop: "noticeUserIds",
field: "noticeUserIds",
rules: [{ required: !0, message: "不能为空" }]
}, {
default: o(() => [
n(r(O), {
type: "user",
title: "请选择成员",
isRadio: !1,
min: 1,
max: 25,
modelValue: t.value.noticeUserIds,
"onUpdate:modelValue": l[6] || (l[6] = (e) => t.value.noticeUserIds = e),
label: t.value.noticeUserNames,
"onUpdate:label": l[7] || (l[7] = (e) => t.value.noticeUserNames = e)
}, null, 8, ["modelValue", "label"])
]),
_: 1
})
]),
_: 1
}),
t.value.jobMode != 1 ? (f(), y(g, {
key: 1,
name: "审批意见"
}, {
default: o(() => [
n(r($), {
modelValue: t.value.addOpinion,
"onUpdate:modelValue": l[8] || (l[8] = (e) => t.value.addOpinion = e),
checked: t.value.addOpinion,
"onUpdate:checked": l[9] || (l[9] = (e) => t.value.addOpinion = e)
}, {
default: o(() => [
_(" 审批流中添加超时审批意见 ")
]),
_: 1
}, 8, ["modelValue", "checked"])
]),
_: 1
})) : h("", !0),
n(g, { name: "提醒方式" }, {
default: o(() => [
n(r(m), {
name: "warnType",
prop: "warnType",
field: "warnType",
rules: [{ required: !0, message: "不能为空" }]
}, {
default: o(() => [
n(re, {
modelValue: t.value.warnType,
"onUpdate:modelValue": l[10] || (l[10] = (e) => t.value.warnType = e)
}, null, 8, ["modelValue"])
]),
_: 1
})
]),
_: 1
})
]),
_: 1
}, 8, ["model"])
])
]),
_: 1
}, 8, ["modelValue", "visible", "open"])) : h("", !0);
}
});
export {
Ve as default
};