修改菜单栏重复点击console会显示bug , 以及行政地区不回显问题

master
lemon橪 2022-03-04 15:12:37 +08:00
parent 2dac958227
commit 33bb16a0d3
4 changed files with 52 additions and 15 deletions

View File

@ -97,6 +97,14 @@ const ShopEntry = (resolve) =>
Vue.use(Router);
/**
* 解决重复点击菜单会控制台报错bug
*/
const routerPush = Router.prototype.push
Router.prototype.push = function push(location) {
return routerPush.call(this, location).catch(error=> error)
}
export default new Router({
mode: "history",
routes: [

View File

@ -13,6 +13,14 @@ const RouterConfig = {
routes: routers
};
/**
* 解决重复点击菜单会控制台报错bug
*/
const routerPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
return routerPush.call(this, location).catch(error=> error)
}
export const router = new VueRouter(RouterConfig);
router.beforeEach((to, from, next) => {
@ -44,3 +52,5 @@ router.afterEach((to) => {
ViewUI.LoadingBar.finish();
window.scrollTo(0, 0);
});

View File

@ -1,7 +1,11 @@
<template>
<Card>
<Row class="operation">
<Button @click="handleAsyncRegion" :loading="asyncLoading" type="primary" icon="md-add"
<Button
@click="handleAsyncRegion"
:loading="asyncLoading"
type="primary"
icon="md-add"
>同步数据</Button
>
</Row>
@ -10,7 +14,6 @@
class="tree"
:data="data"
:load-data="loadData"
expand-node
@on-select-change="changeTree"
></Tree>
<div class="form">
@ -27,7 +30,11 @@
<Input v-model="formValidate.cityCode" />
</FormItem>
<FormItem label="行政区划级别" prop="cityCode">
<RadioGroup type="button" button-style="solid" v-model="formValidate.level">
<RadioGroup
type="button"
button-style="solid"
v-model="formValidate.level"
>
<Radio disabled label="country">国家</Radio>
<Radio disabled label="province">省份</Radio>
<Radio disabled label="city"></Radio>
@ -95,16 +102,18 @@ import {
export default {
data() {
return {
asyncLoading:false, //
asyncLoading: false, //
num: 10, //
modalFlag: false, //
modalFlag: false, //
timerNum: 10, //
data: [], //
id: 0, // id
addValidate: { //
addValidate: {
//
parentName: "无父级",
},
formValidate: { //
formValidate: {
//
adCode: "",
cityCode: "",
center: "",
@ -112,7 +121,8 @@ export default {
orderNum: "",
level: "",
},
ruleValidate: { //
ruleValidate: {
//
adCode: [
{
required: true,
@ -227,12 +237,13 @@ export default {
},
//
changeTree(array, val) {
this.formValidate = val;
val.cityCode == "null" ? (val.cityCode = "") : val.cityCode;
this.$set(this, "formValidate", val);
},
//
loadData(item, callback) {
item.loading = true;
console.log(item);
// console.log(item);
getChildRegion(item.id).then((res) => {
if (res.result.length <= 0) {
item.loading = false;
@ -302,7 +313,7 @@ export default {
let timer;
let number;
this.asyncLoading = true
this.asyncLoading = true;
this.$Message.info({
duration: this.timerNum,
@ -315,9 +326,9 @@ export default {
on: {
click: () => {
this.$Message.destroy();
this.asyncLoading = false
this.asyncLoading = false;
clearInterval(number);
clearTimeout(timer)
clearTimeout(timer);
},
},
},
@ -332,9 +343,9 @@ export default {
}, 1000);
timer = setTimeout(() => {
clearInterval(number)
clearInterval(number);
asyncRegion().then((res) => {
this.asyncLoading = false
this.asyncLoading = false;
this.$Message.loading("地区数据正在更新中!");
});
}, 10000);

View File

@ -13,6 +13,14 @@ const RouterConfig = {
routes: routers
};
/**
* 解决重复点击菜单会控制台报错bug
*/
const routerPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
return routerPush.call(this, location).catch(error=> error)
}
export const router = new VueRouter(RouterConfig);
router.beforeEach((to, from, next) => {