From 519a87f05bd981ae4fcb56fb4cbe56cd119e24b0 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 20 Apr 2020 17:32:06 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java | 36 + kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/DictionariesConstants.java | 24 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalListVo.java | 12 kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/dic.js | 44 + kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/org_form.html | 112 ++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java | 25 kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.css | 10 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java | 41 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java | 31 + kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html | 121 ++++- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml | 17 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java | 14 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml | 3 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/OssProperties.java | 5 kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js | 1 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 208 +++++++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml | 3 kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/area.js | 2 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/department_form.html | 106 ++++ kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java | 12 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html | 2 kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/OrderInfoController.java | 4 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java | 28 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 80 +++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_tab.html | 122 +++++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html | 2 kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/BaseController.java | 30 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java | 10 kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.js | 232 ++++++++++ kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/FileServerProperties.java | 2 31 files changed, 1,246 insertions(+), 96 deletions(-) diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java index a66e263..7d188d4 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java @@ -1,6 +1,8 @@ package com.kidgrow.filecenter.config; +import com.aliyun.oss.OSSClient; import com.aliyun.oss.common.auth.DefaultCredentialProvider; +import com.kidgrow.common.utils.DateUtil; import com.kidgrow.filecenter.model.FileInfo; import com.kidgrow.filecenter.properties.FileServerProperties; import com.kidgrow.filecenter.service.impl.AbstractIFileService; @@ -8,10 +10,10 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; - -import com.aliyun.oss.OSSClient; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; + +import java.util.Date; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -51,12 +53,14 @@ @Override protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception { - ossClient.putObject(fileProperties.getOss().getBucketName(), fileInfo.getName(), file.getInputStream()); - fileInfo.setUrl(fileProperties.getOss().getDomain() + "/" + fileInfo.getName()); + String folderByDate =DateUtil.formatDate(new Date()); + ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder()+ folderByDate+"/"+fileInfo.getName(), file.getInputStream()); + fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder()+ folderByDate+"/" + fileInfo.getName()); } @Override protected boolean deleteFile(FileInfo fileInfo) { + ossClient.deleteObject(fileProperties.getOss().getBucketName(), fileInfo.getName()); return true; } diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/FileServerProperties.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/FileServerProperties.java index 9db651f..af7f964 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/FileServerProperties.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/FileServerProperties.java @@ -34,4 +34,6 @@ */ FdfsProperties fdfs = new FdfsProperties(); + + } diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/OssProperties.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/OssProperties.java index 9b9aabd..e3001fb 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/OssProperties.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/properties/OssProperties.java @@ -32,5 +32,10 @@ * 说明 */ private String domain; + + /** + * 文件夹 + */ + private String folder; } diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml index 056cc3c..52c5050 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml @@ -42,16 +42,23 @@ # web-url: 192.168.28.130 # trackerList: ${kidgrow.fdfs.web-url}:22122 file-server: - type: qiniu + type: aliyun fdfs: web-url: ${kidgrow.fdfs.web-url} #oss配置 oss: - access-key: j977Ii3DODvQXzE241Z6ouW9so4Q6_6PeOPwN5UZ - accessKeySecret: W8ArRp3mr-w3n4R-lHEvSFzGdgdrYfC9wHkZlqec - endpoint: http://q68nl7reu.bkt.clouddn.com +# access-key: j977Ii3DODvQXzE241Z6ouW9so4Q6_6PeOPwN5UZ +# accessKeySecret: W8ArRp3mr-w3n4R-lHEvSFzGdgdrYfC9wHkZlqec +# endpoint: http://q68nl7reu.bkt.clouddn.com +# bucketName: kidgrow +# domain: kidgrow.s3-cn-east-1.qiniucs.com + access-key: LTAI4FennfcwZupz3B6hkK3N + accessKeySecret: NzBBGe8SS41qJlp0nA3tlJ3t74lBZM + endpoint: oss-accelerate.aliyuncs.com bucketName: kidgrow - domain: kidgrow.s3-cn-east-1.qiniucs.com + #注意加上/ + domain: https://kidgrow.oss-accelerate.aliyuncs.com/ + folder: kidgrow/ swagger: base-package: com.kidgrow.filecenter.controller description: 文件上传服务接口文档 diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java index 15eb96a..590591c 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java @@ -11,10 +11,8 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; import java.util.Map; @@ -72,28 +70,45 @@ return ResultBody.ok().data(model).msg("查询成功"); } +// /** +// * 新增or更新 +// */ +// @ApiOperation(value = "保存") +// @PostMapping +// public ResultBody save(@Valid @RequestBody BusinessRecords businessRecords, BindingResult bindingResult) { +// if (bindingResult.hasErrors()) { +// return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); +// } else { +// BusinessRecords model = businessRecordsService.getById(businessRecords.getId()); +// if (model == null) { +// boolean v = businessRecordsService.saveOrUpdate(businessRecords); +// if (v) { +// return ResultBody.ok().data(businessRecords).msg("保存成功"); +// } else { +// return ResultBody.failed().msg("保存失败"); +// } +// } else { +// return ResultBody.failed().msg("业务日志不允许更新!"); +// } +// } +// } /** - * 新增or更新 + * 新增 */ @ApiOperation(value = "保存") @PostMapping - public ResultBody save(@Valid @RequestBody BusinessRecords businessRecords, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); + public ResultBody save(String recordTitle,String recordNote) { + if (recordTitle.isEmpty()||recordNote.isEmpty()) { + return ResultBody.failed().msg("业务日志参数有误!"); } else { - BusinessRecords model = businessRecordsService.getById(businessRecords.getId()); - if (model == null) { - boolean v = businessRecordsService.saveOrUpdate(businessRecords); + boolean v = businessRecordsService.recordBusinessData(recordTitle,recordNote); if (v) { - return ResultBody.ok().data(businessRecords).msg("保存成功"); + return ResultBody.ok().msg("保存成功"); } else { return ResultBody.failed().msg("保存失败"); } - } else { - return ResultBody.failed().msg("业务日志不允许更新!"); } } - } /** * 删除 diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java index efa6b8c..4ec743c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java @@ -1,18 +1,15 @@ package com.kidgrow.usercenter.model; -import com.kidgrow.common.model.SuperModel; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.kidgrow.common.model.SuperModel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.hibernate.validator.constraints.*; +import org.hibernate.validator.constraints.NotEmpty; -import java.util.Date; +import javax.validation.constraints.NotNull; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -39,12 +36,17 @@ /** * 组织Id */ - @NotEmpty(message = "组织Id不能为空") + @NotNull(message = "组织Id不能为空") private Long orgId; + /** + * 医院Id + */ + @NotNull(message = "医院Id不能为空") + private Long hospitalId; /** * 负责的销售代表 */ - @NotEmpty(message = "负责的销售代表不能为空") + @NotNull(message = "负责的销售代表不能为空") private Long serverUserId; /** * 销售代表的名字 @@ -59,4 +61,9 @@ * 状态,1启用,0停用 */ private Boolean enabled; + /** + * 是否删除,1删除,0未删除 + */ + @TableLogic + private Boolean isDel; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java index 67d86ac..32bea0f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java @@ -8,6 +8,8 @@ import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * @@ -31,9 +33,9 @@ @NotEmpty(message = "医院名称 同组织名字不能为空") private String hospitalName; /** - * 组织ID + * 组织ID- */ - @NotEmpty(message = "组织ID不能为空") + @NotNull(message = "组织ID不能为空") private Long orgId; /** * 医院简称 @@ -46,7 +48,7 @@ /** * 医院类型ID 从字典表关联 社区/儿保等等之类 */ - private Long hospitalTypeId; + private String hospitalTypeId; /** * 医院类型 社区/儿保等等之类 */ @@ -86,7 +88,7 @@ /** * 资质ID */ - private Long hospitalQualifiedId; + private String hospitalQualifiedId; /** * 资质(三甲医院) */ diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalListVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalListVo.java index 1074d6d..730551f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalListVo.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalListVo.java @@ -88,4 +88,16 @@ * 医院数据创建时间 */ private Date createTime; + /** + * 状态,1启用,0停用 + */ + private Boolean enabled; + /** + * 租户字段 + */ + private String tenantId; + /** + * 是否删除,1删除,0未删除 + */ + private Boolean isDel; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java index a01f858..e66e089 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java @@ -37,5 +37,17 @@ SysHospital findByObject(SysHospital sysHospital); ResultBody<SysHospital> findAll(Map<String, Object> params); -} + /** + * 状态变更 + * @param params + * @return + */ + ResultBody updateEnabled(Map<String, Object> params); + /** + * 逻辑删除数据 + * @param params + * @return + */ + ResultBody delete(Map<String, Object> params); +} \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java index ec5d1a7..b079f9a 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java @@ -4,14 +4,19 @@ import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.usercenter.mapper.SysDepartmentMapper; import com.kidgrow.usercenter.mapper.SysHospitalMapper; +import com.kidgrow.usercenter.model.SysDepartment; import com.kidgrow.usercenter.model.SysHospital; import com.kidgrow.usercenter.service.ISysHospitalService; import com.kidgrow.usercenter.vo.HospitalListVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,6 +31,8 @@ @Slf4j @Service public class SysHospitalServiceImpl extends SuperServiceImpl<SysHospitalMapper, SysHospital> implements ISysHospitalService { + @Resource + private SysDepartmentMapper departmentMapper; /** * 列表 * @param params @@ -64,5 +71,78 @@ List<SysHospital> sysHospitals = baseMapper.selectByMap(params); return ResultBody.ok().data(sysHospitals).msg("查询成功"); } + /** + * 根据id和启用禁用值更新数据 + * @param params + * @return ResultBody + */ + @Transactional(rollbackFor = Exception.class) + @Override + public ResultBody updateEnabled(Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + Long departmentId = MapUtils.getLong(params, "departmentId"); + Boolean enabled = MapUtils.getBoolean(params, "enabled"); + //科室数据 + SysDepartment sysDepartment=departmentMapper.selectById(departmentId); + //医院数据 + SysHospital sysHospital = baseMapper.selectById(id); + //医院下的所有数据 + Map<String,Object> columnMap=new HashMap<String,Object>(); + columnMap.put("hospital_id",id); + columnMap.put("is_del",(boolean)false); + columnMap.put("enabled",!enabled); + List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysDepartmentList.size()==1) + { + sysHospital.setEnabled(enabled); + int i =baseMapper.updateById(sysHospital); + //Log.info("修改医院状态为:{}",enabled+" "+i); + } + sysDepartment.setEnabled(enabled); + int j=departmentMapper.updateById(sysDepartment); + return (j > 0) ? ResultBody.ok().data(sysHospital).msg("更新成功") : ResultBody.failed("更新失败"); + } + /** + * 删除医院科室信息 + * @param params + * @return + */ + @Transactional(rollbackFor = Exception.class) + @Override + public ResultBody delete(Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + Long departmentId = MapUtils.getLong(params, "departmentId"); + //科室数据 + SysDepartment sysDepartment=departmentMapper.selectById(departmentId); + //医院数据 + SysHospital sysHospital = baseMapper.selectById(id); + //医院下的所有数据 + Map<String,Object> columnMap=new HashMap<String,Object>(); + columnMap.put("hospital_id",id); + List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysDepartmentList.size()==1) + { + sysHospital.setIsDel(true); + int i =baseMapper.updateById(sysHospital); + //Log.info("修改医院状态为:{}",enabled+" "+i); + } + sysDepartment.setIsDel(true); + int j=departmentMapper.updateById(sysDepartment); + return (j > 0) ? ResultBody.ok().data(sysHospital).msg("删除成功") : ResultBody.failed("删除失败"); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index 94f1dad..b8644ff 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java @@ -21,7 +21,6 @@ import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotBlank; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.password.PasswordEncoder; @@ -313,7 +312,7 @@ List<SysUserOrg> sysUserOrgs = iSysUserOrgService.list(queryWrapper); List<Long> userIds = sysUserOrgs.stream().map(e -> e.getUserId()).collect(Collectors.toList()); QueryWrapper<SysUser> sysUserQueryWrapper=new QueryWrapper(); - sysUserQueryWrapper.in("id",userIds); + sysUserQueryWrapper.in("id",userIds.stream().distinct().collect(Collectors.toList())); sysUsers= baseMapper.selectList(sysUserQueryWrapper); } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml index cb55f28..fbddc1a 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml @@ -15,6 +15,9 @@ <if test="p.id != null and p.id !=''"> and id = #{p.id} </if> + <if test="p.hospitalId != null and p.hospitalId !=''"> + and hospital_id = #{p.hospitalId} + </if> <if test="p.departmentName != null and p.departmentName !=''"> and department_name = #{p.departmentName} </if> diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml index 00c963b..3a9f902 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml @@ -163,6 +163,8 @@ DEP.server_user_name, DEP.server_user_id, DEP.org_id, + DEP.is_del, + DEP.enabled, HOS.id hospital_id, HOS.hospital_name, HOS.hospital_code, @@ -174,6 +176,7 @@ HOS.hospital_link, HOS.is_screen, HOS.is_answer, + HOS.tenant_id, HOS.create_time FROM sys_department DEP diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java index 157e44f..e06449c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java @@ -1,28 +1,24 @@ package com.kidgrow.usercenter.controller; -import java.util.Map; import com.kidgrow.common.controller.BaseController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.ObjectError; -import org.springframework.web.bind.annotation.*; +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.usercenter.model.SysDepartment; +import com.kidgrow.usercenter.service.ISysDepartmentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - -import com.kidgrow.usercenter.model.SysDepartment; -import com.kidgrow.usercenter.service.ISysDepartmentService; -import com.kidgrow.common.model.*; - +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.annotation.*; + import javax.validation.Valid; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; /** @@ -91,6 +87,14 @@ } return ResultBody.failed().msg(errMsg.toString()); } else { + //先检查该医院下的该科室名是否已经存在? + SysDepartment sysDepartmentTemp=new SysDepartment(); + sysDepartmentTemp.setHospitalId(sysDepartment.getHospitalId()); + sysDepartmentTemp.setDepartmentName(sysDepartment.getDepartmentName().trim()); + sysDepartmentTemp=sysDepartmentService.findByObject(sysDepartmentTemp); + if (sysDepartmentTemp!=null) { + return ResultBody.failed().msg(String.format("该医院下已经存在 %s",sysDepartment.getDepartmentName())); + } boolean v= sysDepartmentService.saveOrUpdate(sysDepartment); if(v) { return ResultBody.ok().data(sysDepartment).msg("保存成功"); diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java index 506750c..ef629d9 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java @@ -122,14 +122,36 @@ * 删除 */ @ApiOperation(value = "删除") - @DeleteMapping("/{id}") - public ResultBody delete(@PathVariable Long id) { - boolean v= sysHospitalService.removeById(id); - if(v) { - return ResultBody.ok().msg("删除成功"); + @GetMapping("/delete") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "departmentId", value = "departmentId", required = true, dataType = "Integer") + }) + public ResultBody delete(@RequestParam Map<String, Object> params) { + if (params.size()==0) + { + return ResultBody.failed().msg("参数异常!"); } - else { - return ResultBody.failed().msg("删除失败"); + return sysHospitalService.delete(params); + } + /** + * 修改状态 + * + * @param params + * @return + */ + @ApiOperation(value = "修改反馈数据状态") + @GetMapping("/updateEnabled") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "departmentId", value = "departmentId", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean") + }) + public ResultBody updateEnabled(@RequestParam Map<String, Object> params) { + if (params.size()==0) + { + return ResultBody.failed().msg("参数异常!"); } + return sysHospitalService.updateEnabled(params); } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java index 5abd0cc..243af8e 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java @@ -1,23 +1,24 @@ package com.kidgrow.usercenter.controller; -import java.util.Map; import com.kidgrow.common.controller.BaseController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysOrganization; +import com.kidgrow.usercenter.service.ISysOrganizationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - -import com.kidgrow.usercenter.service.ISysOrganizationService; -import com.kidgrow.common.model.*; - +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; +import org.springframework.web.bind.annotation.*; + import javax.validation.Valid; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** @@ -52,6 +53,22 @@ } return ResultBody.ok().data(sysOrganizationService.findList(params)); } + /** + * 列表 + */ + @ApiOperation(value = "模糊查询列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") + }) + @GetMapping("/listByName") + public ResultBody listByName(@RequestParam Map<String, Object> params) { + if(params.size()==0){ + params.put("page",1); + params.put("limit",10); + } + return ResultBody.ok().data(sysOrganizationService.findList(params).getData()); + } @ApiOperation(value = "查询列表by MAP") @GetMapping("getListByMap") public ResultBody getListByMap(@RequestParam Map<String, Object> params) { diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/DictionariesConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/DictionariesConstants.java new file mode 100644 index 0000000..58ff3e9 --- /dev/null +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/DictionariesConstants.java @@ -0,0 +1,24 @@ +package com.kidgrow.common.constant; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @Description: 分类字典key值对定值 自行确保表内唯一<br> + * @Project: <br> + * @CreateDate: Created in 2020/4/15 16:16 <br> + * @Author: <a href="411269194@kidgrow.com">hrj</a> + */ +public interface DictionariesConstants { + /** + * 医院分类 + */ + String HOSPITAL_TYPE = "HOSPITAL_TYPE"; + /** + * 医院资质 + */ + String HOSPITAL_QUALIFIED = "HOSPITAL_QUALIFIED"; + /** + * 医生职称 + */ + String DOCTOR_RANK = "DOCTOR_RANK"; +} diff --git a/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/BaseController.java b/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/BaseController.java new file mode 100644 index 0000000..8de9f32 --- /dev/null +++ b/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/BaseController.java @@ -0,0 +1,30 @@ +package com.kidgrow.order.controller; + +import com.kidgrow.common.constant.SecurityConstants; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @Description: <br> + * @Project: <br> + * @CreateDate: Created in 2020/4/14 16:21 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + */ +@Component +public class BaseController { + + @Autowired + private HttpServletRequest request; + + private String userID; + + + public String getUserID(){ + userID=request.getHeader(SecurityConstants.USER_ID_HEADER); + return userID; + } +} diff --git a/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/OrderInfoController.java b/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/OrderInfoController.java index f8becd5..0eb3286 100644 --- a/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/OrderInfoController.java +++ b/kidgrow-demo/kidgrow-demo-order/src/main/java/com/kidgrow/order/controller/OrderInfoController.java @@ -37,7 +37,7 @@ @RestController @Slf4j @RequestMapping("order") -public class OrderInfoController { +public class OrderInfoController extends BaseController{ @Autowired private OrderInfoMapper orderInfoMapper; @@ -74,6 +74,8 @@ log.info("用户ID:"+request.getHeader(SecurityConstants.USER_ID_HEADER)); + log.info("用户ID:"+ getUserID()); + log.info("ClientID:"+request.getHeader(SecurityConstants.CLIENT_HEADER)); log.info("TenantID:"+request.getHeader(SecurityConstants.TENANT_HEADER)); diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js index 9042ad8..0cd2eae 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js @@ -5,6 +5,7 @@ formSelects: 'formSelects/formSelects-v4', treetable: 'treetable-lay/treetable', treetable2: 'treetable2/TreeTable', + autocomplete: 'complete/autocomplete', step: 'step-lay/step' }).use(['layer','config', 'index', 'element'], function () { var $ = layui.jquery; diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/area.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/area.js index b421b9e..d53dc0f 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/area.js +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/area.js @@ -21,7 +21,7 @@ var layer = layui.layer; var admin = layui.admin; var area = { - //4个参数依次是 下拉控件的id,/区域级别(1.2.3)/上级id/选中id + //4个参数依次是 下拉控件的id,/区域级别(1.2.3)/上级id/选中值 例如河北省 areaData: function (domId, levelType, parentId, selectValue) { if (levelType == 1) { parentId = 100000; diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.css b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.css new file mode 100644 index 0000000..3f43b18 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.css @@ -0,0 +1,10 @@ +.layui-form-autocomplete {position: relative;} +.layui-form-autocomplete dl {display: none; position: absolute; left: 0; top: 0; padding: 5px 0; z-index: 999; min-width: 100%; border: 1px solid #d2d2d2; max-height: 300px; overflow-y: auto; background-color: #fff; border-radius: 2px; box-shadow: 0 2px 4px rgba(0,0,0,.12); box-sizing: border-box;} +.layui-form-autocomplete dl dd, .layui-form-autocomplete dl dt {padding: 0 10px; line-height: 36px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;} +.layui-form-autocomplete dl dt {font-size: 12px; color: #999;} +.layui-form-autocomplete dl dd {cursor: pointer;} +.layui-form-autocomplete dl dd:hover {background-color: #f2f2f2;} +.layui-form-autocomplete .layui-autocomplete-group dd {padding-left: 20px;} +.layui-form-autocomplete dl dd.layui-autocomplete-tips {padding-left: 10px!important; color: #999;} +.layui-form-autocomplete dl dd.layui-this {background-color: #5FB878; color: #fff;} +.layui-form-autocomplete-focus dl {display: block;} \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.js new file mode 100644 index 0000000..84a1146 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/complete/autocomplete.js @@ -0,0 +1,232 @@ +if (!Object.keys) { + Object.keys = (function () { + var hasOwnProperty = Object.prototype.hasOwnProperty, + hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'), + dontEnums = [ + 'toString', + 'toLocaleString', + 'valueOf', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'constructor' + ], + dontEnumsLength = dontEnums.length; + + return function (obj) { + if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) throw new TypeError('Object.keys called on non-object'); + + var result = []; + + for (var prop in obj) { + if (hasOwnProperty.call(obj, prop)) result.push(prop); + } + + if (hasDontEnumBug) { + for (var i = 0; i < dontEnumsLength; i++) { + if (hasOwnProperty.call(obj, dontEnums[i])) result.push(dontEnums[i]); + } + } + return result; + } + })() +} + +layui.link('/module/complete/autocomplete.css'); +layui.define(['jquery', 'laytpl', 'layer','config'], function (e) { + "use strict"; + var hint = layui.hint(), + $ = layui.jquery, + laytpl = layui.laytpl, + layer = layui.layer, + module = 'autocomplete', + filter = 'layui-autocomplete', + container = 'layui-form-autocomplete', + container_focus = 'layui-form-autocomplete-focus', + sysconfig=layui.config, + system = { + config: { + template: ['<div class="layui-form-autocomplete">', '<dl class="layui-anim layui-anim-upbit">', '</dl>', '</div>'].join(''), + layout: ['<dd data-index="{{d.index}}">{{d.text}}</dd>'].join(''), + template_txt: '{{d.text}}', + template_val: '{{d.value}}', + cache: false, + keywordsName:'' + }, + data: {} + }, + callback = function () { + var _self = this, + _config = _self.config; + return { + call: function (handle, params) { + if (!_self.handles[handle]) return hint.error(handle + " handle is not defined"); + _self.handles[handle].call(_self, params) + } + } + }, + job = function (e) { + var _self = this; + _self.config = $.extend({}, _self.config, system.config, e); + _self.render(); + }; + job.prototype.config = { + response: { + code: 'code', + data: 'data', + msg: 'msg' + }, + request: { + keywords: system.config.keywordsName + }, + statusCode: 0, + time_limit: 300, + pullTimer: null, + data: {}, + temp_data: {}, + params: {}, + filter: '', + method: 'get', + ajaxParams: {} + } + job.prototype.render = function () { + var _self = this, _config = _self.config; + _config.request.keywords=_config.keywordsName; + if (_config.elem = $(_config.elem), _config.where = _config.where || {}, !_config.elem[0]) return _self; + var _elem = _config.elem, + _container = _elem.next('.' + container), + _html = _self.elem = $(laytpl(_config.template).render({})); + _config.id = _self.id, _container && _container.remove(), _elem.attr('autocomplete', 'off'), _elem.after(_html); + _self.events() + } + job.prototype.pullData = function () { + var _self = this, + _config = _self.config, + _elem = _config.elem, + _container = _elem.next('.' + container); + if (!_config.filter) return _self.renderData([]); + if ((_config.cache || !_config.url) && _config.data instanceof Object && Object.keys(_config.data).length > 0) return _self.renderData(_config.data); + var keywords = _config.request.keywords + var params = { + //t: new Date().getTime() + } + params[keywords] = _config.filter.replace("'",""); + + var $loading = $('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>'); + $.ajax($.extend({ + type: _config.method, + url: _config.url, + data: $.extend(params, _config.params instanceof Function ? _config.params() :_config.params), + contentType: 'text/json,charset=utf-8', + dataType: "json", + beforeSend: function (xhr) { + xhr.setRequestHeader("Authorization", "Bearer " + sysconfig.getToken().access_token); + xhr.setRequestHeader("Content-Type", "application/json"); + $loading.attr('style', [ + 'position:absolute', + 'left:' + (_elem.offset().left + _elem.outerWidth() - 20) + 'px', + 'top:' + _elem.offset().top + 'px', + 'height:' + _elem.height() + 'px', + 'line-height:' + _elem.height() + 'px' + ].join(';')); + $loading.appendTo('body'); + }, + success: function (resp) { + $loading.remove(); + return _config.statusCode != resp[_config.response.code] ? layer.msg(resp[_config.response.msg]) : _config.data = resp[_config.response.data], _self.renderData(_config.data) + }, + error: function () { + hint.error("请求失败") + } + }, _config.ajaxParams)) + } + job.prototype.renderData = function (resp) { + var _self = this, + _config = _self.config, + _elem = _config.elem, + _container = _elem.next('.' + container), + _dom = _container.find('dl'), + _list = []; + _config.temp_data = []; + layui.each(resp, function (i, e) { + if (_config.cache) { + if (e instanceof Object) { + layui.each(e, function (_i, _e) { + if (_e && _e.toString().toLowerCase().indexOf(_config.filter.toLowerCase()) > -1) { + _config.temp_data.push(e), _list.push(laytpl(_config.layout).render({ index: i, text: laytpl(_config.template_txt).render(e) })); + return true; + } + }); + } else { + if (e && e.toString().toLowerCase().indexOf(_config.filter.toLowerCase()) > -1) { + _config.temp_data.push(e), _list.push(laytpl(_config.layout).render({ index: i, text: laytpl(_config.template_txt).render(e) })); + } + } + } else { + _config.temp_data.push(e), _list.push(laytpl(_config.layout).render({ index: i, text: laytpl(_config.template_txt).render(e) })); + } + }); + _dom.html(_list.join('')), _list.length > 0 ? _container.addClass(container_focus) : _container.removeClass(container_focus) + } + job.prototype.handles = { + addData: function (data) { + var _self = this, + _config = _self.config; + if (data instanceof Array) { + _config.data = _config.data.concat(data) + } else { + _config.data.push(data) + } + }, + setData: function (data) { + var _self = this, + _config = _self.config; + _config.data = data; + } + } + job.prototype.events = function () { + var _self = this, + _config = _self.config, + _elem = _config.elem, + _container = _elem.next('.' + container), + _dom = _container.find('dl'); + _elem.unbind('focus').unbind('input propertychange').on('focus', function () { + _config.filter = this.value, _self.renderData(_config.data) + }).on('input propertychange', function (e) { + var _value = this.value; + clearTimeout(_config.pullTimer), _config.pullTimer = setTimeout(function () { + _config.filter = _value, _self.pullData() + }, _config.time_limit) + }) + $(document).on('click', function (e) { + var _target = e.target, _item = _dom.find(_target), _e = _item.length > 0 ? _item.closest('dd') : undefined; + if (_target === _elem[0]) return false; + if (_e !== undefined) { + if (_e.attr('autocomplete-load') !== undefined) return false; + var curr_data = _config.temp_data[_e.index()] + _elem.val(laytpl(_config.template_val).render(curr_data)), _config.onselect == undefined || _config.onselect(curr_data) + } + _container.removeClass(container_focus); + }) + } + system.init = function (e, c) { + var c = c || {}, _self = this, _elems = $(e ? 'input[lay-filter="' + e + '"]' : 'input[' + filter + ']'); + _elems.each(function (_i, _e) { + var _elem = $(_e), + _lay_data = _elem.attr('lay-data'); + try { + _lay_data = new Function("return " + _lay_data)() + } catch (ex) { + return hint.error("autocomplete元素属性lay-data配置项存在语法错误:" + _lay_data) + } + var _config = $.extend({ elem: this }, system.config, c, _lay_data); + _config.url == undefined && (_config.data == undefined || _config.length === 0) && hint.error("autocomplete配置有误,缺少获取数据方式"); + system.render(_config); + }) + } + system.render = function (e) { + var j = new job(e); + return callback.call(j) + } + system.init(), e(module, system); +}) \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/dic.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/dic.js new file mode 100644 index 0000000..5fea5c4 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/dic.js @@ -0,0 +1,44 @@ +/** + * 根据字典分类加载字典列表,并装载到指定下拉列表 + * + */ +layui.define([ + 'form', + 'config', + 'admin', + 'layer' +], function (exports) { + //var config = layui.config; + var form = layui.form; + var layer = layui.layer; + var admin = layui.admin; + var dic={ + //下拉列表id/分类key/选中id + dicData:function(domId,dicClass,selectValue){ + admin.req('api-user/sysdictionaries/findAll', JSON.stringify({dictionariesClassId: dicClass}), function (data) { + if (0 === data.code) { + $(domId).empty(); + let selected = ""; + clientsAll = data.data; + if (clientsAll.length > 0) { + $(domId).append("<option value='' selected='selected'>请选择</option>"); + $.each(clientsAll, function (index, item) { + if (selectValue == item.dictionariesKey) { selected = "selected='selected'"; } + else { + selected = ""; + } + //往下拉菜单里添加元素 + $(domId).append("<option value='" + item.dictionariesKey + "' " + selected + ">" + item.dictionariesName + "</option> "); + }) + } + //必须加这个刷新form! + form.render(); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, 'POST'); + } + } + + exports('dic', dic); +}); \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/department_form.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/department_form.html new file mode 100644 index 0000000..8a25bcc --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/department_form.html @@ -0,0 +1,106 @@ +<form id="department-form" lay-filter="department-form" class="layui-form model-form" method="POST"> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm4"> + <label class="layui-form-label">医院名称</label> + <div class="layui-input-block"> + <input id="hospitalName" name="hospitalName" type="text" class="layui-input" maxlength="50" + lay-verify="required" required style="width: 200px;" value="" readonly /> +  </div> + </div> + <div class="layui-col-sm4"> + <label class="layui-form-label">科室名称</label> + <div class="layui-input-block"> + <input name="departmentName" id="departmentName" placeholder="科室名称" type="text" class="layui-input" + maxlength="50" lay-verify="required" required style="width: 150px;" /> +  </div> + </div> + <div class="layui-col-sm4"> + <label class="layui-form-label">服务人员</label> + <div class="layui-input-block"> + <input name="serverUserId" id="serverUserId" type="hidden" value="" /> + <select name="serverUserName" id="serverUserName" lay-filter="serverUserName" style="width: 150px;"> + </select> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">科室简介</label> + <div class="layui-input-block"> + <textarea name="departmentAbout" class="layui-textarea" maxlength="500"></textarea> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" lay-filter="department-form-submit" lay-submit>保存</button> + </div> + <input type="hidden" id="orgId" name="orgId" value="" /> + <input type="hidden" id="hospitalId" name="hospitalId" value="" /> +</form> + +<script> + parent.layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects'], function () { + var form = parent.layui.form; + var table = parent.layui.table; + var config = parent.layui.config; + var layer = parent.layui.layer; + var util = parent.layui.util; + var admin = parent.layui.admin; + var formSelects = parent.layui.formSelects; + var $ = parent.layui.jquery; + debugger + // 回显组织数据 + let hospitals = admin.getTempData('t_hospital'); + if (hospitals != null) { + $('input[name="hospitalName"]').val(hospitals.hospitalName); + $('input[name="orgId"]').val(hospitals.orgId); + if (!strUtil.isEmpty(hospitals.id)) { + $('input[name="hospitalId"]').val(hospitals.id); + } + else { + $('input[name="hospitalId"]').val(hospitals.hospitalId); + } + } + //加载当前所在部门的在职员工 + admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + console.log(item.nickname) + $('#serverUserName').append(new Option(item.nickname, item.id, false, false)); + }) + $('#serverUserName').val(config.getUser().id); + $('#serverUserId').val(config.getUser().id); + } + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get'); + // 表单提交事件 + form.on('submit(department-form-submit)', function (data) { + layer.load(2); + if (data.field != null) { + data.field.serverUserId = data.field.serverUserName; + data.field.serverUserName = $("#serverUserName option:selected").text(); + admin.req('api-user/sysdepartment', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 1000 }, function () { + admin.finishPopupCenter(); + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + } + else { + layer.msg("数据异常!", { icon: 2, time: 1000 }); + } + return false; + }); + form.render(); + }); +</script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html index 52f92b7..9840a14 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html @@ -35,7 +35,9 @@ </select>   <input id="hospitalName" class="layui-input search-input" type="text" placeholder="按医院名" />  - <button id="hospita-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> + <button id="hospita-btn-search" class="layui-btn icon-btn"><i + class="layui-icon"></i>搜索</button>  + <button id="hospital-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加医院</button> </div> <!-- 数据表格 --> @@ -45,10 +47,16 @@ <!-- 表格操作列 --> <script type="text/html" id="businessRecords-table-bar"> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> <a class="layui-btn layui-btn-xs" lay-event="pay">充值</a> - <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="addDepartment">添加科室</a> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> + <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> +</script> +<!-- 表格状态列 --> +<script type="text/html" id="hospital-tpl-state"> + <input type="checkbox" lay-filter="hospital-tpl-state" value="{{d.hospitalId}}" value2="{{d.departmentId}}" lay-skin="switch" lay-text="启用|禁用" + {{d.enabled==true?'checked':''}}/> </script> <script> layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin', 'area'], function () { @@ -68,37 +76,36 @@ headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, page: true, cols: [[ - { field: 'hospitalName', width: 250, title: '医院名称' }, - { field: 'departmentName', width: 100, title: '科室' }, + { field: 'hospitalName', width: 250, title: '医院名称',fixed:'left'}, + { field: 'departmentName', width: 100, title: '科室' ,fixed:'left'}, { - field: 'hospitalArea', width: 200, title: '所在地区', templet: function (d) { - return ((d.hospitalProvince==null)?"":d.hospitalProvince) + " " - + ((d.hospitalCity==null)?"":d.hospitalCity) + " " + - ((d.hospitalArea==null)?"":d.hospitalArea) + field: 'hospitalArea', width: 250, title: '所在地区', templet: function (d) { + return ((d.hospitalProvince == null) ? "" : d.hospitalProvince) + " " + + ((d.hospitalCity == null) ? "" : d.hospitalCity) + " " + + ((d.hospitalArea == null) ? "" : d.hospitalArea) } }, { field: 'hospitalLink', width: 100, title: '联系人' }, - { field: 'hospitalTel', width: 150, title: '联系方式' }, + { field: 'hospitalTel', width: 100, title: '联系方式' }, { - field: 'enabled', width: 100, sort: true, title: '状态', templet: function (d) { + field: 'enabled', width: 80, sort: true, title: '状态', templet: function (d) { return d.hospitalState == 0 ? "试用" : "正式" } }, { - field: 'isScreen', width: 100, sort: true, title: '筛查', templet: function (d) { + field: 'isScreen', width: 80, sort: true, title: '筛查', templet: function (d) { return d.isScreen ? "是" : "否" } }, - // { field: 'isAnswer', width: 100, sort: true, title: '医答',templet:function (d) { + // { field: 'isAnswer', width: 80, sort: true, title: '医答',templet:function (d) { // return d.isScreen?"是":"否" // } }, - { field: 'serverUserName', width: 150, title: '服务人员' }, - { field: 'createTime', width: 150, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd')}}</div>" }, - { field: 'hospitalId', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '操作' } - ]], - done: function () { - } + { field: 'serverUserName', width: 100, title: '服务人员' }, + { field: 'createTime', width: 120, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd')}}</div>" }, + { field: 'enabled', width: 100, templet: '#hospital-tpl-state', sort: true, title: '状态' }, + { field: 'hospitalId', width: 300, align: 'center', toolbar: '#businessRecords-table-bar', title: '操作' ,fixed:'right'} + ]] }); //省份数据加载 area.areaData("#province", 1, "", ""); @@ -106,8 +113,39 @@ table.on('tool(hospital-table)', function (obj) { var data = obj.data; var layEvent = obj.event; - if (layEvent === 'detail') { // 查看详情 - showEditModel(data); + if (layEvent === 'del') { + layer.confirm('确定要删除吗?', function (i) { + layer.load(2); + var whereModel = { + id: obj.data.hospitalId, + departmentId: obj.data.departmentId + }; + admin.req('api-user/syshospital/delete', whereModel, function (data) { + layer.closeAll('loading'); + layer.msg(data.msg, { icon: 1, time: 500 }, function () { + $('#hospita-btn-search').click(); + }); + obj.del(); + }, 'GET'); + }); + } + else if (layEvent === 'addDepartment') { + //添加科室 + admin.putTempData("t_hospital", data); + admin.popupCenter({ + title: '添加科室', + path: 'pages/opration/department_form.html', + area: ['900px', '60%'], + finish: function () { + //清理缓存数据 + admin.putTempData("t_hospital", ""); + } + }) + } + else if (layEvent === "edit") { + //修改 + admin.putTempData("t_hospital", data); + showEditModel(); } }); // 搜索按钮点击事件 @@ -117,9 +155,9 @@ var hospitalstate = $('#hospitalstate').val(); var hospitalName = $('#hospitalName').val(); - var hospitalProvince = ($("#province").val()!="")?$('#province option:selected').text():""; - var hospitalCity = ($("#city").val()!="")?$('#city option:selected').text():""; - var hospitalArea = ($("#areas").val()!="")?$('#areas option:selected').text():""; + var hospitalProvince = ($("#province").val() != "") ? $('#province option:selected').text() : ""; + var hospitalCity = ($("#city").val() != "") ? $('#city option:selected').text() : ""; + var hospitalArea = ($("#areas").val() != "") ? $('#areas option:selected').text() : ""; var whereModel = { isScreen: isscreen, @@ -135,20 +173,47 @@ // // 显示编辑弹窗 var showEditModel = function (data) { + admin.popupCenter({ + title: '编辑医院/科室', + path: 'pages/opration/hospital_form_tab.html', + area: ['900px', '80%'], + finish: function () { + } + }); }; //装载市区数据 form.on("select(province)", function (data) { - $("#city").empty(); - $("#areas").empty(); + area.areasClear("#areas", 3); area.areaData("#city", 2, data.value, ""); }); //装载区县数据 form.on("select(city)", function (data) { - $("#areas").empty(); area.areaData("#areas", 3, data.value, ""); }); + // 修改状态 + form.on('switch(hospital-tpl-state)', function (obj) { + layer.load(2); + admin.req('api-user/syshospital/updateEnabled', { + id: obj.elem.value, + departmentId: obj.elem.getAttribute("value2"), + enabled: obj.elem.checked ? true : false + }, function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 500 }); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + $(obj.elem).prop('checked', !obj.elem.checked); + form.render('checkbox'); + } + }, 'GET'); + }); + // 添加按钮点击事件 + $('#hospital-btn-add').click(function () { + showEditModel(); + }); }); </script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html new file mode 100644 index 0000000..1eaca5e --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html @@ -0,0 +1,208 @@ +<form id="hospital-form" lay-filter="hospital-form" class="layui-form model-form" method="POST"> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm7"> + <label class="layui-form-label">医院名称</label> + <div class="layui-input-block"> + <input name="hospitalName" id="hospitalName" placeholder="请输入医院名称" type="text" class="layui-input" + maxlength="50" lay-verify="required" required autocomplete="on" style="width: 390px;" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">医院简称</label> + <div class="layui-input-block"> + <input name="hospitalShortName" type="text" class="layui-input" maxlength="50" + style="width: 200px;" /> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm7"> + <label class="layui-form-label">联系电话</label> + <div class="layui-input-block"> + <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input" maxlength="50" + style="width: 390px;" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">联系人</label> + <div class="layui-input-block"> + <input name="hospitalLink" type="text" class="layui-input" maxlength="50" style="width: 200px;" /> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm7"> + <label class="layui-form-label">医院类型</label> + <div class="layui-input-block"> + <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" value=""/> + <select name="hospitalTypeName" id="hospitalTypeName" lay-filter="hospitalTypeName" + style="width: 300px;"> + <option value="">请选择</option> + </select> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">医院资质</label> + <div class="layui-input-block"> + <input name="hospitalQualifiedId" id="hospitalQualifiedId" type="hidden" value=""/> + <select name="hospitalQualifiedName" id="hospitalQualifiedName" lay-filter="hospitalQualifiedName" + style="width: 300px;"> + <option value="">请选择</option> + </select> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-row"> + <label class="layui-form-label">所在地区</label> + <div class="layui-input-block"> + <div class="layui-col-sm4"> + <select id="hospitalProvince" placeholder="省份" lay-filter="hospitalProvince" style="width: 400px;"> + </select></div> + <div class="layui-col-sm4"> + <select id="hospitalCity" placeholder="市" lay-filter="hospitalCity" style="width: 350px;"> + <option value="">选择市</option> + </select></div> + <div class="layui-col-sm4"> + <select id="hospitalArea" placeholder="区县" lay-filter="hospitalArea" style="width: 350px;"> + <option value="">选择区县</option> + </select> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">地址</label> + <div class="layui-input-block"> + <input name="hospitalAdress" type="text" class="layui-input" maxlength="100" /> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm3"> + <label class="layui-form-label">区号</label> + <div class="layui-input-block"> + <input name="areaCode" type="text" class="layui-input" maxlength="10" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">经度</label> + <div class="layui-input-block"> + <input name="longitude" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">纬度</label> + <div class="layui-input-block"> + <input name="latitude" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医院简介</label> + <div class="layui-input-block"> + <textarea name="hospital_about" class="layui-textarea" maxlength="500"></textarea> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" lay-filter="hospital-form-submit" lay-submit>保存</button> + </div> + <input type="hidden" id="orgId" name="orgId" value=""/> +</form> + +<script> + parent.layui.use(['form', 'table','util', 'config', 'admin', 'area', 'formSelects', 'dic', 'autocomplete'], function () { + var form = parent.layui.form; + var table = parent.layui.table; + var config = parent.layui.config; + var layer = parent.layui.layer; + var util = parent.layui.util; + var admin = parent.layui.admin; + var area = parent.layui.area; + var dic = parent.layui.dic; + var formSelects = parent.layui.formSelects; + var autocomplete = parent.layui.autocomplete; + var $ = parent.layui.jquery; + + autocomplete.render({ + elem: $('#hospitalName'), + cache: true, + url: config.base_server + 'api-user/syshospital', + response: { code: 'code', data: 'data' }, + template_val: '{{d.hospitalName}}', + template_txt: '{{d.hospitalName}} <span class=\'layui-badge layui-bg-gray\'>{{d.id}}</span>', + onselect: function (resp) { + //$('#content1').html("NEW RENDER: " + JSON.stringify(resp)); + } + }) + //医院资质数据 + dic.dicData("#hospitalQualifiedName", "HOSPITAL_QUALIFIED", ""); + //医院类型数据 + dic.dicData("#hospitalTypeName", "HOSPITAL_TYPE", ""); + //省份数据加载 + area.areaData("#hospitalProvince", 1, "", ""); + //装载市区数据 + form.on("select(hospitalProvince)", function (data) { + area.areasClear("#hospitalArea", 3); + area.areaData("#hospitalCity", 2, data.value, ""); + }); + //装载区县数据 + form.on("select(hospitalCity)", function (data) { + area.areaData("#hospitalArea", 3, data.value, ""); + }); + //赋值资质数据ID + form.on("select(hospitalQualifiedName)", function (data) { + $("#hospitalQualifiedId").val(data.value); + }); + //赋值医院类型数据ID + form.on("select(hospitalTypeName)", function (data) { + $("#hospitalTypeId").val(data.value); + }); + + // 回显组织数据 + let orgs = admin.getTempData('t_org'); + if (orgs != null) { + $('input[name="hospitalName"]').val(orgs.orgName); + $('input[name="orgId"]').val(orgs.id); + form.render(); + } + // 表单提交事件 + form.on('submit(hospital-form-submit)', function (data) { + layer.load(2); + if(data.field!=null){ + + data.field.hospitalTypeName=$("#hospitalTypeName option:selected").text(); + data.field.hospitalQualifiedName=$("#hospitalQualifiedName option:selected").text(); + data.field.hospitalProvince=$("#hospitalProvince option:selected").text(); + data.field.hospitalCity=$("#hospitalCity option:selected").text(); + data.field.hospitalArea=$("#hospitalArea option:selected").text(); + + admin.req('api-user/syshospital', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + //将医院数据存入本地 + admin.putTempData('t_hospital', data.data); + layer.msg(data.msg, { icon: 1, time: 1000 }, function () { + //清理组织数据 + admin.putTempData('t_org',''); + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST");} + else{ + layer.msg("数据异常!", { icon: 2, time: 1000 }); + } + return false; + }); + }); +</script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_tab.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_tab.html new file mode 100644 index 0000000..9fe1bea --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_tab.html @@ -0,0 +1,122 @@ +<div class="layui-tab"> + <ul class="layui-tab-title"> + <li class="layui-this">组织信息</li> + <li>基本信息</li> + </ul> + <div class="layui-tab-content"> + <div class="layui-tab-item layui-show"> + <form id="app-form" lay-filter="app-form" class="layui-form model-form"> + <input name="id" type="hidden" /> + <div class="layui-form-item"> + <label class="layui-form-label">上级组织</label> + <div class="layui-input-block"> + <input name="orgParentId" id="orgParentId" type="hidden" value="-1"/> + <input placeholder="输入上级组织名称..." pname="orgParentName" id="orgParentName" type="text" class="layui-input" maxlength="50" /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织类型</label> + <div class="layui-input-block"> + <select id="orgAttr" name="orgAttr" placeholder="选择一个类型"> + <option value="0" selected='selected'>集团</option> + <option value="1">公司/医院</option> + <option value="2">部门/科室</option> + <option value="3">子部门/子科室</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织层级</label> + <div class="layui-input-block"> + <select name="orgLevel" id='orgLevel' placeholder="选择一个层级"> + <option value="0" selected='selected'>1级</option> + <option value="1">2级</option> + <option value="2">3级</option> + <option value="3">4级</option> + <option value="4">5级</option> + <option value="5">6级</option> + <option value="6">7级</option> + <option value="7">8级</option> + <option value="8">9级</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织名称</label> + <div class="layui-input-block"> + <input name="orgName" id="orgName" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" id="sure" lay-filter="org-form-submit" lay-submit>保存</button> + </div> + <input name="id" id="id" type="hidden" value=""/> + </form> + </div> + <div class="layui-tab-item"> + </div> + </div> + <script> + layui.use(['form', 'table', 'laydate', 'util','config', 'admin','element','autocomplete'], function () { + var form = layui.form; + var table = layui.table; + var config = layui.config; + var layer = layui.layer; + var util = layui.util; + var admin = layui.admin; + //树形插件 + var tree = layui.tree; + var $ = layui.jquery; + var element = layui.element; + var autocomplete=layui.autocomplete; + //自动完成-上级组织 + autocomplete.render({ + elem: $('#orgParentName')[0], + keywordsName:'orgName',//查询关键字名称 + url: config.base_server +'api-user/sysorganization/listByName?page=1&limit=9999999', + template_val: '{{d.orgName}}',//选择后文本框显示的数据字段 + template_txt: "<div class='layui-table-cell'>{{d.orgName}}</div>",//下拉列表模板 + onselect: function (resp) { + $("#orgParentId").val(resp.id); + $("#orgLevel").val(resp.orgLevel+1); + $("#orgAttr").val(resp.orgLevel+1); + form.render(); + } + }) + + //自动完成-医院名称 + autocomplete.render({ + elem: $('#orgName')[0], + keywordsName:'orgName',//查询关键字名称 + url: config.base_server +'api-user/sysorganization/listByName?page=1&limit=9999999', + template_val: '{{d.orgName}}',//选择后文本框显示的数据字段 + template_txt: "<div class='layui-table-cell'>{{d.orgName}}</div>",//下拉列表模板 + onselect: function (resp) { + $("#id").val(resp.id); + form.render(); + } + }) + + // 表单提交事件 + form.on('submit(org-form-submit)', function (data) { + layer.load(2); + admin.req('api-user/sysorganization', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + //将组织数据存入本地 + admin.putTempData('t_org', data.data); + //组织数据维护成功后,进入医院基本信息页面 + layer.msg("组织数据编辑成功,继续编辑基本数据...", { icon: 1, time: 1000 },function(){ + //admin.finishPopupCenter(); + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + return false; + }); + form.render(); + getData(); + }); + </script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/org_form.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/org_form.html new file mode 100644 index 0000000..48d81cc --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/org_form.html @@ -0,0 +1,112 @@ +<form id="app-form" lay-filter="app-form" class="layui-form model-form"> + <input name="id" type="hidden" /> + <div class="layui-form-item"> + <label class="layui-form-label">上级组织:</label> + <div class="layui-input-block"> + <div id="orgParentId-tree" class="demo-tree demo-tree-box"></div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">上级组织:</label> + <div class="layui-input-block"> + <input name="orgParentId" id="orgParentId" type="hidden" value="-1" class="layui-input" maxlength="20" /> + <input name="orgParentName" id="orgParentName" type="text" class="layui-input" maxlength="50" readonly /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织类型:</label> + <div class="layui-input-block"> + <select id="orgAttr" name="orgAttr" placeholder="选择一个类型"> + <option value="">-请选择-</option> + <option value="0">集团</option> + <option value="1">公司/医院</option> + <option value="2">部门/科室</option> + <option value="3">子部门/子科室</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织层级:</label> + <div class="layui-input-block"> + <select name="orgLevel" id='orgLevel' placeholder="选择一个层级"> + <option value="">-请选择-</option> + <option value="0">1级</option> + <option value="1">2级</option> + <option value="2">3级</option> + <option value="3">4级</option> + <option value="4">5级</option> + <option value="5">6级</option> + <option value="6">7级</option> + <option value="7">8级</option> + <option value="8">9级</option> + </select> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">医院/科室名称:</label> + <div class="layui-input-block"> + <input name="orgName" type="text" class="layui-input" maxlength="20" /> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" id="sure" lay-filter="org-form-submit" lay-submit>保存</button> + </div> +</form> +<script> + parent.layui.use(['form', 'table', 'laydate', 'util', 'tree', 'config', 'admin'], function () { + var form = parent.layui.form; + var table = parent.layui.table; + var config = parent.layui.config; + var layer = parent.layui.layer; + var util = parent.layui.util; + var admin = parent.layui.admin; + //树形插件 + var tree = parent.layui.tree; + var $ = parent.layui.jquery; + + //组织结构树 + var getData = function () { + admin.req('api-user/sysorganization/getTree', { is_del: 0, enabled: 1 }, function (data) { + if (0 === data.code) { + tree({ + elem: "#orgParentId-tree", + nodes: data.data, + click: function (node) { + //将数据赋值 + $("#orgParentId").val(node.id); + $("#orgParentName").val(node.name); + $("#orgAttr").val(node.level + 1); + $("#orgLevel").val(node.level + 1); + //刷新form表单 + form.render('select'); + } + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, 'get'); + } + + // 表单提交事件 + form.on('submit(org-form-submit)', function (data) { + layer.load(2); + admin.req('api-user/sysorganization', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + if (data.code == 0) { + //将组织数据存入本地 + admin.putTempData('t_org', data.data); + //组织数据维护成功后,进入医院基本信息页面 + layer.msg("组织数据编辑成功,继续编辑基本数据...", { icon: 1, time: 1000 },function(){ + //admin.finishPopupCenter(); + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + return false; + }); + form.render(); + getData(); + }); +</script> \ No newline at end of file diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html index b931cdb..7dd3ce8 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html @@ -21,7 +21,7 @@ </script> <!-- 表格状态列 --> <script type="text/html" id="product-tpl-state"> - <input type="checkbox" lay-filter="product-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="未处理|已处理" + <input type="checkbox" lay-filter="product-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="禁用|启用" {{d.enabled==true?'checked':''}}/> </script> diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html index feb4a13..4ac5b2b 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html @@ -183,7 +183,7 @@ $.each(data.data, function (index, item) { //往下拉菜单里添加元素 // console.log(JSON.stringify(item)) - $('#role_clients').append(new Option(item.dictionariesName, item.id, false, selected)); + $('#role_clients').append(new Option(item.dictionariesName, item.dictionariesKey, false, selected)); }) form.render(); } else { -- Gitblit v1.8.0