一单四制优化及加入工作流
This commit is contained in:
144
unpackage/dist/dev/mp-weixin/components/flow/FlowAssigneePickerPopup.js
vendored
Normal file
144
unpackage/dist/dev/mp-weixin/components/flow/FlowAssigneePickerPopup.js
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const request_api = require("../../request/api.js");
|
||||
const components_flow_flowAssigneeUtils = require("./flowAssigneeUtils.js");
|
||||
if (!Array) {
|
||||
const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
|
||||
_easycom_u_popup2();
|
||||
}
|
||||
const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js";
|
||||
if (!Math) {
|
||||
(FlowAssigneeTree + _easycom_u_popup)();
|
||||
}
|
||||
const FlowAssigneeTree = () => "./FlowAssigneeTree.js";
|
||||
const _sfc_main = {
|
||||
__name: "FlowAssigneePickerPopup",
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
taskId: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
pickerIdentityId: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
pickerName: {
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
},
|
||||
emits: ["update:pickerIdentityId", "update:pickerName", "cancel", "confirm"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const props = __props;
|
||||
const emit = __emit;
|
||||
const loading = common_vendor.ref(false);
|
||||
const deptTree = common_vendor.ref([]);
|
||||
const localPickerIdentityId = common_vendor.ref("");
|
||||
const localPickerName = common_vendor.ref("");
|
||||
const pickerDisplayName = common_vendor.computed(() => {
|
||||
const user = components_flow_flowAssigneeUtils.findAssigneeUserInDeptTree(deptTree.value, localPickerIdentityId.value);
|
||||
return user ? components_flow_flowAssigneeUtils.formatAssigneeDisplayName(user) : localPickerName.value;
|
||||
});
|
||||
const syncLocalPicker = () => {
|
||||
localPickerIdentityId.value = props.pickerIdentityId || "";
|
||||
localPickerName.value = props.pickerName || "";
|
||||
};
|
||||
const fetchAssigneeTree = async () => {
|
||||
if (!props.taskId) {
|
||||
deptTree.value = [];
|
||||
return;
|
||||
}
|
||||
loading.value = true;
|
||||
try {
|
||||
const res = await request_api.getFlowApproverCandidates(props.taskId);
|
||||
if (res.code === 0) {
|
||||
deptTree.value = components_flow_flowAssigneeUtils.normalizeApproverDeptTree(res.data);
|
||||
} else {
|
||||
deptTree.value = [];
|
||||
common_vendor.index.showToast({ title: res.msg || "获取处理人失败", icon: "none" });
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at components/flow/FlowAssigneePickerPopup.vue:93", "获取处理人失败:", error);
|
||||
deptTree.value = [];
|
||||
common_vendor.index.showToast({ title: "获取处理人失败", icon: "none" });
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
common_vendor.watch(
|
||||
() => props.show,
|
||||
async (visible) => {
|
||||
if (!visible)
|
||||
return;
|
||||
syncLocalPicker();
|
||||
await fetchAssigneeTree();
|
||||
}
|
||||
);
|
||||
const handleUserSelect = (user) => {
|
||||
const identityId = components_flow_flowAssigneeUtils.resolveAssigneeIdentityId(user);
|
||||
if (!identityId)
|
||||
return;
|
||||
localPickerIdentityId.value = identityId;
|
||||
localPickerName.value = components_flow_flowAssigneeUtils.formatAssigneeDisplayName(user);
|
||||
emit("update:pickerIdentityId", identityId);
|
||||
emit("update:pickerName", localPickerName.value);
|
||||
};
|
||||
const handleCancel = () => {
|
||||
emit("cancel");
|
||||
};
|
||||
const handleConfirm = () => {
|
||||
if (!localPickerIdentityId.value) {
|
||||
common_vendor.index.showToast({ title: "请选择下一步处理人", icon: "none" });
|
||||
return;
|
||||
}
|
||||
const user = components_flow_flowAssigneeUtils.findAssigneeUserInDeptTree(deptTree.value, localPickerIdentityId.value);
|
||||
if (!user) {
|
||||
common_vendor.index.showToast({ title: "所选身份无效,请重新选择", icon: "none" });
|
||||
return;
|
||||
}
|
||||
const name = components_flow_flowAssigneeUtils.formatAssigneeDisplayName(user);
|
||||
emit("update:pickerIdentityId", localPickerIdentityId.value);
|
||||
emit("update:pickerName", name);
|
||||
emit("confirm", {
|
||||
identityId: localPickerIdentityId.value,
|
||||
name,
|
||||
user
|
||||
});
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.o(handleCancel),
|
||||
b: __props.pickerIdentityId
|
||||
}, __props.pickerIdentityId ? {
|
||||
c: common_vendor.t(pickerDisplayName.value)
|
||||
} : {}, {
|
||||
d: loading.value
|
||||
}, loading.value ? {} : !__props.taskId ? {} : deptTree.value.length === 0 ? {} : {
|
||||
g: common_vendor.o(handleUserSelect),
|
||||
h: common_vendor.p({
|
||||
depts: deptTree.value,
|
||||
["selected-identity-id"]: __props.pickerIdentityId
|
||||
})
|
||||
}, {
|
||||
e: !__props.taskId,
|
||||
f: deptTree.value.length === 0,
|
||||
i: common_vendor.o(handleCancel),
|
||||
j: common_vendor.o(handleConfirm),
|
||||
k: common_vendor.o(handleCancel),
|
||||
l: common_vendor.p({
|
||||
show: __props.show,
|
||||
mode: "bottom",
|
||||
round: "20"
|
||||
}),
|
||||
m: common_vendor.gei(_ctx, "")
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2685d664"]]);
|
||||
wx.createComponent(Component);
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/flow/FlowAssigneePickerPopup.js.map
|
||||
Reference in New Issue
Block a user