diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/CheckItemController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/CheckItemController.php
index f69ade1..1578f9e 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/CheckItemController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/CheckItemController.php
@@ -57,6 +57,16 @@ public function Save()
return $s->Save($Info);
}
+ //批量更新检查须知/温馨提示
+ public function BatchUpdateNotice()
+ {
+ $item_ids = request('item_ids');
+ $field = request('field');
+ $value = request('value');
+ $s = new CheckItemService;
+ return $s->BatchUpdateNotice($item_ids, $field, $value);
+ }
+
//设置互斥
public function SetHuChi(Request $request)
{
diff --git a/Laravel/app/Services/Admin/YeWu/CheckItemService.php b/Laravel/app/Services/Admin/YeWu/CheckItemService.php
index 5bf6dbe..a09d6e0 100644
--- a/Laravel/app/Services/Admin/YeWu/CheckItemService.php
+++ b/Laravel/app/Services/Admin/YeWu/CheckItemService.php
@@ -242,6 +242,18 @@ public function Save($Info){
}
}
+ public function BatchUpdateNotice($item_ids, $field, $value)
+ {
+ if (empty($item_ids) || !in_array($field, ['check_notice', 'warm_tips'])) {
+ return \Yz::Return(false, '参数错误');
+ }
+ $updated = DB::table('s_check_item')
+ ->whereIn('id', $item_ids)
+ ->where('is_del', 0)
+ ->update([$field => $value]);
+ return \Yz::Return(true, '批量更新成功,共更新' . $updated . '条');
+ }
+
public function GetRules($item_id)
{
$rules = DB::table('s_check_item_rule')
diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php
index 1c1e1c0..da8a94c 100644
--- a/Laravel/routes/api.php
+++ b/Laravel/routes/api.php
@@ -74,6 +74,7 @@
Route::post('admin/ItemBindDevice','App\Http\Controllers\API\Admin\YeWu\CheckItemController@BindDevice');//admin后台检查项目绑定设备
Route::post('admin/GetYuYueTypes','App\Http\Controllers\API\Admin\YeWu\YuYueTypeController@GetTypes');//admin后台获取预约类型
Route::post('admin/SaveItemInfo','App\Http\Controllers\API\Admin\YeWu\CheckItemController@Save');//admin后台保存检查项目信息
+ Route::post('admin/BatchUpdateNotice','App\Http\Controllers\API\Admin\YeWu\CheckItemController@BatchUpdateNotice');//批量更新检查须知/温馨提示
Route::post('admin/GetDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetList');//admin后台获取科室列表
Route::post('admin/SaveDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Save');//保存科室信息
Route::post('admin/DelDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Del');//删除科室信息
diff --git a/YiJi-admin/src/api/api.js b/YiJi-admin/src/api/api.js
index 36e960a..6441209 100644
--- a/YiJi-admin/src/api/api.js
+++ b/YiJi-admin/src/api/api.js
@@ -184,6 +184,10 @@ export const GetYuYueTypes = (data = {}) => {
export const SaveItemInfo = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveItemInfo', data: data })
}
+//admin批量更新检查须知/温馨提示
+export const BatchUpdateNotice = (data = {}) => {
+ return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/BatchUpdateNotice', data: data })
+}
//获取当前科室权限的检查项目类别列表
export const GetDeptCheckItemClassList = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetDeptCheckItemClassList', data: data })
diff --git a/YiJi-admin/src/views/YeWu/CheckItemConfig.vue b/YiJi-admin/src/views/YeWu/CheckItemConfig.vue
index 1b7d38c..0377708 100644
--- a/YiJi-admin/src/views/YeWu/CheckItemConfig.vue
+++ b/YiJi-admin/src/views/YeWu/CheckItemConfig.vue
@@ -35,6 +35,8 @@
同步分类
同步检查项目
批量关联排班
+ 批量设置检查须知
+ 批量设置温馨提示
导出
@@ -55,7 +57,7 @@
否
-
+
@@ -132,7 +134,10 @@
检查须知:
+ type="textarea" placeholder="请输入检查须知" style="width: 500px;" :rows="8" />
+
+ 温馨提示:
+
+
+
+ 取消
+ 确定
+
+
请输入想要与 {{SelectedHuChiItemInfo.name}} 互斥的项目名称
@@ -292,6 +305,7 @@
ItemBindDevice,
GetYuYueTypes,
SaveItemInfo,
+ BatchUpdateNotice,
SetHuChi,
DelHuChi,
GetHuChiList,
@@ -327,7 +341,8 @@
reservation_method: '',
check_time: '',
check_begin_time: '',
- check_notice: ''
+ check_notice: '',
+ warm_tips: ''
})
//获取检查项目类别list
let BigClassList = ref([]);
@@ -412,6 +427,10 @@
let DevicedialogVisible = ref(false); //关联设备弹窗
let ItemDialogVisible = ref(false); //编辑项目弹窗
let isBatchLink = ref(false) //是否批量关联模式
+ let batchNoticeDialogVisible = ref(false)
+ let batchNoticeField = ref('')
+ let batchNoticeTitle = ref('')
+ let batchNoticeValue = ref('')
let selectedCheckItems = ref([]) //勾选的检查项目
let checkItemTableRef = ref(null) //表格ref
@@ -550,6 +569,55 @@
})
}
}
+
+ const openBatchNotice = (field) => {
+ if (selectedCheckItems.value.length === 0) {
+ ElMessage.error('请先勾选要批量设置的检查项目')
+ return
+ }
+ batchNoticeField.value = field
+ batchNoticeTitle.value = field === 'check_notice' ? '批量设置检查须知' : '批量设置温馨提示'
+
+ const valueMap = {}
+ selectedCheckItems.value.forEach(row => {
+ const val = (row[field] || '').trim()
+ if (val) {
+ valueMap[val] = (valueMap[val] || 0) + 1
+ }
+ })
+
+ let maxCount = 0
+ let mostValue = ''
+ Object.entries(valueMap).forEach(([val, count]) => {
+ if (count > maxCount) {
+ maxCount = count
+ mostValue = val
+ }
+ })
+
+ batchNoticeValue.value = mostValue
+ batchNoticeDialogVisible.value = true
+ }
+
+ const saveBatchNotice = () => {
+ const ids = selectedCheckItems.value.map(row => row.id)
+ loading.value = true
+ BatchUpdateNotice({
+ item_ids: ids,
+ field: batchNoticeField.value,
+ value: batchNoticeValue.value
+ }).then(res => {
+ loading.value = false
+ if (res.status) {
+ batchNoticeDialogVisible.value = false
+ ElMessage.success(res.msg)
+ GetItemList()
+ } else {
+ ElMessage.error(res.msg)
+ }
+ })
+ }
+
//获取可用设备列表
let deviceList = ref([])
const GetDeviceList = () => {
@@ -575,6 +643,7 @@
}
selectedItemInfo.value.check_begin_time = row.check_begin_time
selectedItemInfo.value.check_notice = row.check_notice
+ selectedItemInfo.value.warm_tips = row.warm_tips
}
//获取预约方式类型
let yuyueType = ref('')