|
@@ -76,14 +76,11 @@ const taskId = computed(() => props.taskId)
|
|
|
const processInstanceId = computed(() => props.processInstanceId)
|
|
const processInstanceId = computed(() => props.processInstanceId)
|
|
|
const toast = useToast()
|
|
const toast = useToast()
|
|
|
const submitting = ref(false)
|
|
const submitting = ref(false)
|
|
|
-const formRef = ref<FormInstance>()
|
|
|
|
|
const taskOptions = ref<any[]>([])
|
|
const taskOptions = ref<any[]>([])
|
|
|
-
|
|
|
|
|
const formData = reactive({
|
|
const formData = reactive({
|
|
|
deleteSignTaskId: '',
|
|
deleteSignTaskId: '',
|
|
|
reason: '',
|
|
reason: '',
|
|
|
})
|
|
})
|
|
|
-
|
|
|
|
|
const formRules = {
|
|
const formRules = {
|
|
|
deleteSignTaskId: [
|
|
deleteSignTaskId: [
|
|
|
{ required: true, message: '减签人员不能为空' },
|
|
{ required: true, message: '减签人员不能为空' },
|
|
@@ -92,6 +89,7 @@ const formRules = {
|
|
|
{ required: true, message: '审批意见不能为空' },
|
|
{ required: true, message: '审批意见不能为空' },
|
|
|
],
|
|
],
|
|
|
}
|
|
}
|
|
|
|
|
+const formRef = ref<FormInstance>()
|
|
|
|
|
|
|
|
/** 返回上一页 */
|
|
/** 返回上一页 */
|
|
|
function handleBack() {
|
|
function handleBack() {
|
|
@@ -99,6 +97,7 @@ function handleBack() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 初始化校验 */
|
|
/** 初始化校验 */
|
|
|
|
|
+// TODO @jason:最好放在 onMounted 里?或者其他地方,有个入口方法。
|
|
|
if (!props.taskId || !props.processInstanceId) {
|
|
if (!props.taskId || !props.processInstanceId) {
|
|
|
toast.show('参数错误')
|
|
toast.show('参数错误')
|
|
|
}
|
|
}
|
|
@@ -114,7 +113,7 @@ function getDeleteSignUserLabel(task: any): string {
|
|
|
async function loadDeleteSignTaskList() {
|
|
async function loadDeleteSignTaskList() {
|
|
|
try {
|
|
try {
|
|
|
let childTasks = []
|
|
let childTasks = []
|
|
|
-
|
|
|
|
|
|
|
+ // TODO @jason:这里应该是从 props 里获取?
|
|
|
// 从 URL 参数中获取子任务数据
|
|
// 从 URL 参数中获取子任务数据
|
|
|
if (props.children) {
|
|
if (props.children) {
|
|
|
try {
|
|
try {
|
|
@@ -123,7 +122,6 @@ async function loadDeleteSignTaskList() {
|
|
|
console.error('[delete-sign] 解析子任务数据失败:', parseError)
|
|
console.error('[delete-sign] 解析子任务数据失败:', parseError)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
// 提示没有子任务数据
|
|
// 提示没有子任务数据
|
|
|
if (childTasks.length === 0) {
|
|
if (childTasks.length === 0) {
|
|
|
toast.show('没有可减签的任务')
|
|
toast.show('没有可减签的任务')
|
|
@@ -135,6 +133,7 @@ async function loadDeleteSignTaskList() {
|
|
|
label: getDeleteSignUserLabel(task),
|
|
label: getDeleteSignUserLabel(task),
|
|
|
}))
|
|
}))
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
|
|
+ // TODO @jason:这里不用 try catch 哈
|
|
|
console.error('[delete-sign] 获取可减签任务失败:', error)
|
|
console.error('[delete-sign] 获取可减签任务失败:', error)
|
|
|
toast.error('获取可减签任务失败')
|
|
toast.error('获取可减签任务失败')
|
|
|
}
|
|
}
|
|
@@ -142,31 +141,32 @@ async function loadDeleteSignTaskList() {
|
|
|
|
|
|
|
|
/** 提交操作 */
|
|
/** 提交操作 */
|
|
|
async function handleSubmit() {
|
|
async function handleSubmit() {
|
|
|
- if (submitting.value)
|
|
|
|
|
|
|
+ if (submitting.value) {
|
|
|
return
|
|
return
|
|
|
-
|
|
|
|
|
- // 使用 wd-form 的校验方法
|
|
|
|
|
|
|
+ }
|
|
|
const { valid } = await formRef.value!.validate()
|
|
const { valid } = await formRef.value!.validate()
|
|
|
if (!valid) {
|
|
if (!valid) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // TODO @jason:submitting 改成 formLoading 哇?统一代码风格哈;
|
|
|
submitting.value = true
|
|
submitting.value = true
|
|
|
try {
|
|
try {
|
|
|
|
|
+ // TODO @jason:这里是不是不用判断 result 哈?
|
|
|
const result = await signDeleteTask({
|
|
const result = await signDeleteTask({
|
|
|
id: formData.deleteSignTaskId,
|
|
id: formData.deleteSignTaskId,
|
|
|
reason: formData.reason,
|
|
reason: formData.reason,
|
|
|
})
|
|
})
|
|
|
-
|
|
|
|
|
if (result) {
|
|
if (result) {
|
|
|
toast.success('减签成功')
|
|
toast.success('减签成功')
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
uni.redirectTo({
|
|
uni.redirectTo({
|
|
|
url: `/pages-bpm/processInstance/detail/index?id=${processInstanceId.value}&taskId=${taskId.value}`,
|
|
url: `/pages-bpm/processInstance/detail/index?id=${processInstanceId.value}&taskId=${taskId.value}`,
|
|
|
})
|
|
})
|
|
|
- }, 1500)
|
|
|
|
|
|
|
+ }, 500)
|
|
|
}
|
|
}
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
|
|
+ // TODO @jason:可以不用这里的 catch 哈?
|
|
|
console.error('[delete-sign] 减签失败:', error)
|
|
console.error('[delete-sign] 减签失败:', error)
|
|
|
toast.error('减签失败')
|
|
toast.error('减签失败')
|
|
|
} finally {
|
|
} finally {
|
|
@@ -174,7 +174,7 @@ async function handleSubmit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/** 页面加载时获取可减签任务列表 */
|
|
|
|
|
|
|
+/** 页面加载时,获取可减签任务列表 */
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
loadDeleteSignTaskList()
|
|
loadDeleteSignTaskList()
|
|
|
})
|
|
})
|