|  | @@ -14,7 +14,7 @@
 | 
	
		
			
				|  |  |          <el-button v-if="state.hasPermission('emergency:schedule:save')" type="primary" @click="addHandle()">新增</el-button>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item>
 | 
	
		
			
				|  |  | -        <el-button v-if="state.hasPermission('emergency:schedule:delete')" type="danger" @click="state.deleteHandle()">删除</el-button>
 | 
	
		
			
				|  |  | +        <el-button v-if="state.hasPermission('emergency:schedule:delete')" type="danger" @click="customDeleteHandle()">删除</el-button>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |         <el-form-item>
 | 
	
		
			
				|  |  |          <el-button v-if="state.hasPermission('emergency:schedule:review')" type="danger" @click="reviewHandle()">审阅</el-button>
 | 
	
	
		
			
				|  | @@ -41,7 +41,7 @@
 | 
	
		
			
				|  |  |                size="small"
 | 
	
		
			
				|  |  |                class="status-tag"
 | 
	
		
			
				|  |  |              >
 | 
	
		
			
				|  |  | -              {{ getScheduleStatus(data.day) === 0 ? '未确认' : '已确认' }}
 | 
	
		
			
				|  |  | +              {{ getScheduleStatus(data.day) === 0 ? '待确认' : '已确认' }}
 | 
	
		
			
				|  |  |              </el-tag>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -117,7 +117,6 @@ const addHandle = () => {
 | 
	
		
			
				|  |  |      return;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  // 查找已存在排班的日期
 | 
	
		
			
				|  |  |    const existingDates = selectedDates.value.filter(date =>
 | 
	
		
			
				|  |  |      state.dataList?.some(item => item.scheduleDate === date)
 | 
	
		
			
				|  |  |    );
 | 
	
	
		
			
				|  | @@ -147,7 +146,6 @@ const addHandle = () => {
 | 
	
		
			
				|  |  |  const refreshAfterAdd = async () => {
 | 
	
		
			
				|  |  |    selectedDates.value = [];  
 | 
	
		
			
				|  |  |    state.getDataList(); 
 | 
	
		
			
				|  |  | -  console.log(state.dataList);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const addOrUpdateRef = ref();
 | 
	
	
		
			
				|  | @@ -177,19 +175,62 @@ const handleDateToggle = (day: string, checked: boolean) => {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +//删除
 | 
	
		
			
				|  |  | +const customDeleteHandle = () => {
 | 
	
		
			
				|  |  | +  if (selectedDates.value.length === 0) {
 | 
	
		
			
				|  |  | +    return ElMessage.warning("请先选择要删除的日期");
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const idsToDelete = selectedDates.value
 | 
	
		
			
				|  |  | +    .map(date => {
 | 
	
		
			
				|  |  | +      const match = state.dataList.find(item => item.scheduleDate === date);
 | 
	
		
			
				|  |  | +      return match?.id;
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    .filter(Boolean) as string[];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  if (idsToDelete.length === 0) {
 | 
	
		
			
				|  |  | +    return ElMessage.warning("选中日期中暂无排班数据");
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  ElMessageBox.confirm(`确认要删除选中的 ${idsToDelete.length} 条排班记录吗?`, "提示", {
 | 
	
		
			
				|  |  | +    confirmButtonText: "删除",
 | 
	
		
			
				|  |  | +    cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +    type: "warning"
 | 
	
		
			
				|  |  | +  }).then(() => {
 | 
	
		
			
				|  |  | +    baseService.delete(state.deleteURL, idsToDelete);
 | 
	
		
			
				|  |  | +    ElMessage.success({
 | 
	
		
			
				|  |  | +      message: "删除成功",
 | 
	
		
			
				|  |  | +      duration: 500,
 | 
	
		
			
				|  |  | +      onClose: () => {
 | 
	
		
			
				|  |  | +            state.getDataList();
 | 
	
		
			
				|  |  | +            selectedDates.value = [];
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  }).catch(() => {
 | 
	
		
			
				|  |  | +    // 取消删除
 | 
	
		
			
				|  |  | +  });
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  // 审阅
 | 
	
		
			
				|  |  |  const reviewHandle = (id?: string) => {
 | 
	
		
			
				|  |  | -  if (!id && state.dataListSelections && state.dataListSelections.length <= 0) {
 | 
	
		
			
				|  |  | +  if (selectedDates.value.length === 0) {
 | 
	
		
			
				|  |  |      return ElMessage({
 | 
	
		
			
				|  |  |        message: "请选择操作项",
 | 
	
		
			
				|  |  |        type: "warning",
 | 
	
		
			
				|  |  |        duration: 500
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  const reviewData = id 
 | 
	
		
			
				|  |  | -    ? [id] 
 | 
	
		
			
				|  |  | -    : (state.dataListSelections || []).map((item: IObject) => {return item.id});
 | 
	
		
			
				|  |  | +  const reviewData = selectedDates.value
 | 
	
		
			
				|  |  | +    .map(date => {
 | 
	
		
			
				|  |  | +      const item = state.dataList.find((i: any) => i.scheduleDate === date);
 | 
	
		
			
				|  |  | +      return item?.id;
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    .filter(Boolean);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  if (reviewData.length === 0) {
 | 
	
		
			
				|  |  | +    return ElMessage.warning("选中日期中暂无排班数据");
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |    ElMessageBox.confirm("确定进行[审阅]操作?", "提示", {
 | 
	
		
			
				|  |  |      confirmButtonText: "确定",
 | 
	
		
			
				|  |  |      cancelButtonText: "取消",
 | 
	
	
		
			
				|  | @@ -202,6 +243,8 @@ const reviewHandle = (id?: string) => {
 | 
	
		
			
				|  |  |            duration: 500,
 | 
	
		
			
				|  |  |            onClose: () => {
 | 
	
		
			
				|  |  |              state.getDataList();
 | 
	
		
			
				|  |  | +            state.dataListSelections = [];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        });
 |