hcong
2024-11-12 8f3255956f85af1df98170fb05e6551cea12e9b0
src/views/fysp/scene/CompSceneConstructionInfo.vue
@@ -1,5 +1,12 @@
<!-- 工地专属信息编辑 -->
<template>
  <BaseSceneInfo
    ref="baseSceneInfo"
    :scene="scene"
    :formInfo="formInfo"
    :scene-type="sceneType"
  >
    <template #form-items>
  <el-form
    v-show="showStyle == 'form'"
    :inline="false"
@@ -53,7 +60,11 @@
      />
    </el-form-item>
    <el-form-item label="占地面积" prop="csFloorSpace">
      <el-input clearable v-model="formObj.csFloorSpace" placeholder="占地面积">
          <el-input
            clearable
            v-model="formObj.csFloorSpace"
            placeholder="占地面积"
          >
        <template #append>㎡</template>
      </el-input>
    </el-form-item>
@@ -162,7 +173,8 @@
      <el-button :disabled="!edit" @click="onReset">重置</el-button>
    </el-form-item>
  </el-form>
    </template>
    <template #description-items>
  <el-descriptions
    v-show="showStyle == 'descriptions'"
    :column="2"
@@ -196,18 +208,15 @@
        v-model="formObj.csProjectType"
        placeholder="工程类型"
    /></el-descriptions-item>
    <!-- <el-descriptions-item label="建设状态"
      ><el-select
        v-model="formObj.csStatus"
        placeholder="建设状态"
      >
        <el-descriptions-item label="建设状态"
          ><el-select v-model="formObj.csStatus" placeholder="建设状态">
        <el-option
          v-for="s in status"
          :key="s.value"
          :label="s.label"
          :value="s.value"
        /> </el-select
    ></el-descriptions-item> -->
        ></el-descriptions-item>
    <el-descriptions-item label="施工阶段"
      ><el-select
        v-model="formObj.siExtension1"
@@ -362,13 +371,14 @@
    ></el-descriptions-item> -->
  </el-descriptions>
</template>
  </BaseSceneInfo>
</template>
<script setup>
import { reactive, ref, watch, computed } from 'vue';
import { useDateFormat } from '@vueuse/core';
import { enumStatusNA, enumStageNA } from '@/enum/construction';
import sceneApi from '@/api/fysp/sceneApi';
import { useFormConfirm } from '@/composables/formConfirm';
import BaseSceneInfo from './BaseSceneInfo.vue';
const props = defineProps({
  scene: Object,
@@ -433,37 +443,9 @@
  ]
});
// 创建或更新场景详情
function createOrupdateSubScene() {
  loading.value = true;
  if (formObj.value._timeRange && formObj.value._timeRange.length == 2) {
    const t = formObj.value._timeRange;
    formObj.value.csStartTime = useDateFormat(t[0], 'YYYY-MM-DD');
    formObj.value.csEndTime = useDateFormat(t[1], 'YYYY-MM-DD');
  }
  return sceneApi
    .updateSubScene(props.sceneType, formObj.value)
    .then((res) => {
      emit('onSubmit', formObj);
      emit('update:formInfo', formObj);
      return res.data;
    })
    .finally(() => {
      loading.value = false;
    });
}
// 更新场景
function updateScene() {
  return sceneApi.updateScene(sceneObj.value).then(() => {
    emit('update:scene', sceneObj);
  });
}
const baseSceneInfo = ref(null);
function submit() {
  updateScene();
  return createOrupdateSubScene();
  return baseSceneInfo.value.submit();
}
function cancel() {