吉安感知网项目-前端
shuishen
2026-01-19 84193342d1e2083f53247f7223740ec8f9ff2c7c
Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
3 files modified
80 ■■■■ changed files
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue 67 ●●●● 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/orderManage/orderManageApi.js 11 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -7,7 +7,7 @@
        :style="{ width: pxToRem(1216) }"
        destroy-on-close
    >
        <div style="display: flex">
        <div class="content" style="display: flex">
            <div class="leftBox">
                <div class="detail-container" v-if="dialogReadonly">
                    <el-row>
@@ -35,6 +35,11 @@
                            <div class="val">{{ formData.remark }}</div>
                        </el-col>
                    </el-row>
                    <el-table ref="deviceTableRef" :data="deviceList" row-key="id">
                        <el-table-column prop="nickname" label="设备名称" />
                        <el-table-column prop="deviceName" label="设备型号" />
                        <el-table-column prop="devicePayload" label="设备负载" />
                    </el-table>
                </div>
                <el-form
                    class="gd-dialog-form"
@@ -110,15 +115,9 @@
                </el-form>
                <div id="mapContainer" class="gd-cesium"></div>
            </div>
            <div>
                <h3>推荐设备</h3>
                <el-table
                    class="command-data-cockpit-table"
                    ref="deviceTableRef"
                    :data="deviceList"
                    row-key="id"
                    @selection-change="handleDeviceSelectionChange"
                >
            <div class="rightBox" v-if="!dialogReadonly">
                <div class="title">推荐设备</div>
                <el-table ref="deviceTableRef" :data="deviceList" row-key="id" @selection-change="handleDeviceSelectionChange">
                    <el-table-column type="selection" width="55" :reserve-selection="true" />
                    <el-table-column prop="nickname" label="设备名称" />
                    <el-table-column prop="deviceName" label="设备型号" />
@@ -128,6 +127,9 @@
        </div>
        <template #footer>
            <el-button color="#F2F3F5" @click="requester = !requester">
                当前用户是{{ requester ? '需求方' : '服务方' }}
            </el-button>
            <el-button color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>
            <el-button
                class="save-btn"
@@ -137,8 +139,16 @@
                :disabled="submitting"
                @click="handleSubmit"
            >
                保存
                发布
            </el-button>
            <template v-if="requester">
                <el-button color="#F2F3F5">拒单原因</el-button>
                <el-button color="#F2F3F5">重新发布</el-button>
            </template>
            <template v-else>
                <el-button color="#F2F3F5">拒绝接单</el-button>
                <el-button class="save-btn" color="#4C34FF" @click="acceptOrders">接单</el-button>
            </template>
        </template>
    </el-dialog>
</template>
@@ -147,7 +157,7 @@
import { computed, ref, onMounted, nextTick } from 'vue'
import { ElMessage } from 'element-plus'
import { dateRangeFormat, fieldRules, geomAnalysis, getDictLabel } from '@ztzf/utils'
import { gdWorkOrderDetailApi, gdWorkOrderSaveApi } from './orderManageApi'
import { gdWorkOrderDetailApi, gdWorkOrderHandleStatusApi, gdWorkOrderSaveApi } from './orderManageApi'
import { gdManageDeviceListApi, gdManageDevicePageApi } from './gdManageDeviceApi'
import { cartesian3Convert } from '@/utils/cesium/mapUtil'
import * as turf from '@turf/turf'
@@ -179,6 +189,7 @@
const submitting = ref(false) // 提交中
const dialogReadonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
const requester = ref(true)
const deviceList = ref([]) // 设备列表
const selectedDevices = ref([]) // 选中的设备
@@ -192,6 +203,14 @@
    workOrderType: fieldRules(true),
    executeStartTime: fieldRules(true),
    deviceLoadDemand: fieldRules(true),
}
function acceptOrders() {
    gdWorkOrderHandleStatusApi({ operationType: 1, workOrderId: formData.value.id }).then(res => {
        ElMessage.success('接单成功')
        visible.value = false
        emit('success')
    })
}
// 获取推荐设备列表
@@ -347,11 +366,23 @@
</script>
<style lang="scss" scoped>
.leftBox {
    width: 681px;
}
#mapContainer {
    width: 681px;
    height: 423px;
.content {
    display: flex;
    gap: 0 20px;
    .leftBox {
        width: 0;
        flex: 1;
        #mapContainer {
            width: 100%;
            height: 423px;
        }
    }
    .rightBox {
        .title {
            font-weight: 500;
            font-size: 14px;
            color: #272e37;
        }
    }
}
</style>
applications/task-work-order/src/views/orderView/orderManage/orderManage/index.vue
@@ -106,7 +106,7 @@
                    <el-table-column label="操作" class-name="operation-btns">
                        <template v-slot="{ row }">
                            <el-link @click="openForm('view', 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>
applications/task-work-order/src/views/orderView/orderManage/orderManage/orderManageApi.js
@@ -27,6 +27,7 @@
    })
}
// 获取工单详情
export const gdWorkOrderDetailApi = params => {
    return request({
@@ -35,3 +36,13 @@
        params,
    })
}
// 修改工单
export const gdWorkOrderHandleStatusApi = data => {
    return request({
        url: `/drone-gd/workOrder/gdWorkOrder/handleStatus`,
        method: 'post',
        data,
    })
}