吉安感知网项目-前端
shuishen
2026-02-03 89380e6260a75d1d3b94de687ebcc2f50d50659d
applications/task-work-order/src/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue
@@ -2,12 +2,21 @@
   <el-dialog
      class="gd-dialog"
      v-model="visible"
      :title="titleEnum[dialogMode]"
      :title="dialogTitle"
      @closed="visible = false"
      destroy-on-close
      :close-on-click-modal="false"
   >
      <div v-if="dialogReadonly">
         <el-row class="detail-row-view">
            <el-col :span="24">
               <div class="label">{{formLabelStr}}:</div>
               <div class="val">{{ formData.rejectReason || '' }}</div>
            </el-col>
         </el-row>
      </div>
      <el-form
         v-else
         class="gd-dialog-form"
         ref="formRef"
         :model="formData"
@@ -17,7 +26,7 @@
      >
         <el-row>
            <el-col :span="24">
               <el-form-item label="拒绝原因" prop="rejectReason">
               <el-form-item :label="formLabelStr" prop="rejectReason">
                  <el-input
                     class="gd-input"
                     v-model="formData.rejectReason"
@@ -33,7 +42,7 @@
      <template #footer>
         <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
         <el-button
            class="save-btn"
            class=""
            color="#4C34FF"
            v-if="!dialogReadonly"
            :loading="submitting"
@@ -54,7 +63,7 @@
// 初始化表单数据
const initForm = () => ({
   operationType: 2,
   operationType: null,
   rejectReason: '',
   workOrderId: null,
})
@@ -66,7 +75,6 @@
const dialogMode = ref('add') // 弹框模式
const submitting = ref(false) // 提交中
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
const rules = {
   rejectReason: fieldRules(true, 200),
@@ -79,7 +87,7 @@
   submitting.value = true
   gdWorkOrderHandleStatusApi(formData.value)
      .then(res => {
         ElMessage.success('拒绝接单成功')
         ElMessage.success('提交成功')
         visible.value = false
         emit('success')
      })
@@ -88,10 +96,22 @@
      })
}
// 打开弹框
async function open({ mode = 'add', row } = {}) {
let formLabelStr = ref('原因')
let dialogTitle = ref('新增')
// 操作类型:1接单,2拒接接单,3申请取消,4申请修改, 5同意取消 6不同意取消 7.同意修改 8.不同意修改 9.协商修改
async function open({ mode = 'add', row, formLabel, type,title } = {}) {
   dialogMode.value = mode
   formData.value = {...formData.value,...row}
   formLabelStr.value = formLabel
   dialogTitle.value =  dialogMode.value === 'add' ? title : '查看'
   formData.value = {
      workOrderId: row.id,
      operationType: type,
   }
   if (dialogMode.value !== 'add'){
      formData.value.rejectReason = row.rejectReason
   }
}
defineExpose({ open })