文号更新
This commit is contained in:
parent
1b04dba5f5
commit
9b9085d590
@ -150,8 +150,22 @@ const updateForm = async () => {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
const updateNumber = async (date) => {
|
||||
const numberDate = await BgypApi.getBgyp(date.id)
|
||||
const data = numberDate as unknown as BgypVO
|
||||
if (data.numberType !== 1 || !data.numberType ) {
|
||||
message.error("编号类型非文号!")
|
||||
return
|
||||
}
|
||||
if (!data.serialNumber) {
|
||||
data.serialNumber = date.value
|
||||
await BgypApi.updateBgyp(data)
|
||||
} else {
|
||||
message.error("文号已存在")
|
||||
}
|
||||
}
|
||||
/** 打开弹窗 */
|
||||
defineExpose({ updateForm }) // 提供 open 方法,用于打开弹窗
|
||||
defineExpose({ updateForm, updateNumber }) // 提供 open 方法,用于打开弹窗
|
||||
|
||||
const editableFields = ref<string[]>([])
|
||||
const isEditable = (field:string) => {
|
||||
|
@ -418,15 +418,14 @@ const updateForm = async () => {
|
||||
const updateNumber = async (date) => {
|
||||
const numberDate = await ClglApi.getClgl(date.id)
|
||||
const data = numberDate as unknown as ClglVO
|
||||
// 检查编号类型是否为文号
|
||||
if (data.numberType !== 1 && data.numberType ) {
|
||||
if (data.numberType !== 1 || !data.numberType ) {
|
||||
message.error("编号类型非文号!")
|
||||
return
|
||||
}
|
||||
// 检查是否已存在 usageName
|
||||
if (!data.serialNumber) {
|
||||
data.serialNumber = date.value
|
||||
await ClglApi.updateClgl(data)
|
||||
message.success("操作成功")
|
||||
} else {
|
||||
message.error("文号已存在")
|
||||
}
|
||||
|
@ -711,70 +711,6 @@ const formData = ref({
|
||||
serialNumber: undefined as string | undefined,
|
||||
})
|
||||
|
||||
// 根据编号类型获取编号数据后更新数据
|
||||
const getNumberByType = async ()=> {
|
||||
listNumbers.value = formData.value.serialNumber = undefined;
|
||||
//获取文号数据
|
||||
queryParamsNumbers.numbersType = 1
|
||||
queryParamsNumbers.mappingData2 = props.buttonNumberPath
|
||||
const data = await numbersApi.getnumbersPage(queryParamsNumbers)
|
||||
if (data.total == 0) {
|
||||
message.error("未找到文号数据!请配置文号!")
|
||||
return;
|
||||
}
|
||||
//判断条数,如果只有一条就和流水号一样直接处理
|
||||
if (data.total == 1 ) {
|
||||
listNumbers.value = data.list[0]
|
||||
await changeNumbers();
|
||||
} else {
|
||||
// 两条以上数据,给用户挑选,然后处理
|
||||
ListNumber.value = data.list;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取旧数据后对比数据后更新
|
||||
const changeNumbers = async ()=> {
|
||||
if (!listNumbers.value) {
|
||||
return;
|
||||
}
|
||||
const currentYear = new Date().getFullYear();
|
||||
const currentMonth = new Date().getMonth() + 1;
|
||||
listNumbers.value.docOrder+=1
|
||||
|
||||
// 判断年份不同时 更新年份,顺序号归一
|
||||
if (currentYear != listNumbers.value.year) {
|
||||
listNumbers.value.year = currentYear;
|
||||
listNumbers.value.docOrder = 1;
|
||||
}
|
||||
|
||||
// 判断月份不同时,判断不是禁用月份的时候 更新月份,顺序号归一
|
||||
if (currentMonth != listNumbers.value.month&&listNumbers.value.month!==0) {
|
||||
listNumbers.value.month = currentMonth;
|
||||
listNumbers.value.docOrder = 1;
|
||||
}
|
||||
|
||||
// 提取内部函数方便使用
|
||||
const {fastCode, fastBrackets, year, month, lastBrackets, docOrder, lengthSelection, lastCode } = listNumbers.value
|
||||
// 数据拼接
|
||||
formData.value.serialNumber =
|
||||
`${fastCode || ""}${fastBrackets || ""}${year || ""}`+
|
||||
`${(month != null&&month!=0) ? month.toString().padStart(2,"0") : ""}`+
|
||||
`${lastBrackets || ""}${(docOrder || "").toString().padStart(lengthSelection,"0")}${lastCode || ""}`;
|
||||
}
|
||||
|
||||
// 选择编号时赋值
|
||||
const handleChangeNumbers = async (val: any | undefined) => {
|
||||
listNumbers.value = JSON.parse(JSON.stringify(val)); // 深拷贝
|
||||
formData.value.serialNumber = undefined
|
||||
await changeNumbers();
|
||||
}
|
||||
|
||||
watch(() => props.buttonNumberPath, () => {
|
||||
if (runningTask.value && isHandleTaskStatus() && isShowButton(OperationButtonType.NUMBER)) {
|
||||
getNumberByType()
|
||||
}
|
||||
});
|
||||
|
||||
const formLoading = ref(false) // 表单加载中
|
||||
const popOverVisible = ref({
|
||||
approve: false,
|
||||
@ -906,6 +842,70 @@ const numbersForm = reactive({
|
||||
const numbersFormRule = reactive<FormRules<typeof numbersForm>>({
|
||||
numbersReason: [{ required: true, message: '文号不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
// 根据编号类型获取编号数据后更新数据
|
||||
const getNumberByType = async ()=> {
|
||||
listNumbers.value = formData.value.serialNumber = undefined;
|
||||
//获取文号数据
|
||||
queryParamsNumbers.numbersType = 1
|
||||
queryParamsNumbers.mappingData2 = props.buttonNumberPath
|
||||
const data = await numbersApi.getnumbersPage(queryParamsNumbers)
|
||||
if (data.total == 0) {
|
||||
return;
|
||||
}
|
||||
//判断条数,如果只有一条就和流水号一样直接处理
|
||||
if (data.total == 1 ) {
|
||||
listNumbers.value = data.list[0]
|
||||
await changeNumbers();
|
||||
} else {
|
||||
// 两条以上数据,给用户挑选,然后处理
|
||||
ListNumber.value = data.list;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取旧数据后对比数据后更新
|
||||
const changeNumbers = async ()=> {
|
||||
if (!listNumbers.value) {
|
||||
return;
|
||||
}
|
||||
const currentYear = new Date().getFullYear();
|
||||
const currentMonth = new Date().getMonth() + 1;
|
||||
listNumbers.value.docOrder+=1
|
||||
|
||||
// 判断年份不同时 更新年份,顺序号归一
|
||||
if (currentYear != listNumbers.value.year) {
|
||||
listNumbers.value.year = currentYear;
|
||||
listNumbers.value.docOrder = 1;
|
||||
}
|
||||
|
||||
// 判断月份不同时,判断不是禁用月份的时候 更新月份,顺序号归一
|
||||
if (currentMonth != listNumbers.value.month&&listNumbers.value.month!==0) {
|
||||
listNumbers.value.month = currentMonth;
|
||||
listNumbers.value.docOrder = 1;
|
||||
}
|
||||
|
||||
// 提取内部函数方便使用
|
||||
const {fastCode, fastBrackets, year, month, lastBrackets, docOrder, lengthSelection, lastCode } = listNumbers.value
|
||||
// 数据拼接
|
||||
formData.value.serialNumber =
|
||||
`${fastCode || ""}${fastBrackets || ""}${year || ""}`+
|
||||
`${(month != null&&month!=0) ? month.toString().padStart(2,"0") : ""}`+
|
||||
`${lastBrackets || ""}${(docOrder || "").toString().padStart(lengthSelection,"0")}${lastCode || ""}`;
|
||||
}
|
||||
|
||||
// 选择编号时赋值
|
||||
const handleChangeNumbers = async (val: any | undefined) => {
|
||||
listNumbers.value = JSON.parse(JSON.stringify(val)); // 深拷贝
|
||||
formData.value.serialNumber = undefined
|
||||
await changeNumbers();
|
||||
}
|
||||
|
||||
watch(() => props.buttonNumberPath, () => {
|
||||
if (runningTask.value && isHandleTaskStatus() && isShowButton(OperationButtonType.NUMBER)) {
|
||||
getNumberByType()
|
||||
}
|
||||
});
|
||||
|
||||
//pch 选人begin--------------------
|
||||
const userSelectFormRef = ref() // 用户选择弹窗 ref
|
||||
const userSelectSingleFormRef = ref() // 用户选择弹窗 ref
|
||||
@ -1203,13 +1203,17 @@ const handleNumbers = async () => {
|
||||
id: props.processInstance.businessKey,
|
||||
value: formData.value.serialNumber
|
||||
}
|
||||
emit('update', date)
|
||||
await numbersApi.updatenumbers(listNumbers.value)
|
||||
popOverVisible.value.numbers = false
|
||||
numbersFormRef.value.resetFields()
|
||||
message.success('操作成功')
|
||||
// 2 重新加载数据
|
||||
reload()
|
||||
if (!date.id || !date.value) {
|
||||
message.error("无文号数据");
|
||||
return;
|
||||
} else {
|
||||
await numbersApi.updatenumbers(listNumbers.value)
|
||||
popOverVisible.value.numbers = false
|
||||
numbersFormRef.value.resetFields()
|
||||
emit('update', date)
|
||||
// 2 重新加载数据
|
||||
reload()
|
||||
}
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user