From da51e7d5bbf5ff1610209510571e94d0523b515c Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 24 四月 2024 17:40:37 +0800
Subject: [PATCH] 完善自动评估模块,规范性分析报告的后台任务和结果下载逻辑

---
 src/views/fysp/scene/CompSceneBaseInfo.vue |   88 +++++++++++++++++++++-----------------------
 1 files changed, 42 insertions(+), 46 deletions(-)

diff --git a/src/views/fysp/scene/CompSceneBaseInfo.vue b/src/views/fysp/scene/CompSceneBaseInfo.vue
index 602aaf9..8f8b68d 100644
--- a/src/views/fysp/scene/CompSceneBaseInfo.vue
+++ b/src/views/fysp/scene/CompSceneBaseInfo.vue
@@ -5,20 +5,25 @@
       <el-form-item label="鍦烘櫙鍚嶇О" prop="name">
         <el-input clearable show-word-limit v-model="formObj.name" placeholder="鍦烘櫙鍚嶇О" />
       </el-form-item>
-      <el-form-item label="鍦烘櫙绫诲瀷" prop="_typeObj">
-        <el-select v-model="formObj._typeObj" placeholder="鍦烘櫙绫诲瀷">
+      <!-- <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>
-      <el-form-item label="鐪�/甯�/鍖�/闀�" prop="_locations">
-        <el-cascader
-          v-model="formObj._locations"
-          :options="locations"
-          placeholder="鐪�/甯�/鍖�/闀�"
-          style="width: 300px"
-          :props="cascaderProps"
-        />
-      </el-form-item>
+      </el-form-item> -->
+      <!-- 鍦烘櫙绫诲瀷 -->
+      <FYOptionScene
+        :allOption="false"
+        :type="2"
+        v-model:value="formObj._scenetype"
+      ></FYOptionScene>
+      <!-- 鍖哄幙 -->
+      <FYOptionLocation
+        :allOption="false"
+        :level="4"
+        :initValue="false"
+        :checkStrictly="true"
+        v-model:value="formObj._locations"
+      ></FYOptionLocation>
       <el-form-item label="鍦板潃" prop="location">
         <el-input show-word-limit clearable v-model="formObj.location" placeholder="鍦板潃" />
       </el-form-item>
@@ -64,9 +69,8 @@
 </template>
 
 <script setup>
-import { defineProps, defineEmits, reactive, ref, watch, computed } from 'vue';
+import { defineProps, defineEmits, reactive, ref, unref, watch, computed } from 'vue';
 import { enumScene } from '@/enum/scene';
-import { enumLocation } from '@/enum/location';
 import sceneApi from '@/api/fysp/sceneApi';
 
 const props = defineProps({
@@ -88,11 +92,7 @@
 
 const emit = defineEmits(['onSubmit', 'onCancel']);
 
-const sceneTypes = reactive(enumScene(2, false));
-const locations = reactive(enumLocation(false));
-const cascaderProps = reactive({
-  checkStrictly: true
-});
+const sceneTypes = ref(enumScene(2, false));
 const rules = reactive({
   name: [
     {
@@ -101,7 +101,7 @@
       trigger: 'blur'
     }
   ],
-  _typeObj: [
+  _scenetype: [
     {
       required: true,
       message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
@@ -136,19 +136,23 @@
  * 瀵瑰満鏅被鍨嬨�佸満鏅鏀垮尯鍒掑拰鍦烘櫙鍙敤鐘舵�佽繘琛屾牸寮忓寲
  * @param {*} s 鍦烘櫙淇℃伅
  */
-function parseSceneBaseInfo(s) {
-  s._typeObj = {
+function parseSceneBaseInfo(param) {
+  const s = unref(param);
+  s._scenetype = {
     label: s.type,
     value: s.typeid + ''
   };
 
-  s._locations = [];
-  if (s.provincecode && s.provincecode.length > 0)
-    s._locations.push([s.provincecode, s.provincename]);
-  if (s.citycode && s.citycode.length > 0) s._locations.push([s.citycode, s.cityname]);
-  if (s.districtcode && s.districtcode.length > 0)
-    s._locations.push([s.districtcode, s.districtname]);
-  if (s.towncode && s.towncode.length > 0) s._locations.push([s.towncode, 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';
 
@@ -181,25 +185,17 @@
 function submit(v, success, fail) {
   // 琛屾斂鍖哄垝淇℃伅濉厖
   const a = v.value._locations;
-  if (a[0]) {
-    v.value.provincecode = a[0][0];
-    v.value.provincename = a[0][1];
-  }
-  if (a[1]) {
-    v.value.citycode = a[1][0];
-    v.value.cityname = a[1][1];
-  }
-  if (a[2]) {
-    v.value.districtcode = a[2][0];
-    v.value.districtname = a[2][1];
-  }
-  if (a[3]) {
-    v.value.towncode = a[3][0];
-    v.value.townname = a[3][1];
-  }
+  v.value.provincecode = a.pCode;
+  v.value.provincename = a.pName;
+  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;
 
   // 鍦烘櫙绫诲瀷淇℃伅濉厖
-  const b = v.value._typeObj;
+  const b = v.value._scenetype;
   v.value.typeid = b.value;
   v.value.type = b.label;
 

--
Gitblit v1.9.3