|
|
@@ -241,6 +241,9 @@ function handleApprove() {
|
|
241
|
241
|
handleFormData.processContent = '';
|
|
242
|
242
|
handleFormData.taskId = props.task!.taskId;
|
|
243
|
243
|
handleFileList.value = [];
|
|
|
244
|
+
|
|
|
245
|
+ // 设置操作类型为处理
|
|
|
246
|
+ actionType.value = 'handle';
|
|
244
|
247
|
|
|
245
|
248
|
// 打开抽屉
|
|
246
|
249
|
handleDrawerVisible.value = true;
|
|
|
@@ -379,22 +382,45 @@ async function handleCCSubmit() {
|
|
379
|
382
|
}
|
|
380
|
383
|
}
|
|
381
|
384
|
|
|
|
385
|
+// 操作类型:handle 处理,return 退回
|
|
|
386
|
+const actionType = ref('handle');
|
|
|
387
|
+
|
|
382
|
388
|
// 退回
|
|
383
|
|
-async function handleBack() {
|
|
|
389
|
+function handleBack() {
|
|
|
390
|
+ // 重置表单数据
|
|
|
391
|
+ handleFormData.attachments = '';
|
|
|
392
|
+ handleFormData.processContent = '';
|
|
|
393
|
+ handleFormData.taskId = props.task!.taskId;
|
|
|
394
|
+ handleFileList.value = [];
|
|
|
395
|
+
|
|
|
396
|
+ // 设置操作类型为退回
|
|
|
397
|
+ actionType.value = 'return';
|
|
|
398
|
+
|
|
|
399
|
+ // 打开抽屉
|
|
|
400
|
+ handleDrawerVisible.value = true;
|
|
|
401
|
+}
|
|
|
402
|
+
|
|
|
403
|
+// 退回工单提交
|
|
|
404
|
+async function handleReturnSubmit() {
|
|
384
|
405
|
try {
|
|
385
|
|
- await ElMessageBox.confirm('确定要退回该工单吗?', '提示', {
|
|
386
|
|
- confirmButtonText: '确定',
|
|
387
|
|
- cancelButtonText: '取消',
|
|
388
|
|
- type: 'warning',
|
|
389
|
|
- center: true,
|
|
390
|
|
- });
|
|
391
|
|
- await backProcess({
|
|
392
|
|
- taskId: props.task!.taskId,
|
|
393
|
|
- });
|
|
|
406
|
+ // 验证处理内容
|
|
|
407
|
+ if (!handleFormData.processContent.trim()) {
|
|
|
408
|
+ ElMessage.error('请输入退回原因');
|
|
|
409
|
+ return;
|
|
|
410
|
+ }
|
|
|
411
|
+
|
|
|
412
|
+ // 调用退回接口
|
|
|
413
|
+ await requestClient.put<void>('/workOrder/order/return', handleFormData);
|
|
|
414
|
+ ElMessage.success('工单退回成功');
|
|
|
415
|
+
|
|
|
416
|
+ // 关闭抽屉
|
|
|
417
|
+ handleDrawerVisible.value = false;
|
|
|
418
|
+
|
|
|
419
|
+ // 重新加载数据
|
|
394
|
420
|
emit('reload');
|
|
395
|
|
- } catch {
|
|
396
|
|
- // 用户取消操作,不做任何处理
|
|
397
|
|
- console.log('用户取消了退回操作');
|
|
|
421
|
+ } catch (error) {
|
|
|
422
|
+ ElMessage.error('工单退回失败');
|
|
|
423
|
+ console.error('工单退回失败:', error);
|
|
398
|
424
|
}
|
|
399
|
425
|
}
|
|
400
|
426
|
|
|
|
@@ -539,10 +565,10 @@ async function handleApproveDelaySubmit() {
|
|
539
|
565
|
</div>
|
|
540
|
566
|
</ElDrawer>
|
|
541
|
567
|
|
|
542
|
|
- <!-- 处理工单的抽屉组件 -->
|
|
|
568
|
+ <!-- 处理/退回工单的抽屉组件 -->
|
|
543
|
569
|
<ElDrawer
|
|
544
|
570
|
v-model="handleDrawerVisible"
|
|
545
|
|
- title="处理工单"
|
|
|
571
|
+ :title="actionType === 'handle' ? '处理工单' : '退回工单'"
|
|
546
|
572
|
width="800px"
|
|
547
|
573
|
:close-on-click-modal="false"
|
|
548
|
574
|
>
|
|
|
@@ -552,18 +578,18 @@ async function handleApproveDelaySubmit() {
|
|
552
|
578
|
label-width="120px"
|
|
553
|
579
|
class="handle-order-form"
|
|
554
|
580
|
>
|
|
555
|
|
- <!-- 处理内容 -->
|
|
556
|
|
- <ElFormItem label="处理内容" required>
|
|
|
581
|
+ <!-- 处理内容/退回原因 -->
|
|
|
582
|
+ <ElFormItem :label="actionType === 'handle' ? '处理内容' : '退回原因'" required>
|
|
557
|
583
|
<ElInput
|
|
558
|
584
|
v-model="handleFormData.processContent"
|
|
559
|
585
|
type="textarea"
|
|
560
|
586
|
:rows="4"
|
|
561
|
|
- placeholder="请输入处理内容"
|
|
|
587
|
+ :placeholder="actionType === 'handle' ? '请输入处理内容' : '请输入退回原因'"
|
|
562
|
588
|
/>
|
|
563
|
589
|
</ElFormItem>
|
|
564
|
590
|
|
|
565
|
|
- <!-- 处理附件 -->
|
|
566
|
|
- <ElFormItem label="处理附件">
|
|
|
591
|
+ <!-- 处理附件/退回附件 -->
|
|
|
592
|
+ <ElFormItem :label="actionType === 'handle' ? '处理附件' : '退回附件'">
|
|
567
|
593
|
<ElUpload
|
|
568
|
594
|
:file-list="handleFileList"
|
|
569
|
595
|
:action="getSingleImageUploadConfig().action"
|
|
|
@@ -590,7 +616,9 @@ async function handleApproveDelaySubmit() {
|
|
590
|
616
|
>
|
|
591
|
617
|
<div class="flex justify-end space-x-2">
|
|
592
|
618
|
<ElButton @click="handleDrawerVisible = false">取消</ElButton>
|
|
593
|
|
- <ElButton type="primary" @click="handleSubmitForm">提交</ElButton>
|
|
|
619
|
+ <ElButton type="primary" @click="actionType === 'handle' ? handleSubmitForm() : handleReturnSubmit()">
|
|
|
620
|
+ {{ actionType === 'handle' ? '提交' : '退回' }}
|
|
|
621
|
+ </ElButton>
|
|
594
|
622
|
</div>
|
|
595
|
623
|
</div>
|
|
596
|
624
|
</ElDrawer>
|