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/components/search-option/FYOptionLocation.vue | 141 +++++++++++++++++++++++-----------------------
1 files changed, 70 insertions(+), 71 deletions(-)
diff --git a/src/components/search-option/FYOptionLocation.vue b/src/components/search-option/FYOptionLocation.vue
index ea6c3d4..3a0aabb 100644
--- a/src/components/search-option/FYOptionLocation.vue
+++ b/src/components/search-option/FYOptionLocation.vue
@@ -1,20 +1,19 @@
<template>
<el-form-item :label="placeholder" :prop="prop">
<el-cascader
- v-model="selectedOptions"
+ v-bind="$attrs"
+ :model-value="formatedValue"
+ @change="handleChange"
:options="locations"
:placeholder="placeholder"
:props="optionProps"
- style="width: 280px"
+ style="width: 320px"
/>
</el-form-item>
</template>
<script>
-import { enumLocation } from '@/enum/location'
-
-// 璁板綍閫夐」鏄惁鏄嚜瀹氫箟浼犲叆鐨�
-let customValue = true
+import { enumLocation } from '@/enum/location';
export default {
props: {
@@ -23,7 +22,7 @@
type: Boolean,
default: true
},
- // 鏌ヨ鐨勮鏀跨骇鍒紝鍙栧��1锛�2锛�3锛�4
+ // 鏌ヨ鐨勮鏀跨骇鍒紝鍙栧��1锛�2锛�3锛�4, 5, 6
level: {
type: Number,
default: 4
@@ -40,56 +39,38 @@
type: Boolean,
default: true
},
- prop: String
+ prop: {
+ type: String,
+ default: '_locations'
+ }
},
- emits: ['update:value'],
+ emits: ['update:value', 'change'],
data() {
return {
locations: enumLocation(this.allOption, this.level),
- selectedOptions: [],
optionProps: {
checkStrictly: this.checkStrictly
}
- }
+ };
},
computed: {
placeholder() {
- const list = '鐪�/甯�/鍖�/闀�'.split('/')
- const p = []
+ const list = '鐪�/甯�/鍖�/闀�/闆�/鐗�'.split('/');
+ const p = [];
for (let i = 0; i < this.level; i++) {
- p.push(list[i])
+ p.push(list[i]);
}
- return p.join('/')
- }
- },
- watch: {
- selectedOptions: {
- handler(nVal, oVal) {
- if (nVal != oVal) {
- const res = this.optionFormat(nVal)
- // 鏍囨槑姝ゆ椂鐨剉alue鏇存柊鏄粍浠跺唴閮ㄨЕ鍙�
- customValue = false
- this.$emit('update:value', res)
- }
- },
- deep: true
+ return p.join('/');
},
- value: {
- handler(nVal, oVal) {
- // 鍙湁褰撳�兼槸澶栭儴浼犲叆鏃讹紝鎵嶈Е鍙戞洿鏂�
- if (!customValue) {
- customValue = true
- return
- }
- if (nVal != oVal) {
- this.selectedOptions = this.optionFormatReverse(nVal)
- }
- },
- deep: true,
- immediate: true
+ formatedValue() {
+ return this.optionFormatReverse(this.value);
}
},
methods: {
+ handleChange(value) {
+ this.$emit('update:value', this.optionFormat(value));
+ this.$emit('change', this.optionFormat(value));
+ },
/**
* 鍦板尯閫夐」缁撴灉鏍煎紡鍖�
*/
@@ -102,62 +83,80 @@
dCode: null,
dName: null,
tCode: null,
- tName: null
- }
+ tName: null,
+ aCode: null,
+ aName: null,
+ mCode: null,
+ mName: null,
+ };
if (val.length > 0) {
- res.pCode = val[0][0]
- res.pName = val[0][1]
+ res.pCode = val[0][0];
+ res.pName = val[0][1];
}
if (val.length > 1) {
- res.cCode = val[1][0]
- res.cName = val[1][1]
+ res.cCode = val[1][0];
+ res.cName = val[1][1];
}
if (val.length > 2) {
- res.dCode = val[2][0]
- res.dName = val[2][1]
+ res.dCode = val[2][0];
+ res.dName = val[2][1];
}
if (val.length > 3) {
- res.tCode = val[3][0]
- res.tName = val[3][1]
+ res.tCode = val[3][0];
+ res.tName = val[3][1];
}
- return res
+ if (val.length > 4) {
+ res.aCode = val[4][0];
+ res.aName = val[4][1];
+ }
+ if (val.length > 5) {
+ res.mCode = val[5][0];
+ res.mName = val[5][1];
+ }
+ return res;
},
optionFormatReverse(val) {
- const res = []
+ const res = [];
if (val) {
- if (val.pCode) {
- res.push([val.pCode, val.pName])
+ if (val.pName) {
+ res.push([val.pCode, val.pName]);
}
- if (val.cCode) {
- res.push([val.cCode, val.cName])
+ if (val.cName) {
+ res.push([val.cCode, val.cName]);
}
- if (val.dCode) {
- res.push([val.dCode, val.dName])
+ if (val.dName) {
+ res.push([val.dCode, val.dName]);
}
- if (val.tCode) {
- res.push([val.tCode, val.tName])
- }
+ if (val.tName) {
+ res.push([val.tCode, val.tName]);
+ }
+ if (val.aName) {
+ res.push([val.aCode, val.aName]);
+ }
+ if (val.mName) {
+ res.push([val.mCode, val.mName]);
+ }
}
- return res
+ return res;
}
},
mounted() {
if (this.initValue) {
if (this.checkStrictly) {
- this.selectedOptions = [this.locations[0].value]
+ this.handleChange([this.locations[0].value]);
} else {
const f = (location) => {
if (location.children && location.children.length > 0) {
- const r = f(location.children[0])
- r.unshift(location.value)
- return r
+ const r = f(location.children[0]);
+ r.unshift(location.value);
+ return r;
} else {
- return [location.value]
+ return [location.value];
}
- }
- this.selectedOptions = f(this.locations[0])
+ };
+ this.handleChange(f(this.locations[0]));
}
}
}
-}
+};
</script>
--
Gitblit v1.9.3