From efc06c748272a8a6ba73c964f018ad3a50451aaa Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 12 十一月 2024 15:58:38 +0800
Subject: [PATCH] 撤回多余的提交

---
 src/views/fysp/scene/CompSceneConstructionInfo.vue |  684 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 357 insertions(+), 327 deletions(-)

diff --git a/src/views/fysp/scene/CompSceneConstructionInfo.vue b/src/views/fysp/scene/CompSceneConstructionInfo.vue
index 6d2c70f..ca21b75 100644
--- a/src/views/fysp/scene/CompSceneConstructionInfo.vue
+++ b/src/views/fysp/scene/CompSceneConstructionInfo.vue
@@ -1,303 +1,334 @@
 <!-- 宸ュ湴涓撳睘淇℃伅缂栬緫 -->
 <template>
-  <el-form
-    v-if="showStyle == 'form'"
-    :inline="false"
-    :model="formObj"
-    ref="formRef"
-    :rules="rules"
-    label-position="right"
-    label-width="150px"
+  <BaseSceneInfo
+    ref="baseSceneInfo"
+    :scene="scene"
+    :formInfo="formInfo"
+    :scene-type="sceneType"
   >
-    <el-form-item label="宸ョ▼绫诲瀷" prop="csProjectType">
-      <el-input
-        clearable
-        v-model="formObj.csProjectType"
-        placeholder="宸ョ▼绫诲瀷"
-      />
-    </el-form-item>
-    <el-form-item label="寤鸿鐘舵��" prop="csStatus">
-      <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-form-item>
-    <el-form-item label="鏂藉伐闃舵" prop="siExtension1">
-      <el-select v-model="formObj.siExtension1" placeholder="鏂藉伐闃舵">
-        <el-option
-          v-for="s in stage"
-          :key="s.value"
-          :label="s.label"
-          :value="s.value"
-        />
-      </el-select>
-    </el-form-item>
-    <el-form-item label="鏂藉伐鏃堕棿" prop="_timeRange">
-      <el-date-picker
-        v-model="formObj._timeRange"
-        type="daterange"
-        range-separator="鑷�"
-        start-placeholder="寮�宸ユ椂闂�"
-        end-placeholder="瀹屽伐鏃堕棿"
-      />
-    </el-form-item>
-    <el-form-item label="鍓╀綑宸ユ湡" prop="csLeftTime">
-      <el-input
-        clearable
-        v-model="formObj.csLeftTime"
-        placeholder="鍓╀綑宸ユ湡锛屼緥濡傚嚑骞淬�佸嚑鏈堛�佸嚑鍛ㄣ�佸嚑澶╃瓑"
-      />
-    </el-form-item>
-    <el-form-item label="鍗犲湴闈㈢Н" prop="csFloorSpace">
-      <el-input clearable v-model="formObj.csFloorSpace" placeholder="鍗犲湴闈㈢Н">
-        <template #append>銕�</template>
-      </el-input>
-    </el-form-item>
-    <el-form-item label="鏂藉伐闈㈢Н" prop="csConstructionArea">
-      <el-input
-        clearable
-        v-model="formObj.csConstructionArea"
-        placeholder="鏂藉伐闈㈢Н"
+    <template #form-items>
+      <el-form
+        v-show="showStyle == 'form'"
+        :inline="false"
+        :model="formObj"
+        ref="formRef"
+        :rules="rules"
+        label-position="right"
+        label-width="150px"
       >
-        <template #append>銕�</template>
-      </el-input>
-    </el-form-item>
-    <el-form-item label="姣忔湀鏂藉伐闈㈢Н" prop="csConstructionAreaPerMonth">
-      <el-input
-        clearable
-        v-model="formObj.csConstructionAreaPerMonth"
-        placeholder="姣忔湀鏂藉伐闈㈢Н"
-      >
-        <template #append>銕�</template>
-      </el-input>
-    </el-form-item>
-    <el-form-item label="涓氫富鍗曚綅" prop="csEmployerUnit">
-      <el-input
-        clearable
-        v-model="formObj.csEmployerUnit"
-        placeholder="涓氫富鍗曚綅"
-      />
-    </el-form-item>
-    <el-form-item label="涓氫富鍗曚綅鑱旂郴浜�" prop="csEmployerContacts">
-      <el-input
-        clearable
-        v-model="formObj.csEmployerContacts"
-        placeholder="涓氫富鍗曚綅鑱旂郴浜�"
-      />
-    </el-form-item>
-    <el-form-item
-      label="涓氫富鍗曚綅鑱旂郴鐢佃瘽"
-      prop="csEmployerContactsTel"
-      class="input-with-select"
-    >
-      <el-input
-        clearable
-        type="tel"
-        v-model="formObj.csEmployerContactsTel"
-        placeholder="涓氫富鍗曚綅鑱旂郴鐢佃瘽"
-      >
-        <template #prepend>
-          <el-icon><Iphone /></el-icon>
-        </template>
-      </el-input>
-    </el-form-item>
-    <el-form-item label="鏂藉伐鍗曚綅" prop="csConstructionUnit">
-      <el-input
-        clearable
-        v-model="formObj.csConstructionUnit"
-        placeholder="鏂藉伐鍗曚綅"
-      />
-    </el-form-item>
-    <el-form-item label="鏂藉伐鍗曚綅鑱旂郴浜�" prop="csConstructionContacts">
-      <el-input
-        clearable
-        v-model="formObj.csConstructionContacts"
-        placeholder="鏂藉伐鍗曚綅鑱旂郴浜�"
-      />
-    </el-form-item>
-    <el-form-item label="鏂藉伐鍗曚綅鑱旂郴鐢佃瘽" prop="csConstructionContactsTel">
-      <el-input
-        clearable
-        type="tel"
-        v-model="formObj.csConstructionContactsTel"
-        placeholder="鏂藉伐鍗曚綅鑱旂郴鐢佃瘽"
-      >
-        <template #prepend>
-          <el-icon><Iphone /></el-icon>
-        </template>
-      </el-input>
-    </el-form-item>
-    <el-form-item label="瀹夊叏鍛�" prop="csSecurityOfficer">
-      <el-input
-        clearable
-        v-model="formObj.csSecurityOfficer"
-        placeholder="瀹夊叏鍛�"
-      />
-    </el-form-item>
-    <el-form-item label="瀹夊叏鍛樼數璇�" prop="csSecurityOfficerTel">
-      <el-input
-        clearable
-        type="tel"
-        v-model="formObj.csSecurityOfficerTel"
-        placeholder="瀹夊叏鍛樼數璇�"
-      >
-        <template #prepend>
-          <el-icon><Iphone /></el-icon>
-        </template>
-      </el-input>
-    </el-form-item>
+        <el-form-item label="宸ョ▼绫诲瀷" prop="csProjectType">
+          <el-input
+            clearable
+            v-model="formObj.csProjectType"
+            placeholder="宸ョ▼绫诲瀷"
+          />
+        </el-form-item>
+        <el-form-item label="寤鸿鐘舵��" prop="csStatus">
+          <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-form-item>
+        <el-form-item label="鏂藉伐闃舵" prop="siExtension1">
+          <el-select v-model="formObj.siExtension1" placeholder="鏂藉伐闃舵">
+            <el-option
+              v-for="s in stage"
+              :key="s.value"
+              :label="s.label"
+              :value="s.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鏂藉伐鏃堕棿" prop="_timeRange">
+          <el-date-picker
+            v-model="formObj._timeRange"
+            type="daterange"
+            range-separator="鑷�"
+            start-placeholder="寮�宸ユ椂闂�"
+            end-placeholder="瀹屽伐鏃堕棿"
+          />
+        </el-form-item>
+        <el-form-item label="鍓╀綑宸ユ湡" prop="csLeftTime">
+          <el-input
+            clearable
+            v-model="formObj.csLeftTime"
+            placeholder="鍓╀綑宸ユ湡锛屼緥濡傚嚑骞淬�佸嚑鏈堛�佸嚑鍛ㄣ�佸嚑澶╃瓑"
+          />
+        </el-form-item>
+        <el-form-item label="鍗犲湴闈㈢Н" prop="csFloorSpace">
+          <el-input
+            clearable
+            v-model="formObj.csFloorSpace"
+            placeholder="鍗犲湴闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="鏂藉伐闈㈢Н" prop="csConstructionArea">
+          <el-input
+            clearable
+            v-model="formObj.csConstructionArea"
+            placeholder="鏂藉伐闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="姣忔湀鏂藉伐闈㈢Н" prop="csConstructionAreaPerMonth">
+          <el-input
+            clearable
+            v-model="formObj.csConstructionAreaPerMonth"
+            placeholder="姣忔湀鏂藉伐闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="涓氫富鍗曚綅" prop="csEmployerUnit">
+          <el-input
+            clearable
+            v-model="formObj.csEmployerUnit"
+            placeholder="涓氫富鍗曚綅"
+          />
+        </el-form-item>
+        <el-form-item label="涓氫富鍗曚綅鑱旂郴浜�" prop="csEmployerContacts">
+          <el-input
+            clearable
+            v-model="formObj.csEmployerContacts"
+            placeholder="涓氫富鍗曚綅鑱旂郴浜�"
+          />
+        </el-form-item>
+        <el-form-item
+          label="涓氫富鍗曚綅鑱旂郴鐢佃瘽"
+          prop="csEmployerContactsTel"
+          class="input-with-select"
+        >
+          <el-input
+            clearable
+            type="tel"
+            v-model="formObj.csEmployerContactsTel"
+            placeholder="涓氫富鍗曚綅鑱旂郴鐢佃瘽"
+          >
+            <template #prepend>
+              <el-icon><Iphone /></el-icon>
+            </template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="鏂藉伐鍗曚綅" prop="csConstructionUnit">
+          <el-input
+            clearable
+            v-model="formObj.csConstructionUnit"
+            placeholder="鏂藉伐鍗曚綅"
+          />
+        </el-form-item>
+        <el-form-item label="鏂藉伐鍗曚綅鑱旂郴浜�" prop="csConstructionContacts">
+          <el-input
+            clearable
+            v-model="formObj.csConstructionContacts"
+            placeholder="鏂藉伐鍗曚綅鑱旂郴浜�"
+          />
+        </el-form-item>
+        <el-form-item label="鏂藉伐鍗曚綅鑱旂郴鐢佃瘽" prop="csConstructionContactsTel">
+          <el-input
+            clearable
+            type="tel"
+            v-model="formObj.csConstructionContactsTel"
+            placeholder="鏂藉伐鍗曚綅鑱旂郴鐢佃瘽"
+          >
+            <template #prepend>
+              <el-icon><Iphone /></el-icon>
+            </template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="瀹夊叏鍛�" prop="csSecurityOfficer">
+          <el-input
+            clearable
+            v-model="formObj.csSecurityOfficer"
+            placeholder="瀹夊叏鍛�"
+          />
+        </el-form-item>
+        <el-form-item label="瀹夊叏鍛樼數璇�" prop="csSecurityOfficerTel">
+          <el-input
+            clearable
+            type="tel"
+            v-model="formObj.csSecurityOfficerTel"
+            placeholder="瀹夊叏鍛樼數璇�"
+          >
+            <template #prepend>
+              <el-icon><Iphone /></el-icon>
+            </template>
+          </el-input>
+        </el-form-item>
 
-    <el-form-item>
-      <el-button
-        :disabled="!edit"
-        type="primary"
-        @click="onSubmit"
-        :loading="loading"
-        >鎻愪氦</el-button
-      >
-      <el-button :disabled="!edit" @click="onReset">閲嶇疆</el-button>
-    </el-form-item>
-  </el-form>
-
-  <el-descriptions
-    v-else-if="showStyle == 'descriptions'"
-    :column="2"
-    :size="fontSize"
-    direction="horizontal"
-    border
-  >
-    <template #title>
-      <el-text tag="h1">{{ title }}</el-text>
+        <el-form-item>
+          <el-button
+            :disabled="!edit"
+            type="primary"
+            @click="onSubmit"
+            :loading="loading"
+            >鎻愪氦</el-button
+          >
+          <el-button :disabled="!edit" @click="onReset">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
     </template>
-    <template #extra>
-      <el-button
+    <template #description-items>
+      <el-descriptions
+        v-show="showStyle == 'descriptions'"
+        :column="2"
         :size="fontSize"
-        :disabled="!edit"
-        type="primary"
-        @click="onSubmit"
-        :loading="loading"
-        >鎻愪氦</el-button
+        direction="horizontal"
+        border
       >
-      <el-button :size="fontSize" :disabled="!edit" @click="onReset"
-        >閲嶇疆</el-button
-      >
-    </template>
-    <el-descriptions-item label="宸ョ▼绫诲瀷"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csProjectType"
-        placeholder="宸ョ▼绫诲瀷"
-    /></el-descriptions-item>
-    <!-- <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 label="鏂藉伐闃舵"
-      ><el-select
-        v-model="formObj.siExtension1"
-        placeholder="鏂藉伐闃舵"
-        :size="fontSize"
-      >
-        <el-option
-          v-for="s in stage"
-          :key="s.value"
-          :label="s.label"
-          :value="s.value"
-        /> </el-select
-    ></el-descriptions-item>
-    <el-descriptions-item label="鏂藉伐鏃堕棿"
-      ><el-date-picker
-        :size="fontSize"
-        v-model="formObj._timeRange"
-        type="daterange"
-        range-separator="鑷�"
-        start-placeholder="寮�宸ユ椂闂�"
-        end-placeholder="瀹屽伐鏃堕棿"
-    /></el-descriptions-item>
-    <el-descriptions-item label="鍓╀綑宸ユ湡"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csLeftTime"
-        placeholder="鍓╀綑宸ユ湡锛屼緥濡傚嚑骞淬�佸嚑鏈堛�佸嚑鍛ㄣ�佸嚑澶╃瓑"
-    /></el-descriptions-item>
-    <el-descriptions-item label="鏂藉伐鍦板潃" span="2"
-      ><el-input
-        clearable
-        v-model="formObj.location"
-        placeholder="鏂藉伐鍦板潃"
-        :size="fontSize"
-    /></el-descriptions-item>
-    <el-descriptions-item label="鍗犲湴闈㈢Н" rowspan="2"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csFloorSpace"
-        placeholder="鍗犲湴闈㈢Н"
-      >
-        <template #append>銕�</template>
-      </el-input></el-descriptions-item
-    >
-    <el-descriptions-item label="鏂藉伐闈㈢Н"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csConstructionArea"
-        placeholder="鏂藉伐闈㈢Н"
-      >
-        <template #append>銕�</template>
-      </el-input></el-descriptions-item
-    >
-    <el-descriptions-item label="姣忔湀鏂藉伐闈㈢Н"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csConstructionAreaPerMonth"
-        placeholder="姣忔湀鏂藉伐闈㈢Н"
-      >
-        <template #append>銕�</template>
-      </el-input></el-descriptions-item
-    >
-    <el-descriptions-item label="瀹夊叏鍛�"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csSecurityOfficer"
-        placeholder="瀹夊叏鍛�"
-    /></el-descriptions-item>
-    <el-descriptions-item label="瀹夊叏鍛樼數璇�"
-      ><el-input
-        :size="fontSize"
-        clearable
-        type="tel"
-        v-model="formObj.csSecurityOfficerTel"
-        placeholder="瀹夊叏鍛樼數璇�"
-      >
-        <template #prepend>
-          <el-icon><Iphone /></el-icon>
-        </template> </el-input
-    ></el-descriptions-item>
-    <el-descriptions-item label="鎬诲寘鍗曚綅"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csConstructionUnit"
-        placeholder="鎬诲寘鍗曚綅"
-    /></el-descriptions-item>
-    <!-- <el-descriptions-item label="鏂藉伐鍗曚綅鑱旂郴浜�"
+        <template #title>
+          <el-text tag="h1">{{ title }}</el-text>
+        </template>
+        <template #extra>
+          <el-button
+            :disabled="!edit && !ignoreEdit"
+            :size="fontSize"
+            type="primary"
+            @click="onSubmit"
+            :loading="loading"
+            >鎻愪氦</el-button
+          >
+          <el-button
+            :size="fontSize"
+            :disabled="!edit && !ignoreEdit"
+            @click="onReset"
+            >閲嶇疆</el-button
+          >
+        </template>
+        <el-descriptions-item label="宸ョ▼绫诲瀷"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csProjectType"
+            placeholder="宸ョ▼绫诲瀷"
+        /></el-descriptions-item>
+        <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 label="鏂藉伐闃舵"
+          ><el-select
+            v-model="formObj.siExtension1"
+            placeholder="鏂藉伐闃舵"
+            :size="fontSize"
+          >
+            <el-option
+              v-for="s in stage"
+              :key="s.value"
+              :label="s.label"
+              :value="s.value"
+            /> </el-select
+        ></el-descriptions-item>
+        <el-descriptions-item label="鏂藉伐鏃堕棿"
+          ><el-date-picker
+            :size="fontSize"
+            v-model="formObj._timeRange"
+            type="daterange"
+            range-separator="鑷�"
+            start-placeholder="寮�宸ユ椂闂�"
+            end-placeholder="瀹屽伐鏃堕棿"
+        /></el-descriptions-item>
+        <el-descriptions-item label="鍓╀綑宸ユ湡"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csLeftTime"
+            placeholder="鍓╀綑宸ユ湡锛屼緥濡傚嚑骞淬�佸嚑鏈堛�佸嚑鍛ㄣ�佸嚑澶╃瓑"
+        /></el-descriptions-item>
+        <el-descriptions-item label="鏂藉伐鍦板潃" span="2"
+          ><el-input
+            clearable
+            v-model="sceneObj.location"
+            placeholder="鏂藉伐鍦板潃"
+            :size="fontSize"
+        /></el-descriptions-item>
+        <el-descriptions-item label="鍗犲湴闈㈢Н" rowspan="2"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csFloorSpace"
+            placeholder="鍗犲湴闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input></el-descriptions-item
+        >
+        <el-descriptions-item label="鏂藉伐闈㈢Н"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csConstructionArea"
+            placeholder="鏂藉伐闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input></el-descriptions-item
+        >
+        <el-descriptions-item label="姣忔湀鏂藉伐闈㈢Н"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csConstructionAreaPerMonth"
+            placeholder="姣忔湀鏂藉伐闈㈢Н"
+          >
+            <template #append>銕�</template>
+          </el-input></el-descriptions-item
+        >
+        <el-descriptions-item label="椤圭洰璐熻矗浜�"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="sceneObj.contacts"
+            placeholder="椤圭洰璐熻矗浜�"
+        /></el-descriptions-item>
+        <el-descriptions-item label="椤圭洰璐熻矗浜虹數璇�"
+          ><el-input
+            :size="fontSize"
+            clearable
+            type="tel"
+            v-model="sceneObj.contactst"
+            placeholder="椤圭洰璐熻矗浜虹數璇�"
+          >
+            <template #prepend>
+              <el-icon><Iphone /></el-icon>
+            </template> </el-input
+        ></el-descriptions-item>
+        <el-descriptions-item label="瀹夊叏鍛�"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csSecurityOfficer"
+            placeholder="瀹夊叏鍛�"
+        /></el-descriptions-item>
+        <el-descriptions-item label="瀹夊叏鍛樼數璇�"
+          ><el-input
+            :size="fontSize"
+            clearable
+            type="tel"
+            v-model="formObj.csSecurityOfficerTel"
+            placeholder="瀹夊叏鍛樼數璇�"
+          >
+            <template #prepend>
+              <el-icon><Iphone /></el-icon>
+            </template> </el-input
+        ></el-descriptions-item>
+        <el-descriptions-item label="鎬诲寘鍗曚綅"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csConstructionUnit"
+            placeholder="鎬诲寘鍗曚綅"
+        /></el-descriptions-item>
+        <!-- <el-descriptions-item label="鏂藉伐鍗曚綅鑱旂郴浜�"
       ><el-input
         clearable
         v-model="formObj.csConstructionContacts"
@@ -314,14 +345,14 @@
           <el-icon><Iphone /></el-icon>
         </template> </el-input
     ></el-descriptions-item> -->
-    <el-descriptions-item label="寤鸿鍗曚綅"
-      ><el-input
-        :size="fontSize"
-        clearable
-        v-model="formObj.csEmployerUnit"
-        placeholder="寤鸿鍗曚綅"
-    /></el-descriptions-item>
-    <!-- <el-descriptions-item label="涓氫富鍗曚綅鑱旂郴浜�"
+        <el-descriptions-item label="寤鸿鍗曚綅"
+          ><el-input
+            :size="fontSize"
+            clearable
+            v-model="formObj.csEmployerUnit"
+            placeholder="寤鸿鍗曚綅"
+        /></el-descriptions-item>
+        <!-- <el-descriptions-item label="涓氫富鍗曚綅鑱旂郴浜�"
       ><el-input
         clearable
         v-model="formObj.csEmployerContacts"
@@ -338,15 +369,16 @@
           <el-icon><Iphone /></el-icon>
         </template> </el-input
     ></el-descriptions-item> -->
-  </el-descriptions>
+      </el-descriptions>
+    </template>
+  </BaseSceneInfo>
 </template>
 
 <script setup>
-import { defineProps, defineEmits, reactive, ref, watch } from 'vue';
-import { useDateFormat } from '@vueuse/core';
+import { reactive, ref, watch, computed } from 'vue';
 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,
@@ -366,8 +398,14 @@
   title: String
 });
 const fontSize = ref('small');
-const emit = defineEmits(['onSubmit', 'onCancel']);
+const emit = defineEmits([
+  'onSubmit',
+  'onCancel',
+  'update:scene',
+  'update:formInfo'
+]);
 
+const sceneObj = ref({});
 const { formObj, formRef, edit, onSubmit, onReset } = useFormConfirm({
   submit: {
     do: submit
@@ -376,6 +414,8 @@
     do: cancel
   }
 });
+const ignoreEdit = computed(() => props.showStyle == 'descriptions');
+
 const loading = ref(false);
 const status = reactive(enumStatusNA());
 const stage = reactive(enumStageNA());
@@ -403,29 +443,9 @@
   ]
 });
 
-// 鍒涘缓鎴栨洿鏂板満鏅鎯�
-function createOrupdateScene() {
-  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) => {
-      return res.data;
-    })
-    .finally(() => {
-      loading.value = false;
-    });
-}
-
+const baseSceneInfo = ref(null);
 function submit() {
-  emit('onSubmit', formObj);
-
-  return createOrupdateScene();
+  return baseSceneInfo.value.submit();
 }
 
 function cancel() {
@@ -445,6 +465,16 @@
   },
   { deep: false, immediate: true }
 );
+
+watch(
+  () => props.scene,
+  (nValue) => {
+    if (nValue) {
+      sceneObj.value = nValue;
+    }
+  },
+  { deep: false, immediate: true }
+);
 </script>
 
 <style>

--
Gitblit v1.9.3