This commit is contained in:
jiangrui 2021-04-25 09:10:32 +08:00
parent 994f45ae96
commit 6a9abfe877
16 changed files with 436 additions and 191 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
convenience-prod/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

View File

@ -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) {

View File

@ -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"
});
}

View File

@ -38,4 +38,17 @@ export function updateResidentInfo(data) {
data
});
}
/**
* 居民信息删除
* @param {*} id
* @returns
*/
export function deleteResident(id) {
return request({
url: "/api/convenience/residentInformation",
method: "delete",
params:id
});
}

View File

@ -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
})
});
}

View File

@ -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
/**

View File

@ -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,

View File

@ -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,

View File

@ -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)

View File

@ -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
}
};

View File

@ -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 };

View File

@ -12,7 +12,7 @@
<el-form-item label="受理人" prop="residentInformation">
<el-input
v-model="convenience.residentInformation"
placeholder="群众身份证号或者手机号"
placeholder="群众身份证号"
/>
</el-form-item>

View File

@ -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);

View File

@ -126,6 +126,8 @@ export default {
// password: '111111'
// },
loginForm: {
// username: "", //18882564006
// captcha: "",
username: "18882564006", //18882564006
captcha: "111111",
appVersion: "1.0.0",

View File

@ -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"
/> -->
<!-- <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.isConvenience"></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="是否是便民领导">
<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);
// }
}
}
};

View File

@ -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,