区域字典

dongdingding
许宏杰 2 years ago
parent b45801d44f
commit 2dda26067c

@ -0,0 +1,9 @@
import request from "@/utils/request";
export function listTown(query) {
return request({
url: "/zongzhi/town/list",
method: "get",
params: query,
});
}

@ -1,19 +1,20 @@
const getters = { const getters = {
sidebar: state => state.app.sidebar, sidebar: (state) => state.app.sidebar,
size: state => state.app.size, size: (state) => state.app.size,
device: state => state.app.device, device: (state) => state.app.device,
dict: state => state.dict.dict, dict: (state) => state.dict.dict,
visitedViews: state => state.tagsView.visitedViews, visitedViews: (state) => state.tagsView.visitedViews,
cachedViews: state => state.tagsView.cachedViews, cachedViews: (state) => state.tagsView.cachedViews,
token: state => state.user.token, token: (state) => state.user.token,
avatar: state => state.user.avatar, avatar: (state) => state.user.avatar,
name: state => state.user.name, name: (state) => state.user.name,
introduction: state => state.user.introduction, introduction: (state) => state.user.introduction,
roles: state => state.user.roles, roles: (state) => state.user.roles,
permissions: state => state.user.permissions, permissions: (state) => state.user.permissions,
permission_routes: state => state.permission.routes, permission_routes: (state) => state.permission.routes,
topbarRouters:state => state.permission.topbarRouters, topbarRouters: (state) => state.permission.topbarRouters,
defaultRoutes:state => state.permission.defaultRoutes, defaultRoutes: (state) => state.permission.defaultRoutes,
sidebarRouters:state => state.permission.sidebarRouters, sidebarRouters: (state) => state.permission.sidebarRouters,
} townList: (state) => state.user.townList,
export default getters };
export default getters;

@ -1,96 +1,131 @@
import { login, logout, getInfo } from '@/api/login' import { login, logout, getInfo } from "@/api/login";
import { getToken, setToken, removeToken } from '@/utils/auth' import { getToken, setToken, removeToken } from "@/utils/auth";
import { listTown } from "@/api/zongzhi/town/index.js";
const user = { const user = {
state: { state: {
token: getToken(), token: getToken(),
name: '', name: "",
avatar: '', avatar: "",
roles: [], roles: [],
permissions: [] permissions: [],
townList: [],
}, },
mutations: { mutations: {
SET_TOKEN: (state, token) => { SET_TOKEN: (state, token) => {
state.token = token state.token = token;
}, },
SET_NAME: (state, name) => { SET_NAME: (state, name) => {
state.name = name state.name = name;
}, },
SET_AVATAR: (state, avatar) => { SET_AVATAR: (state, avatar) => {
state.avatar = avatar state.avatar = avatar;
}, },
SET_ROLES: (state, roles) => { SET_ROLES: (state, roles) => {
state.roles = roles state.roles = roles;
}, },
SET_PERMISSIONS: (state, permissions) => { SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions state.permissions = permissions;
} },
SET_TOWN: (state, town) => {
state.townList = town;
},
}, },
actions: { actions: {
// 登录 // 登录
Login({ commit }, userInfo) { Login({ commit }, userInfo) {
const username = userInfo.username.trim() const username = userInfo.username.trim();
const password = userInfo.password const password = userInfo.password;
const code = userInfo.code const code = userInfo.code;
const uuid = userInfo.uuid const uuid = userInfo.uuid;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => { login(username, password, code, uuid)
setToken(res.token) .then((res) => {
commit('SET_TOKEN', res.token) setToken(res.token);
resolve() commit("SET_TOKEN", res.token);
}).catch(error => { resolve();
reject(error) })
}) .catch((error) => {
}) reject(error);
});
});
}, },
// 获取用户信息 // 获取用户信息
GetInfo({ commit, state }) { GetInfo({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo().then(res => { getInfo()
const user = res.user .then((res) => {
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; const user = res.user;
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 const avatar =
commit('SET_ROLES', res.roles) user.avatar == "" || user.avatar == null
commit('SET_PERMISSIONS', res.permissions) ? require("@/assets/images/profile.jpg")
} else { : process.env.VUE_APP_BASE_API + user.avatar;
commit('SET_ROLES', ['ROLE_DEFAULT']) if (res.roles && res.roles.length > 0) {
} // 验证返回的roles是否是一个非空数组
commit('SET_NAME', user.userName) commit("SET_ROLES", res.roles);
commit('SET_AVATAR', avatar) commit("SET_PERMISSIONS", res.permissions);
resolve(res) } else {
}).catch(error => { commit("SET_ROLES", ["ROLE_DEFAULT"]);
reject(error) }
}) commit("SET_NAME", user.userName);
}) commit("SET_AVATAR", avatar);
getownList().then((res) => {
commit("SET_TOWN", res);
});
resolve(res);
})
.catch((error) => {
reject(error);
});
});
}, },
// 退出系统 // 退出系统
LogOut({ commit, state }) { LogOut({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
logout(state.token).then(() => { logout(state.token)
commit('SET_TOKEN', '') .then(() => {
commit('SET_ROLES', []) commit("SET_TOKEN", "");
commit('SET_PERMISSIONS', []) commit("SET_ROLES", []);
removeToken() commit("SET_PERMISSIONS", []);
resolve() removeToken();
}).catch(error => { resolve();
reject(error) })
}) .catch((error) => {
}) reject(error);
});
});
}, },
// 前端 登出 // 前端 登出
FedLogOut({ commit }) { FedLogOut({ commit }) {
return new Promise(resolve => { return new Promise((resolve) => {
commit('SET_TOKEN', '') commit("SET_TOKEN", "");
removeToken() removeToken();
resolve() resolve();
});
},
},
};
// 获取各镇/村
function getownList() {
return new Promise((resolve, reject) => {
let lsit = [];
listTown({ pageNum: 1, pageSize: 200 })
.then((res) => {
res.rows.forEach((item) => {
lsit.push({ value: item.id, label: item.name });
});
resolve(lsit);
}) })
} .catch((error) => {
} reject(error);
});
});
} }
export default user export default user;

@ -175,8 +175,15 @@
label-width="auto" label-width="auto"
class="dialog-from" class="dialog-from"
> >
<el-form-item label="区域id" prop="areaId"> <el-form-item label="区域" prop="areaId">
<el-input v-model="form.areaId" placeholder="请输入区域id" /> <el-select v-model="form.areaId" placeholder="请选择区域" filterable>
<el-option
v-for="dict in townList"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="来源类型" prop="type"> <el-form-item label="来源类型" prop="type">
<el-select v-model="form.type" placeholder="请选择来源类型"> <el-select v-model="form.type" placeholder="请选择来源类型">
@ -321,6 +328,7 @@
</template> </template>
<script> <script>
import { mapGetters } from "vuex";
import { import {
listSource, listSource,
getSource, getSource,
@ -333,6 +341,9 @@ export default {
name: "Detection", name: "Detection",
// //
dicts: ["tc_yes_no", "tc_data_source_type", "tc_net_safety_level", "tc_os"], dicts: ["tc_yes_no", "tc_data_source_type", "tc_net_safety_level", "tc_os"],
computed: {
...mapGetters(["townList"]),
},
data() { data() {
return { return {
tableHeigth: 0, tableHeigth: 0,
@ -374,6 +385,13 @@ export default {
form: {}, form: {},
// //
rules: {}, rules: {},
options: [
{
value: "zhinan",
label: "指南",
children: [{ value: "shejiyuanze", label: "设计原则" }],
},
],
}; };
}, },
mounted() { mounted() {
@ -388,6 +406,9 @@ export default {
}); });
}, },
methods: { methods: {
handleChange(value) {
console.log(value);
},
/** 查询数据来源列表 */ /** 查询数据来源列表 */
getList() { getList() {
this.loading = true; this.loading = true;

Loading…
Cancel
Save