吉安感知网项目-前端
罗广辉
2026-01-23 bd96790eae4e0ef1fb55b927f99d16b84db12931
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -46,9 +46,9 @@
                     <div class="val">{{ formData.taskDesc }}</div>
                  </el-col>
               </el-row>
               <template v-if="['6','7','8'].includes(taskStatus)">
                  <div>任务成功({{list.length || 0}}条)</div>
                  <div  style="display: flex">
               <template v-if="['6', '7', '8'].includes(taskStatus)">
                  <div>任务成功({{ list.length || 0 }}条)</div>
                  <div style="display: flex">
                     <div v-for="item in list">
                        <el-image
                           v-if="item.resultUrl"
@@ -170,32 +170,40 @@
      </div>
      <template #footer>
         <!--         <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>-->
         <el-button
            class="save-btn"
            color="#4C34FF"
            v-if="!dialogReadonly"
            :loading="submitting"
            :disabled="submitting"
            @click="handleSubmit"
         >
            确认
         </el-button>
         <template v-if="requester">
<!--            statusChange(6)-->
            <el-button color="#F2F3F5" v-if="taskStatus === '1'">拒绝原因</el-button>
            <el-button color="#F2F3F5" @click="statusChange(3)" v-if="taskStatus === '3'">撤回任务</el-button>
            <el-button color="#F2F3F5" @click="refusalToAccept" v-if="taskStatus === '6'">拒绝验收</el-button>
            <el-button color="#F2F3F5" @click="statusChange(6)" v-if="taskStatus === '6'">验收通过</el-button>
            <el-button
               v-if="!dialogReadonly || ['1','4'].includes(taskStatus)"
               :loading="submitting"
               :disabled="submitting"
               @click="handleSubmit"
            >
               提交
            </el-button>
            <el-button v-if="['1','4'].includes(taskStatus)" @click="viewDescription">
               {{ gdStatusObj[taskStatus].reason }}
            </el-button>
            <el-button @click="statusChange(3)" v-if="taskStatus === '3'">撤回任务</el-button>
            <el-button @click="refusalToAccept" v-if="taskStatus === '6'">拒绝验收</el-button>
            <el-button @click="statusChange(6)" v-if="taskStatus === '6'">验收通过</el-button>
         </template>
         <template v-else>
            <el-button color="#F2F3F5" @click="statusChange(2)" v-if="taskStatus === '0'">拒绝签收</el-button>
            <el-button color="#F2F3F5" @click="statusChange(1)" v-if="taskStatus === '0'">签收</el-button>
            <el-button color="#F2F3F5" @click="statusChange(5)" v-if="taskStatus === '3'">驳回</el-button>
            <el-button color="#F2F3F5" @click="statusChange(4)" v-if="taskStatus === '3'">通过</el-button>
            <el-button v-if="['7'].includes(taskStatus)" @click="viewDescription">
               {{ gdStatusObj[taskStatus].reason }}
            </el-button>
            <el-button v-if="taskStatus === '0'" @click="addDescription">拒绝签收</el-button>
            <el-button v-if="taskStatus === '0'" @click="statusChange(1)" >签收</el-button>
            <el-button v-if="taskStatus === '3'" @click="addDescription" >驳回</el-button>
            <el-button v-if="taskStatus === '3'" @click="statusChange(4)" >同意</el-button>
         </template>
      </template>
      <RefuseOrderDialog1
         ref="refuseOrderDialogRef"
         v-if="rejectVisible"
         v-model="rejectVisible"
         @success="rejectSuccess"
      />
   </el-dialog>
</template>
@@ -209,6 +217,8 @@
import { pxToRem } from '@/utils/rem'
import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
import { gdTaskResultListApi } from '@/views/orderView/orderManage/clueEvents/achievementApi'
import RefuseOrderDialog from '@/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue'
import RefuseOrderDialog1 from '@/views/orderView/orderManage/inspectionRequest/RefuseOrderDialog1.vue'
// 初始化表单数据
const initForm = () => ({
@@ -223,10 +233,11 @@
   workOrderId: null,
})
const rejectVisible = ref(false)
const mapRef = ref(null)
const dictObj = inject('dictObj')
const requester = inject('requester')
const emit = defineEmits(['success','refusalAccept'])
const emit = defineEmits(['success', 'refusalAccept'])
const formRef = ref(null)
const formData = ref(initForm())
const visible = defineModel()
@@ -235,6 +246,8 @@
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看' })
const taskStatus = computed(() => formData.value.taskStatus)
const refuseOrderDialogRef = ref(null)
// 下拉选项
const flyerList = ref([])
const deviceList = ref([])
@@ -244,6 +257,20 @@
   { name: '航线2', id: '2' },
   { name: '航线3', id: '3' },
])
const gdStatusObj = {
   '0': { reason: '拒绝原因',operationType: '2' },
   '1': { reason: '拒绝原因' },
   '2': { reason: '' },
   '3': { reason: '驳回原因',operationType: '5' },
   '4': { reason: '驳回原因' },
   '5': { reason: '' },
   '6': { reason: '拒绝原因' },
   '7': { reason: '拒绝原因' },
   '8': { reason: '' },
}
let viewer
@@ -255,6 +282,36 @@
   patrolRouteUrl: fieldRules(true),
   recommendFlyerName: fieldRules(true),
   deviceId: fieldRules(true),
}
function rejectSuccess() {
   visible.value = false
   emit('success')
}
// 填写说明
function addDescription() {
   rejectVisible.value = true
   nextTick(() => {
      refuseOrderDialogRef.value.open({
         mode: 'add',
         row: formData.value,
         type: gdStatusObj[taskStatus.value].operationType,
         formLabel: gdStatusObj[taskStatus.value].reason,
      })
   })
}
// 查看说明
function viewDescription() {
   rejectVisible.value = true
   nextTick(() => {
      refuseOrderDialogRef.value.open({
         mode: 'view',
         row: formData.value,
         formLabel: gdStatusObj[taskStatus.value].reason,
      })
   })
}
// 获取航线名称
@@ -296,7 +353,7 @@
}
function refusalToAccept() {
   emit('refusalAccept',formData.value)
   emit('refusalAccept', formData.value)
   visible.value = false
}
@@ -335,8 +392,8 @@
// 打开弹框
async function open({ mode = 'view', row } = {}) {
   dialogMode.value = mode
   formData.value = { ...initForm(), ...row };
   ['6','7','8'].includes(row.taskStatus) && getList()
   formData.value = { ...initForm(), ...row }
   ;['6', '7', '8'].includes(row.taskStatus) && getList()
   initMap()
}