吉安感知网项目-前端
罗广辉
2026-01-20 f8e839792af401e97e83456a3a04fb13066838a2
feat: 巡查按钮权限
4 files modified
57 ■■■■ changed files
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue 29 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue 17 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/inspectionRequestApi.js 9 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue 2 ●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -154,7 +154,7 @@
        </div>
        <template #footer>
            <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
            <!--            <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>-->
            <el-button
                class="save-btn"
                color="#4C34FF"
@@ -165,6 +165,19 @@
            >
                确认
            </el-button>
            <template v-if="requester">
                <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>
            </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>
            </template>
        </template>
    </el-dialog>
</template>
@@ -173,7 +186,7 @@
import { computed, ref, onMounted } from 'vue'
import { ElMessage } from 'element-plus'
import { fieldRules, getDictLabel } from '@ztzf/utils'
import { gdPatrolTaskRepublish, gdFlyerPageApi } from './inspectionRequestApi'
import { gdPatrolTaskRepublish, gdFlyerPageApi, gdPatrolTaskAuditApi } from './inspectionRequestApi'
import { gdWorkOrderPageApi } from '../orderManage/orderManageApi'
import { gdManageDeviceListApi } from '../orderManage/gdManageDeviceApi'
import { pxToRem } from '@/utils/rem'
@@ -194,6 +207,7 @@
const mapRef = ref(null)
const dictObj = inject('dictObj')
const requester = inject('requester')
const emit = defineEmits(['success'])
const formRef = ref(null)
const formData = ref(initForm())
@@ -202,7 +216,7 @@
const submitting = ref(false)
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看' })
const taskStatus = computed(() => formData.value.taskStatus)
// 下拉选项
const flyerList = ref([])
const deviceList = ref([])
@@ -255,6 +269,14 @@
    flyerList.value = res?.data?.data?.records ?? []
}
// 操作类型:1.同意签收、2.拒绝签收 、3.撤回任务 、4.同意审核、 5.拒绝审核、 6.验收通过、 7.验收拒绝
function statusChange(auditStatus) {
    gdPatrolTaskAuditApi({ auditStatus, id: formData.value.id }).then(res => {
        visible.value = false
        emit('success')
    })
}
// 获取设备列表
async function getDeviceList() {
    const res = await gdManageDeviceListApi()
@@ -280,6 +302,7 @@
async function open({ mode = 'view', row } = {}) {
    dialogMode.value = mode
    formData.value = { ...initForm(), ...row }
    console.log(formData.value)
    initMap()
}
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/index.vue
@@ -63,6 +63,8 @@
        </el-form>
        <div class="gd-table-toolbar">
            <el-button color="#F2F3F5" @click="requester = !requester">我是{{ requester ? '需求方' : '服务方' }}</el-button>
            <el-button :icon="Plus" color="#4C34FF" type="primary" @click="openForm('add')">新增</el-button>
            <el-button :icon="Delete" color="#4C34FF" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>
        </div>
@@ -90,9 +92,8 @@
                    <el-table-column prop="taskDesc" show-overflow-tooltip label="巡查任务描述" />
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="viewDiaLogView('view', row)">查看</el-link>
                            <el-link @click="openForm('edit', row)">编辑</el-link>
                            <el-link @click="handleDelete(row)">删除</el-link>
                            <el-link @click="viewDiaLogView(row)">查看</el-link>
                            <!--                            <el-link @click="openForm('edit', row)">编辑</el-link>-->
                        </template>
                    </el-table-column>
                </el-table>
@@ -210,9 +211,17 @@
    })
}
function viewDiaLogView(mode, row) {
// 状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回
// 5审核通过、6待验收、7拒绝验收、8验收通过
function viewDiaLogView(row) {
    viewDiaLogVisible.value = true
    nextTick(() => {
        let mode
        if (requester.value) {
            mode = ['0', '2', '3', '5', '6', '7', '8'].includes(row.taskStatus) ? 'view' : 'edit'
        } else {
            mode = 'view'
        }
        viewDiaLogRef.value?.open({ mode, row })
    })
}
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/inspectionRequestApi.js
@@ -44,3 +44,12 @@
        data,
    })
}
// 审核巡查任务 - 传入审核参数,拒绝时必须填写拒绝原因
export const gdPatrolTaskAuditApi = data => {
    return request({
        url: `/drone-gd/workOrder/gdPatrolTask/audit`,
        method: 'post',
        data,
    })
}
applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
@@ -108,7 +108,7 @@
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="openFormChange(row)">查看</el-link>
                            <!--                            <el-link @click="openForm('edit', row)">编辑</el-link>-->
                            <!--<el-link @click="openForm('edit', row)">编辑</el-link>-->
                            <el-link @click="handleDelete(row)">删除</el-link>
                        </template>
                    </el-table-column>