parent
e98c23261a
commit
4a45b396f2
@ -1,3 +1,3 @@
|
||||
NODE_ENV = 'development'
|
||||
VUE_APP_URL = 'http://121.41.26.225:8004/'
|
||||
VUE_APP_CDN = 'http://121.41.26.225:8004/'
|
||||
VUE_APP_STATIC = 'http://121.41.26.225:8004/'
|
@ -1,3 +1,3 @@
|
||||
NODE_ENV = 'production'
|
||||
VUE_APP_URL = 'http://121.41.26.225:8004/'
|
||||
VUE_APP_CDN = 'http://121.41.26.225:8004/'
|
||||
VUE_APP_STATIC = 'http://121.41.26.225:8004/'
|
@ -0,0 +1,11 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
// 工单
|
||||
export function name(params) {
|
||||
return httpService({
|
||||
url: ` `,
|
||||
method: 'get/post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
@ -0,0 +1,90 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
// 所有的组织架构
|
||||
export function departmentList(params) {
|
||||
return httpService({
|
||||
url: `/user/department/list`,
|
||||
method: 'get',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 添加组织
|
||||
export function departmentInsert(params) {
|
||||
return httpService({
|
||||
url: `/user/department/insert`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 组织删除
|
||||
export function departmentDel(params) {
|
||||
return httpService({
|
||||
url: `/user/department/delete`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 组织修改
|
||||
export function departmentUpdate(params) {
|
||||
return httpService({
|
||||
url: `/user/department/update`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 组织员工
|
||||
export function findToUser(params) {
|
||||
return httpService({
|
||||
url: `/user/department/findToUser`,
|
||||
method: 'GET',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 新增员工
|
||||
export function insertManageUser(params) {
|
||||
return httpService({
|
||||
url: `/user/manageUser/insertManageUser`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 上传身份证照片
|
||||
export function uploadManageUserIdCard(params) {
|
||||
return httpService({
|
||||
url: `/user/upload/uploadManageUserIdCard`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 员工info
|
||||
export function manageUserInfo(params) {
|
||||
return httpService({
|
||||
url: `/user/manageUser/findById`,
|
||||
method: 'GET',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 员工edit
|
||||
export function EditManageUser(params) {
|
||||
return httpService({
|
||||
url: `/user/manageUser/update`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 员工开启关闭
|
||||
export function userEnable(params) {
|
||||
return httpService({
|
||||
url: `/user/manageUser/isEnable`,
|
||||
method: 'GET',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 重置密码
|
||||
export function rePassword(params) {
|
||||
return httpService({
|
||||
url: `/user/manageUser/rePassword`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
@ -1,10 +1,18 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
// 获取预报列表
|
||||
export function functionName(params) {
|
||||
// 楼栋列表
|
||||
export function buildingList(params) {
|
||||
return httpService({
|
||||
url: `url`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
url: `/user/building/list`,
|
||||
method: 'get',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 房屋列表
|
||||
export function houseList(params) {
|
||||
return httpService({
|
||||
url: `/user/estate/list`,
|
||||
method: 'get',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
|
@ -1,10 +0,0 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
// 获取预报列表
|
||||
export function functionName(params) {
|
||||
return httpService({
|
||||
url: `url`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
/**
|
||||
*
|
||||
* 住户
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*
|
||||
* 住户列表
|
||||
*/
|
||||
export function residentList(params) {
|
||||
return httpService({
|
||||
url: `/user/resident/list`,
|
||||
method: 'get',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 审核列表
|
||||
export function reviewList(params) {
|
||||
return httpService({
|
||||
url: `/user/review/list`,
|
||||
method: 'get',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 审核通过 不通过
|
||||
export function review(params) {
|
||||
return httpService({
|
||||
url: `/user/review/review`,
|
||||
method: 'post',
|
||||
data: params,
|
||||
})
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
import httpService from "@/request"
|
||||
|
||||
// 权限 角色
|
||||
// 角色列表
|
||||
export function rolelist(params) {
|
||||
return httpService({
|
||||
url: `/user/role/list`,
|
||||
method: 'get',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
// 角色-----员工列表
|
||||
export function listByRole(params) {
|
||||
return httpService({
|
||||
url: `/user/role/listByRole`,
|
||||
method: 'GET',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
// 查询当前角色下的所有的菜单权限信息 roleId
|
||||
export function FindAllMenus(params) {
|
||||
return httpService({
|
||||
url: `/user/jurisdiction/findAllMenus`,
|
||||
method: 'GET',
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
export default {
|
||||
install: function (Vue) {
|
||||
Vue.prototype.ImgUrl = (src) => {
|
||||
return process.env.VUE_APP_CDN + src
|
||||
}
|
||||
Vue.prototype.formatDate = (time, fmt) => {
|
||||
if (time > 0) {
|
||||
let date = new Date(time * 1000)
|
||||
if (/(y+)/.test(fmt)) {
|
||||
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
|
||||
}
|
||||
let o = {
|
||||
'M+': date.getMonth() + 1,
|
||||
'd+': date.getDate(),
|
||||
'h+': date.getHours(),
|
||||
'm+': date.getMinutes(),
|
||||
's+': date.getSeconds()
|
||||
}
|
||||
for (let k in o) {
|
||||
if (new RegExp(`(${k})`).test(fmt)) {
|
||||
let str = o[k] + ''
|
||||
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length))
|
||||
}
|
||||
}
|
||||
return fmt
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "真实姓名",
|
||||
dataIndex: "actualName",
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "手机号",
|
||||
dataIndex: "tel",
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "角色",
|
||||
dataIndex: "roleNameList",
|
||||
width: "20%",
|
||||
customRender: function (roleNameList) {
|
||||
return roleNameList.toString();
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "remake",
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "180",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
roleId: null,
|
||||
keyword: '',
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
showTotal: (total) => `共 ${total} 条`,
|
||||
showSizeChanger: true,
|
||||
showQuickJumper: true,
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-row>
|
||||
<!-- 角色列表 -->
|
||||
<a-col :span="5">
|
||||
<div class="cardTitle">所有角色</div>
|
||||
<a-collapse accordion @change="rolechange">
|
||||
<a-collapse-panel
|
||||
v-for="(item, index) in roleList"
|
||||
:key="index"
|
||||
:header="item.name"
|
||||
>
|
||||
<div
|
||||
v-for="(rolechild, indexs) in item.childrenList"
|
||||
class="role-card"
|
||||
:key="indexs"
|
||||
>
|
||||
<div>
|
||||
{{ rolechild.name }}
|
||||
</div>
|
||||
</div>
|
||||
</a-collapse-panel>
|
||||
</a-collapse>
|
||||
</a-col>
|
||||
<!-- 人员表格 -->
|
||||
<a-col :span="19" class="tree-box">
|
||||
<div v-for="menu,index in menus" :key="index" class='tree'>
|
||||
<span>{{menu.name}}</span>
|
||||
<a-tree
|
||||
:title="menu.name"
|
||||
v-model="checkedKeys"
|
||||
checkable
|
||||
:replace-fields="replaceFields"
|
||||
:expanded-keys="expandedKeys"
|
||||
:auto-expand-parent="autoExpandParent"
|
||||
:selected-keys="selectedKeys"
|
||||
:tree-data="menu.childrenList"
|
||||
@expand="onExpand"
|
||||
@select="onSelect"
|
||||
@check="onCheck"
|
||||
/>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {columns,pagination,searchForm} from './config.js'
|
||||
import { rolelist,FindAllMenus } from "@/api/basic/role";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableChoosed: [],
|
||||
roleList: [],
|
||||
// 分页
|
||||
pagination: pagination,
|
||||
// 列
|
||||
columns: columns,
|
||||
searchForm:searchForm,
|
||||
expandedKeys: [],
|
||||
replaceFields: {
|
||||
children: 'childrenList',
|
||||
title: 'name',
|
||||
key: 'id',
|
||||
},
|
||||
autoExpandParent: true,
|
||||
checkedKeys: [],
|
||||
selectedKeys: [],
|
||||
// 数据
|
||||
tableData: [],
|
||||
ActionsList: [ ],
|
||||
menus:[]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
rolelist().then((res) => {
|
||||
this.roleList = res.data;
|
||||
});
|
||||
},
|
||||
rolechange(data){
|
||||
if(data){
|
||||
this.searchForm.roleId = this.roleList[data].id
|
||||
FindAllMenus({roleId:this.searchForm.roleId}).then(res=>{
|
||||
this.menus = res.data
|
||||
})
|
||||
|
||||
}else{
|
||||
this.searchForm.roleId = null
|
||||
}
|
||||
},
|
||||
onExpand(expandedKeys) {
|
||||
console.log('onExpand', expandedKeys);
|
||||
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
|
||||
// or, you can remove all expanded children keys.
|
||||
this.expandedKeys = expandedKeys;
|
||||
this.autoExpandParent = false;
|
||||
},
|
||||
onCheck(checkedKeys) {
|
||||
console.log('onCheck', checkedKeys);
|
||||
this.checkedKeys = checkedKeys;
|
||||
},
|
||||
onSelect(selectedKeys, info) {
|
||||
console.log('onSelect', info);
|
||||
this.selectedKeys = selectedKeys;
|
||||
},
|
||||
reset(){
|
||||
this.searchForm.keyword =''
|
||||
},
|
||||
handleTableChange(pagination) {
|
||||
console.log(pagination);
|
||||
const pager = { ...this.pagination };
|
||||
pager.current = pagination.current;
|
||||
pager.pageSize = pagination.pageSize;
|
||||
this.pagination = pager;
|
||||
},
|
||||
del(data) {
|
||||
this.$confirm({
|
||||
title: "是否删除",
|
||||
// okText:'删除',
|
||||
// cancelText:'取消',
|
||||
icon: "",
|
||||
onOk: function () {
|
||||
console.log(data);
|
||||
},
|
||||
});
|
||||
},
|
||||
Actions(data) {
|
||||
console.log(data);
|
||||
},
|
||||
selectionChoosed(data) {
|
||||
console.log(data);
|
||||
this.tableChoosed = data;
|
||||
},
|
||||
},
|
||||
// watch:{
|
||||
// checkedKeys(val) {
|
||||
// console.log('onCheck', val);
|
||||
// },
|
||||
// }
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.role-card {
|
||||
line-height: 30px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #d9d9d9;
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.tree-box{
|
||||
padding-left: 50px;
|
||||
display: flex;
|
||||
.tree{
|
||||
width:15%;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
@ -0,0 +1,165 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-row>
|
||||
<!-- 角色列表 -->
|
||||
<a-col :span="5">
|
||||
<div class="cardTitle">所有角色</div>
|
||||
<a-button class='add-btn' style="margin:10px">新增角色</a-button>
|
||||
<a-collapse accordion @change="rolechange">
|
||||
<a-collapse-panel
|
||||
v-for="(item, index) in roleList"
|
||||
:key="index"
|
||||
:header="item.name"
|
||||
>
|
||||
<div
|
||||
v-for="(rolechild, indexs) in item.childrenList"
|
||||
class="role-card"
|
||||
:key="indexs"
|
||||
>
|
||||
<div>
|
||||
{{ rolechild.name }}
|
||||
</div>
|
||||
</div>
|
||||
</a-collapse-panel>
|
||||
</a-collapse>
|
||||
</a-col>
|
||||
<!-- 人员表格 -->
|
||||
<a-col :span="19">
|
||||
<div class='treebox'>
|
||||
<a-tree
|
||||
class="tree"
|
||||
v-model="checkedKeys"
|
||||
checkable
|
||||
:replace-fields="replaceFields"
|
||||
:expanded-keys="expandedKeys"
|
||||
:auto-expand-parent="autoExpandParent"
|
||||
:selected-keys="selectedKeys"
|
||||
:tree-data="menus"
|
||||
@expand="onExpand"
|
||||
@select="onSelect"
|
||||
@check="onCheck"
|
||||
/>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {columns,pagination,searchForm} from './config.js'
|
||||
import { rolelist,FindAllMenus } from "@/api/basic/role";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableChoosed: [],
|
||||
roleList: [],
|
||||
// 分页
|
||||
pagination: pagination,
|
||||
// 列
|
||||
columns: columns,
|
||||
searchForm:searchForm,
|
||||
expandedKeys: [],
|
||||
replaceFields: {
|
||||
children: 'childrenList',
|
||||
title: 'name',
|
||||
key: 'id',
|
||||
},
|
||||
autoExpandParent: true,
|
||||
checkedKeys: [],
|
||||
selectedKeys: [],
|
||||
// 数据
|
||||
tableData: [],
|
||||
ActionsList: [ ],
|
||||
menus:[]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
rolelist().then((res) => {
|
||||
this.roleList = res.data;
|
||||
});
|
||||
},
|
||||
rolechange(data){
|
||||
if(data){
|
||||
this.searchForm.roleId = this.roleList[data].id
|
||||
FindAllMenus({roleId:this.searchForm.roleId}).then(res=>{
|
||||
this.menus = res.data
|
||||
})
|
||||
|
||||
}else{
|
||||
this.searchForm.roleId = null
|
||||
}
|
||||
},
|
||||
onExpand(expandedKeys) {
|
||||
console.log('onExpand', expandedKeys);
|
||||
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
|
||||
// or, you can remove all expanded children keys.
|
||||
this.expandedKeys = expandedKeys;
|
||||
this.autoExpandParent = false;
|
||||
},
|
||||
onCheck(checkedKeys) {
|
||||
console.log('onCheck', checkedKeys);
|
||||
this.checkedKeys = checkedKeys;
|
||||
},
|
||||
onSelect(selectedKeys, info) {
|
||||
console.log('onSelect', info);
|
||||
this.selectedKeys = selectedKeys;
|
||||
},
|
||||
reset(){
|
||||
this.searchForm.keyword =''
|
||||
},
|
||||
handleTableChange(pagination) {
|
||||
console.log(pagination);
|
||||
const pager = { ...this.pagination };
|
||||
pager.current = pagination.current;
|
||||
pager.pageSize = pagination.pageSize;
|
||||
this.pagination = pager;
|
||||
},
|
||||
del(data) {
|
||||
this.$confirm({
|
||||
title: "是否删除",
|
||||
// okText:'删除',
|
||||
// cancelText:'取消',
|
||||
icon: "",
|
||||
onOk: function () {
|
||||
console.log(data);
|
||||
},
|
||||
});
|
||||
},
|
||||
Actions(data) {
|
||||
console.log(data);
|
||||
},
|
||||
selectionChoosed(data) {
|
||||
console.log(data);
|
||||
this.tableChoosed = data;
|
||||
},
|
||||
},
|
||||
watch:{
|
||||
checkedKeys(val) {
|
||||
console.log('onCheck', val);
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.role-card {
|
||||
line-height: 30px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #d9d9d9;
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
/deep/.ant-tree ul{
|
||||
width: 200px;
|
||||
}
|
||||
.tree{
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,54 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "真实名称",
|
||||
dataIndex: "actualName",
|
||||
width: "16%",
|
||||
},
|
||||
{
|
||||
title: "手机号",
|
||||
dataIndex: "tel",
|
||||
width: "16%",
|
||||
},
|
||||
{
|
||||
title: "所属部门",
|
||||
dataIndex: "departmentName",
|
||||
width: "16%",
|
||||
},
|
||||
{
|
||||
title: "岗位",
|
||||
dataIndex: "positionName",
|
||||
width: "16%",
|
||||
},
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "remake",
|
||||
width: "300",
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "180",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
keyword: "",
|
||||
departmentId: null,
|
||||
positionId: null,
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
showTotal: (total) => `共 ${total} 条`,
|
||||
showSizeChanger: true,
|
||||
showQuickJumper: true,
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "楼栋名称",
|
||||
dataIndex: "name",
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "房屋总数",
|
||||
dataIndex: "estateTotals",
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "租赁房屋数",
|
||||
dataIndex: "leaseEstateNums",
|
||||
width: "20%"
|
||||
},
|
||||
{
|
||||
title: "租赁率",
|
||||
dataIndex: "leaseRate",
|
||||
width: "20%",
|
||||
customRender:function(leaseRate){
|
||||
return leaseRate+'%'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "入住率",
|
||||
dataIndex: "occupancyRate",
|
||||
width: "20%",
|
||||
customRender:function(occupancyRate){
|
||||
return occupancyRate+'%'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "180",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
name: "",
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "申请人姓名",
|
||||
dataIndex:"name",
|
||||
width:'14%'
|
||||
},
|
||||
{
|
||||
title: "申请人身份",
|
||||
key: "tags",
|
||||
width: "14%",
|
||||
dataIndex: "identity",
|
||||
scopedSlots: { customRender: "tags" },
|
||||
},
|
||||
{
|
||||
title: "房屋名称",
|
||||
dataIndex: "manageBuildingName",
|
||||
scopedSlots: { customRender: "name" },
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "申请人手机号",
|
||||
dataIndex:"tel",
|
||||
width:'14%'
|
||||
},
|
||||
{
|
||||
title: "申请人身份证号",
|
||||
dataIndex:"idCard",
|
||||
width:'14%'
|
||||
},
|
||||
{
|
||||
title: "状态",
|
||||
dataIndex:"status",
|
||||
width:'14%',
|
||||
customRender:function(status){
|
||||
switch (status) {
|
||||
case 1:
|
||||
return '审核中'
|
||||
case 2:
|
||||
return '驳回'
|
||||
case 3:
|
||||
return '通过'
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "房屋类型",
|
||||
dataIndex:"estateTypeName",
|
||||
width:'14%'
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "100",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
status:null,
|
||||
identity: null
|
||||
}
|
||||
export function reset() {
|
||||
this.searchForm = {
|
||||
status:null,
|
||||
identity:null,
|
||||
}
|
||||
this.getData()
|
||||
}
|
||||
export function handleTableChange(pagination) {
|
||||
const pager = { ...this.pagination };
|
||||
pager.current = pagination.current;
|
||||
pager.pageSize = pagination.pageSize;
|
||||
this.pagination = pager;
|
||||
this.getData()
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
showTotal: (total) => `共 ${total} 条`,
|
||||
showSizeChanger: true,
|
||||
showQuickJumper: true,
|
||||
}
|
@ -0,0 +1,226 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- add -->
|
||||
<a-drawer
|
||||
title="新增住户"
|
||||
:width="720"
|
||||
:visible="drawer.add.show"
|
||||
:body-style="{ paddingBottom: '80px' }"
|
||||
@close="addClose"
|
||||
>
|
||||
<div class="drawer-content">
|
||||
基本信息
|
||||
<a-divider></a-divider>
|
||||
<a-form-model
|
||||
ref="ruleForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-row>
|
||||
<a-col :span="8">
|
||||
<a-form-model-item label="关联房屋" prop="manageEstateId">
|
||||
<a-cascader
|
||||
:options="options"
|
||||
placeholder="Please select"
|
||||
@change="onChange"
|
||||
style="width: 90%"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<a-form-model-item label="房屋类型">
|
||||
<a-input
|
||||
placeholder="请先选择关联房屋"
|
||||
disabled
|
||||
style="width: 90%"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<a-form-model-item label="住户身份" prop="identity">
|
||||
<a-select placeholder="请选择住户身份" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="姓名" prop="name">
|
||||
<a-input placeholder="请输入姓名" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="手机号" prop="tel">
|
||||
<a-input placeholder="请输入手机号" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="性别" prop="sex">
|
||||
<a-input placeholder="请选择性别" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="身份证号" prop="idCard">
|
||||
<a-input placeholder="请输入身份证号" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="入住时间" prop="checkTime">
|
||||
<a-date-picker @change="onChange" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="户籍所在地" prop="domicile">
|
||||
<a-input placeholder="户籍所在地" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
身份证徽面照
|
||||
<a-upload
|
||||
name="avatar"
|
||||
list-type="picture-card"
|
||||
class="avatar-uploader"
|
||||
:show-upload-list="false"
|
||||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
||||
:before-upload="beforeUpload"
|
||||
@change="handleChange"
|
||||
>
|
||||
<img v-if="imageUrl" :src="imageUrl" alt="avatar" />
|
||||
<div v-else>
|
||||
<a-icon :type="loading ? 'loading' : 'plus'" />
|
||||
<div class="ant-upload-text"></div>
|
||||
</div>
|
||||
</a-upload>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
身份证头像照
|
||||
<a-upload
|
||||
name="avatar"
|
||||
list-type="picture-card"
|
||||
class="avatar-uploader"
|
||||
:show-upload-list="false"
|
||||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
||||
:before-upload="beforeUpload"
|
||||
@change="handleChange"
|
||||
>
|
||||
<img v-if="imageUrl" :src="imageUrl" alt="avatar" />
|
||||
<div v-else>
|
||||
<a-icon :type="loading ? 'loading' : 'plus'" />
|
||||
<div class="ant-upload-text"></div>
|
||||
</div>
|
||||
</a-upload>
|
||||
</a-col>
|
||||
<div v-show="form.identity === 2 || form.identity === 4">
|
||||
关联信息
|
||||
<a-divider></a-divider>
|
||||
</div>
|
||||
<div v-if="form.identity === 2">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="业主姓名" prop="ownerName">
|
||||
<a-input placeholder="请输入业主姓名" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="业主电话" prop="ownerTel">
|
||||
<a-input placeholder="请输入业主电话" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</div>
|
||||
<div v-else-if="form.identity === 4">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="租户姓名" prop="tenantName">
|
||||
<a-input placeholder="请输入租户姓名" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="租户电话" prop="tenantTel">
|
||||
<a-input placeholder="请输入租户电话" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</div>
|
||||
联系信息
|
||||
<a-divider></a-divider>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="紧急联系人" prop="emergencyContact">
|
||||
<a-input placeholder="请输入紧急联系人" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item
|
||||
label="紧急联系人电话"
|
||||
prop="emergencyContactNumber"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入紧急联系人电话"
|
||||
style="width: 90%"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
其他信息
|
||||
<a-divider></a-divider>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="婚姻状况" prop="maritalStatus">
|
||||
<a-select placeholder="请选择婚姻状况" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="民族" prop="nation">
|
||||
<a-input placeholder="请输入民族" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="政治面貌" prop="politicalOutlook">
|
||||
<a-select placeholder="请选择婚姻状况" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="户口类型" prop="accountType">
|
||||
<a-select placeholder="请选择户口类型" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="从事职业" prop="occupation">
|
||||
<a-input placeholder="请输入从事职业" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="工作单位" prop="employer">
|
||||
<a-input placeholder="请输入工作单位" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="工作单位地址" prop="employerAddress">
|
||||
<a-input placeholder="请输入工作单位地址" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-model-item label="备注" prop="remarks">
|
||||
<a-textarea placeholder="请输入备注" style="width: 90%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</div>
|
||||
<div class="drawer-footer">
|
||||
<a-button
|
||||
:style="{ marginRight: '8px' }"
|
||||
@click="drawer.add.show = false"
|
||||
>
|
||||
关闭
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addClose"> 提交 </a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
@ -0,0 +1,77 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "住户姓名",
|
||||
dataIndex: "name",
|
||||
width: "10%",
|
||||
},
|
||||
{
|
||||
title: "住户手机号",
|
||||
dataIndex: "tel",
|
||||
width: "10%",
|
||||
},
|
||||
{
|
||||
title: "住户性别",
|
||||
dataIndex: "sex",
|
||||
width: "8%",
|
||||
customRender:function(sex){
|
||||
switch (sex) {
|
||||
case 1:
|
||||
return '男'
|
||||
case 2:
|
||||
return '女'
|
||||
case 3:
|
||||
return '保密'
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "住户身份证号",
|
||||
dataIndex: "idCard",
|
||||
width: "10%",
|
||||
},
|
||||
{
|
||||
title: "房屋名称",
|
||||
dataIndex: "manageBuildingName",
|
||||
scopedSlots: { customRender: "name" },
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "房屋类型",
|
||||
dataIndex: "manageEstateTypeName",
|
||||
width: "10%",
|
||||
},
|
||||
{
|
||||
title: "用户身份",
|
||||
key: "tags",
|
||||
dataIndex: "identity",
|
||||
scopedSlots: { customRender: "tags" },
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "180",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
keyword: "",
|
||||
sex: null
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
showTotal: (total) => `共 ${total} 条`,
|
||||
showSizeChanger: true,
|
||||
showQuickJumper: true,
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
/**
|
||||
* 配置
|
||||
* 表格列
|
||||
*/
|
||||
export const columns = [
|
||||
{
|
||||
title: "房屋名称",
|
||||
dataIndex: "manageBuildingName",
|
||||
scopedSlots: { customRender: "name" },
|
||||
width: "20%",
|
||||
},
|
||||
{
|
||||
title: "室内面积",
|
||||
dataIndex: "indoorArea",
|
||||
width: "15%",
|
||||
},
|
||||
{
|
||||
title: "建筑面积",
|
||||
dataIndex: "constructionArea",
|
||||
width: "15%",
|
||||
},
|
||||
{
|
||||
title: "房屋类型",
|
||||
dataIndex: "manageEstateTypeName",
|
||||
width: "15%",
|
||||
},
|
||||
{
|
||||
title: "居住状态",
|
||||
key: "tags",
|
||||
dataIndex: "residenceStatus",
|
||||
scopedSlots: { customRender: "tags" },
|
||||
},
|
||||
{
|
||||
title: "是否开启租赁",
|
||||
dataIndex: "isEnableLease",
|
||||
scopedSlots: { customRender: "switch" },
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "action",
|
||||
key: "action",
|
||||
width: "180",
|
||||
fixed: "right",
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
]
|
||||
// 搜索项
|
||||
export const searchForm = {
|
||||
name: "",
|
||||
isEnableLease: null,
|
||||
manageEstateTypeId:null
|
||||
}
|
||||
// 分页
|
||||
export const pagination = {
|
||||
current: 1,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
showTotal: (total) => `共 ${total} 条`,
|
||||
showSizeChanger: true,
|
||||
showQuickJumper: true,
|
||||
}
|
||||
export function del(data) {
|
||||
this.$confirm({
|
||||
title: "是否删除",
|
||||
// okText:'删除',
|
||||
// cancelText:'取消',
|
||||
icon: "",
|
||||
onOk: function () {
|
||||
console.log(data);
|
||||
},
|
||||
});
|
||||
}
|
Loading…
Reference in new issue