From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/views/fysp/scene/CompSceneBaseInfo.vue | 162 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 99 insertions(+), 63 deletions(-)
diff --git a/src/views/fysp/scene/CompSceneBaseInfo.vue b/src/views/fysp/scene/CompSceneBaseInfo.vue
index 602aaf9..bf4ce56 100644
--- a/src/views/fysp/scene/CompSceneBaseInfo.vue
+++ b/src/views/fysp/scene/CompSceneBaseInfo.vue
@@ -1,29 +1,45 @@
<!-- 鍦烘櫙鍩烘湰淇℃伅缂栬緫 -->
<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-form-item>
- <el-form-item label="鍦烘櫙绫诲瀷" prop="_typeObj">
- <el-select v-model="formObj._typeObj" 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-input
+ clearable
+ show-word-limit
+ v-model="formObj.name"
+ placeholder="鍦烘櫙鍚嶇О"
/>
</el-form-item>
+ <!-- 鍦烘櫙绫诲瀷 -->
+ <FYOptionScene
+ :allOption="false"
+ :type="2"
+ :initValue="false"
+ 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-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"
@@ -32,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"
@@ -41,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="鑱旂郴鐢佃瘽">
@@ -54,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" />
@@ -64,22 +86,31 @@
</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({
//鍦烘櫙鍩烘湰淇℃伅
model: {
- type: Object,
- default: () => {
- return {};
- }
+ type: Object
+ // default: () => {
+ // return {};
+ // }
},
//鏄垱寤烘垨鑰呮洿鏂板満鏅�
create: Boolean
});
+
+// const formInfo = ref();
// 鍦烘櫙鍩烘湰淇℃伅锛屽仛鐩稿簲鐨勬暟鎹牸寮忓寲
const formInfo = computed(() => {
@@ -88,11 +119,16 @@
const emit = defineEmits(['onSubmit', 'onCancel']);
-const sceneTypes = reactive(enumScene(2, false));
-const locations = reactive(enumLocation(false));
-const cascaderProps = reactive({
- checkStrictly: true
-});
+// watch(
+// () => props.model,
+// (nV, oV) => {
+// if (nV != oV && nV) {
+// formInfo.value = parseSceneBaseInfo(nV);
+
+// }
+// }
+// );
+
const rules = reactive({
name: [
{
@@ -101,7 +137,7 @@
trigger: 'blur'
}
],
- _typeObj: [
+ _scenetype: [
{
required: true,
message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
@@ -136,21 +172,27 @@
* 瀵瑰満鏅被鍨嬨�佸満鏅鏀垮尯鍒掑拰鍦烘櫙鍙敤鐘舵�佽繘琛屾牸寮忓寲
* @param {*} s 鍦烘櫙淇℃伅
*/
-function parseSceneBaseInfo(s) {
- s._typeObj = {
- label: s.type,
- value: s.typeid + ''
- };
+function parseSceneBaseInfo(param) {
+ const s = unref(param);
+ if (s) {
+ 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';
+ s.online = s.extension1 != '0';
+ }
return s;
}
@@ -181,25 +223,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;
@@ -208,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