From d1ce79c837650689ab47bbf587d076743fcb3a5f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 19 五月 2025 17:25:38 +0800
Subject: [PATCH] 1. 问题审核界面新增场景信息编辑入口 2. 问题审核界面场景图片查询新增图片类型修改功能

---
 src/views/fysp/scene/CompSceneBaseInfo.vue |  116 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 78 insertions(+), 38 deletions(-)

diff --git a/src/views/fysp/scene/CompSceneBaseInfo.vue b/src/views/fysp/scene/CompSceneBaseInfo.vue
index 8f8b68d..bf4ce56 100644
--- a/src/views/fysp/scene/CompSceneBaseInfo.vue
+++ b/src/views/fysp/scene/CompSceneBaseInfo.vue
@@ -1,19 +1,26 @@
 <!-- 鍦烘櫙鍩烘湰淇℃伅缂栬緫 -->
 <template>
-  <FYForm :form-info="formInfo" :rules="rules" :useReset="true" @submit="submit" @cancel="cancel">
+  <FYForm
+    :form-info="formInfo"
+    :rules="rules"
+    :useReset="true"
+    @submit="submit"
+    @cancel="cancel"
+  >
     <template #form-item="{ formObj }">
       <el-form-item label="鍦烘櫙鍚嶇О" prop="name">
-        <el-input clearable show-word-limit v-model="formObj.name" placeholder="鍦烘櫙鍚嶇О" />
+        <el-input
+          clearable
+          show-word-limit
+          v-model="formObj.name"
+          placeholder="鍦烘櫙鍚嶇О"
+        />
       </el-form-item>
-      <!-- <el-form-item label="鍦烘櫙绫诲瀷" prop="_scenetype">
-        <el-select v-model="formObj._scenetype" placeholder="鍦烘櫙绫诲瀷">
-          <el-option v-for="s in sceneTypes" :key="s.value" :label="s.label" :value="s" />
-        </el-select>
-      </el-form-item> -->
       <!-- 鍦烘櫙绫诲瀷 -->
       <FYOptionScene
         :allOption="false"
         :type="2"
+        :initValue="false"
         v-model:value="formObj._scenetype"
       ></FYOptionScene>
       <!-- 鍖哄幙 -->
@@ -25,10 +32,14 @@
         v-model:value="formObj._locations"
       ></FYOptionLocation>
       <el-form-item label="鍦板潃" prop="location">
-        <el-input show-word-limit clearable v-model="formObj.location" placeholder="鍦板潃" />
+        <el-input
+          show-word-limit
+          clearable
+          v-model="formObj.location"
+          placeholder="鍦板潃"
+        />
       </el-form-item>
       <el-form-item label="缁忓害" prop="longitude">
-        <!-- <el-input type="number" v-model="formObj.longitude" placeholder="缁忓害" /> -->
         <el-input-number
           v-model="formObj.longitude"
           :precision="6"
@@ -37,7 +48,6 @@
         />
       </el-form-item>
       <el-form-item label="绾害" prop="latitude">
-        <!-- <el-input type="number" v-model="formObj.latitude" placeholder="绾害" /> -->
         <el-input-number
           v-model="formObj.latitude"
           :precision="6"
@@ -46,7 +56,12 @@
         />
       </el-form-item>
       <el-form-item label="鑱旂郴浜�" prop="contacts">
-        <el-input show-word-limit clearable v-model="formObj.contacts" placeholder="鑱旂郴浜�" />
+        <el-input
+          show-word-limit
+          clearable
+          v-model="formObj.contacts"
+          placeholder="鑱旂郴浜�"
+        />
       </el-form-item>
       <el-form-item label="鑱旂郴鐢佃瘽" prop="contactst">
         <el-input type="tel" v-model="formObj.contactst" placeholder="鑱旂郴鐢佃瘽">
@@ -59,7 +74,9 @@
       </el-form-item>
       <el-form-item label="鐘舵��" prop="online">
         <el-switch v-model="formObj.online" />
-        <span style="margin-left: 16px">{{ formObj.online ? '鍦ㄧ嚎' : '涓嬬嚎' }}</span>
+        <span style="margin-left: 16px">{{
+          formObj.online ? '鍦ㄧ嚎' : '涓嬬嚎'
+        }}</span>
       </el-form-item>
       <el-form-item label="缂栧彿" prop="index">
         <el-input-number readonly v-model="formObj.index" :step="1" :min="0" />
@@ -69,21 +86,31 @@
 </template>
 
 <script setup>
-import { defineProps, defineEmits, reactive, ref, unref, watch, computed } from 'vue';
+import {
+  defineProps,
+  defineEmits,
+  reactive,
+  ref,
+  unref,
+  watch,
+  computed
+} from 'vue';
 import { enumScene } from '@/enum/scene';
 import sceneApi from '@/api/fysp/sceneApi';
 
 const props = defineProps({
   //鍦烘櫙鍩烘湰淇℃伅
   model: {
-    type: Object,
-    default: () => {
-      return {};
-    }
+    type: Object
+    // default: () => {
+    //   return {};
+    // }
   },
   //鏄垱寤烘垨鑰呮洿鏂板満鏅�
   create: Boolean
 });
+
+// const formInfo = ref();
 
 // 鍦烘櫙鍩烘湰淇℃伅锛屽仛鐩稿簲鐨勬暟鎹牸寮忓寲
 const formInfo = computed(() => {
@@ -92,7 +119,16 @@
 
 const emit = defineEmits(['onSubmit', 'onCancel']);
 
-const sceneTypes = ref(enumScene(2, false));
+// watch(
+//   () => props.model,
+//   (nV, oV) => {
+//     if (nV != oV && nV) {
+//       formInfo.value = parseSceneBaseInfo(nV);
+      
+//     }
+//   }
+// );
+
 const rules = reactive({
   name: [
     {
@@ -138,23 +174,25 @@
  */
 function parseSceneBaseInfo(param) {
   const s = unref(param);
-  s._scenetype = {
-    label: s.type,
-    value: s.typeid + ''
-  };
+  if (s) {
+    s._scenetype = {
+      label: s.type,
+      value: s.typeid + ''
+    };
 
-  s._locations = {
-    pCode: s.provincecode,
-    pName: s.provincename,
-    cCode: s.citycode,
-    cName: s.cityname,
-    dCode: s.districtcode,
-    dName: s.districtname,
-    tCode: s.towncode,
-    tName: s.townname
-  };
+    s._locations = {
+      pCode: s.provincecode,
+      pName: s.provincename,
+      cCode: s.citycode,
+      cName: s.cityname,
+      dCode: s.districtcode,
+      dName: s.districtname,
+      tCode: s.towncode,
+      tName: s.townname
+    };
 
-  s.online = s.extension1 != '0';
+    s.online = s.extension1 != '0';
+  }
 
   return s;
 }
@@ -187,12 +225,12 @@
   const a = v.value._locations;
   v.value.provincecode = a.pCode;
   v.value.provincename = a.pName;
-  v.value.citycode     = a.cCode;
-  v.value.cityname     = a.cName;
+  v.value.citycode = a.cCode;
+  v.value.cityname = a.cName;
   v.value.districtcode = a.dCode;
   v.value.districtname = a.dName;
-  v.value.towncode     = a.tCode;
-  v.value.townname     = a.tName;
+  v.value.towncode = a.tCode;
+  v.value.townname = a.tName;
 
   // 鍦烘櫙绫诲瀷淇℃伅濉厖
   const b = v.value._scenetype;
@@ -204,7 +242,9 @@
 
   v.value.updatedate = new Date().toISOString();
 
-  return props.create ? createScene(v.value, success, fail) : updateScene(v.value, success, fail);
+  return props.create
+    ? createScene(v.value, success, fail)
+    : updateScene(v.value, success, fail);
 }
 function cancel() {
   emit('onCancel');

--
Gitblit v1.9.3