提交 d4ce7695 编写于 作者: bo.dang's avatar bo.dang

Merge remote-tracking branch 'origin/dev-liveSix-20200817' into dev-liveSix-20200817

......@@ -60,6 +60,8 @@ const roleManage = r => require.ensure([], () => r(require('../views/yqrange/rol
const createRange = r => require.ensure([], () => r(require('../views/yqrange/create-range.vue')), 'create-range')
const editRange = r => require.ensure([], () => r(require('../views/yqrange/edit-range.vue')), 'edit-range')
const createLive = r => require.ensure([], () => r(require('../views/yqrange/create-live.vue')), 'create-live')
const adminManage = r => require.ensure([], () => r(require('../views/yqrange/admin-manage.vue')), 'admin-manage')
export default [{
path: '/',
......@@ -226,6 +228,10 @@ export default [{
path: '/role-manage',
component: roleManage
},
{
path: '/admin-manage',
component: adminManage
},
{
path: '/create-range',
component: createRange
......
......@@ -305,7 +305,29 @@ const vueFilter = {
} else if (value == 2) {
return '取消屏蔽';
}
},
},
roleAdminStatus: (value) => {
if(value == 1) {
return '普通成员';
} else if(value == 2) {
return '主管理员';
}else if(value == 3) {
return '高级主管理员';
}else if(value == 4) {
return '管理员';
}
},
roleAdminButton: (value) => {
if(value == 1) {
return '升为管理员';
} else if(value == 2) {
return '';
}else if(value == 3) {
return '';
}else if(value == 4) {
return '降为普通成员';
}
},
areaText: (value) => {
let text = '-';
if (value.regions.length == 0) {
......
<template>
<div class="item-shield">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond" :curmbThird="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="header-title">设置管理员</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px">
<el-form :model="formInline" ref="formInline" label-width="75px" class="form-inline" style=";width:1000px;">
<el-col :span="6">
<el-form-item label="机构:">
<el-input style="width:130px" size="small" v-model="formInline.hospitalName" placeholder="请输入机构名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="名称:">
<el-input style="width:130px" size="small" v-model="formInline.doctorName" placeholder="请输入人员名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="角色:">
<el-select size="small" v-model="formInline.blackStatus" placeholder="请选择角色">
<el-option
v-for="(item, index) in statusList"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="padding:0;text-align:right;padding-right:10px;">
<el-button type="primary" size="small" @click="searchList()">搜索</el-button>
</el-col>
</el-form>
</el-row>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="doctorName" label="人员名称" align="center"></el-table-column>
<el-table-column prop="departmentName" label="所属科室" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属医院" align="center"></el-table-column>
<el-table-column prop="provinceName" label="所属省份" align="center"></el-table-column>
<el-table-column prop="cityName" label="所属城市" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" align="center"></el-table-column>
<el-table-column prop="townName" label="所属街道" align="center"></el-table-column>
<el-table-column fixed="right" label="角色" align="center">
<template slot-scope="scope"><p>{{ scope.row.blackStatus | roleAdminStatus }}</p></template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="150" align="center">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="openDialog(scope.row)"
>{{ scope.row.blackStatus | roleAdminButton }}</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="formInline.pageNo"
:page-sizes="[10, 20, 30, 100]"
:page-size="formInline.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
<el-dialog title="提醒" :visible.sync="dialogShow" width="30%" center>
<p v-if="shieldType == 1 && shieldBlock == 1">屏蔽后该人员将从圈选人员范围内去除,确定要继续屏蔽吗?</p>
<p v-if="shieldType == 1 && shieldBlock == 2">取消屏蔽后该人员将恢复到圈选范围,确定要取消屏蔽吗?</p>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogShow = false">取 消</el-button>
<el-button type="primary" @click="changeStatus()">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
import * as operationData from "../../utils/operation";
let vm = null;
export default {
components: {
BreadCrumb
},
data() {
return {
curmbFirst: "云鹊小圈",
curmbSecond: "设置管理员",
projectId: "",
shieldType: 1,
formInline: {
region: ["0"],
administrativeId: "",
hospitalName: "",
doctorName: "",
blackStatus: 0,
pageNo: 1,
pageSize: 10
},
statusList: [
{
label: "全部",
value: 0
},
{
label: "普通成员",
value: 1
},
{
label: "主管理员",
value: 2
},
{
label: "高级主管理员",
value: 3
},
{
label: "管理员",
value: 4
}
],
areaList: [
{
label: "全部地区",
value: 0
}
],
tableData: [],
totalRows: 0,
dialogShow: false,
shieldBlock: "",
scopeRow: {},
administrativeValue: "",
props: {
lazy: true,
lazyLoad(node, resolve) {
const { level } = node;
console.log("node", node);
if (node.level == 1) {
let req = {
provinceId: node.data.value
};
vm.GET("basic-data/position/cities", req).then(res => {
let newData = vm.setMoreOption(res.data.cityList, "cities");
console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 2) {
let req = {
cityId: node.data.value
};
vm.GET("basic-data/position/counties", req).then(res => {
let newData = vm.setMoreOption(res.data.countyList, "counties");
console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 3) {
let req = {
countyId: node.data.value
};
vm.GET("basic-data/position/towns", req).then(res => {
let newData = vm.setMoreOption(res.data.townList, "towns");
console.log("newData", newData);
resolve(newData);
});
}
}
}
};
},
computed: {
...mapGetters(["_token"])
},
created() {
vm = this;
vm.projectId = 809;
vm.search();
},
// 挂载到Dom完成时
mounted: function() {
// window.onbeforeunload = function(e) {
// let pathname = location.href.split("/");
// pathname = pathname[pathname.length - 1];
// console.log(pathname);
// if (pathname == "item-shield") {
// e = e || window.event;
// if (e) {
// e.returnValue = "数据不会保存";
// }
// return "数据不会保存";
// }
// };
commonUtil.resizeHeight();
},
// beforeRouteLeave(to, from, next) {
// const answer = window.confirm(
// "Do you really want to leave? you have unsaved changes!"
// );
// if (answer) {
// next();
// } else {
// next(false);
// }
// },
methods: {
handleChange(value) {
let areaId = "000";
for (let i = 0; i < value.length; i++) {
areaId += "_" + value[i];
}
vm.administrativeValue = areaId;
if (areaId == "000_0") {
vm.administrativeValue = "";
}
console.log(value, vm.administrativeValue);
},
setMoreOption(data, type) {
let option = [];
for (let i = 0; i < data.length; i++) {
let obj = data[i];
if (type == "cities") {
obj.label = data[i].cityName;
obj.value = data[i].cityId;
} else if (type == "counties") {
obj.label = data[i].countyName;
obj.value = data[i].countyId;
// obj.leaf = true;
} else if (type == "towns") {
obj.label = data[i].townName;
obj.value = data[i].townId;
obj.leaf = true;
}
option.push(obj);
}
return option;
},
searchList() {
this.formInline.pageNo = 1;
this.search();
},
search() {
let req = {
blackStatus: vm.formInline.blackStatus,
hospitalName: vm.formInline.hospitalName,
doctorName: vm.formInline.doctorName,
pageNo: vm.formInline.pageNo,
pageSize: vm.formInline.pageSize,
projectId: vm.projectId
};
openLoading(vm);
vm.GET("portal/black/getScopePeopleWithBlack", req).then(res => {
closeLoading(vm);
vm.setTable(res);
// vm.tableData = res.data.list;
// vm.totalRows = res.data.count;
});
},
setTable(res) {
vm.tableData = [];
vm.totalRows = 0;
if (res.code == "000000") {
vm.tableData = res.data.list;
vm.totalRows = res.data.count;
} else {
vm.$message(res.message);
}
},
openDialog(row) {
vm.scopeRow = row;
vm.shieldBlock = row.blackStatus;
vm.dialogShow = true;
},
// 屏蔽/取消屏蔽
changeStatus() {
let row = vm.scopeRow;
let option = "";
if (row.blackStatus == 2) {
option = 1;
} else if (row.blackStatus == 1) {
option = 2;
}
if (vm.shieldType == 1) {
//屏蔽人员
let req = {
blackStatus: option,
doctorId: row.doctorId,
projectId: vm.projectId
};
openLoading(vm);
vm.POST("portal/black/setPeopleBlackStatus", req).then(res => {
closeLoading(vm);
vm.dialogShow = false;
vm.$message(res.message);
vm.search();
});
}
},
complete() {
console.log("完成");
},
//重置表单
resetForm() {
vm.formInline = Object.assign(
{},
{
region: ["0"],
administrativeId: "",
hospitalName: "",
doctorName: "",
blackStatus: 0,
pageNo: 1,
pageSize: 10
}
);
vm.searchList();
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.formInline.pageSize = val;
vm.searchList();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.formInline.pageNo = val;
this.search();
}
}
};
</script>
<style lang="scss">
.item-shield {
.component-content {
padding: 10px;
background: #fff;
.complete {
float: right;
}
.header-title{
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册