@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
179 lines (178 loc) • 6.89 kB
JavaScript
import { defineComponent as b, getCurrentInstance as j, ref as i, inject as q, onMounted as L, computed as M, openBlock as t, createBlock as p, unref as l, withCtx as s, createElementBlock as _, Fragment as $, renderList as h, createVNode as d, createCommentVNode as m } from "vue";
import { pluginManager as v } from "@javaguns/utils";
import { DataInfoKey as D } from "../../utils/injection-key.mjs";
import E from "../../flow-designer/common/flowSelect.vue.mjs";
import { FlowSelection as f } from "../../flow-selection/index.mjs";
const K = b({ name: "flow-operate-suggest" }), Q = /* @__PURE__ */ b({
...K,
props: {
code: { default: "" },
showCc: { type: Boolean, default: !1 },
selectApprovers: {},
candidateNodeId: { default: null },
nodeApprovers: { default: () => [] }
},
emits: ["chagne"],
setup(k, { expose: V, emit: C }) {
const N = v.getComponent("Form"), n = v.getComponent("FormItem");
v.getComponent("Timeline"), v.getComponent("TimelineItem");
const w = v.getComponent("Textarea"), o = k, { appContext: x } = j(), g = x.app.config.globalProperties.$flowUI, c = i(), U = { style: { width: "150px" } }, F = q(D, i({})), e = i({
suggest: "",
remark: "",
copyerAssigneeList: "",
nextAssigneeList: "",
nodeApprovers: [],
selectApprovers: {
approverIds: [],
approverNames: []
},
copyers: {
approverIds: [],
approverNames: []
}
}), R = i({
remark: [
{
required: !0,
message: "审批意见不能为空"
}
]
});
L(() => {
o.selectApprovers && o.selectApprovers.approverIds && (e.value.selectApprovers.approverIds = o.selectApprovers.approverIds, e.value.selectApprovers.approverNames = o.selectApprovers.approverNames), o.nodeApprovers && o.nodeApprovers.length > 0 && (e.value.nodeApprovers = o.nodeApprovers);
});
const I = M(() => o.code === "reject" ? [{ value: 2, name: "已阅,不同意" }] : o.code === "agree" ? [{ value: 1, name: "已阅,同意" }] : o.code === "consultSubmit" ? [
{ value: 1, name: "已阅,同意" },
{ value: 2, name: "已阅,不同意" },
{ value: 3, name: "已修改,请领导审批" }
] : [{ value: 3, name: "已修改,请领导审批" }]), y = () => o.code == "agree" || o.code == "reject" || o.code == "consultSubmit" || o.code == "submit" && F.value.ruInstance, B = C, S = (u) => {
u && (e.value.remark = I.value.filter((a) => a.value == u).map((a) => a.name)[0]), B("chagne", e.value);
};
return V({
valid: async () => {
try {
return g == "element-plus" || g == "arco-design" ? await c.value.validate() : await c.value.validateFields(), e.value;
} catch {
return null;
}
}
}), (u, a) => (t(), p(l(N), {
ref_key: "attFormRef",
ref: c,
model: e.value,
rules: R.value,
"label-col": U,
layout: "vertical",
"label-position": "top"
}, {
default: s(() => [
e.value.nodeApprovers.length > 0 ? (t(!0), _($, { key: 0 }, h(e.value.nodeApprovers, (r, A) => (t(), p(l(n), {
key: r.nodeId,
label: r.nodeName,
name: ["nodeApprovers", A, "approverIds"],
prop: "nodeApprovers." + A + ".approverIds",
rules: [{ required: !0, message: "发起人自选不能为空" }]
}, {
default: s(() => [
d(l(f), {
type: "user",
title: "请选择发起人自选人员",
isRadio: !1,
min: 1,
max: 25,
modelValue: r.approverIds,
"onUpdate:modelValue": (T) => r.approverIds = T,
label: r.approverNames
}, null, 8, ["modelValue", "onUpdate:modelValue", "label"])
]),
_: 2
}, 1032, ["label", "name", "prop"]))), 128)) : m("", !0),
u.candidateNodeId ? (t(), p(l(n), {
key: 1,
label: "选择审批",
name: ["selectApprovers", "approverIds"],
prop: "selectApprovers.approverIds",
rules: {
required: !0,
message: "选择审批不能为空"
}
}, {
default: s(() => [
d(l(f), {
type: "user",
title: "请选择审批人人员",
isRadio: !1,
min: 1,
max: 25,
modelValue: e.value.selectApprovers.approverIds,
"onUpdate:modelValue": a[0] || (a[0] = (r) => e.value.selectApprovers.approverIds = r),
label: e.value.selectApprovers.approverNames,
"onUpdate:label": a[1] || (a[1] = (r) => e.value.selectApprovers.approverNames = r)
}, null, 8, ["modelValue", "label"])
]),
_: 1
}, 8, ["prop"])) : m("", !0),
o.showCc && o.code == "agree" ? (t(), p(l(n), {
key: 2,
label: "抄送人",
name: "approverIds",
prop: "approverIds"
}, {
default: s(() => [
d(l(f), {
type: "user",
title: "请选择抄送人员",
isRadio: !1,
min: 1,
max: 25,
modelValue: e.value.copyers.approverIds,
"onUpdate:modelValue": a[2] || (a[2] = (r) => e.value.copyers.approverIds = r),
label: e.value.copyers.approverNames,
"onUpdate:label": a[3] || (a[3] = (r) => e.value.copyers.approverNames = r)
}, null, 8, ["modelValue", "label"])
]),
_: 1
})) : m("", !0),
y() ? (t(), p(l(n), {
key: 3,
label: "意见快选",
prop: "suggest"
}, {
default: s(() => [
d(E, {
modelValue: e.value.suggest,
"onUpdate:modelValue": a[4] || (a[4] = (r) => e.value.suggest = r),
datas: I.value,
mode: "simple",
placeholder: "请选择常用审批意见",
style: { width: "200px" },
onChange: S
}, null, 8, ["modelValue", "datas"])
]),
_: 1
})) : m("", !0),
y() ? (t(), p(l(n), {
key: 4,
label: "审批意见",
prop: "remark"
}, {
default: s(() => [
d(l(w), {
modelValue: e.value.remark,
"onUpdate:modelValue": a[5] || (a[5] = (r) => e.value.remark = r),
value: e.value.remark,
"onUpdate:value": a[6] || (a[6] = (r) => e.value.remark = r),
type: "textarea",
rows: 3
}, null, 8, ["modelValue", "value"])
]),
_: 1
})) : m("", !0)
]),
_: 1
}, 8, ["model", "rules"]));
}
});
export {
Q as default
};