| | |
| | | <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" |
| | |
| | | > |
| | | <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" |
| | |
| | | <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" |
| | |
| | | |
| | | // 初始化表单数据 |
| | | const initForm = () => ({ |
| | | operationType: 2, |
| | | operationType: null, |
| | | rejectReason: '', |
| | | workOrderId: null, |
| | | }) |
| | |
| | | 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), |
| | |
| | | submitting.value = true |
| | | gdWorkOrderHandleStatusApi(formData.value) |
| | | .then(res => { |
| | | ElMessage.success('拒绝接单成功') |
| | | ElMessage.success('提交成功') |
| | | visible.value = false |
| | | emit('success') |
| | | }) |
| | |
| | | }) |
| | | } |
| | | |
| | | // 打开弹框 |
| | | 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 }) |