吉安感知网项目-前端
罗广辉
2026-01-21 fcbd623e384f9a41f8cf35171060a0905a81a9d8
feat: 拒绝验收
5 files modified
2 files deleted
226 ■■■■ changed files
applications/task-work-order/src/buildConfig/buildConfig/config.default.js 5 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/buildConfig/buildConfig/config.jiangwu.js 15 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/buildConfig/config.js 4 ●●● patch | view | raw | blame | history
applications/task-work-order/src/buildConfig/layerConfig/jiangwuLayer.js 122 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue 12 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue 43 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue 25 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/buildConfig/buildConfig/config.default.js
@@ -2,8 +2,7 @@
export default function getBaseConfig () {
    return {
        loginTitle: '中图智飞低空智能感知网平台',  //登陆页面标题
        // envName: 'jiangwu',
        loginTitle: '任务工单',  //登陆页面标题
        ...defaultLayer
    }
}
}
applications/task-work-order/src/buildConfig/buildConfig/config.jiangwu.js
File was deleted
applications/task-work-order/src/buildConfig/config.js
@@ -1,14 +1,12 @@
// 直接导入所有配置文件
import jiangwuConfig from '@/buildConfig/buildConfig/config.jiangwu.js'
import defaultConfig from '@/buildConfig/buildConfig/config.default.js'
// 根据环境变量选择配置
const env = import.meta.env.VITE_APP_ENV || 'default'
const configMap = {
    jiangwu: jiangwuConfig,
    default: defaultConfig
}
// 导出配置函数
export default configMap[env] || configMap.default
export default configMap[env] || configMap.default
applications/task-work-order/src/buildConfig/layerConfig/jiangwuLayer.js
File was deleted
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
@@ -20,7 +20,7 @@
                        placeholder="请选择"
                        clearable
                        filterable
                        :disabled="dialogReadonly"
                        :disabled="dialogMode !== 'add'"
                        @change="handleWorkOrderChange"
                    >
                        <el-option v-for="item in workOrderList" :key="item.id" :label="item.workOrderName" :value="item.id" />
@@ -153,7 +153,7 @@
                                <el-input class="gd-input" v-model="row.taskDesc" placeholder="请输入" :disabled="dialogReadonly" />
                            </template>
                        </el-table-column>
                        <el-table-column label="操作" width="80" fixed="right" v-if="!dialogReadonly">
                        <el-table-column label="操作" width="80" fixed="right" v-if="dialogMode === 'add'">
                            <template v-slot="{ $index }">
                                <el-button type="primary" :icon="Plus" circle size="small" @click="addTaskRow" />
                                <el-button
@@ -192,7 +192,7 @@
import { ElMessage } from 'element-plus'
import { Plus, Delete } from '@element-plus/icons-vue'
import { getDictLabel } from '@ztzf/utils'
import { gdPatrolTaskSaveApi, gdFlyerPageApi } from './inspectionRequestApi'
import { gdPatrolTaskSaveApi, gdFlyerPageApi, gdPatrolTaskAuditApi } from './inspectionRequestApi'
import { gdWorkOrderPageApi } from '../orderManage/orderManageApi'
import { gdManageDeviceListApi } from '../orderManage/gdManageDeviceApi'
@@ -312,12 +312,15 @@
    }
    submitting.value = true
    try {
        const preID = taskList.value[0].id
        const dataList = taskList.value.map(item => ({
            ...item,
            workOrderId: selectedWorkOrderId.value,
            id: undefined,
        }))
        await gdPatrolTaskSaveApi(dataList)
        ElMessage.success('新增成功')
        dialogMode.value === 'add' ? ElMessage.success('新增成功') : ElMessage.success('修改成功')
        dialogMode.value === 'edit' && await gdPatrolTaskAuditApi({ auditStatus: 7, id: preID })
        visible.value = false
        emit('success')
    } finally {
@@ -327,6 +330,7 @@
// 打开弹框
async function open({ mode = 'add', row } = {}) {
    console.log(row,'rowrow')
    dialogMode.value = mode
    if (mode === 'add') {
        selectedWorkOrderId.value = null
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -45,6 +45,21 @@
                            <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">
                            <div v-for="item in list">
                                <el-image
                                    v-if="item.resultUrl"
                                    :src="item.resultUrl"
                                    :preview-src-list="[item.resultUrl]"
                                    fit="cover"
                                    style="width: 80px; height: 60px"
                                    preview-teleported
                                />
                            </div>
                        </div>
                    </template>
                </div>
                <!-- 编辑模式 -->
@@ -167,10 +182,11 @@
            </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="statusChange(6)" v-if="taskStatus === '6'">拒绝验收</el-button>
                <el-button color="#F2F3F5" @click="statusChange(7)" v-if="taskStatus === '6'">验收通过</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>
            </template>
            <template v-else>
                <el-button color="#F2F3F5" @click="statusChange(2)" v-if="taskStatus === '0'">拒绝签收</el-button>
@@ -191,6 +207,7 @@
import { gdManageDeviceListApi } from '../orderManage/gdManageDeviceApi'
import { pxToRem } from '@/utils/rem'
import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
import { gdTaskResultListApi } from '@/views/orderView/orderManage/clueEvents/achievementApi'
// 初始化表单数据
const initForm = () => ({
@@ -208,7 +225,7 @@
const mapRef = ref(null)
const dictObj = inject('dictObj')
const requester = inject('requester')
const emit = defineEmits(['success'])
const emit = defineEmits(['success','refusalAccept'])
const formRef = ref(null)
const formData = ref(initForm())
const visible = defineModel()
@@ -277,6 +294,11 @@
    })
}
function refusalToAccept() {
    emit('refusalAccept',formData.value)
    visible.value = false
}
// 获取设备列表
async function getDeviceList() {
    const res = await gdManageDeviceListApi()
@@ -298,11 +320,22 @@
    }
}
let list = ref([])
// 获取成果列表
async function getList() {
    if (!formData.value?.id) return
    try {
        const res = await gdTaskResultListApi({ patrolTaskId: formData.value.id })
        list.value = res?.data?.data ?? []
    } finally {
    }
}
// 打开弹框
async function open({ mode = 'view', row } = {}) {
    dialogMode.value = mode
    formData.value = { ...initForm(), ...row }
    console.log(formData.value)
    formData.value = { ...initForm(), ...row };
    ['6','7','8'].includes(row.taskStatus) && getWorkOrderList()
    initMap()
}
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue
@@ -117,7 +117,7 @@
        </div>
        <FormDiaLog ref="dialogRef" @success="getList" v-if="dialogVisible" v-model="dialogVisible" />
        <ViewDiaLog ref="viewDiaLogRef" @success="getList" v-if="viewDiaLogVisible" v-model="viewDiaLogVisible" />
        <ViewDiaLog ref="viewDiaLogRef" @success="getList" @refusalAccept="refusalAccept" v-if="viewDiaLogVisible" v-model="viewDiaLogVisible" />
    </basic-container>
</template>
<script setup>
@@ -207,22 +207,6 @@
    })
}
// 删除
async function handleDelete(row) {
    const tips = row ? '该条' : '选中的项'
    await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', {
        type: 'warning',
        customClass: 'gd-confirm-custom',
        confirmButtonClass: 'gd-confirm-button',
        cancelButtonClass: 'gd-confirm-cancel-button',
    })
    const ids = row ? row.id : selectedIds.value.join(',')
    await gdPatrolTaskRemoveApi({ ids })
    ElMessage.success('删除成功')
    selectedIds.value = []
    getList()
}
// 勾选值设置
function handleSelectionChange(rows) {
    selectedIds.value = rows.map(item => item.id)
@@ -235,6 +219,13 @@
    })
}
function refusalAccept(row) {
    dialogVisible.value = true
    nextTick(() => {
        dialogRef.value?.open({ mode:'edit', row })
    })
}
onMounted(() => {
    getList()
    getDictList()