主工作列表 申请科室 支持搜索

main
鹿和sa0ChunLuyu 2 weeks ago
parent ba6db64d8f
commit 95ba5d19c7

@ -75,5 +75,15 @@ public function SaveChildren()
$service = new DepartmentService(); $service = new DepartmentService();
return $service->SaveChildren($department_id, $children_ids); return $service->SaveChildren($department_id, $children_ids);
} }
//按名称或编号模糊搜索科室
public function Search()
{
$keyword = request('keyword');
if (empty($keyword)) {
return \Yz::Return(true, '查询成功', ['list' => []]);
}
$service = new DepartmentService();
return $service->Search($keyword);
}
} }

@ -186,4 +186,20 @@ public function SaveChildren($department_id, $children_ids)
} }
return \Yz::Return(true, '保存成功', []); return \Yz::Return(true, '保存成功', []);
} }
//按名称或编号模糊搜索科室
public function Search($keyword)
{
$list = DB::table('s_department')
->where('is_del', 0)
->where('department_status', 1)
->where(function($q) use ($keyword) {
$q->where('department_name', 'like', "%{$keyword}%")
->orWhere('department_number', 'like', "%{$keyword}%");
})
->select('id', 'department_name', 'department_number')
->orderBy('department_name')
->limit(20)
->get();
return \Yz::Return(true, '查询成功', ['list' => $list]);
}
} }

@ -78,6 +78,7 @@
Route::post('admin/DelDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Del');//删除科室信息 Route::post('admin/DelDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Del');//删除科室信息
Route::post('admin/GetEnableDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetEnableList');//获取启用的科室列表 Route::post('admin/GetEnableDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetEnableList');//获取启用的科室列表
Route::post('admin/GetFilteredDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetFilteredEnableList');//获取筛选后的科室列表(仅显示存在执行诊室的科室) Route::post('admin/GetFilteredDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetFilteredEnableList');//获取筛选后的科室列表(仅显示存在执行诊室的科室)
Route::post('admin/SearchDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Search');//按名称或编号模糊搜索科室
Route::post('admin/GetDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetChildren');//获取科室已关联的子科室列表 Route::post('admin/GetDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetChildren');//获取科室已关联的子科室列表
Route::post('admin/GetLeafDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetLeafList');//获取可作为诊室的叶子节点科室列表 Route::post('admin/GetLeafDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetLeafList');//获取可作为诊室的叶子节点科室列表
Route::post('admin/SaveDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@SaveChildren');//保存科室关联诊室关系 Route::post('admin/SaveDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@SaveChildren');//保存科室关联诊室关系

@ -360,6 +360,10 @@ export const PlanDetailPlanListDelAdmin = (data = {}) => {
export const GetMainList = (data = {}) => { export const GetMainList = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetMainList', data: data }) return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetMainList', data: data })
} }
//模糊搜索科室
export const SearchDepartment = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SearchDepartment', data: data })
}
//取消预约 //取消预约
export const CancelYuYue = (data = {}) => { export const CancelYuYue = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CancelYuYue', data: data }) return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CancelYuYue', data: data })

@ -51,8 +51,23 @@
style="width: 200px;margin-left: 8px;" /> style="width: 200px;margin-left: 8px;" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input v-model="searchInfo.apply_department" placeholder="申请科室" <el-select
style="width: 200px;margin-left: 8px;" /> v-model="searchInfo.apply_department"
filterable
remote
clearable
reserve-keyword
placeholder="申请科室"
style="width: 200px;margin-left: 8px;"
:remote-method="debouncedSearchDept"
>
<el-option
v-for="item in deptOptions"
:key="item.id"
:label="item.department_name + ' (' + item.department_number + ')'"
:value="item.department_name"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="loginUserinfo"> <el-form-item v-if="loginUserinfo">
<el-input v-model="searchInfo.doctor" :disabled="loginUserinfo.group==7" placeholder="医生" <el-input v-model="searchInfo.doctor" :disabled="loginUserinfo.group==7" placeholder="医生"
@ -278,7 +293,8 @@
DepartmentResourceGetEnableList, DepartmentResourceGetEnableList,
GetServiceDateTime, GetServiceDateTime,
GetLoglist, GetLoglist,
CheckEntrstItemGroup,getMainDetail,SignIn,CancelSign CheckEntrstItemGroup,getMainDetail,SignIn,CancelSign,
SearchDepartment
} from '@/api/api.js' } from '@/api/api.js'
import { import {
usePinia usePinia
@ -306,7 +322,8 @@
resources: [], resources: [],
services_group: null, services_group: null,
reg_num: null, reg_num: null,
user_name: null user_name: null,
apply_department: null
}) })
let loginType=ref(''); let loginType=ref('');
// //
@ -315,6 +332,32 @@
let currentPage = ref(1) // let currentPage = ref(1) //
let pageSize = ref(15) // let pageSize = ref(15) //
let total = 0 // let total = 0 //
let deptOptions = ref([])
//
const debounce = (fn, delay) => {
let timer = null
return function(...args) {
clearTimeout(timer)
timer = setTimeout(() => fn.apply(this, args), delay)
}
}
//
const searchDept = (keyword) => {
if (!keyword) {
deptOptions.value = []
return
}
SearchDepartment({ keyword }).then(res => {
if (res.status) {
deptOptions.value = res.data.list
} else {
deptOptions.value = []
}
})
}
const debouncedSearchDept = debounce(searchDept, 300)
const GetList = () => { const GetList = () => {
loading.value = true loading.value = true
GetMainList({ GetMainList({

Loading…
Cancel
Save