提交 6dad8853 编写于 作者: zhentian.jia's avatar zhentian.jia

屏蔽机构 人员

上级 4afa62a5
...@@ -237,17 +237,17 @@ const vueFilter = { ...@@ -237,17 +237,17 @@ const vueFilter = {
return time; return time;
}, },
shieldStatus: (value) => { shieldStatus: (value) => {
if(value == 0) { if(value == 1) {
return '已屏蔽';
} else if(value == 1) {
return '未屏蔽'; return '未屏蔽';
} else if(value == 2) {
return '已屏蔽';
} }
}, },
shieldButton: (value) => { shieldButton: (value) => {
if(value == 0) { if(value == 1) {
return '取消屏蔽';
} else if(value == 1) {
return '屏蔽'; return '屏蔽';
} else if(value == 2) {
return '取消屏蔽';
} }
}, },
areaText: (value) => { areaText: (value) => {
......
...@@ -281,6 +281,9 @@ ...@@ -281,6 +281,9 @@
</el-tree> </el-tree>
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<p class="area-p">
项目范围包含下列区域所有机构和人员({{ tagsRegion.length }})
</p>
<el-tag <el-tag
v-for="tag in tagsRegion" v-for="tag in tagsRegion"
:key="tag.name" :key="tag.name"
...@@ -3570,6 +3573,10 @@ export default { ...@@ -3570,6 +3573,10 @@ export default {
} }
.second-step { .second-step {
margin: 10px 0 0 20px; margin: 10px 0 0 20px;
.area-p {
margin-bottom: 15px;
font-size: 14px;
}
.span_ecology { .span_ecology {
line-height: 45px; line-height: 45px;
margin-left: 8px; margin-left: 8px;
......
...@@ -3,25 +3,37 @@ ...@@ -3,25 +3,37 @@
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet"> <div class="component-content screenSet" id="screenSet">
<el-radio-group v-model="shieldType" @change="changeType"> <el-radio-group v-model="shieldType" @change="changeType">
<el-radio-button label="1">屏蔽机构</el-radio-button> <el-radio-button label="0">屏蔽机构</el-radio-button>
<el-radio-button label="2">屏蔽人员</el-radio-button> <el-radio-button label="1">屏蔽人员</el-radio-button>
</el-radio-group> </el-radio-group>
<el-button class="complete" type="primary" size="small" @click="complete">完成</el-button> <el-button class="complete" type="primary" size="small" @click="complete">完成</el-button>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;"> <el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form :model="formInline" ref="formInline" label-width="75px" class="form-inline"> <el-form :model="formInline" ref="formInline" label-width="75px" class="form-inline">
<el-col :span="6"> <el-col :span="6" v-if=" shieldType == 0">
<el-form-item label="所属机构:"> <el-form-item label="地区:">
<el-input size="small" v-model="formInline.organizationName" placeholder="请输入机构名称"></el-input> <el-select size="small" v-model="formInline.administrativeId" placeholder="请选择地区">
<el-option
v-for="(item, index) in areaList"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="姓名:"> <el-form-item label="机构:">
<el-input size="small" v-model="formInline.userName" placeholder="请输入人员名称"></el-input> <el-input size="small" v-model="formInline.hospitalName" placeholder="请输入机构名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" v-if="shieldType == 1">
<el-form-item label="名称:">
<el-input size="small" v-model="formInline.doctorName" placeholder="请输入人员名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="状态:"> <el-form-item label="通知状态:">
<el-select size="small" v-model="formInline.status" placeholder="请选择状态"> <el-select size="small" v-model="formInline.blackStatus" placeholder="请选择状态">
<el-option <el-option
v-for="(item, index) in statusList" v-for="(item, index) in statusList"
:key="index" :key="index"
...@@ -37,22 +49,30 @@ ...@@ -37,22 +49,30 @@
</el-form> </el-form>
</el-row> </el-row>
<el-table :data="tableData" style="width: 100%"> <el-table :data="tableData" style="width: 100%">
<el-table-column prop="userName" label="人员名称" min-width="100" align="center"></el-table-column> <el-table-column v-if="shieldType == 0" prop="hospitalName" label="医院名称" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属医院" align="center"></el-table-column> <el-table-column
<el-table-column prop="departmentName" label="所属科室" align="center" min-width="100"></el-table-column> v-if="shieldType == 0"
<el-table-column prop="province" label="所属省份" align="center"></el-table-column> prop="hospitalLevelGradeName"
<el-table-column prop="city" label="所属城市" align="center"></el-table-column> label="医院级别"
<el-table-column prop="county" label="所属区县" align="center"></el-table-column> align="center"
<el-table-column fixed="right" label="状态" width="200" align="center"> ></el-table-column>
<template slot-scope="scope">{{ scope.row.status | shieldStatus }}</template> <el-table-column v-if="shieldType == 1" prop="doctorName" label="人员名称" align="center"></el-table-column>
<el-table-column v-if="shieldType == 1" prop="hospitalName" label="所属医院" align="center"></el-table-column>
<el-table-column v-if="shieldType == 1" prop="departmentName" 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">{{ scope.row.blackStatus | shieldStatus }}</template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center"> <el-table-column fixed="right" label="操作" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click="changeStatus(scope.row)" @click="openDialog(scope.row)"
>{{ scope.row.status | shieldButton }}</el-button> >{{ scope.row.blackStatus | shieldButton }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -68,6 +88,20 @@ ...@@ -68,6 +88,20 @@
:total="totalRows" :total="totalRows"
></el-pagination> ></el-pagination>
</div> </div>
<el-dialog
title="提醒"
:visible.sync="dialogShow"
width="30%"
center>
<p v-if="shieldType == 0 && shieldBlock == 1">屏蔽后该机构将从圈选机构范围内去除,确定继续屏蔽吗?</p>
<p v-if="shieldType == 0 && shieldBlock == 2">取消屏蔽后该机构将恢复到圈选范围,确定要取消屏蔽吗?</p>
<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>
</div> </div>
</template> </template>
...@@ -85,26 +119,41 @@ export default { ...@@ -85,26 +119,41 @@ export default {
return { return {
curmbFirst: "教培项目", curmbFirst: "教培项目",
curmbSecond: "屏蔽", curmbSecond: "屏蔽",
shieldType: 1, projectId: "",
shieldType: 0,
formInline: { formInline: {
organizationName: "", administrativeId: 0,
userName: "", hospitalName: "",
status: "", doctorName: "",
blackStatus: 0,
pageNo: 1, pageNo: 1,
pageSize: 10 pageSize: 10
}, },
statusList: [ statusList: [
{ {
label: "屏蔽", label: "全部",
value: 0 value: 0
}, },
{ {
label: "取消屏蔽", label: "屏蔽",
value: 1 value: 1
},
{
label: "屏蔽",
value: 2
}
],
areaList: [
{
label: "全部地区",
value: 0
} }
], ],
tableData: [], tableData: [],
totalRows: 0, totalRows: 0,
dialogShow: false,
shieldBlock: '',
scopeRow: {},
}; };
}, },
computed: { computed: {
...@@ -112,6 +161,7 @@ export default { ...@@ -112,6 +161,7 @@ export default {
}, },
created() { created() {
vm = this; vm = this;
vm.projectId = vm.getUrlSearch(window.location.href, "projectId");
this.search(); this.search();
window.onbeforeunload = function(e) { window.onbeforeunload = function(e) {
let pathname = location.href.split("/"); let pathname = location.href.split("/");
...@@ -129,10 +179,10 @@ export default { ...@@ -129,10 +179,10 @@ export default {
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted: function() { mounted: function() {
window.onbeforeunload = function(e) { window.onbeforeunload = function(e) {
let pathname = location.href.split('/'); let pathname = location.href.split("/");
pathname = pathname[pathname.length-1]; pathname = pathname[pathname.length - 1];
console.log(pathname); console.log(pathname);
if(pathname == 'item-shield') { if (pathname == "item-shield") {
e = e || window.event; e = e || window.event;
if (e) { if (e) {
e.returnValue = "数据不会保存"; e.returnValue = "数据不会保存";
...@@ -153,36 +203,110 @@ export default { ...@@ -153,36 +203,110 @@ export default {
next(false); next(false);
} }
}, },
destroyed() { destroyed() {},
},
methods: { methods: {
searchList() { searchList() {
this.formInline.pageNo = 1; this.formInline.pageNo = 1;
this.search(); this.search();
}, },
search() { search() {
vm.tableData = [ if (vm.shieldType == 0) {
{ let req = {
userName: "云小鹊", administrativeId: vm.formInline.administrativeId,
hospitalName: "测试医院", blackStatus: vm.formInline.blackStatus,
departmentName: "呼吸科", hospitalName: vm.formInline.hospitalName,
province: "上海市", pageNo: vm.formInline.pageNo,
city: "上海市", pageSize: vm.formInline.pageSize,
county: "浦东新区", projectId: vm.projectId
status: 0 };
openLoading(vm);
vm.GET("portal/black/getScopeHospitalWithBlack", req).then(res => {
closeLoading(vm);
console.log(res);
vm.tableData = res.data.list;
vm.totalRows = res.data.count;
});
} else if (vm.shieldType == 1) {
let req = {
blackStatus: vm.formInline.blackStatus,
hospitalName: vm.formInline.organizationName,
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);
console.log(res);
vm.tableData = res.data.list;
vm.totalRows = res.data.count;
});
} }
]; },
openDialog(row) {
vm.scopeRow = row;
vm.shieldBlock = row.blackStatus;
vm.dialogShow = true;
}, },
// 屏蔽/取消屏蔽 // 屏蔽/取消屏蔽
changeStatus() { changeStatus() {
vm.tableData[0].status = 1; let row = vm.scopeRow;
let option = '';
if(row.blackStatus == 2) {
option = 1;
} else if(row.blackStatus == 1) {
option = 2;
}
if (vm.shieldType == 0) {
//屏蔽机构
let req = {
blackStatus: option,
hospitalId: row.hospitalId,
projectId: vm.projectId
};
openLoading(vm);
vm.GET("portal/black/setHospitalBlackStatus", req).then(res => {
closeLoading(vm);
vm.dialogShow = false;
});
} else if (vm.shieldType == 1) {
//屏蔽人员
let req = {
blackStatus: option,
doctorId: row.doctorId,
projectId: vm.projectId
};
openLoading(vm);
vm.GET("portal/black/setPeopleBlackStatus", req).then(res => {
closeLoading(vm);
vm.dialogShow = false;
});
}
}, },
//改变 //改变
changeType(value) { changeType(value) {
console.log(value); console.log(value);
vm.resetForm();
// vm.searchList();
}, },
complete() { complete() {
console.log('完成'); console.log("完成");
},
//重置表单
resetForm() {
vm.formInline = Object.assign(
{},
{
administrativeId: 0,
hospitalName: "",
doctorName: "",
blackStatus: 0,
pageNo: 1,
pageSize: 10
}
);
vm.searchList();
}, },
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
...@@ -192,7 +316,7 @@ export default { ...@@ -192,7 +316,7 @@ export default {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.formInline.pageNo = val; this.formInline.pageNo = val;
this.search(); this.search();
}, }
} }
}; };
</script> </script>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册