diff --git a/yudao-admin-vue3/src/api/subscribe/staff/index.ts b/yudao-admin-vue3/src/api/subscribe/staff/index.ts
index 832681e..edb03b0 100644
--- a/yudao-admin-vue3/src/api/subscribe/staff/index.ts
+++ b/yudao-admin-vue3/src/api/subscribe/staff/index.ts
@@ -12,11 +12,12 @@ export interface StaffVO {
photo: string // 照片
phone: string // 手机号
serviceTime: string // 服务时间段
+ serviceStartTime: string
+ serviceEndTime: string
serviceScope: string // 服务范围
sign: number // 约满标记
status: number // 状态
content: string // 介绍
- serviceTimeArray: string
}
// 预约人员 API
diff --git a/yudao-admin-vue3/src/utils/dict.ts b/yudao-admin-vue3/src/utils/dict.ts
index 7d71430..100c1d1 100644
--- a/yudao-admin-vue3/src/utils/dict.ts
+++ b/yudao-admin-vue3/src/utils/dict.ts
@@ -108,26 +108,10 @@ export const getDictLabel = (dictType: string, value: any): string => {
}
export enum DICT_TYPE {
-
USER_TYPE = 'user_type',
COMMON_STATUS = 'common_status',
TERMINAL = 'terminal', // 终端
DATE_INTERVAL = 'date_interval', // 数据间隔
-
- //预约:人员管理
- STALL_SEX = 'stall_sex',
- STAFF_STATUS = 'staff_status',
- STAFF_FULL = 'staff_full',
- STAFF_TYPE = 'staff_type',
-
- //预约:预约管理
- SUBSCRIBE_TYPE = 'subscribe_type',
- SUBSCRIBE_CHECK_STATUS = 'subscribe_check_status',
- SUBSCRIBE_STATUS = 'subscribe_status',
-
- //预约:机构管理
- ORGANIZATION_STATUS = 'organization_status',
-
// ========== SYSTEM 模块 ==========
SYSTEM_USER_SEX = 'system_user_sex',
diff --git a/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue b/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue
index 6c7d632..b37de29 100644
--- a/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue
+++ b/yudao-admin-vue3/src/views/subscribe/organization/OrganizationForm.vue
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
+/** 打开弹窗 */
+const open = async (type: string, id?: number) => {
+ dialogVisible.value = true
+ dialogTitle.value = t('action.' + type)
+ formType.value = type
+ resetForm()
+ // 修改时,设置数据
+ if (id) {
+ formLoading.value = true
+ try {
+ formData.value = await StaffApi.getStaff(id)
+ } finally {
+ formLoading.value = false
+ }
+ }
+}
+defineExpose({ open }) // 提供 open 方法,用于打开弹窗
+
+/** 提交表单 */
+const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
+const submitForm = async () => {
+ // 校验表单
+ await formRef.value.validate()
+ // 提交请求
+ formLoading.value = true
+ try {
+ const data = formData.value as unknown as StaffVO
+ if (formType.value === 'create') {
+ await StaffApi.createStaff(data)
+ message.success(t('common.createSuccess'))
+ } else {
+ await StaffApi.updateStaff(data)
+ message.success(t('common.updateSuccess'))
+ }
+ dialogVisible.value = false
+ // 发送操作成功的事件
+ emit('success')
+ } finally {
+ formLoading.value = false
+ }
+}
+
+/** 重置表单 */
+const resetForm = () => {
+ formData.value = {
+ id: undefined,
+ organizationId: undefined,
+ serialNumber: undefined,
+ type: undefined,
+ name: undefined,
+ sex: undefined,
+ photo: undefined,
+ phone: undefined,
+ serviceTime: undefined,
+ serviceStartTime: undefined,
+ serviceEndTime: undefined,
+ serviceScope: undefined,
+ sign: undefined,
+ status: undefined,
+ content: undefined,
+ }
+ formRef.value?.resetFields()
+}
+
+/** 初始化 **/
+onMounted(() => {
+ getOrganizations()
+})
+
+
\ No newline at end of file
diff --git a/yudao-admin-vue3/src/views/subscribe/staff/index.vue b/yudao-admin-vue3/src/views/subscribe/staff/index.vue
index 3685e78..8df95db 100644
--- a/yudao-admin-vue3/src/views/subscribe/staff/index.vue
+++ b/yudao-admin-vue3/src/views/subscribe/staff/index.vue
@@ -80,7 +80,7 @@
class="!w-240px"
/>
-
+
-
-
+
+
@@ -209,11 +209,7 @@
-
-
-
-
-
+
-
-
-
-
-
@@ -37,21 +31,11 @@
placeholder="选择预约时间"
/>
-
-
-
-
-
-
+
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { ManageApi, ManageVO } from '@/api/subscribe/subscribemanage'
-import { OrganizationApi, OrganizationVO } from '@/api/subscribe/organization'
/** 预约 表单 */
defineOptions({ name: 'ManageForm' })
@@ -82,7 +65,6 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题
-const option = ref([]);
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const formType = ref('') // 表单的类型:create - 新增;update - 修改
const formData = ref({
@@ -95,23 +77,9 @@ const formData = ref({
checkStatus: undefined,
})
const formRules = reactive({
- userId: [{ required: true, message: '用户不能为空', trigger: 'blur' }],
- type: [{ required: true, message: '预约类型不能为空', trigger: 'blur' }],
- staffId: [{ required: true, message: '预约人员不能为空', trigger: 'blur' }],
- subscribeTime: [{ required: true, message: '预约时间不能为空', trigger: 'blur' }],
- subscribeStatus: [{ required: true, message: '预约状态不能为空', trigger: 'blur' }],
})
const formRef = ref() // 表单 Ref
-//初始化机构名称下拉框
- const getOrganizations = async () => {
- try {
- option.value = await OrganizationApi.getOrganizations()
- } finally {
-
- }
- }
-
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
@@ -154,10 +122,6 @@ const submitForm = async () => {
}
}
-/** 初始化 **/
- onMounted(() => {
- getOrganizations()
- })
/** 重置表单 */
const resetForm = () => {
formData.value = {
diff --git a/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue b/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue
index 4a1edbc..cdb6ce8 100644
--- a/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue
+++ b/yudao-admin-vue3/src/views/subscribe/subscribemanage/index.vue
@@ -8,7 +8,7 @@
:inline="true"
label-width="100px"
>
-
+
-
-
+
-
+
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java
deleted file mode 100644
index a8ab595..0000000
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/ServiceTimeVO.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo;
-
-import lombok.Data;
-
-@Data
-public class ServiceTimeVO {
- private String start;
- private String end;
-}
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java
index 8e6ecdb..fa6834a 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffPageReqVO.java
@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo;
-import com.baomidou.mybatisplus.annotation.TableField;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -38,12 +37,14 @@ public class StaffPageReqVO extends PageParam {
private String phone;
@Schema(description = "服务时间段")
- private String serviceTime;
-
-// @Schema(description = "服务开始时间")
-// private String serviceStartTime;
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private String[] serviceTime;
+ @Schema(description = "服务开始时间")
+ private String serviceStartTime;
+ @Schema(description = "服务结束时间")
+ private String serviceEndTime;
@Schema(description = "服务范围")
private String serviceScope;
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java
index 20d207e..392830f 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffRespVO.java
@@ -52,10 +52,11 @@ public class StaffRespVO {
@ExcelProperty("服务时间段")
private String serviceTime;
-// @Schema(description = "服务开始时间")
-// private String serviceStartTime;
-//
- private String serviceTimeArray;
+ @Schema(description = "服务开始时间")
+ private String serviceStartTime;
+
+ @Schema(description = "服务结束时间")
+ private String serviceEndTime;
@Schema(description = "服务范围")
@ExcelProperty("服务范围")
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java
index d065bcd..4aa2824 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/staff/vo/StaffSaveReqVO.java
@@ -36,6 +36,12 @@ public class StaffSaveReqVO {
@Schema(description = "服务时间段")
private String serviceTime;
+ @Schema(description = "服务开始时间")
+ private String serviceStartTime;
+
+ @Schema(description = "服务结束时间")
+ private String serviceEndTime;
+
@Schema(description = "服务范围")
private String serviceScope;
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java
index 1a17b79..b8d9600 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/controller/admin/subscribemanage/vo/SubscribeManageRespVO.java
@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.srbscribe.controller.admin.subscribemanage.vo;
-import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -23,10 +22,6 @@ public class SubscribeManageRespVO {
@ExcelProperty("用户id")
private Long userId;
- @Schema(description = "用户姓名")
- @ExcelProperty("用户姓名")
- private String userName;
-
@Schema(description = "预约类型", example = "2")
@ExcelProperty(value = "预约类型", converter = DictConvert.class)
@DictFormat("subscribe_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
@@ -36,10 +31,6 @@ public class SubscribeManageRespVO {
@ExcelProperty("预约人员id")
private Long staffId;
- @Schema(description = "预约人员")
- @ExcelProperty("预约人员")
- private String staffName;
-
@Schema(description = "预约时间")
@ExcelProperty("预约时间")
private LocalDateTime subscribeTime;
@@ -57,6 +48,8 @@ public class SubscribeManageRespVO {
@ExcelProperty("创建时间")
private LocalDateTime createTime;
-
+ @Schema(description = "预约人员")
+ @ExcelProperty("预约人员")
+ private String staffName;
}
\ No newline at end of file
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java
index 49d9a19..7491802 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/dataobject/staff/StaffDO.java
@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff;
-import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.ServiceTimeVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -65,6 +64,14 @@ public class StaffDO extends BaseDO {
* 服务时间段
*/
private String serviceTime;
+ /**
+ * 服务开始时间
+ */
+ private String serviceStartTime;
+ /**
+ * 服务结束时间
+ */
+ private String serviceEndTime;
/**
* 服务范围
*/
@@ -90,7 +97,4 @@ public class StaffDO extends BaseDO {
@TableField(exist = false)
private String organizationName;
- @TableField(exist = false)
- private String serviceTimeArray ;
-
}
\ No newline at end of file
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java
index ed350b0..33fd1cd 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/organization/OrganizationMapper.java
@@ -23,7 +23,9 @@ public interface OrganizationMapper extends BaseMapperX {
.likeIfPresent(OrganizationDO::getName, reqVO.getName())
.eqIfPresent(OrganizationDO::getPhone, reqVO.getPhone())
.eqIfPresent(OrganizationDO::getEmail, reqVO.getEmail())
- .likeIfPresent(OrganizationDO::getAddress, reqVO.getAddress())
+ .eqIfPresent(OrganizationDO::getPicture, reqVO.getPicture())
+ .eqIfPresent(OrganizationDO::getAddress, reqVO.getAddress())
+ .eqIfPresent(OrganizationDO::getDepict, reqVO.getDepict())
.eqIfPresent(OrganizationDO::getStatus, reqVO.getStatus())
.betweenIfPresent(OrganizationDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(OrganizationDO::getId));
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/staff/StaffMapper.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/staff/StaffMapper.java
index 5409ebd..4015ea9 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/staff/StaffMapper.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/dal/mysql/staff/StaffMapper.java
@@ -24,7 +24,7 @@ public interface StaffMapper extends BaseMapperX {
.eqIfPresent(StaffDO::getSex, reqVO.getSex())
.eqIfPresent(StaffDO::getPhoto, reqVO.getPhoto())
.eqIfPresent(StaffDO::getPhone, reqVO.getPhone())
-// .betweenIfPresent(StaffDO::getServiceTime, reqVO.getServiceTime())
+ .betweenIfPresent(StaffDO::getServiceTime, reqVO.getServiceTime())
.eqIfPresent(StaffDO::getServiceScope, reqVO.getServiceScope())
.eqIfPresent(StaffDO::getSign, reqVO.getSign())
.eqIfPresent(StaffDO::getStatus, reqVO.getStatus())
diff --git a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java
index bbfb91c..4498da7 100644
--- a/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java
+++ b/yudao-module-subscribe/yudao-module-subscribe-biz/src/main/java/cn/iocoder/yudao/module/srbscribe/service/staff/StaffServiceImpl.java
@@ -1,23 +1,16 @@
package cn.iocoder.yudao.module.srbscribe.service.staff;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.ServiceTimeVO;
import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffPageReqVO;
import cn.iocoder.yudao.module.srbscribe.controller.admin.staff.vo.StaffSaveReqVO;
import cn.iocoder.yudao.module.srbscribe.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.srbscribe.dal.dataobject.staff.StaffDO;
import cn.iocoder.yudao.module.srbscribe.dal.mysql.organization.OrganizationMapper;
import cn.iocoder.yudao.module.srbscribe.dal.mysql.staff.StaffMapper;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.TypeReference;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-import java.util.List;
-
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.subscribe.enums.ErrorCodeConstants.*;
@@ -47,7 +40,6 @@ public class StaffServiceImpl implements StaffService {
@Override
public void updateStaff(StaffSaveReqVO updateReqVO) {
- JSON.toJSONString(updateReqVO.getServiceTime());
// 校验存在
validateStaffExists(updateReqVO.getId());
// 更新
@@ -77,24 +69,11 @@ public class StaffServiceImpl implements StaffService {
@Override
public PageResult getStaffPage(StaffPageReqVO pageReqVO) {
PageResult staffDOPageResult = staffMapper.selectPage(pageReqVO);
-
- String serviceTime = "";
for (int i = 0; i < staffDOPageResult.getList().size(); i++) {
StaffDO staffDO = staffDOPageResult.getList().get(i);
OrganizationDO organizationDO = organizationMapper.selectOne("id", staffDO.getOrganizationId());
staffDO.setOrganizationName(organizationDO.getName());
-
- //把StringJSON格式serviceTime转成对象
- List serviceTimeVOS = JSON.parseObject(staffDO.getServiceTime(), new TypeReference>() {});
- for (int j = 0; j < serviceTimeVOS.size(); j++) {
- ServiceTimeVO serviceTimeVO = serviceTimeVOS.get(j);
- serviceTime = serviceTime + serviceTimeVO.getStart() + " - " + serviceTimeVO.getEnd() + " , ";
- }
- String replaceAll = serviceTime.replaceAll(",\\s*$", "");
- staffDO.setServiceTimeArray(replaceAll);
- serviceTime = "";
}
-
return staffDOPageResult;
}