科室维护本科室信息

main
岩仔88 2 weeks ago
parent 8d79b63954
commit 63220de994

@ -9,14 +9,16 @@
class DepartmentController extends Controller class DepartmentController extends Controller
{ {
//获取科室列表 //获取科室列表
public function GetList() public function GetList(Request $request)
{ {
$page =request('page'); $page =request('page');
$pageSize =request('pageSize'); $pageSize =request('pageSize');
$searchInfo =request('searchInfo'); $searchInfo =request('searchInfo');
$userid = $request->get('userid');
$group = $request->get('role');
$service = new DepartmentService(); $service = new DepartmentService();
return $service->GetList($searchInfo,$page,$pageSize); return $service->GetList($searchInfo,$page,$pageSize,$userid,$group);
} }
//获取启用的科室列表 //获取启用的科室列表
public function GetEnableList(Request $request) public function GetEnableList(Request $request)

@ -5,9 +5,25 @@
class DepartmentService class DepartmentService
{ {
public function GetList($searchInfo,$page,$pageSize) public function GetList($searchInfo,$page,$pageSize,$userid=null,$group=null)
{ {
$list=DB::table('s_department')->where('is_del',0); $list=DB::table('s_department')->where('is_del',0);
if(!in_array($group,[1,5]) && $userid){
$userInfo = DB::table('users')->where(['id'=>$userid])->first();
if($userInfo){
$deptIds = [];
if(!empty($userInfo->department_ids)){
$deptIds = explode(",", $userInfo->department_ids);
} elseif($userInfo->department_id){
$deptIds = [$userInfo->department_id];
}
if(count($deptIds) > 0){
$list = $list->whereIn('id', $deptIds);
}
}
}
if(isset($searchInfo['status'])){ if(isset($searchInfo['status'])){
$list= $list->where('department_status',$searchInfo['status']); $list= $list->where('department_status',$searchInfo['status']);
@ -29,9 +45,18 @@ public function GetEnableList($arr,$is_all=false)
{ {
$list=DB::table('s_department'); $list=DB::table('s_department');
if(!in_array($arr['group'],[1,5]) and $is_all===false){ if(!in_array($arr['group'],[1,5]) and $is_all===false){
$userInfo = DB::table('users')->where(['id'=>$arr['userid']])->get(); $userInfo = DB::table('users')->where(['id'=>$arr['userid']])->first();
$department_id=$userInfo[0]->department_id; if($userInfo){
$list= $list->where(['id'=>$department_id]); $deptIds = [];
if(!empty($userInfo->department_ids)){
$deptIds = explode(",", $userInfo->department_ids);
} elseif($userInfo->department_id){
$deptIds = [$userInfo->department_id];
}
if(count($deptIds) > 0){
$list = $list->whereIn('id', $deptIds);
}
}
} }
$list= $list->where(['is_del'=>0,'department_status'=>1])->get(); $list= $list->where(['is_del'=>0,'department_status'=>1])->get();
return \Yz::Return(true, '查询成功', ['list'=>$list]); return \Yz::Return(true, '查询成功', ['list'=>$list]);

@ -9,11 +9,11 @@
<el-option label="禁用" :value="0" /> <el-option label="禁用" :value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item v-if="isAdmin">
<el-input v-model="searchInfo.name" placeholder="请输入科室名称" style="margin-left: 10px;" /> <el-input v-model="searchInfo.name" placeholder="请输入科室名称" style="margin-left: 10px;" />
</el-form-item> </el-form-item>
<el-button @click="GetList()" style="margin-left: 10px;">查询</el-button> <el-button @click="GetList()" style="margin-left: 10px;">查询</el-button>
<el-button type="primary" @click="add()" style="margin-left: 10px;">添加科室</el-button> <el-button v-if="isAdmin" type="primary" @click="add()" style="margin-left: 10px;"></el-button>
</el-row> </el-row>
</div> </div>
<el-table :data="tableData" style="width: 100%;" row-key="id" :row-style="{'height':'60px'}" <el-table :data="tableData" style="width: 100%;" row-key="id" :row-style="{'height':'60px'}"
@ -27,7 +27,7 @@
<el-tag v-if="scope.row.department_status==1" class="ml-2" type="success"></el-tag> <el-tag v-if="scope.row.department_status==1" class="ml-2" type="success"></el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="科室账号" width="120"> <el-table-column prop="status" label="科室账号" width="120" v-if="isAdmin">
<template #default="scope"> <template #default="scope">
<div style="text-align: center;" > <div style="text-align: center;" >
<el-button v-if="scope.row.department_status==1" @click="addUser(scope.row)" size="small"></el-button> <el-button v-if="scope.row.department_status==1" @click="addUser(scope.row)" size="small"></el-button>
@ -41,7 +41,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="科室资源"> <el-table-column label="科室资源" v-if="isAdmin">
<template #default="scope"> <template #default="scope">
<div class="zi_button" @click="goto1(scope.row.id)"> ( <span <div class="zi_button" @click="goto1(scope.row.id)"> ( <span
style="color: #dd377f;">{{scope.row.resource_count}}</span> )</div> style="color: #dd377f;">{{scope.row.resource_count}}</span> )</div>
@ -52,7 +52,7 @@
<el-table-column prop="" label="操作" width="180"> <el-table-column prop="" label="操作" width="180">
<template #default="scope"> <template #default="scope">
<el-button type="primary" @click="Edit(scope.row)" size="small">修改</el-button> <el-button type="primary" @click="Edit(scope.row)" size="small">修改</el-button>
<el-button type="danger" @click="Del(scope.row)" size="small">删除</el-button> <el-button v-if="isAdmin" type="danger" @click="Del(scope.row)" size="small"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -62,14 +62,18 @@
@size-change="PageSizeChange" @current-change="PageCurrentChange" /> @size-change="PageSizeChange" @current-change="PageCurrentChange" />
</div> </div>
<el-dialog v-model="dialogVisible" title="科室信息" width="30%"> <el-dialog v-model="dialogVisible" title="科室信息" width="30%">
<el-form :model="departmentInfo" label-width="100px" v-loading="loading" style="padding-right: 40px;"> <el-form :model="departmentInfo" label-width="130px" v-loading="loading" style="padding-right: 40px;">
<el-form-item label="科室名称:"> <el-form-item label="科室名称:">
<el-input v-model="departmentInfo.department_name" /> <el-input v-model="departmentInfo.department_name" :disabled="!isAdmin" />
</el-form-item> </el-form-item>
<el-form-item label="科室编号:"> <el-form-item label="科室编号:">
<el-input v-model="departmentInfo.department_number" /> <el-input v-model="departmentInfo.department_number" :disabled="!isAdmin" />
</el-form-item>
<el-form-item label="自动生成天数:">
<el-input-number v-model="departmentInfo.auto_gen_days" :min="1" :max="90" />
<span style="color: #aaa; margin-left: 10px; font-size: 12px;">*定时任务自动生成N天后的号源</span>
</el-form-item> </el-form-item>
<el-form-item label="科室状态:"> <el-form-item label="科室状态:" v-if="isAdmin">
<el-switch v-model="departmentInfo.department_status" active-text="" inactive-text="" <el-switch v-model="departmentInfo.department_status" active-text="" inactive-text=""
:active-value="1" :inactive-value="0" /> :active-value="1" :inactive-value="0" />
</el-form-item> </el-form-item>
@ -126,6 +130,13 @@
} from '@/api/api.js' } from '@/api/api.js'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import DepartmentResourcesSave from '@/components/Yewu/DepartmentResourcesSave.vue' import DepartmentResourcesSave from '@/components/Yewu/DepartmentResourcesSave.vue'
let loginUserinfo = ref(null)
if (sessionStorage.getItem("LoginUserInfo")) {
loginUserinfo.value = JSON.parse(sessionStorage.getItem("LoginUserInfo"))
}
const isAdmin = computed(() => {
return loginUserinfo.value && (loginUserinfo.value.group == 1 || loginUserinfo.value.group == 5)
})
const groupList_new = computed(() => { const groupList_new = computed(() => {
return groupList.value.filter(item => (item.id !== 1 && item.id !== 5)); return groupList.value.filter(item => (item.id !== 1 && item.id !== 5));
}); });
@ -169,7 +180,8 @@
id: null, id: null,
department_name: '', department_name: '',
department_number: '', department_number: '',
department_status: null department_status: null,
auto_gen_days: 15
}) })
const Edit = (row) => { const Edit = (row) => {
dialogVisible.value = true dialogVisible.value = true
@ -177,7 +189,8 @@
id: row.id, id: row.id,
department_name: row.department_name, department_name: row.department_name,
department_number: row.department_number, department_number: row.department_number,
department_status: row.department_status department_status: row.department_status,
auto_gen_days: row.auto_gen_days || 15
} }
} }
const Save = () => { const Save = () => {
@ -201,7 +214,8 @@
id: null, id: null,
department_name: '', department_name: '',
department_number: '', department_number: '',
department_status: 1 department_status: 1,
auto_gen_days: 15
} }
} }
// //

Loading…
Cancel
Save