吉安感知网项目-前端
张含笑
2026-01-21 9eb8bb59b802ceef1f52d334c8e577f2bf02c90e
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -4,16 +4,19 @@
      v-model="visible"
      :title="titleEnum[dialogMode]"
      @closed="visible = false"
      :style="{ width: pxToRem(1216) }"
      width="80%"
      destroy-on-close
   >
      <div class="content" style="display: flex">
         <div class="processBox">
            <div v-for="(item, index) in processList">{{index}}-{{ item.flowName }}{{ item.flowDesc }}</div>
            <el-steps direction="vertical" :active="processList.length">
               <el-step v-for="item in processList" :title="item.flowName" :description="item.flowDesc" />
            </el-steps>
         </div>
         <div class="leftBox">
            <div class="detail-container" v-if="dialogReadonly">
               <el-row>
            <div v-if="dialogReadonly">
               <div class="detail-title">工单详情</div>
               <el-row class="detail-row-view">
                  <el-col :span="12">
                     <div class="label">工单名称</div>
                     <div class="val">{{ formData.workOrderName }}</div>
@@ -38,7 +41,8 @@
                     <div class="val">{{ formData.remark }}</div>
                  </el-col>
               </el-row>
               <el-table ref="deviceTableRef" :data="deviceList" row-key="id">
               <div class="detail-title" :style="{ marginTop: pxToRem(20) }">已选设备</div>
               <el-table class="setHeight" 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="设备负载" />
@@ -116,7 +120,7 @@
                  </el-col>
               </el-row>
            </el-form>
            <div class="detail-title" :style="{ marginTop: pxToRem(20) }">工单执行范围</div>
            <CommonCesiumMap
               ref="mapRef"
               class="leftMap gd-cesium"
@@ -129,7 +133,7 @@
            />
         </div>
         <div class="rightBox" v-if="!dialogReadonly">
            <div class="title">推荐设备</div>
            <div class="detail-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="设备名称" />
@@ -140,50 +144,46 @@
      </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 color="#F2F3F5" @click="visible = false">{{ dialogReadonly ? '关闭' : '取消' }}</el-button>-->
         <el-button
            class="save-btn"
            color="#4C34FF"
            v-if="!dialogReadonly && !formData.id"
            v-if="(!dialogReadonly && !formData.id) || suddenlyEdit"
            :loading="submitting"
            :disabled="submitting"
            @click="handleSubmit"
         >
            发布
         </el-button>
         <template v-if="requester">
            <template v-if="editStatus.includes(gdStatus)">
         <template v-else>
            <template v-if="requester">
               <el-button
                  color="#4C34FF"
                  class="save-btn"
                  color="#4C34FF"
                  v-if="editStatus.includes(gdStatus)"
                  :loading="submitting"
                  :disabled="submitting"
                  @click="handleSubmit"
               >
                  重新发布
                  发布
               </el-button>
               <el-button color="#F2F3F5" v-if="gdStatus === '11'">拒单原因</el-button>
               <el-button color="#F2F3F5" @click="statusChange(3)" v-if="gdStatus === '20'">申请取消</el-button>
               <el-button color="#4C34FF" @click="requestModification" v-if="gdStatus === '20'" class="save-btn">
                  申请修改
               </el-button>
            </template>
            <template v-if="gdStatus === '11'">
               <el-button color="#F2F3F5">拒单原因</el-button>
            </template>
            <template v-else-if="gdStatus === '20'">
               <el-button color="#F2F3F5" @click="statusChange(3)">申请取消</el-button>
               <el-button color="#4C34FF" @click="statusChange(4)" class="save-btn">申请修改</el-button>
            </template>
         </template>
         <template v-else>
            <template v-if="gdStatus === '10'">
               <el-button color="#F2F3F5" @click="rejectOrders">拒绝接单</el-button>
               <el-button color="#4C34FF" @click="statusChange(1)" class="save-btn">接单</el-button>
            </template>
            <template v-else-if="gdStatus === '22'">
               <el-button color="#F2F3F5" @click="statusChange(7)">同意修改</el-button>
               <el-button color="#4C34FF" @click="statusChange(8)" class="save-btn">不同意修改</el-button>
            </template>
            <template v-else-if="gdStatus === '21'">
               <el-button color="#F2F3F5" @click="statusChange(5)">同意取消</el-button>
               <el-button color="#4C34FF" @click="statusChange(6)" class="save-btn">不同意取消</el-button>
            <template v-else>
               <el-button color="#F2F3F5" v-if="gdStatus === '10'" @click="rejectOrders">拒绝接单</el-button>
               <el-button color="#4C34FF" v-if="gdStatus === '10'" @click="statusChange(1)" class="save-btn">接单</el-button>
               <el-button color="#F2F3F5" v-if="gdStatus === '22'" @click="statusChange(7)">同意修改</el-button>
               <el-button color="#4C34FF" v-if="gdStatus === '22'" @click="statusChange(8)" class="save-btn">
                  不同意修改
               </el-button>
               <el-button color="#F2F3F5" v-if="gdStatus === '21'" @click="statusChange(5)">同意取消</el-button>
               <el-button color="#4C34FF" v-if="gdStatus === '21'" @click="statusChange(6)" class="save-btn">
                  不同意取消
               </el-button>
            </template>
         </template>
      </template>
@@ -265,6 +265,15 @@
   gdWorkOrderHandleStatusApi({ operationType: operationType, workOrderId: formData.value.id }).then(res => {
      visible.value = false
      emit('success')
   })
}
const suddenlyEdit = ref(false)
function requestModification() {
   suddenlyEdit.value = true
   dialogMode.value = 'edit'
   nextTick(() => {
      syncSelection()
   })
}
@@ -393,7 +402,7 @@
         material: Cesium.Color.RED,
      },
   })
   viewer.flyTo(mian)
   viewer.flyTo(mian, { duration: 0 })
}
// 同步关联场景
@@ -445,6 +454,8 @@
   .leftBox {
      width: 0;
      flex: 1;
      display: flex;
      flex-direction: column;
      .gd-cesium {
         width: 100%;
         height: 423px;
@@ -457,5 +468,13 @@
         color: #272e37;
      }
   }
   .processBox {
      width: 312px;
   }
}
.setHeight {
   max-height: 300px;
   min-height: 200px;
}
</style>