kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
@@ -9,6 +9,7 @@ import com.kidgrow.usercenter.vo.SysDoctorVo; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; /** @@ -40,5 +41,7 @@ ResultBody enable(Map<String, Object> params); boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user); List<SysDoctor> findByMap(Map<String, Object> map); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -8,7 +8,9 @@ import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.usercenter.mapper.SysRoleMapper; import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper; import com.kidgrow.usercenter.mapper.SysUserRoleMapper; import com.kidgrow.usercenter.model.SysRoleOrganization; import com.kidgrow.usercenter.model.SysRoleUser; import com.kidgrow.usercenter.service.ISysRoleOrganizationService; import com.kidgrow.usercenter.service.ISysUserOrgService; import com.kidgrow.usercenter.service.ISysUserService; @@ -61,7 +63,12 @@ private RedisUtils redisUtils; @Autowired private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl; @Autowired private SysRoleMapper sysRoleMapper; @Autowired private SysUserRoleMapper sysUserRoleMapper; private final String HOSPITAL_ADMIN="hospital_admin"; @Override public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) { @@ -113,15 +120,17 @@ public ResultBody enable(Map<String, Object> params) { Long aLong = MapUtils.getLong(params,"id"); SysDoctor sysDoctor = baseMapper.selectById(aLong); Boolean enabled = MapUtils.getBoolean(params, "enabled"); if (sysDoctor != null && sysDoctor.getUserId() != null) { SysUser byId = iSysUserService.getById(sysDoctor.getUserId()); if(byId!=null){ byId.setEnabled(true); byId.setEnabled(enabled); iSysUserService.updateById(byId); } } if(sysDoctor!=null){ sysDoctor.setEnabled(true); sysDoctor.setEnabled(enabled); baseMapper.updateById(sysDoctor); }else { return ResultBody.failed("禁用失败"); @@ -153,6 +162,20 @@ sysUser.setCreateUserName(byId.getUsername()); } iSysUserService.save(sysUser); //保存 角色信息 Map<String,Object> map= new HashMap<>(); map.put("code",HOSPITAL_ADMIN); map.put("enabled",1); map.put("is_del",0); List<SysRole> sysRoles = sysRoleMapper.selectByMap(map); if(sysRoles.size()>0){ //保存一个角色 SysRole sysRole = sysRoles.get(0); SysRoleUser sysRoleUser=new SysRoleUser(); sysRoleUser.setRoleId(sysRole.getId()); sysRoleUser.setUserId(sysUser.getId()); int insert = sysUserRoleMapper.insert(sysRoleUser); } //保存doctor的数据 SysDoctor sysDoc=new SysDoctor(); BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false); @@ -167,17 +190,13 @@ //保存将sys_user_org 保存部门 SysUserOrg sysUserOrg=new SysUserOrg(); sysUserOrg.setUserId(sysUser.getId()); sysUserOrg.setEnabled(false); sysUserOrg.setOrgId(sysDoctor.getDepartmentId()); sysUserOrg.setCreateTime(new Date()); //保存公司 sysUserOrgService.saveOrUpdate(sysUserOrg); SysUserOrg sysGongsi=new SysUserOrg(); sysGongsi.setUserId(sysUser.getId()); // sysUser.setEnabled(false); sysGongsi.setOrgId(sysDoctor.getHospitalId()); // sysUser.setCreateTime(new Date()); sysUserOrgService.saveOrUpdate(sysUserOrg); sysUserOrgService.saveOrUpdate(sysGongsi); //保存到Redis boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg); }else { @@ -205,4 +224,11 @@ } return true; } @Override public List<SysDoctor> findByMap(Map<String, Object> map) { map.put("enabled",1); map.put("is_del",0); return baseMapper.selectByMap(map); } } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
@@ -71,7 +71,15 @@ SysDoctor model = sysDoctorService.getById(id); return ResultBody.ok().data(model).msg("查询成功"); } /** * 根据 Map 查询 */ @ApiOperation(value = "查询") @PostMapping("/findByMap") public ResultBody findByMap(@RequestBody Map<String,Object> map) { List<SysDoctor> models = sysDoctorService.findByMap(map); return ResultBody.ok().data(models).msg("查询成功"); } /** * 根据SysDoctor当做查询条件进行查询 */ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysDoctor.java
New file @@ -0,0 +1,125 @@ package com.kidgrow.common.model; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @version 1.0 * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-04-02 14:02:50 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> */ @Data @EqualsAndHashCode(callSuper = false) @NoArgsConstructor @AllArgsConstructor @TableName("sys_doctor") public class SysDoctor extends SuperModel { private static final long serialVersionUID = 1L; /** * 关联的登录帐号ID */ private Long userId; /** * 所属医院ID */ @NotNull(message = "所属医院ID不能为空") private Long hospitalId; /** * 医院名称 */ @NotEmpty(message = "医院名称不能为空") private String hospitalName; /** * 科室ID */ private Long departmentId; /** * 科室名称 */ private String departmentName; /** * 医生姓名 */ @NotEmpty(message = "医生姓名不能为空") private String doctorName; /** * 医生的头像 */ private String doctorLogo; /** * 医生联系方式 */ @NotEmpty(message = "医生联系方式不能为空") private String doctorTel; /** * 职称ID */ private Long doctorRankId; /** * 职称 */ private String doctorRank; /** * 医生其它联系方式 */ private String doctorOtherLink; /** * 医生的email */ private String doctorEmail; /** * 医生简介 */ private String doctorAbout; /** * 是否医答医生 0否1是 */ private Boolean isAnswer; /** * 是否签约医生 0否1是 */ private Boolean isSigning; /** * 是否置顶 0否1是 */ private Boolean isTop; /** * 是否删除,1删除,0未删除 */ @TableLogic private Boolean isDel; /** * 医生状态 1正常 0试用 */ @NotNull(message = "医生状态 1正常 0试用不能为空") private Boolean doctorState; /** * 启用禁用状态,1启用,0停用 */ private Boolean enabled; /** * 销售代表的id */ private String serverUserId; /** * 销售代表名称 */ private String serverUserName; /** * 创建者的部门 */ private String createUserOrgCode; } kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/feign/SysDoctorService.java
New file @@ -0,0 +1,32 @@ package com.kidgrow.zuul.feign; import com.kidgrow.common.constant.ServiceNameConstants; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysUserOrg; import com.kidgrow.zuul.feign.fallback.SysDoctorServiceFallbackFactory; import com.kidgrow.zuul.feign.fallback.SysUserOrgServiceFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @Description: <br> * @Project: <br> * @CreateDate: Created in 2020/2/22 14:33 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> */ @FeignClient(name = ServiceNameConstants.USER_SERVICE, fallbackFactory = SysDoctorServiceFallbackFactory.class, decode404 = true) public interface SysDoctorService { /** * 根据条件查询 * @param map */ @PostMapping(value = "/sysdoctor/findByMap") ResultBody getListByMap(@RequestBody Map<String, Object> map); } kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/feign/fallback/SysDoctorServiceFallbackFactory.java
New file @@ -0,0 +1,35 @@ package com.kidgrow.zuul.feign.fallback; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysUserOrg; import com.kidgrow.zuul.feign.SysDoctorService; import com.kidgrow.zuul.feign.SysOrganizationService; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @Description: <br> * @Project: <br> * @CreateDate: Created in 2020/2/22 14:33 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> */ @Slf4j @Component public class SysDoctorServiceFallbackFactory implements FallbackFactory<SysDoctorService> { @Override public SysDoctorService create(Throwable throwable) { return new SysDoctorService() { @Override public ResultBody getListByMap(Map<String, Object> map) { return ResultBody.failed("获取医生姓名失败"); } }; } } kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
@@ -5,14 +5,17 @@ import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysDoctor; import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.model.SysUser; import com.kidgrow.common.utils.AddrUtil; import com.kidgrow.zuul.feign.SysDoctorService; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import eu.bitwalker.useragentutils.UserAgent; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants; import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.core.Authentication; @@ -23,7 +26,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.FORM_BODY_WRAPPER_FILTER_ORDER; import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_DECORATION_FILTER_ORDER; @@ -39,6 +44,8 @@ @Slf4j @Component public class UserInfoHeaderFilter extends ZuulFilter { @Autowired SysDoctorService sysDoctorService; @Override public String filterType() { return FilterConstants.PRE_TYPE; @@ -54,6 +61,8 @@ return true; } @SneakyThrows @Override public Object run() { @@ -66,18 +75,31 @@ String tenantId = ""; //客户端模式只返回一个clientId if (principal instanceof SysUser) { SysUser user = (SysUser) authentication.getPrincipal(); Map<String,Object> map=new HashMap<>(); map.put("user_id",user.getId()); ResultBody listByMap = sysDoctorService.getListByMap(map); List<SysDoctor> sysDoctors = JSON.parseArray(JSON.toJSONString(listByMap.getData()), SysDoctor.class); String str=""; if(sysDoctors!=null&&sysDoctors.size()>0){ str= sysDoctors.get(0).getDoctorName(); } ctx.addZuulRequestHeader(SecurityConstants.USER_ID_HEADER, String.valueOf(user.getId())); ctx.addZuulRequestHeader(SecurityConstants.USER_HEADER, user.getUsername()); ctx.addZuulRequestHeader(SecurityConstants.USER_REAL_NAME, "");//待完善 ctx.addZuulRequestHeader(SecurityConstants.USER_REAL_NAME,str);//待完善 List<SysOrganization> organizations = (List<SysOrganization>) user.getOrganizations(); //将组织数据 存到header 里面 organizations.sort((e1,e2)->e1.getOrgLevel().compareTo(e2.getOrgLevel())); if (organizations != null&&organizations.size()>0) { ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_ID_HEADER,String.valueOf(organizations.get(0).getId())); ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_NAME_HEADER, URLEncoder.encode(organizations.get(0).getOrgName(),"UTF-8")); ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(organizations.size()-1).getId())); ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_NAME_HEADER,URLEncoder.encode(organizations.get(organizations.size()-1).getOrgName(),"UTF-8")); ctx.addZuulRequestHeader(SecurityConstants.USER_ORGS_HEADER,JSON.toJSONString(organizations)); } //将角色放到header ctx.addZuulRequestHeader(SecurityConstants.ROLE_HEADER, JSON.toJSONString(user.getRoles())); tenantId=String.valueOf(organizations.get(0).getId()); kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
@@ -26,7 +26,7 @@ </script> <!-- 表格状态列 --> <script type="text/html" id="company-tpl-state"> <input type="checkbox" lay-filter="company-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|以停用" <input type="checkbox" lay-filter="company-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|已停用" {{d.enabled==true?'checked':''}}/> </script> <!-- 表单弹窗 --> kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -34,10 +34,14 @@ <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="reset">重置密码</a> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> <a class="layui-btn layui-btn-xs" lay-event="enable">停用</a> <!-- <a class="layui-btn layui-btn-xs" lay-event="enable">停用</a> --> </script> <!-- 表格状态列 --> <script type="text/html" id="doctor-tpl-state"> <input type="checkbox" lay-filter="doctor-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="正常|已停用" {{d.enabled==true?'checked':''}}/> </script> <!-- 表单弹窗 --> <script type="text/html" id="app-model"> <form id="app-form" lay-filter="app-form" class="layui-form model-form" > @@ -47,7 +51,7 @@ <label class="layui-form-label">医院名称</label> <div class="layui-input-block"> <input name="hospitalName" id="hospitalName" type="hidden" class="layui-input" maxlength="20"/> <select id="hospitalId" name="hospitalId" lay-filter="getdepartment" placeholder="选择一个应用" lay-filter="role_clients"> <select id="hospitalId" name="hospitalId" lay-filter="getdepartment" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -56,7 +60,7 @@ <label class="layui-form-label">科室</label> <div class="layui-input-block"> <input name="departmentName" id="departmentName" placeholder="请输入应用名称" type="hidden" class="layui-input" maxlength="20"/> <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-filter="role_clients"> <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -74,7 +78,7 @@ <div class="layui-form-item"> <label class="layui-form-label" >销售代表名称</label> <div class="layui-input-block"> <input name="serverUserName" type="text" class="layui-input" maxlength="15"/> <input name="serverUserName" type="text" class="layui-input" maxlength="15" lay-verify="required" required/> </div> </div> </div> @@ -82,13 +86,13 @@ <div class="layui-form-item"> <label class="layui-form-label">联系方式</label> <div class="layui-input-block"> <input name="doctorTel" type="text" class="layui-input" maxlength="20"/> <input name="doctorTel" type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">职称</label> <div class="layui-input-block"> <input name="doctorRank" type="text" class="layui-input" maxlength="20"/> <input name="doctorRank" type="text" class="layui-input" maxlength="20" lay-verify="required" required/> </div> </div> </div> @@ -96,13 +100,13 @@ <div class="layui-form-item"> <label class="layui-form-label">其它联系方式</label> <div class="layui-input-block"> <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20"/> <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20" lay-verify="required" required/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">医生的email</label> <div class="layui-input-block"> <input name="doctorEmail" type="text" class="layui-input" maxlength="20"/> <input name="doctorEmail" type="text" class="layui-input" maxlength="20" lay-verify="required|email" required/> </div> </div> </div> @@ -175,7 +179,7 @@ <label class="layui-form-label">医院名称</label> <div class="layui-input-block"> <input name="hospitalName" id="hospitalId-add" type="hidden" class="layui-input" maxlength="20"/> <select id="hospitalName-add" name="hospitalId" lay-filter="getdepartment-add" placeholder="选择一个应用" lay-filter="role_clients"> <select id="hospitalName-add" name="hospitalId" lay-filter="getdepartment-add" placeholder="选择一个应用" lay-verify="required" required > <option value="">-请选择-</option> </select> </div> @@ -193,7 +197,7 @@ <label class="layui-form-label">科室</label> <div class="layui-input-block"> <input name="departmentName" id="departmentName" placeholder="请输入应用名称" type="hidden" class="layui-input" maxlength="20"/> <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-filter="role_clients"> <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -201,7 +205,7 @@ <div class="layui-form-item"> <label class="layui-form-label">职称</label> <div class="layui-input-block"> <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称" > <select id="doctorRankId" name="doctorRankId" lay-filter="doctorRankId" placeholder="选择一个职称" lay-verify="required" required> <option value="">-请选择-</option> </select> <input name="doctorRank" id='doctorRank' type="hidden" class="layui-input" maxlength="20"/> @@ -212,7 +216,7 @@ <div class="layui-form-item"> <label class="layui-form-label">联系电话</label> <div class="layui-input-block"> <input name="doctorTel" type="text" class="layui-input" maxlength="20"/> <input name="doctorTel" type="text" class="layui-input" maxlength="20" lay-verify="required|phone" required/> </div> </div> <div class="layui-form-item"> @@ -226,7 +230,7 @@ <div class="layui-form-item"> <label class="layui-form-label">医生的email</label> <div class="layui-input-block"> <input name="doctorEmail" type="text" class="layui-input" maxlength="20"/> <input name="doctorEmail" type="text" class="layui-input" maxlength="20" lay-verify="required|email" required/> </div> </div> <div class="layui-form-item"> @@ -242,7 +246,7 @@ <label class="layui-form-label" >销售代表名称</label> <div class="layui-input-block"> <input name="serverUserName" id="serverUserName-add" type="hidden" class="layui-input" maxlength="15"/> <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" placeholder="选择一个应用" lay-filter="role_clients"> <select id="serverUserId-add" name="serverUserId" lay-filter="serverUserId-add" placeholder="选择一个应用" lay-verify="required" required> <option value="">-请选择-</option> </select> </div> @@ -282,7 +286,7 @@ <div class="layui-form-item"> <label class="layui-form-label" >登录帐号</label> <div class="layui-input-block"> <input name="username" type="text" class="layui-input" maxlength="15"/> <input name="username" type="text" class="layui-input" maxlength="15" lay-verify="required" required/> </div> </div> </div> @@ -290,13 +294,13 @@ <div class="layui-form-item"> <label class="layui-form-label" >登录密码</label> <div class="layui-input-block"> <input name="password" type="text" class="layui-input" maxlength="15"/> <input name="password" type="text" lay-verify="required" class="layui-input" maxlength="15" lay-verify="required" required/> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" >确认密码</label> <div class="layui-input-block"> <input name="passwordSure" type="text" class="layui-input" maxlength="15"/> <input name="passwordSure" type="text" lay-verify="required|confirmPass" class="layui-input" maxlength="15"/> </div> </div> </div> @@ -333,6 +337,7 @@ var util = layui.util; var admin = layui.admin; var upload = layui.upload; form.verify({ confirmPass:function(value){ if($('input[name=password]').val() !== value) return '两次密码输入不一致!'; }}); //医院数据绑定在弹框里 var hospital = ""; @@ -366,6 +371,25 @@ layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'Post'); // 修改company状态 form.on('switch(doctor-tpl-state)', function (obj) { layer.load(2); admin.req('api-user/sysdoctor/enable', JSON.stringify({ id: obj.elem.value, enabled: obj.elem.checked ? true : false }), function (data) { layer.closeAll('loading'); if (data.code == 0) { layer.msg(data.msg, { icon: 1, time: 500 }); //table.reload('table-user', {}); } else { layer.msg(data.msg, { icon: 2, time: 500 }); $(obj.elem).prop('checked', !obj.elem.checked); form.render('checkbox'); } }, 'POST'); }); //职称添加数据 var getZhiCheng = function () { admin.req('api-user/sysdictionaries/findAll', JSON.stringify({ dictionariesClassId: "1248150699682988034" }), function (data) { @@ -447,6 +471,7 @@ return d.isSigning ? "是" : "否" } }, { field: 'enabled', width: 250, align: 'center', templet: '#doctor-tpl-state', sort: true, title: '状态' }, { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" }, { field: 'serverUserName', width: 100, sort: true, title: '销售代表' }, { width: 200, width: 300, align: 'center', toolbar: '#doctor-table-bar', sort: true, title: '操作' }, @@ -487,20 +512,6 @@ layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'delete'); }); } else if (layEvent === 'enable') { layer.confirm('确定删除此用户吗?', function (i) { layer.close(i); layer.load(2); admin.req('api-user/sysdoctor/enable', JSON.stringify({ id: obj.data.id }), function (data) { layer.closeAll('loading'); if (data.code == 0) { layer.msg(data.msg, { icon: 1, time: 500 }); table.reload('app-table', {}); } else { layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'post'); }); } }); kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
@@ -56,7 +56,7 @@ <div class="layui-form-item"> <label class="layui-form-label">话术类型</label> <div class="layui-input-block"> <select name="templeteType" placeholder="话术类型" > <select name="templeteType" placeholder="话术类型" lay-verify="required" required> <option value="">-请选择-</option> <option value="0">结论</option> <option value="1">建议</option> @@ -67,7 +67,7 @@ <div class="layui-form-item"> <label class="layui-form-label">开放类型</label> <div class="layui-input-block"> <select id="publicType-add" name="publicType" placeholder="开放类型" > <select id="publicType-add" name="publicType" placeholder="开放类型" lay-verify="required" required> <option value="">-请选择-</option> <option value="1">公开</option> <option value="0">私有</option>