From 92c3f21594836eaef5328130abe45e46d08a748e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 14 十月 2024 17:36:31 +0800
Subject: [PATCH] 1. 修复由于合并而缺少的下拉框宽度属性
---
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