'v424'
This commit is contained in:
parent
994f45ae96
commit
6a9abfe877
|
@ -1,6 +1,7 @@
|
|||
.DS_Store
|
||||
node_modules/
|
||||
dist/
|
||||
convenience-prod/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
|
|
@ -2,7 +2,7 @@ import request from '@/utils/request'
|
|||
|
||||
/**
|
||||
* 工单列表
|
||||
* @param {YW_Content_Code,YW_Type_Code} data
|
||||
* @param {Object}} data
|
||||
* @returns
|
||||
*/
|
||||
export function list(data) {
|
||||
|
@ -26,7 +26,7 @@ export function typeList() {
|
|||
|
||||
/**
|
||||
* 发起办事
|
||||
* @param {residentInformation,eventTypeId,sponsor,remark,Attachment} data
|
||||
* @param {Object} data
|
||||
* @returns
|
||||
*/
|
||||
export function add(data) {
|
||||
|
@ -39,7 +39,7 @@ export function add(data) {
|
|||
|
||||
/**
|
||||
* 工单详情
|
||||
* @param {工单id} id
|
||||
* @param {String} id
|
||||
* @returns
|
||||
*/
|
||||
export function info(id) {
|
||||
|
@ -52,7 +52,7 @@ export function info(id) {
|
|||
|
||||
/**
|
||||
* 工单操作
|
||||
* @param {id,version,type,ids,remark,attachmentList,approve,evaluation} data
|
||||
* @param {Object} data
|
||||
* @returns
|
||||
*/
|
||||
export function update(data) {
|
||||
|
@ -65,7 +65,7 @@ export function update(data) {
|
|||
|
||||
/**
|
||||
* 获取沟通人员列表
|
||||
* @param {id} data
|
||||
* @param {String} data
|
||||
* @returns
|
||||
*/
|
||||
export function communicationList(data) {
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
import request from "@/utils/request";
|
||||
|
||||
/**
|
||||
* 行政区域
|
||||
* 行政区域列表
|
||||
* @param {*} data
|
||||
* @returns
|
||||
*/
|
||||
export function getRegions() {
|
||||
return request({
|
||||
url: "/api/convenience/residentInformation/region/list",
|
||||
// /api/convenience/v2/region/list
|
||||
url: "/api/convenience/v2/region/list",
|
||||
method: "get"
|
||||
});
|
||||
}
|
||||
|
|
|
@ -39,3 +39,16 @@ export function updateResidentInfo(data) {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 居民信息删除
|
||||
* @param {*} id
|
||||
* @returns
|
||||
*/
|
||||
export function deleteResident(id) {
|
||||
return request({
|
||||
url: "/api/convenience/residentInformation",
|
||||
method: "delete",
|
||||
params:id
|
||||
});
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import request from '@/utils/request'
|
||||
import request from "@/utils/request";
|
||||
|
||||
/**
|
||||
* 通讯录
|
||||
|
@ -6,10 +6,18 @@ import request from '@/utils/request'
|
|||
*/
|
||||
export function staffList() {
|
||||
return request({
|
||||
url: '/api/convenience/v2/staff/list',
|
||||
method: 'post'
|
||||
})
|
||||
url: "/api/convenience/v2/staff/list",
|
||||
method: "post",
|
||||
data: { category: "CONVENIENCE" }
|
||||
});
|
||||
}
|
||||
// export function staffList(data) {
|
||||
// return request({
|
||||
// url: '/api/convenience/v2/staff/list',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
|
||||
/**
|
||||
* 个人信息详情
|
||||
|
@ -18,8 +26,8 @@ export function staffList() {
|
|||
*/
|
||||
export function info(data) {
|
||||
return request({
|
||||
url: '/api/convenience/v2/staff/info',
|
||||
method: 'get',
|
||||
url: "/api/convenience/v2/staff/info",
|
||||
method: "get",
|
||||
params: data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@ import './icons' // icon
|
|||
import './permission' // permission control
|
||||
import './utils/error-log' // error log
|
||||
|
||||
import has from './utils/permissionFilter.js'
|
||||
|
||||
import * as filters from './filters' // global filters
|
||||
|
||||
/**
|
||||
|
|
|
@ -92,7 +92,7 @@ export const constantRoutes = [
|
|||
meta: {
|
||||
title: "工单管理",
|
||||
icon: "convenience",
|
||||
roles: ["admin", "editor"]
|
||||
// roles: ["admin", "editor"]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
|
@ -142,7 +142,7 @@ export const constantRoutes = [
|
|||
meta: {
|
||||
title: "工作手册管理",
|
||||
icon: "list",
|
||||
roles: ["admin", "editor"]
|
||||
// roles: ["admin", "editor"]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
|
@ -158,30 +158,7 @@ export const constantRoutes = [
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/residentInformation",
|
||||
component: Layout,
|
||||
name: "ResidentInformation",
|
||||
redirect: "/residentInformation/list",
|
||||
meta: {
|
||||
title: "居民信息管理",
|
||||
icon: "jmInfo",
|
||||
roles: ["ESIDENT_ADMIN"]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "list",
|
||||
component: () => import("@/views/residentInformation/list"),
|
||||
name: "residentInformationList",
|
||||
meta: {
|
||||
title: "居民信息列表",
|
||||
icon: "jmInfo",
|
||||
affix: true,
|
||||
parentTitle: "居民信息管理"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// {
|
||||
// path: "/staff",
|
||||
// component: Layout,
|
||||
|
@ -246,6 +223,31 @@ export const constantRoutes = [
|
|||
* the routes that need to be dynamically loaded based on user roles
|
||||
*/
|
||||
export const asyncRoutes = [
|
||||
{
|
||||
path: "/residentInformation",
|
||||
component: Layout,
|
||||
name: "ResidentInformation",
|
||||
redirect: "/residentInformation/list",
|
||||
meta: {
|
||||
title: "居民信息管理",
|
||||
icon: "jmInfo",
|
||||
roles: ["SSS"]
|
||||
// roles: ["RESIDENT_ADMIN"]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "list",
|
||||
component: () => import("@/views/residentInformation/list"),
|
||||
name: "residentInformationList",
|
||||
meta: {
|
||||
title: "居民信息列表",
|
||||
icon: "jmInfo",
|
||||
affix: true,
|
||||
parentTitle: "居民信息管理"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
// {
|
||||
// path: '/permission',
|
||||
// component: Layout,
|
||||
|
|
|
@ -7,6 +7,7 @@ const getters = {
|
|||
token: state => state.user.token,
|
||||
avatar: state => state.user.avatar,
|
||||
name: state => state.user.name,
|
||||
regionIds: state=>state.user.regionIds,
|
||||
introduction: state => state.user.introduction,
|
||||
roles: state => state.user.roles,
|
||||
permission_routes: state => state.permission.routes,
|
||||
|
|
|
@ -50,7 +50,7 @@ const actions = {
|
|||
generateRoutes({ commit }, roles) {
|
||||
return new Promise(resolve => {
|
||||
let accessedRoutes
|
||||
if (roles.includes('admin')) {
|
||||
if (roles.includes('RESIDENT_ADMIN')) {
|
||||
accessedRoutes = asyncRoutes || []
|
||||
} else {
|
||||
accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
|
||||
|
|
|
@ -1,56 +1,57 @@
|
|||
import { login, logout, getInfo } from '@/api/user'
|
||||
import { getToken, setToken, removeToken } from '@/utils/auth'
|
||||
import router, { resetRouter } from '@/router'
|
||||
import { login, logout, getInfo } from "@/api/user";
|
||||
import { getToken, setToken, removeToken } from "@/utils/auth";
|
||||
import router, { resetRouter } from "@/router";
|
||||
|
||||
const state = {
|
||||
token: getToken(),
|
||||
name: '',
|
||||
avatar: '',
|
||||
introduction: '',
|
||||
roles: []
|
||||
}
|
||||
name: "",
|
||||
avatar: "",
|
||||
introduction: "",
|
||||
roles: [],
|
||||
regionIds: ""
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
SET_TOKEN: (state, token) => {
|
||||
state.token = token
|
||||
state.token = token;
|
||||
},
|
||||
SET_INTRODUCTION: (state, introduction) => {
|
||||
state.introduction = introduction
|
||||
state.introduction = introduction;
|
||||
},
|
||||
SET_NAME: (state, name) => {
|
||||
// console.log(name);
|
||||
state.name = name
|
||||
state.name = name;
|
||||
},
|
||||
SET_AVATAR: (state, avatar) => {
|
||||
state.avatar = avatar
|
||||
state.avatar = avatar;
|
||||
},
|
||||
SET_ROLES: (state, roles) => {
|
||||
// console.log(roles);
|
||||
state.roles = roles
|
||||
state.roles = roles;
|
||||
},
|
||||
SET_REGIONIDS: (state, regionIds) => {
|
||||
state.regionIds = regionIds;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const actions = {
|
||||
setToken({ commit }, token) {
|
||||
commit('SET_TOKEN', token)
|
||||
setToken(token)
|
||||
// commit("SET_ROLES", ['admin']);
|
||||
commit("SET_TOKEN", token);
|
||||
setToken(token);
|
||||
},
|
||||
// user login
|
||||
login({ commit }, userInfo) {
|
||||
const { username, password } = userInfo
|
||||
const { username, password } = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
login({ username: username.trim(), password: password })
|
||||
.then(response => {
|
||||
const { data } = response
|
||||
commit('SET_TOKEN', data.token)
|
||||
setToken(data.token)
|
||||
resolve()
|
||||
const { data } = response;
|
||||
commit("SET_TOKEN", data.token);
|
||||
setToken(data.token);
|
||||
resolve();
|
||||
})
|
||||
.catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// get user info
|
||||
|
@ -59,20 +60,22 @@ const actions = {
|
|||
getInfo({})
|
||||
.then(res => {
|
||||
// console.log();
|
||||
let roles = res.d.isResidentsAdministrator;
|
||||
roles.push('admin')
|
||||
commit('SET_ROLES', roles)
|
||||
let roles = res.d.isResidentsAdministrator || [];
|
||||
roles.push("admin");
|
||||
commit("SET_ROLES", roles);
|
||||
// commit('SET_ROLES', ['admin'])
|
||||
// console.log(['admin',...res.isResidentsAdministrator]);
|
||||
sessionStorage.setItem('id', res.d.id)
|
||||
commit('SET_NAME', res.d.name)
|
||||
commit('SET_AVATAR', res.d.avatar)
|
||||
resolve({ roles})
|
||||
sessionStorage.setItem("Permissions", JSON.stringify(roles));
|
||||
sessionStorage.setItem("id", res.d.id);
|
||||
commit("SET_NAME", res.d.name);
|
||||
commit("SET_AVATAR", res.d.avatar);
|
||||
commit("SET_REGIONIDS",res.d.regionIds)
|
||||
resolve({ roles });
|
||||
})
|
||||
.catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// user logout
|
||||
|
@ -80,14 +83,14 @@ const actions = {
|
|||
// return new Promise((resolve, reject) => {
|
||||
// logout(state.token)
|
||||
// .then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
removeToken()
|
||||
resetRouter()
|
||||
commit("SET_TOKEN", "");
|
||||
commit("SET_ROLES", []);
|
||||
removeToken();
|
||||
resetRouter();
|
||||
|
||||
// reset visited views and cached views
|
||||
// to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485
|
||||
dispatch('tagsView/delAllViews', null, { root: true })
|
||||
dispatch("tagsView/delAllViews", null, { root: true });
|
||||
|
||||
// resolve()
|
||||
// })
|
||||
|
@ -100,40 +103,40 @@ const actions = {
|
|||
// remove token
|
||||
resetToken({ commit }) {
|
||||
return new Promise(resolve => {
|
||||
commit('SET_TOKEN', '')
|
||||
console.log('resetToken')
|
||||
commit('SET_ROLES', [])
|
||||
removeToken()
|
||||
resolve()
|
||||
})
|
||||
commit("SET_TOKEN", "");
|
||||
console.log("resetToken");
|
||||
commit("SET_ROLES", []);
|
||||
removeToken();
|
||||
resolve();
|
||||
});
|
||||
},
|
||||
|
||||
// dynamically modify permissions
|
||||
async changeRoles({ commit, dispatch }, role) {
|
||||
const token = role + '-token'
|
||||
const token = role + "-token";
|
||||
|
||||
commit('SET_TOKEN', token)
|
||||
setToken(token)
|
||||
commit("SET_TOKEN", token);
|
||||
setToken(token);
|
||||
|
||||
const { roles } = await dispatch('getInfo')
|
||||
const { roles } = await dispatch("getInfo");
|
||||
|
||||
resetRouter()
|
||||
resetRouter();
|
||||
|
||||
// generate accessible routes map based on roles
|
||||
const accessRoutes = await dispatch('permission/generateRoutes', roles, {
|
||||
const accessRoutes = await dispatch("permission/generateRoutes", roles, {
|
||||
root: true
|
||||
})
|
||||
});
|
||||
// dynamically add accessible routes
|
||||
router.addRoutes(accessRoutes)
|
||||
router.addRoutes(accessRoutes);
|
||||
|
||||
// reset visited views and cached views
|
||||
dispatch('tagsView/delAllViews', null, { root: true })
|
||||
dispatch("tagsView/delAllViews", null, { root: true });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
};
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
import Vue from "vue";
|
||||
|
||||
/** 权限指令**/
|
||||
const has = Vue.directive("has", {
|
||||
// bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
|
||||
// inserted:被绑定元素插入父节点时调用
|
||||
// (仅保证父节点存在,但不一定已被插入文档中)。
|
||||
// update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode
|
||||
// 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新。
|
||||
inserted: function(el, binding, vnode) {
|
||||
// 获取按钮权限
|
||||
if (!Vue.prototype.$_has(binding.value)) {
|
||||
console.log(el);
|
||||
el.parentNode.removeChild(el);
|
||||
}
|
||||
}
|
||||
});
|
||||
// 权限检查方法
|
||||
Vue.prototype.$_has = function(value) {
|
||||
let isExist = false;
|
||||
const btnPermissionsStr = sessionStorage.getItem("Permissions");
|
||||
if (btnPermissionsStr === undefined || btnPermissionsStr === null) {
|
||||
return false;
|
||||
}
|
||||
if (btnPermissionsStr.indexOf(value) > -1) {
|
||||
isExist = true;
|
||||
}
|
||||
return isExist;
|
||||
};
|
||||
export { has };
|
|
@ -12,7 +12,7 @@
|
|||
<el-form-item label="受理人" prop="residentInformation">
|
||||
<el-input
|
||||
v-model="convenience.residentInformation"
|
||||
placeholder="群众身份证号或者手机号"
|
||||
placeholder="群众身份证号"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
|
|
|
@ -677,10 +677,24 @@
|
|||
>
|
||||
<div class="preview-container">
|
||||
<el-form ref="updateForm" style="width:100%" :rules="rules">
|
||||
<!-- <el-form-item label="选择行政区域">
|
||||
<el-cascader
|
||||
class="filter-item"
|
||||
v-model="regionSearchVal"
|
||||
style="width:100%"
|
||||
:options="regions"
|
||||
:show-all-levels="false"
|
||||
@change="handleRegionChange"
|
||||
placeholder="行政区域"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item
|
||||
v-if="updateType === 8 || updateType === 11"
|
||||
label="选择审批人"
|
||||
>
|
||||
<!-- <span v-if="!staffOptions.length > 0" style="font-size:12px;color:red">该行政区域下无工作人员</span> -->
|
||||
<el-select
|
||||
v-model="spr"
|
||||
placeholder="请选择"
|
||||
|
@ -741,6 +755,12 @@
|
|||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="default" @click="applyDialog = false">取消</el-button>
|
||||
<el-button type="primary" @click="apply">提交</el-button>
|
||||
<!-- <el-button
|
||||
type="primary"
|
||||
:disabled="JSON.stringify(spr) === '[]'"
|
||||
@click="apply"
|
||||
>提交</el-button
|
||||
> -->
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
@ -774,6 +794,8 @@ import {
|
|||
import { parseTime } from "@/utils";
|
||||
import { staffList } from "@/api/staff";
|
||||
import AliOss from "@/components/AliOSS/index.vue";
|
||||
// import { getRegions } from "@/api/region";
|
||||
// import { mapGetters } from "vuex";
|
||||
|
||||
export default {
|
||||
filters: {
|
||||
|
@ -832,6 +854,9 @@ export default {
|
|||
return statusMap[status];
|
||||
}
|
||||
},
|
||||
// computed: {
|
||||
// ...mapGetters(["regionIds"])
|
||||
// },
|
||||
components: {
|
||||
AliOss
|
||||
},
|
||||
|
@ -902,8 +927,14 @@ export default {
|
|||
cxPop: false,
|
||||
audioSources: [
|
||||
"http://storage.myntv.cn/files20210415_142012.m4a"
|
||||
// 'https://img.tukuppt.com/newpreview_music/08/99/49/5c897788e421b53181.mp3'
|
||||
]
|
||||
],
|
||||
regionSearchVal: undefined,
|
||||
regions: [],
|
||||
staffQuery: {
|
||||
regionIds: "",
|
||||
isAll: false,
|
||||
category: "CONVENIENCE"
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
@ -911,6 +942,7 @@ export default {
|
|||
this.getStaffList();
|
||||
this.getCommunicationList();
|
||||
this.getTypeList();
|
||||
// this.getRegionList();
|
||||
},
|
||||
methods: {
|
||||
getInfo() {
|
||||
|
@ -1065,7 +1097,18 @@ export default {
|
|||
});
|
||||
},
|
||||
getStaffList() {
|
||||
staffList().then(res => {
|
||||
// let payload = Object.assign({}, this.staffQuery);
|
||||
// let arr = payload.regionIds.split(",");
|
||||
// arr.map((item, index) => {
|
||||
// if (item === "false") {
|
||||
// arr.splice(index, 1);
|
||||
// }
|
||||
// });
|
||||
// payload.regionIds = arr.join(",");
|
||||
|
||||
// staffList(payload).then(res => {
|
||||
// this.staffOptions = [];
|
||||
staffList().then(res => {
|
||||
res.d.records.map(item => {
|
||||
const obj = {
|
||||
label: item.name,
|
||||
|
@ -1166,6 +1209,24 @@ export default {
|
|||
// evaluation: undefined
|
||||
},
|
||||
handleApprovalReminder() {
|
||||
// this.regionSearchVal = [];
|
||||
// this.getStaffList();
|
||||
// this.dialogApprovalReminder = true;
|
||||
// const tempLen = this.regionIds.split(",").length;
|
||||
// switch (tempLen) {
|
||||
// case 1:
|
||||
// this.regionSearchVal.push(this.regionIds, false);
|
||||
// break;
|
||||
// case 2:
|
||||
// this.regionSearchVal.push(this.regionIds, false);
|
||||
// break;
|
||||
// case 3:
|
||||
// this.regionSearchVal.push(this.regionIds);
|
||||
// break;
|
||||
// default:
|
||||
// this.regionSearchVal = [];
|
||||
// break;
|
||||
// }
|
||||
this.dialogApprovalReminder = true;
|
||||
},
|
||||
handleConfirmApprovalReminder() {
|
||||
|
@ -1283,6 +1344,9 @@ export default {
|
|||
this.payload.ids.push(this.bzjr);
|
||||
break;
|
||||
}
|
||||
// this.$refs.updateForm.validate(valid => {
|
||||
// console.log(valid);
|
||||
// });
|
||||
update(this.payload).then(res => {
|
||||
if (res.c === 200) {
|
||||
this.$notify.success("操作成功");
|
||||
|
@ -1356,12 +1420,63 @@ export default {
|
|||
|
||||
this.$nextTick(() => {
|
||||
const tempRef = this.$refs.eventTypeRef;
|
||||
console.log(tempRef);
|
||||
if (tempRef) tempRef.toggleMenu();
|
||||
// tempRef.$el.style.display = "inline-block";
|
||||
// this.$refs.eventTypeRef.focusFirstNode();
|
||||
}, 100);
|
||||
}
|
||||
},
|
||||
// getRegionList() {
|
||||
// getRegions().then(res => {
|
||||
// const tempData = res.d;
|
||||
// const countyArr = []; // 县,1
|
||||
// tempData.map(county => {
|
||||
// const countyObj = {
|
||||
// value: county.root.id,
|
||||
// label: county.root.name,
|
||||
// disabled: !county.root.check,
|
||||
// // children: [{value:true,label:'全县'},{value:false,label:'本县'}],
|
||||
// children: [
|
||||
// {
|
||||
// value: false,
|
||||
// label: county.root.name,
|
||||
// disabled: false
|
||||
// // children: []
|
||||
// }
|
||||
// ]
|
||||
// };
|
||||
// countyArr.push(countyObj);
|
||||
// county.node.map(town => {
|
||||
// const townObj = {
|
||||
// value: town.root.id,
|
||||
// label: town.root.name,
|
||||
// disabled: !town.root.check,
|
||||
// // children: [{value:true,label:'全镇'},{value:false,label:'本镇'}],
|
||||
// children: [
|
||||
// {
|
||||
// value: false,
|
||||
// label: town.root.name,
|
||||
// disabled: false
|
||||
// // children: []
|
||||
// }
|
||||
// ]
|
||||
// };
|
||||
// countyObj.children.push(townObj);
|
||||
// town.node.map(country => {
|
||||
// townObj.children.push({
|
||||
// value: country.root.id,
|
||||
// label: country.root.name,
|
||||
// disabled: !country.root.check
|
||||
// });
|
||||
// });
|
||||
// });
|
||||
// });
|
||||
// this.regions = countyArr;
|
||||
// });
|
||||
// },
|
||||
// handleRegionChange(val) {
|
||||
// this.staffQuery.regionIds = val.join(",");
|
||||
// this.getStaffList();
|
||||
// }
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
clearInterval(this.acceptanceInterval);
|
||||
|
|
|
@ -126,6 +126,8 @@ export default {
|
|||
// password: '111111'
|
||||
// },
|
||||
loginForm: {
|
||||
// username: "", //18882564006
|
||||
// captcha: "",
|
||||
username: "18882564006", //18882564006
|
||||
captcha: "111111",
|
||||
appVersion: "1.0.0",
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
<div class="app-container" style="padding-top:0">
|
||||
<!-- <div>{{ list }}</div> -->
|
||||
<div class="filter-container">
|
||||
<!-- <el-button v-if="list" id="te" type="warning" v-has="'editor'">abc</el-button> -->
|
||||
|
||||
<el-input
|
||||
v-model="listQuery.params.name"
|
||||
style="width:200px;margin-right:10px"
|
||||
|
@ -47,7 +49,8 @@
|
|||
>是否是便民工作人员</span
|
||||
> -->
|
||||
<el-checkbox
|
||||
v-model="listQuery.params.isConvenience"
|
||||
v-model="isStaff"
|
||||
@change="handleIsStaff"
|
||||
style="margin-left:10px"
|
||||
>是否是便民工作人员</el-checkbox
|
||||
>
|
||||
|
@ -70,28 +73,31 @@
|
|||
>新增</el-button
|
||||
>
|
||||
<el-table :data="list" style="width: 100%" border v-loading="listLoading">
|
||||
<el-table-column prop="name" label="姓名" width="180">
|
||||
<el-table-column prop="name" label="姓名" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="nameZ" label="姓名(藏语)" width="180">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.nameZ }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="phone" label="手机号">
|
||||
|
||||
<el-table-column prop="phone" label="手机号" width="120">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.phone }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="phone" label="身份证号">
|
||||
|
||||
<el-table-column prop="phone" label="身份证号" width="200">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.idCard }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="phone" label="是否是便民工作人员">
|
||||
<el-table-column prop="phone" label="是否是便民工作人员" width="150">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.isConvenience ? "是" : "否" }}
|
||||
</template>
|
||||
|
@ -101,8 +107,9 @@
|
|||
<template slot-scope="scope">
|
||||
{{
|
||||
scope.row.permanentResidenceRegion +
|
||||
"-" +
|
||||
scope.row.permanentResidenceTown +
|
||||
(scope.row.permanentResidenceTown
|
||||
? "-" + scope.row.permanentResidenceTown
|
||||
: "") +
|
||||
(scope.row.permanentResidenceTownShip
|
||||
? "-" + scope.row.permanentResidenceTownShip
|
||||
: "")
|
||||
|
@ -118,6 +125,13 @@
|
|||
style="font-size:12px;padding:10px 20px"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button
|
||||
@click="handleDelete(scope.row)"
|
||||
type="danger"
|
||||
size="mini"
|
||||
style="font-size:12px;padding:10px 20px;border-radius:21px"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -134,10 +148,9 @@
|
|||
:close-on-click-modal="false"
|
||||
:title="textMap[dialogStatus]"
|
||||
:visible.sync="dialogAddVisible"
|
||||
width="30%"
|
||||
:close-on-press-escape="false"
|
||||
width="60%"
|
||||
>
|
||||
<!-- <span></span> -->
|
||||
<!-- <div>居民名称</div> -->
|
||||
<el-form
|
||||
:model="residentInfo"
|
||||
ref="residentInfoForm"
|
||||
|
@ -145,86 +158,96 @@
|
|||
class="el-form"
|
||||
:rules="rules"
|
||||
>
|
||||
<el-form-item label="头像">
|
||||
<cut-upload
|
||||
:fixed-number="[1, 1]"
|
||||
:init-url="residentInfo.avatar"
|
||||
@imgupload="UploadCbk"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="头像">
|
||||
<cut-upload
|
||||
:fixed-number="[1, 1]"
|
||||
:init-url="residentInfo.avatar"
|
||||
@imgupload="UploadCbk"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="residentInfo.name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="residentInfo.name" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="姓名(藏文)">
|
||||
<el-input v-model="residentInfo.nameZ" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名(藏文)">
|
||||
<el-input v-model="residentInfo.nameZ" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="性别">
|
||||
<el-radio v-model="residentInfo.sex" :label="0">女</el-radio>
|
||||
<el-radio v-model="residentInfo.sex" :label="1">男</el-radio>
|
||||
<el-radio v-model="residentInfo.sex" :label="2">未知</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-radio v-model="residentInfo.sex" :label="0">女</el-radio>
|
||||
<el-radio v-model="residentInfo.sex" :label="1">男</el-radio>
|
||||
<el-radio v-model="residentInfo.sex" :label="2">未知</el-radio>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="手机号">
|
||||
<el-input v-model="residentInfo.phone" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号">
|
||||
<el-input v-model="residentInfo.phone" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="身份证号" prop="idCard">
|
||||
<el-input v-model="residentInfo.idCard" />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号" prop="idCard">
|
||||
<el-input v-model="residentInfo.idCard" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="身份证地址">
|
||||
<el-input v-model="residentInfo.idCardAddress" />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证地址">
|
||||
<el-input v-model="residentInfo.idCardAddress" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" style="padding-top:40px">
|
||||
<el-form-item label="职责">
|
||||
<el-input v-model="residentInfo.duty" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="职责">
|
||||
<el-input v-model="residentInfo.duty" />
|
||||
</el-form-item>
|
||||
<el-form-item label="职责(藏文)">
|
||||
<el-input v-model="residentInfo.dutyZ" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="职责(藏文)">
|
||||
<el-input v-model="residentInfo.dutyZ" />
|
||||
</el-form-item>
|
||||
<el-form-item label="描述">
|
||||
<el-input v-model="residentInfo.description" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="描述">
|
||||
<el-input v-model="residentInfo.description" />
|
||||
</el-form-item>
|
||||
<el-form-item label="描述(藏文)">
|
||||
<el-input v-model="residentInfo.descriptionZ" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="描述(藏文)">
|
||||
<el-input v-model="residentInfo.descriptionZ" />
|
||||
</el-form-item>
|
||||
<el-form-item label="序号">
|
||||
<el-input v-model="residentInfo.sort" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="序号">
|
||||
<el-input v-model="residentInfo.sort" />
|
||||
</el-form-item>
|
||||
<el-form-item label="行政区域" prop="regionIds">
|
||||
<el-cascader
|
||||
v-model="residentInfo.regionIds"
|
||||
style="width:240px"
|
||||
:options="regions"
|
||||
:props="{ checkStrictly: true }"
|
||||
placeholder="行政区域"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="行政区域" prop="regionIds">
|
||||
<!-- <RegionSelect
|
||||
v-model="residentInfo.regionIds"
|
||||
<el-form-item label="是否是便民工作人员">
|
||||
<el-switch v-model="residentInfo.isConvenience"></el-switch>
|
||||
</el-form-item>
|
||||
|
||||
/> -->
|
||||
<!-- <RegionSelect
|
||||
v-model="residentInfo.regionIds"
|
||||
:regionNames="residentInfo.regionids"
|
||||
/> -->
|
||||
<el-cascader
|
||||
v-model="residentInfo.regionIds"
|
||||
style="width:240px"
|
||||
:options="regions"
|
||||
:props="{ checkStrictly: true }"
|
||||
placeholder="行政区域"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否是便民领导">
|
||||
<el-switch v-model="residentInfo.isConvenienceLeader"></el-switch>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否是便民工作人员">
|
||||
<el-switch v-model="residentInfo.isConvenience"></el-switch>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否是便民领导">
|
||||
<el-switch v-model="residentInfo.isConvenienceLeader"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="授权权限" v-has="'RESIDENT_SET_ADMIN'">
|
||||
<el-select
|
||||
v-model="residentInfo.isResidentsAdministrator"
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
label="设置权限"
|
||||
value="RESIDENT_SET_ADMIN"
|
||||
></el-option>
|
||||
<el-option label="居民管理" value="RESIDENT_ADMIN"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- <el-form-item label="是否是融媒体工作人员">
|
||||
<el-switch v-model="residentInfo.isNews"></el-switch>
|
||||
|
@ -245,6 +268,19 @@
|
|||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogDeleteConfirm"
|
||||
width="30%"
|
||||
center
|
||||
>
|
||||
<span>确定删除吗?</span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogDeleteConfirm = false">取 消</el-button>
|
||||
<el-button type="primary" @click="deleteData">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -252,7 +288,8 @@
|
|||
import {
|
||||
getResidentInfoList,
|
||||
addResidentInfoList,
|
||||
updateResidentInfo
|
||||
updateResidentInfo,
|
||||
deleteResident
|
||||
} from "@/api/residentInformation";
|
||||
import RegionSelect from "@/components/RegionSelect";
|
||||
import { getRegions } from "@/api/region";
|
||||
|
@ -296,7 +333,9 @@ export default {
|
|||
residentInfo: {
|
||||
avatar: ""
|
||||
},
|
||||
regionSearchVal: undefined
|
||||
regionSearchVal: undefined,
|
||||
dialogDeleteConfirm: false,
|
||||
isStaff: false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
@ -307,7 +346,6 @@ export default {
|
|||
getList() {
|
||||
this.listLoading = true;
|
||||
getResidentInfoList(this.listQuery).then(res => {
|
||||
// console.log(res);
|
||||
this.list = res.d.list;
|
||||
this.total = res.d.total;
|
||||
this.listLoading = false;
|
||||
|
@ -321,7 +359,7 @@ export default {
|
|||
const countyObj = {
|
||||
value: county.root.name,
|
||||
label: county.root.name,
|
||||
disabled: true,
|
||||
disabled: !county.root.check,
|
||||
children: []
|
||||
};
|
||||
countyArr.push(countyObj);
|
||||
|
@ -346,8 +384,8 @@ export default {
|
|||
});
|
||||
},
|
||||
handleSearch() {
|
||||
this.listQuery.params.isConvenience = this.isStaff ? true : undefined;
|
||||
if (this.regionSearchVal) {
|
||||
// console.log(this.regionSearchVal.length);
|
||||
switch (this.regionSearchVal.length) {
|
||||
case 1:
|
||||
this.listQuery.params.PermanentResidenceRegion = this.regionSearchVal[0];
|
||||
|
@ -392,7 +430,7 @@ export default {
|
|||
isConvenienceLeader: false,
|
||||
isNews: false,
|
||||
isNewsLeader: false,
|
||||
// isResidentsAdministrator: false,
|
||||
isResidentsAdministrator: [],
|
||||
phone: undefined,
|
||||
sex: undefined,
|
||||
regionIds: undefined,
|
||||
|
@ -415,7 +453,6 @@ export default {
|
|||
this.residentInfo.permanentResidenceRegion = regions[0];
|
||||
this.residentInfo.permanentResidenceTown = regions[1];
|
||||
this.residentInfo.permanentResidenceTownShip = regions[2];
|
||||
// delete this.residentInfo.regionIds;
|
||||
},
|
||||
createData() {
|
||||
this.$refs.residentInfoForm.validate(valid => {
|
||||
|
@ -442,7 +479,7 @@ export default {
|
|||
this.formatSubmitParams();
|
||||
delete this.residentInfo.regionIds;
|
||||
updateResidentInfo(this.residentInfo).then(res => {
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
if (res.c === 200) {
|
||||
this.$notify.success("修改成功");
|
||||
this.dialogAddVisible = false;
|
||||
|
@ -471,6 +508,35 @@ export default {
|
|||
this.dialogStatus = "update";
|
||||
this.dialogAddVisible = true;
|
||||
// },100);
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.residentInfo = Object.assign({}, row);
|
||||
this.dialogDeleteConfirm = true;
|
||||
},
|
||||
deleteData() {
|
||||
deleteResident({ id: this.residentInfo.id }).then(res => {
|
||||
// console.log(res);
|
||||
if (res.c === 200) {
|
||||
this.$notify.success("删除成功");
|
||||
this.dialogDeleteConfirm = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
},
|
||||
handleIsStaff(val) {
|
||||
// console.log(val);
|
||||
if (val === false) {
|
||||
// console.log('ab');
|
||||
this.listQuery.params.isConvenience === undefined;
|
||||
let temp = Object.assign({}, this.listQuery);
|
||||
temp.params.isConvenience === undefined;
|
||||
this.listQuery = temp;
|
||||
// console.log(this.listQuery);
|
||||
}
|
||||
// if (!val) {
|
||||
// this.listQuery.params.isConvenience === undefined;
|
||||
// console.log(this.listQuery.params);
|
||||
// }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -25,7 +25,8 @@ module.exports = {
|
|||
* Detail: https://cli.vuejs.org/config/#publicpath
|
||||
*/
|
||||
publicPath: '/',
|
||||
outputDir: 'dist',
|
||||
// outputDir: 'dist',
|
||||
outputDir: process.env.NODE_ENV === 'development' ? 'convenience-dev' : 'convenience-prod',
|
||||
assetsDir: 'static',
|
||||
lintOnSave: process.env.NODE_ENV === 'development',
|
||||
productionSourceMap: false,
|
||||
|
|
Loading…
Reference in New Issue