Commit 79ba1c58 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 211b2499 8c2fabbd
......@@ -25,3 +25,8 @@ export function getRoleResourceList(params) {
export function distributionSource(params) {
return http.post(`${baseURL}/zwfw/role/auth/distributionSource`, params);
}
// 自动刷新资源
export function refreshUrl(params) {
return http.post(`${baseURL}/zwfw/resource/refreshUrl`, params);
}
......@@ -20,11 +20,16 @@ const router = new VueRouter({
base: process.env.BASE_URL,
routes: routeConfig,
});
router.beforeEach((to, from, next) => {
let islogin = store.getters["user/token"];
// let routerPath = store.getters["user/routerList"];
// let toRootPathArr = to.matched.map((v) => v.path);
// let bol = hasIntersection(toRootPathArr, routerPath);
if (islogin) {
next();
// if (routerPath.includes(to.path) || bol) {
// next();
// }
} else {
// 再次判断防止死循环
if (to.path === "/") {
......@@ -35,6 +40,10 @@ router.beforeEach((to, from, next) => {
}
});
// function hasIntersection(arr1, arr2) {
// return arr1.some((item) => arr2.includes(item));
// }
router.afterEach((to, from, next) => {
window.scrollTo(0, 0);
});
......
......@@ -11,6 +11,7 @@ export default {
siteName: "", // 站点名称
siteId: "", // 站点id
searForm: {}, // 报表搜索
routerList: [], // 用户权限路由
},
getters: {
siteId: (state) => state.siteId,
......@@ -22,8 +23,14 @@ export default {
let { menuList = [] } = state.userData;
return menuList;
},
routerList(state) {
return state.routerList;
},
},
mutations: {
SET_routerList(state, routerList) {
state.routerList = [...new Set([...state.routerList, ...routerList])];
},
SET_USERDATA(state, data) {
state.userData = data;
},
......
......@@ -76,6 +76,7 @@
import Swiper from "swiper";
import { censusListInterface } from "@/api/dataAdmin";
import Storage from "@/utils/js/Storage";
import { mapMutations } from "vuex";
export default {
components: {},
data() {
......@@ -138,6 +139,7 @@ export default {
this.initSwiper();
},
methods: {
...mapMutations("user", ["SET_routerList"]),
initSwiper() {
this.mySwiper = new Swiper(".swiper-container", {
speed: 1500,
......@@ -180,6 +182,7 @@ export default {
CensusType_2: this.CensusType_2,
CensusType_3: this.CensusType_3,
};
this.SET_routerList(this.getReportPath(censusObj));
let key = this.findFirstNonEmpty(censusObj);
if (key) {
this.active = key;
......@@ -189,7 +192,6 @@ export default {
this.censusList = [];
this.active = "CensusType_1";
if (this.$route.path != "/home/dataManagement") {
console.log(1);
this.$router.push("/home/dataManagement");
}
}
......@@ -203,6 +205,7 @@ export default {
this.$router.push(this.censusList[0].censusUrl);
}
},
// 找出第一个不为空的报表类别
findFirstNonEmpty(obj) {
for (let key in obj) {
if (obj[key].length > 0) {
......@@ -211,6 +214,13 @@ export default {
}
return null;
},
// 获取报表路由
getReportPath(obj = {}) {
let arr = Object.values(obj)
.flat()
.map((v) => v.censusUrl);
return arr;
},
changeRouter(path) {
this.$router.push(path);
},
......
......@@ -326,7 +326,12 @@ export default {
this.initSwiper();
},
methods: {
...mapMutations("user", ["set_token", "SET_USERDATA", "set_siteList"]),
...mapMutations("user", [
"set_token",
"SET_USERDATA",
"set_siteList",
"SET_routerList",
]),
initSwiper() {
this.mySwiper = new Swiper(".mySwiper", {
effect: "cube", // 方块动画
......@@ -377,6 +382,7 @@ export default {
this.set_token(token);
this.SET_USERDATA(user);
this.set_siteList(siteList);
this.SET_routerList(this.getUrl(user.menuList));
if (siteList.length) {
storage.set(2, "siteId", siteList[0].id);
storage.set(2, "siteName", siteList[0].siteName);
......@@ -420,6 +426,21 @@ export default {
}
});
},
// 递归获取菜单url
getUrl(menus = []) {
let urls = [];
let fn = (arr) => {
arr.forEach((v) => {
urls.push(v.url);
if (v.childList && v.childList.length) {
fn(v.childList);
}
});
};
fn(menus);
return urls;
},
},
};
</script>
......
......@@ -225,7 +225,7 @@ export default {
imgPath: [
//图标
{
required: true, //是否必选
required: false, //是否必选
message: "请选择图标",
trigger: "change",
},
......@@ -245,7 +245,7 @@ export default {
remark: [
//描述
{
required: true, //是否必选
required: false, //是否必选
message: "请输入描述",
trigger: "blur",
},
......
......@@ -6,6 +6,13 @@
<a-button type="primary" class="addclass" @click="addSresource"
>新增资源</a-button
>
<a-button
v-permission="[1]"
type="primary"
class="addclass"
@click="refSresource"
>刷新资源</a-button
>
<a-button type="danger" @click="delAll">批量删除</a-button>
</a-space>
<a-space>
......@@ -84,7 +91,7 @@
</template>
<script>
import { getResourceList, delResource } from "@/api/resource";
import { getResourceList, delResource, refreshUrl } from "@/api/resource";
import AddResurce from "./components/AddResurce.vue";
export default {
components: {
......@@ -242,6 +249,14 @@ export default {
},
});
},
// 刷新资源
async refSresource() {
let res = await refreshUrl();
if (res.code == 1) {
this.$message.success(res.msg);
this.getResourceList();
}
},
},
};
</script>
......
......@@ -36,7 +36,7 @@
>
</a-select>
</a-form-model-item>
<a-form-model-item label="链接地址" prop="url">
<a-form-model-item label="链接地址">
<a-form-model-item
class="url-params"
v-for="(v, i) in form.urls"
......@@ -133,11 +133,12 @@ export default {
onEdit(row) {
setTimeout(() => {
this.form = { ...row };
this.form.urls = this.form.url.map((v) => {
let arr = this.form.url.map((v) => {
return {
value: v,
};
});
this.$set(this.form, "urls", arr);
}, 10);
},
subForm() {
......@@ -186,16 +187,13 @@ export default {
} else {
this.form.urls.splice(index, 1);
}
// this.$forceUpdate();
},
resetForm() {
// 重置还原表单信息内容
this.$refs.form.resetFields();
this.form.urls = [
{
value: "",
},
];
this.$set(this.form, "urls", [{ value: "" }]);
},
handleCancel() {
this.resetForm();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment