Browse Source

小区管理操作权限调整

shibei_master
jiangyy 4 years ago
parent
commit
3f731da90e
  1. 33
      src/views/main-shuju/main.vue
  2. 38
      src/views/main.vue
  3. 5
      src/views/modules/base/community/buildTable.vue
  4. 11
      src/views/modules/base/community/community.vue
  5. 41
      src/views/modules/base/community/communityTable.vue
  6. 5
      src/views/modules/base/community/roomTable.vue

33
src/views/main-shuju/main.vue

@ -1,22 +1,18 @@
<template>
<div
v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
<div v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
'g-bd',
{ 'z-sidebar--fold': $store.state.sidebarFold },
{
'z-sidebar--noside': true,
},
]"
>
]">
<template v-if="!loading">
<main-navbar ref="ref_navbar" />
<div class="g-cnt">
<main-content
v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName"
/>
<main-content v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName" />
</div>
</template>
</div>
@ -31,10 +27,10 @@ import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request";
export default {
provide() {
provide () {
return {
//
refresh() {
refresh () {
this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false;
@ -42,7 +38,7 @@ export default {
},
};
},
data() {
data () {
return {
loading: true,
userType: localStorage.getItem("userType"),
@ -56,7 +52,7 @@ export default {
watch: {
$route: "routeHandle",
},
async created() {
async created () {
this.windowResizeHandle();
this.routeHandle(this.$route);
Promise.all([this.getWorkUserInfo()]).then(() => {
@ -65,11 +61,11 @@ export default {
},
computed: {},
methods: {
changeCustomerName(customerName) {
changeCustomerName (customerName) {
this.$refs["ref_navbar"].changeCustomerName(customerName);
},
//
windowResizeHandle() {
windowResizeHandle () {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener(
@ -81,7 +77,7 @@ export default {
);
},
// ,
routeHandle(route) {
routeHandle (route) {
if (!route.meta.isTab) {
return false;
}
@ -105,7 +101,7 @@ export default {
},
//
async getWorkUserInfo() {
async getWorkUserInfo () {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};
const { data, code, msg } = await requestPost(url, params);
@ -115,6 +111,7 @@ export default {
localStorage.setItem("roleList", data.roleList);
localStorage.setItem("customerId", data.customerId);
localStorage.setItem("staffId", data.id);
localStorage.setItem("agencyId", data.agencyId);
if (!localStorage.getItem("customerName")) {
localStorage.setItem("customerName", data.customerName || "");
}

38
src/views/main.vue

@ -1,8 +1,7 @@
<template>
<div
v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
<div v-loading.fullscreen.lock="loading"
:element-loading-text="$t('loading')"
:class="[
'aui-wrapper',
{ 'aui-sidebar--fold': $store.state.sidebarFold },
{
@ -10,16 +9,14 @@
$store.state.sidebarActiveSubMenuList.length == 0 || $store.state.inIframe,
},
{ 'z-iframe': $store.state.inIframe },
]"
>
]">
<template v-if="!loading">
<main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" />
<main-navbar ref="ref_navbar"
v-if="!$store.state.inIframe" />
<main-sidebar v-if="!$store.state.inIframe" />
<div class="aui-content__wrapper">
<main-content
v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName"
/>
<main-content v-if="!$store.state.contentIsNeedRefresh"
@changeCustomerName="changeCustomerName" />
</div>
<main-theme-tools v-if="!$store.state.inIframe" />
</template>
@ -37,10 +34,10 @@ import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request";
export default {
provide() {
provide () {
return {
//
refresh() {
refresh () {
this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false;
@ -48,7 +45,7 @@ export default {
},
};
},
data() {
data () {
return {
loading: true,
userType: localStorage.getItem("userType"),
@ -64,7 +61,7 @@ export default {
watch: {
$route: "routeHandle",
},
async created() {
async created () {
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"];
console.log(this.$store.state.sidebarMenuList);
@ -76,11 +73,11 @@ export default {
},
computed: {},
methods: {
changeCustomerName(customerName) {
changeCustomerName (customerName) {
this.$refs["ref_navbar"].changeCustomerName(customerName);
},
//
windowResizeHandle() {
windowResizeHandle () {
this.$store.state.sidebarFold =
document.documentElement["clientWidth"] <= 992 || false;
window.addEventListener(
@ -92,7 +89,7 @@ export default {
);
},
// ,
routeHandle(route) {
routeHandle (route) {
if (!route.meta.isTab) {
return false;
}
@ -115,7 +112,7 @@ export default {
this.$store.state.contentTabsActiveName = tab.name;
this.syncLevelOneMenuActive(tab.menuId);
},
async syncLevelOneMenuActive(menuId) {
async syncLevelOneMenuActive (menuId) {
await nextTick();
console.log(
"*******************************",
@ -138,7 +135,7 @@ export default {
idx !== -1 ? this.$store.state.sidebarMenuList[idx].children : [];
},
//
async getWorkUserInfo() {
async getWorkUserInfo () {
const url = "/epmetuser/customerstaff/staffbasicinfo";
let params = {};
const { data, code, msg } = await requestPost(url, params);
@ -148,6 +145,7 @@ export default {
localStorage.setItem("roleList", data.roleList);
localStorage.setItem("customerId", data.customerId);
localStorage.setItem("staffId", data.id);
localStorage.setItem("agencyId", data.agencyId);
if (!localStorage.getItem("customerName")) {
localStorage.setItem("customerName", data.customerName || "");
}

5
src/views/modules/base/community/buildTable.vue

@ -660,7 +660,10 @@ export default {
}
},
props: {
staffAgencyId: {
type: String,
default: '',
},
}
}
</script>

11
src/views/modules/base/community/community.vue

@ -29,13 +29,16 @@
<build-table v-if="selTreeObj.level==='neighborHood'"
ref="ref_neighTable"
:staffAgencyId="staffAgencyId"
@toNextLevel="toNextLevel"
@refreshTree="refreshTree"></build-table>
<room-table v-else-if="selTreeObj.level==='building'"
:staffAgencyId="staffAgencyId"
ref="ref_buildingTable"
@refreshTree="refreshTree"></room-table>
<community-table v-else
@toNextLevel="toNextLevel"
:staffAgencyId="staffAgencyId"
ref="ref_communityTable"
@refreshTree="refreshTree"></community-table>
@ -67,7 +70,8 @@ export default {
selTreeObj: {},
centerPoint: []
centerPoint: [],
staffAgencyId: localStorage.getItem("agencyId")
}
},
@ -78,6 +82,7 @@ export default {
this.treeLoading = true
await this.loadOrgData()
await this.loadTree()
await this.$refs['ref_communityTable'].loadTable(true, this.selTreeObj)
if (this.treeData.length > 0) {
this.$nextTick(() => {
@ -276,8 +281,8 @@ export default {
.div_table {
margin-left: 15px;
flex: 1;
// width: calc(100vw - 550px);
// flex: 1;
width: calc(100vw - 550px);
background-color: #ffffff;
border-radius: 5px;
padding: 10px;

41
src/views/modules/base/community/communityTable.vue

@ -42,7 +42,7 @@
icon="el-icon-plus"
@click="handleAdd">新增小区</el-button>
<div class="btn_upload"
v-if="agencyObj.level==='community'||agencyObj.level==='grid'">
v-if="showImportBtn">
<el-button style=""
type="blue"
size="small"
@ -157,12 +157,14 @@
style="color:#1C6AFD;text-decoration: underline;"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button type="text"
<el-button v-if="scopr.row.showBtn"
type="text"
style="color:#00A7A9;text-decoration: underline;"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button type="text"
<el-button v-if="scopr.row.showBtn"
type="text"
style="color:#D51010;text-decoration: underline;"
size="small"
@click="handleDelete(scope.row)">删除</el-button>
@ -229,6 +231,7 @@ export default {
tableLoading: true,
selAllFlag: false,
isIndeterminate: false,//
showImportBtn: false,//
agencyObj: {},//
ownerName: '',
@ -236,6 +239,7 @@ export default {
tableData: [],
selection: [],
//form
formShow: false,
formTitle: '新增小区',
@ -254,7 +258,6 @@ export default {
},
computed: {
tableHeight () {
return (this.clientHeight - 300)
},
@ -269,9 +272,26 @@ export default {
this.loadTable()
},
async loadTable (fromTree, treeObj) {
console.log(111, this.staffAgencyId)
this.tableLoading = true
if (fromTree) {
this.agencyObj = treeObj
if (this.agencyObj.level === 'community') {//
if (this.agencyObj.id === this.staffAgencyId) {//idid
this.showImportBtn = true
} else {
this.showImportBtn = false
}
} else if (this.agencyObj.level === 'grid') {//
if (this.agencyObj.pid === this.staffAgencyId) {//idid
this.showImportBtn = true
} else {
this.showImportBtn = false
}
} else {
this.showImportBtn = false
}
}
const url = "/gov/org/neighborhood/neighborhoodlist"
@ -289,6 +309,14 @@ export default {
if (code === 0) {
this.total = data.total
data.forEach(item => {
if (item.agencyId === this.staffAgencyId) {
item.showBtn = true
} else {
item.showBtn = false
}
});
this.tableData = data.list
} else {
this.$message.error(msg)
@ -702,7 +730,10 @@ export default {
}
},
props: {
staffAgencyId: {
type: String,
default: '',
},
}
}
</script>

5
src/views/modules/base/community/roomTable.vue

@ -615,7 +615,10 @@ export default {
}
},
props: {
staffAgencyId: {
type: String,
default: '',
},
}
}
</script>

Loading…
Cancel
Save