Browse Source

Merge remote-tracking branch 'origin/dev' into dev

Hwf 7 months ago
parent
commit
5ca38cdb01

+ 10 - 0
src/api/emergencyCommandMap/JointDuty.ts

@@ -84,6 +84,16 @@ export function updateTaskRegistration(data) {
     data: data
   });
 }
+
+// 查看事业单位
+export function getUnits(params) {
+  return request({
+    url: '/api/taskRegistration/selectUnit',
+    method: 'get',
+    params: params
+  });
+}
+
 // 任务删除
 export function deleteTask(data) {
   return request({

+ 0 - 14
src/types/components.d.ts

@@ -17,13 +17,9 @@ declare module 'vue' {
     Dialog: typeof import('./../components/Dialog/index.vue')['default']
     DictTag: typeof import('./../components/DictTag/index.vue')['default']
     Editor: typeof import('./../components/Editor/index.vue')['default']
-    ElAnchor: typeof import('element-plus/es')['ElAnchor']
-    ElAnchorLink: typeof import('element-plus/es')['ElAnchorLink']
     ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
-    ElCard: typeof import('element-plus/es')['ElCard']
-    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
@@ -44,28 +40,20 @@ declare module 'vue' {
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
-    ElPopover: typeof import('element-plus/es')['ElPopover']
-    ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
     ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
     ElSlider: typeof import('element-plus/es')['ElSlider']
-    ElStep: typeof import('element-plus/es')['ElStep']
-    ElSteps: typeof import('element-plus/es')['ElSteps']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
     ElTree: typeof import('element-plus/es')['ElTree']
-    ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
     ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     FooterSection: typeof import('./../components/FooterSection/index.vue')['default']
@@ -76,7 +64,6 @@ declare module 'vue' {
     HikvisionPlayer: typeof import('./../components/HKVideo/hikvision-player.vue')['default']
     HKVideo: typeof import('./../components/HKVideo/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
-    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
@@ -108,7 +95,6 @@ declare module 'vue' {
     VideoContainer: typeof import('./../components/HKVideo/video-container.vue')['default']
     VideoContainer2: typeof import('./../components/HKVideo/video-container2.vue')['default']
     YMap: typeof import('./../components/Map/YMap.vue')['default']
-    YMapold: typeof import('./../components/Map/YMapold.vue')['default']
     YztMap: typeof import('./../components/Map/YztMap/index.vue')['default']
   }
   export interface ComponentCustomProperties {

+ 4 - 3
src/views/emergencyCommandMap/RightSection/RenWuDengJi.vue

@@ -1,5 +1,6 @@
 <template>
-  <Dialog custom-show type="md" height="auto" title="任务登记" @confirm="confirmRegister" @close="closeDialog">
+  // type分别为sm、md、lg
+  <Dialog custom-show type="sm" title="任务登记" @confirm="confirmRegister" @close="closeDialog">
     <div class="dialog-content">
       <div class="dialog-body">
         <el-form ref="taskFormRef" :model="newTask">
@@ -21,7 +22,7 @@
               :teleported="false"
               clearable
             >
-              <el-option v-for="unit in units" :key="unit.value" :label="unit.label" :value="unit.value" />
+              <el-option v-for="unit in units" :key="unit.id" :label="unit.unit_name" :value="unit.unit_name" />
             </el-select>
           </el-form-item>
           <el-form-item label="登记人" label-width="200px">
@@ -35,7 +36,7 @@
 
 <script lang="ts" setup>
 import { ref, reactive, onMounted } from 'vue';
-import { addTask } from '@/api/emergencyCommandMap/JointDuty.ts';
+import { addTask, getUnits } from '@/api/emergencyCommandMap/JointDuty.ts';
 
 const showRegisterDialog = ref(true);
 const newTask = reactive({

+ 28 - 8
src/views/emergencyCommandMap/RightSection/RenWuGengXin.vue

@@ -5,18 +5,20 @@
         <el-form ref="taskForm" :model="newTask">
           <el-row :gutter="20">
             <el-col :span="24">
-              <el-form-item label="任务描述">
-                <el-input v-model="newTask.task_description" class="custom-input2" />
+              <el-form-item label="任务描述:">
+                <!--                <el-input v-model="newTask.task_description" class="custom-input2" readonly />-->
+                <div class="display-field">{{ newTask.task_description }}</div>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="执行单位">
-                <el-input v-model="newTask.unit_name" class="custom-input2" />
+              <el-form-item label="执行单位:">
+                <!--                <el-input v-model="newTask.unit_name" class="custom-input2" readonly />-->
+                <div class="display-field">{{ newTask.unit_name }}</div>
               </el-form-item>
             </el-col>
             <el-col :span="24">
               <el-form-item label="完成进度">
-                <el-select v-model="newTask.registrar" class="custom-select" size="large" :teleported="false" popper-class="custom-select-popper">
+                <el-select v-model="newTask.processing_status" class="custom-select" size="large" popper-class="custom-select-popper">
                   <el-option v-for="unit in units" :key="unit" :label="unit" :value="unit"></el-option>
                 </el-select>
               </el-form-item>
@@ -60,11 +62,14 @@ const isFormValid = computed(() => newTask.registrar !== '');
 
 const resetForm = () => {
   newTask.task_description = '';
-  newTask.unit_name = '当前用户';
+  newTask.unit_name = '';
   newTask.registrar = '';
 };
 
+// 任务进度更新
 const confirmRegister = async () => {
+  console.log('任务进度更新:', newTask);
+  console.log('提交前的任务状态:', newTask.registrar);
   try {
     const response = await updateTaskRegistration({
       task_id: newTask.task_id,
@@ -90,6 +95,7 @@ watch(
   () => props.task,
   (newTaskData) => {
     Object.assign(newTask, newTaskData);
+    console.log('当前任务状态:', newTask.processing_status);
   },
   { immediate: true }
 );
@@ -97,13 +103,27 @@ watch(
 
 <style lang="scss" scoped>
 .custom-select {
-  width: 500px !important; // 使用 !important 强制覆盖默认样式
+  //width: 500px !important; // 使用 !important 强制覆盖默认样式
 }
 
 .dialog-body {
   padding: 20px;
 }
-
+/* 新增样式,用于显示字段 */
+.display-field {
+  padding: 6px 12px;
+  //border: 1px solid #dcdfe6; /* 确保边框颜色与输入框一致 */
+  border-radius: 4px;
+  //background-color: #f5f7fa;
+  // 背景颜色透明
+  background-color: transparent;
+  min-height: 32px;
+  line-height: 32px;
+  font-size: 40px; /* 确保字体大小与输入框一致 */
+  color: #ffffff; /* 确保字体颜色与输入框一致 */
+  //字体加粗
+  //font-weight: bold;
+}
 .footer {
   display: flex;
   justify-content: flex-end;