| | |
| | | <!-- 工地专属信息编辑 --> |
| | | <template> |
| | | <BaseSceneInfo |
| | | ref="baseSceneInfo" |
| | | :scene="scene" |
| | | :formInfo="formInfo" |
| | | :scene-type="sceneType" |
| | | > |
| | | <template #form-items> |
| | | <el-form |
| | | v-show="showStyle == 'form'" |
| | | :inline="false" |
| | |
| | | /> |
| | | </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> |
| | |
| | | <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" |
| | |
| | | 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" |
| | |
| | | ></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, |
| | |
| | | ] |
| | | }); |
| | | |
| | | // 创建或更新场景详情 |
| | | 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() { |