|
|
|
@ -1,13 +1,20 @@ |
|
|
|
<template> |
|
|
|
<el-card shadow="never" class="aui-card--fill"> |
|
|
|
<el-card shadow="never" |
|
|
|
class="aui-card--fill"> |
|
|
|
<div class="mod-news__group}"> |
|
|
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|
|
|
<el-form :inline="true" |
|
|
|
:model="dataForm" |
|
|
|
@keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item label="所属机构"> |
|
|
|
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable> |
|
|
|
<el-cascader v-model="ids" |
|
|
|
:options="options" |
|
|
|
:props="{ checkStrictly: true }" |
|
|
|
clearable> |
|
|
|
</el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="状态"> |
|
|
|
<el-select v-model="dataForm.state" clearable |
|
|
|
<el-select v-model="dataForm.state" |
|
|
|
clearable |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option v-for="item in stateOptions" |
|
|
|
:key="item.id" |
|
|
|
@ -20,35 +27,80 @@ |
|
|
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
|
|
|
<el-table-column type="index" width="50" label="序号"></el-table-column> |
|
|
|
<el-table-column prop="groupName" label="社群名称" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="groupCategory" label="性质" header-align="center" :formatter="formatGroupCategory" align="center"></el-table-column> |
|
|
|
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="nickname" label="群主" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="state" label="状态" header-align="center" align="center" :formatter="formatState"></el-table-column> |
|
|
|
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|
|
|
<el-table v-loading="dataListLoading" |
|
|
|
:data="dataList" |
|
|
|
border |
|
|
|
@selection-change="dataListSelectionChangeHandle" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column type="index" |
|
|
|
width="50" |
|
|
|
label="序号"></el-table-column> |
|
|
|
<el-table-column prop="groupName" |
|
|
|
label="社群名称" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="groupCategory" |
|
|
|
label="性质" |
|
|
|
header-align="center" |
|
|
|
:formatter="formatGroupCategory" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="createdTime" |
|
|
|
label="创建时间" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="nickname" |
|
|
|
label="群主" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="state" |
|
|
|
label="状态" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
:formatter="formatState"></el-table-column> |
|
|
|
<el-table-column :label="$t('handle')" |
|
|
|
fixed="right" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button v-if="scope.row.state === 0" type="text" size="small" @click="verify(scope.row.id)">{{ $t('verify') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state != 0" type="text" size="small" @click="look(scope.row.id)">{{ $t('look') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 10" type="text" size="small" @click="ban(scope.row.id)">{{ $t('ban') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 15" type="text" size="small" @click="liftTheBan(scope.row.id)">{{ $t('liftTheBan') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 10 || scope.row.state === 15" type="text" size="small" @click="disband(scope.row.id)">{{ $t('disband') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 0" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="verify(scope.row.id)">{{ $t('verify') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state != 0" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="look(scope.row.id)">{{ $t('look') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 10" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="ban(scope.row.id)">{{ $t('ban') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 15" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="liftTheBan(scope.row.id)">{{ $t('liftTheBan') }}</el-button> |
|
|
|
<el-button v-if="scope.row.state === 10 || scope.row.state === 15" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="disband(scope.row.id)">{{ $t('disband') }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination |
|
|
|
:current-page="page" |
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
:page-size="limit" |
|
|
|
:total="total" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
<el-pagination :current-page="page" |
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
:page-size="limit" |
|
|
|
:total="total" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
</el-pagination> |
|
|
|
<!-- 弹窗, 新增 / 修改 --> |
|
|
|
<group-detail v-if="groupDetailVisible" ref="groupDetail" @refreshDataList="getDataList"></group-detail> |
|
|
|
<group-approve v-if="groupApproveVisible" ref="groupApprove" @refreshDataList="getDataList"></group-approve> |
|
|
|
<group-detail v-if="groupDetailVisible" |
|
|
|
ref="groupDetail" |
|
|
|
@refreshDataList="getDataList"></group-detail> |
|
|
|
<group-approve v-if="groupApproveVisible" |
|
|
|
ref="groupApprove" |
|
|
|
@refreshDataList="getDataList"></group-approve> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
</template> |
|
|
|
@ -107,14 +159,14 @@ export default { |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
'ids': function (val) { |
|
|
|
if (val.length === 1){ |
|
|
|
if (val.length === 1) { |
|
|
|
this.dataForm.streetId = this.ids[0] |
|
|
|
} |
|
|
|
if (val.length === 2){ |
|
|
|
if (val.length === 2) { |
|
|
|
this.dataForm.streetId = this.ids[0] |
|
|
|
this.dataForm.communityId = this.ids[1] |
|
|
|
} |
|
|
|
if (val.length === 3){ |
|
|
|
if (val.length === 3) { |
|
|
|
this.dataForm.streetId = this.ids[0] |
|
|
|
this.dataForm.communityId = this.ids[1] |
|
|
|
this.dataForm.gridId = this.ids[2] |
|
|
|
@ -145,8 +197,7 @@ export default { |
|
|
|
ban (id) { |
|
|
|
this.postForm.state = 15 |
|
|
|
this.postForm.id = id |
|
|
|
this.$http['post']( |
|
|
|
'/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
this.$http['post']('/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
@ -156,13 +207,12 @@ export default { |
|
|
|
type: 'success', |
|
|
|
duration: 500 |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
liftTheBan (id) { |
|
|
|
this.postForm.state = 10 |
|
|
|
this.postForm.id = id |
|
|
|
this.$http['post']( |
|
|
|
'/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
this.$http['post']('/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
@ -172,13 +222,12 @@ export default { |
|
|
|
type: 'success', |
|
|
|
duration: 500 |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
disband (id) { |
|
|
|
this.postForm.state = 20 |
|
|
|
this.postForm.id = id |
|
|
|
this.$http['post']( |
|
|
|
'/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
this.$http['post']('/group/group/operate', this.postForm).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
@ -188,7 +237,7 @@ export default { |
|
|
|
type: 'success', |
|
|
|
duration: 500 |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
}, |
|
|
|
look (id) { |
|
|
|
this.groupDetailVisible = true |
|
|
|
@ -210,7 +259,7 @@ export default { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
this.options = res.data.options |
|
|
|
}).catch(() => {}) |
|
|
|
}).catch(() => { }) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|