kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/ProductOrderDetailMapper.java
@@ -76,12 +76,12 @@ * endTime 结束时间 * @return */ OrderChartVo productOrderChart(@Param("p") Map<String, Object> params); List<OrderChartVo> productOrderChart(@Param("p") Map<String, Object> params); /** * 统计产品的使用数量 * @return ccount 是数量 * units 是产品名称 */ OrderChartVo proCountChart(); List<OrderChartVo> proCountChart(); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
@@ -105,12 +105,12 @@ * endTime 结束时间 * @return */ OrderChartVo productOrderChart(@Param("p") Map<String, Object> params); List<OrderChartVo> productOrderChart(@Param("p") Map<String, Object> params); /** * 统计产品的使用数量 * @return ccount 是数量 * units 是产品名称 */ OrderChartVo proCountChart(); List<OrderChartVo> proCountChart(); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java
@@ -1,10 +1,10 @@ package com.kidgrow.oprationcenter.service; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysUser; import com.kidgrow.oprationcenter.model.SysFeedback; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; import com.kidgrow.oprationcenter.model.SysFeedback; import java.util.Map; kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -158,7 +158,7 @@ * @return */ @Override public OrderChartVo productOrderChart(Map<String, Object> params) { public List<OrderChartVo> productOrderChart(Map<String, Object> params) { return baseMapper.productOrderChart(params); } /** @@ -167,7 +167,7 @@ * units 是产品名称 */ @Override public OrderChartVo proCountChart() { public List<OrderChartVo> proCountChart() { return baseMapper.proCountChart(); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java
@@ -1,8 +1,10 @@ package com.kidgrow.oprationcenter.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.model.*; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.oprationcenter.mapper.SysFeedbackMapper; import com.kidgrow.oprationcenter.model.SysFeedback; @@ -14,7 +16,6 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
@@ -193,7 +193,7 @@ </if> <if test="datatype==1"> -- 套餐总量 SELECT count(*) FROM product_order WHERE is_del=0 and enabled=1 SELECT count(*) FROM sys_product WHERE is_del=0 and enabled=1 </if> <if test="datatype==2"> -- 未处理用户反馈 @@ -206,7 +206,7 @@ </select> <select id="productOrderChart" resultType="com.kidgrow.oprationcenter.vo.OrderChartVo"> <if test="p.units==1"> <if test="p.datatype==1"> -- 按年统计 SELECT COUNT(t.id) ccount,t.units FROM (select id,DATE_FORMAT(contract_time,'%Y/%m') units,contract_time from product_order @@ -214,7 +214,7 @@ ) AS t GROUP BY t.units </if> <if test="p.units==2"> <if test="p.datatype==2"> -- 按月统计 SELECT COUNT(t.id) ccount,t.units FROM (select id,DATE_FORMAT(contract_time,'%Y') units,contract_time from product_order @@ -246,7 +246,7 @@ pro_id, pro_name ORDER BY procount DESC ccount DESC LIMIT 10 </select> </mapper> kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
@@ -393,7 +393,7 @@ @ApiOperation(value = "按指定类型统计合同数量") @GetMapping("/productOrderChart") public ResultBody productOrderChart(@RequestParam Map<String, Object> params) { OrderChartVo orderChartVo=productOrderDetailService.productOrderChart(params); List<OrderChartVo> orderChartVo=productOrderDetailService.productOrderChart(params); return ResultBody.ok().data(orderChartVo).msg("数据获取成功!") ; } @@ -405,7 +405,7 @@ @ApiOperation(value = "统计产品的使用数量") @GetMapping("/proCountChart") public ResultBody proCountChart() { OrderChartVo orderChartVo=productOrderDetailService.proCountChart(); List<OrderChartVo> orderChartVo=productOrderDetailService.proCountChart(); return ResultBody.ok().data(orderChartVo).msg("数据获取成功!") ; } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java
@@ -17,7 +17,6 @@ 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; kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDepartmentMapper.java
@@ -31,4 +31,12 @@ * @return SysDepartment对象 */ SysDepartment findByObject(@Param("p") SysDepartment sysDepartment); /** *检查指定医院下是否已经存在该名称的科室 * @param hosId * @param departmentName * @return 如果返回空则视为不存在 */ String checkDepartmentName(@Param("hosId") Long hosId,@Param("departmentName") String departmentName); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysHospitalMapper.java
@@ -55,6 +55,6 @@ * 11 筛查医院 * @return */ int chartHospital(@Param("datatype") Integer datatype); int chartHospital(@Param("datatype") int datatype); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDepartmentService.java
@@ -33,5 +33,12 @@ ResultBody findAll(Map<String, Object> params); ResultBody findListByHospitalId(Map<String, Object> params); /** *检查指定医院下是否已经存在该名称的科室 * @param hosId * @param departmentName * @return 如果返回空则视为不存在 */ String checkDepartmentName(Long hosId,String departmentName); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java
@@ -74,5 +74,5 @@ * 11 筛查医院 * @return */ ResultBody chartHospital(Integer datatype); ResultBody chartHospital(int datatype); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java
@@ -85,4 +85,10 @@ } return ResultBody.ok().data(sysDepartments); } @Override public String checkDepartmentName(Long hosId, String departmentName) { String departName=baseMapper.checkDepartmentName(hosId,departmentName); return departName; } } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -137,6 +137,7 @@ * 2 医答医生 * 3 C端医生 * 4 H端医生 * 5 待审核医生 * @return */ @Override kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java
@@ -231,7 +231,7 @@ * @return */ @Override public ResultBody chartHospital(Integer datatype) { public ResultBody chartHospital(int datatype) { int hospitalCount=baseMapper.chartHospital(datatype); return ResultBody.ok().data(hospitalCount).msg("获取数据成功"); } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDepartmentMapper.xml
@@ -75,4 +75,9 @@ <include refid="where"/> order by id desc </select> <select id="checkDepartmentName" resultType="string"> SELECT org_name FROM sys_organization WHERE org_parent_id =( SELECT org_id FROM sys_hospital WHERE id = #{hosId} ) AND org_name = #{departmentName} </select> </mapper> kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
@@ -132,7 +132,7 @@ select count(id) doctorCount from sys_doctor where is_del=0 and enabled=1 <if test="datatype==0"> -- 自注册医生 and (doctor_type=0 or doctor_type=1) and doctor_state=1 and (doctor_type=0 or doctor_type=1) and doctor_state=0 </if> <if test="datatype==1"> -- 签约医生 @@ -150,5 +150,9 @@ -- H端医生 and (doctor_type=1 or doctor_type=0) and doctor_state=1 </if> <if test="datatype==5"> -- H端医生 and (doctor_type=1 or doctor_type=0) and doctor_state=0 and enabled=0 </if> </select> </mapper> kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml
@@ -273,7 +273,7 @@ where is_del=0 and enabled=1 and hospital_name LIKE concat('%',#{hospitalName},'%') order by hospital_name desc </select> <select id="chartHospital" resultType="int" parameterType="integer"> <select id="chartHospital" resultType="int" parameterType="int"> SELECT count( DISTINCT hospital_name ) hospitalCount FROM kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
@@ -4,6 +4,7 @@ import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.utils.StringUtils; import com.kidgrow.usercenter.model.SysDepartment; import com.kidgrow.usercenter.service.ISysDepartmentService; import com.kidgrow.usercenter.service.ISysOrganizationService; @@ -20,7 +21,6 @@ import javax.validation.Valid; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -86,22 +86,31 @@ */ @ApiOperation(value = "检查科室名是否存在") @GetMapping("/checkName") public ResultBody checkDepName(@RequestParam Map<String, Object> params) { params.put("page", 1); params.put("limit", 1); if (sysDepartmentService.findList(params).getData().size() > 0) { return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", params.get("departmentName"))); public ResultBody checkDepName(Long hospitalId,String departmentName) { if (departMentNameIsUsed(hospitalId,departmentName)) { return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", departmentName)); } return ResultBody.ok().msg(""); } /** * 检查科室名是否存在 * @param hosId * @param departmentName * @return */ private Boolean departMentNameIsUsed(Long hosId,String departmentName) { String departName=sysDepartmentService.checkDepartmentName(hosId,departmentName); return StringUtils.isNotBlank(departName); } /** * 新增or更新 */ @ApiOperation(value = "保存") @PostMapping @PostMapping("/{hosId}") @Transactional(rollbackFor = {Exception.class}) public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment, BindingResult bindingResult) { public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment,@PathVariable Long hosId, BindingResult bindingResult) { List<String> errMsg = new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { @@ -111,11 +120,8 @@ } else { //先检查该医院该科室是否已经存在 if (sysDepartment.getId() == null) { Map<String, Object> checkDepartment = new HashMap<String, Object>(); checkDepartment.put("page", 1); checkDepartment.put("limit", 1); checkDepartment.put("departmentName", sysDepartment.getDepartmentName()); if (sysDepartmentService.findList(checkDepartment).getData().size() > 0) { if (departMentNameIsUsed(hosId,sysDepartment.getDepartmentName())) { return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", sysDepartment.getDepartmentName())); } } kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java
@@ -8,7 +8,6 @@ import com.kidgrow.common.model.SysOrganization; import com.kidgrow.common.model.SysUser; import com.kidgrow.usercenter.model.SysHospital; import com.kidgrow.usercenter.service.ISysDepartmentService; import com.kidgrow.usercenter.service.ISysHospitalService; import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.vo.HospitalListVo; @@ -44,8 +43,6 @@ public class SysHospitalController extends BaseController { @Autowired private ISysHospitalService sysHospitalService; @Autowired private ISysDepartmentService departmentService; @Autowired private ISysOrganizationService organizationService; @@ -238,7 +235,7 @@ */ @ApiOperation(value = "统计医院数量") @GetMapping("/chartHospital") public ResultBody chartHospital(Integer datatype) { public ResultBody chartHospital(int datatype) { return sysHospitalService.chartHospital(datatype); } } kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/config.js
@@ -48,7 +48,6 @@ // 当前登录的用户 getUser: function () { var u = layui.data(config.tableName).login_user; // debugger; if (u) { return JSON.parse(u); } kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/console.html
@@ -3,265 +3,423 @@ <head> <title>首页</title> <meta charset="utf-8"/> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <script type="text/javascript" src="../assets/libs/echarts.min.js"></script> <style> .layui-card-header { text-align:left; text-align: left; } .layuiadmin-badge { float:right; margin-top:12px; float: right; margin-top: 12px; } .big-font { text-align:left; text-align: left; font-size: 250%; height: 30px; } </style> </head> <body> <div class="layui-card-body" style="text-align: center;"> <div class="layui-row layui-col-space10"> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">在线人数 <span class="layui-badge layui-bg-cyan layuiadmin-badge">时</span> <div class="layui-card-body" style="text-align: center;"> <div class="layui-row layui-col-space10"> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">正式医院 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!syshospital"> <p class="big-font" id="h_hospital">无权查看</p> </a> </div> </div> <div class="layui-card-body layuiadmin-card-list"> <p class="big-font" id="userCnt"></p> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">产品/套餐总量 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!product"> <p class="big-font" id="u_product">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">待审核试用套餐 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!verifyRecharge"> <p class="big-font" id="t_product">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">用户反馈 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!feedback"> <p class="big-font" id="u_feedback">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">数据需求 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!dataneed"> <p class="big-font" id="d_dataneed">无权查看</p> </a> </div> </div> </div> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">PV <span class="layui-badge layui-bg-green layuiadmin-badge">天</span> <div class="layui-row layui-col-space10"> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">H端医生 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!doctor"> <p class="big-font" id="h_doctor">无权查看</p> </a> </div> </div> <div class="layui-card-body layuiadmin-card-list"> <p class="big-font" id="pv"></p> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">C端医生 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!doctor"> <p class="big-font" id="c_doctor">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">待审核医生 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!doctor"> <p class="big-font" id="ht_doctor">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">签约医生 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!doctor"> <p class="big-font" id="u_signing">无权查看</p> </a> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">医答医生 </div> <div class="layui-card-body layuiadmin-card-list"> <a href="/#!doctor"> <p class="big-font" id="d_isanswer">无权查看</p> </a> </div> </div> </div> </div> <div class="layui-col-sm2 layui-col-md2"> <div class="layui-card"> <div class="layui-card-header">UV <span class="layui-badge layui-bg-green layuiadmin-badge">天</span> </div> <div class="layui-card-body layuiadmin-card-list"> <p class="big-font" id="uv"></p> <!-- <div class="layui-row layui-col-space10"> <div class="layui-col-lg12 layui-col-md12"> <div class="layui-card"> <div class="card-block"> <div id="contract" style="height:350px"> </div> </div> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">周访问量 <span class="layui-badge layui-bg-blue layuiadmin-badge">周</span> </div> <div class="layui-card-body layuiadmin-card-list"> <p class="big-font" id="weekPv"></p> </div> --> <div class="layui-row layui-col-space10"> <div class="layui-col-lg6 layui-col-md6"> <div class="layui-card"> <div class="card-block"> <div id="products" style="height:300px"></div> </div> </div> </div> </div> <div class="layui-col-sm3 layui-col-md3"> <div class="layui-card"> <div class="layui-card-header">月访问量 <span class="layui-badge layui-bg-orange layuiadmin-badge">月</span> </div> <div class="layui-card-body layuiadmin-card-list"> <p class="big-font" id="monthPv"></p> <div class="layui-col-lg6 layui-col-lg6"> <div class="layui-card"> <div class="card-block"> <div id="contract" style="height:300px"></div> </div> </div> </div> </div> </div> <div class="layui-row layui-col-space10"> <div class="layui-col-lg12 layui-col-md12"> <div class="layui-card"> <div class="card-block"> <div id="week-container" style="height:350px"></div> </div> </div> </div> </div> <div class="layui-row layui-col-space10"> <div class="layui-col-lg6 layui-col-md6"> <div class="layui-card"> <div class="card-block"> <div id="browser-container" style="height:300px"></div> </div> </div> </div> <div class="layui-col-lg6 layui-col-lg6"> <div class="layui-card"> <div class="card-block"> <div id="operatingSystem-container" style="height:300px"></div> </div> </div> </div> </div> </div> <script type="text/javascript"> layui.use(['admin'], function () { let admin = layui.admin; let browserChart = echarts.init(document.getElementById("browser-container")); browserChart.setOption({ title : { text: '浏览器分布', subtext: '', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: {}, series : [] }); browserChart.showLoading(); let osChart = echarts.init(document.getElementById("operatingSystem-container")); osChart.setOption({ title : { text: '系统分布', subtext: '', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: {}, series : [] }); osChart.showLoading(); let weekChart = echarts.init(document.getElementById("week-container")); weekChart.setOption({ title: { text: '流量趋势' }, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#6a7985' <script type="text/javascript"> layui.use(['util', 'admin', 'config'], function () { let admin = layui.admin; let config = layui.config; let util = layui.util; let $ = layui.jquery; var counts = 0; // 加载医院统计数据 var loadHospitalChart = function (datatype) { admin.req("api-user/syshospital/chartHospital?datatype=" + datatype, {}, function (data) { if (0 === data.code) { counts = data.data; } } }, legend: { data: ['访问量(PV)', '独立用户(UV)'] }, xAxis: [ { type: 'category', boundaryGap: false, data: [] } ], yAxis: [ { type: 'value' } ], series: [] }); weekChart.showLoading(); admin.req('api-log/requestStat', {}, function (data) { $('#pv').html(data.currDate_pv); $('#uv').html(data.currDate_uv); $('#weekPv').html(data.currWeek_pv); $('#monthPv').html(data.currMonth_pv); $('#userCnt').html(data.currHour_uv); browserChart.hideLoading() browserChart.setOption({ legend: { orient: 'vertical', left: 'left', data: data.browser_legendData }, series : [ { name: '浏览器', type: 'pie', radius : '55%', center: ['50%', '60%'], data: data.browser_datas, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' }, "get"); } // 加载医生统计数据 var loadDoctorChart = function (datatype) { admin.req("api-user/sysdoctor/chartDoctor?datatype=" + datatype, {}, function (data) { if (0 === data.code) { counts = data.data; } }, "get"); } // 加载反馈需求审核统计数据 var loadOprationChart = function (datatype) { admin.req("api-opration/productorderdetail/oprationChart?datatype=" + datatype, {}, function (data) { if (0 === data.code) { counts = data.data; } }, "get"); } // 加载合同统计数据 var loadProductOrderChart = function (params) { admin.req("api-opration/productorderdetail/productOrderChart", params, function (data) { if (0 === data.code) { counts = data.data; } }, "get"); } // 加载套餐使用量统计数据 var loadProCountChart = function () { admin.req("api-opration/productorderdetail/proCountChart", {}, function (data) { if (0 === data.code) { return data.data; } else { return null; } }, "get"); } //加载套餐使用图表 var loadContractChart = function () { var chartcontract = echarts.init(document.getElementById('contract')); admin.req("api-opration/productorderdetail/proCountChart", {}, function (data) { if (0 === data.code) { var listData = data.data; var Xdata = new Array(); var Ydata = new Array(); if (listData != null) { for (let index = 0; index < listData.length; index++) { Xdata.push(listData[index].units); Ydata.push(listData[index].ccount); } var optionchart = { title: { text: '套餐使用数量统计(前10个)' }, color: ['#3398DB'], tooltip: { trigger: 'axis', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, xAxis: { type: 'category', data: Xdata }, yAxis: { type: 'value' }, series: [{ name: '使用数量', data: Ydata, type: 'bar', barWidth: '10%', showBackground: true }] }; chartcontract.setOption(optionchart, true); } } ] }); }, "get"); } osChart.hideLoading() osChart.setOption({ legend: { orient: 'vertical', left: 'left', data: data.operatingSystem_legendData }, series : [ { name: '操作系统', type: 'pie', radius : '55%', center: ['50%', '60%'], data: data.operatingSystem_datas, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' //加载合同图表 var loadProductChart = function () { var chartproducts = echarts.init(document.getElementById('products')); admin.req("api-opration/productorderdetail/productOrderChart", { datatype: 1, startTime: "", endTime: "" }, function (data) { if (0 === data.code) { var listData = data.data; var Xdata = new Array(); var Ydata = new Array(); if (listData != null) { for (let index = 0; index < listData.length; index++) { Xdata.push(listData[index].units); Ydata.push(listData[index].ccount); } var optionchart = { title: { text: '合同签订统计' }, color: ['#3398DB'], tooltip: { trigger: 'axis', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, xAxis: { type: 'category', data: Xdata }, yAxis: { type: 'value' }, series: [{ name: '合同数量', data: Ydata, type: 'bar', barWidth: '10%', showBackground: true }] }; chartproducts.setOption(optionchart, true); } } ] }); }, "get"); } weekChart.hideLoading() weekChart.setOption({ xAxis: [ { type: 'category', boundaryGap: false, data: data.statWeek_items //先拿到当前登录用户的信息 var nowUser = config.getUser(); if (!strUtil.isEmpty(nowUser)) { var userRole = nowUser.roles; for (let index = 0; index < userRole.length; index++) { const element = userRole[index]; if (element.code == "admin" || element.code == "dev_admin" || element.code == "pc_admin" || element.code == "oprationmanager" || element.code == "dev_user" || element.code == "shop_admin" || element.code == "app_admin") { //正式医院 loadHospitalChart(0); $("#h_hospital").html(counts); //产品/套餐总量 loadOprationChart(1); $("#u_product").html(counts); //待审核试用套餐 loadOprationChart(0); $("#t_product").html(counts); //用户反馈 loadOprationChart(2); $("#u_feedback").html(counts); //数据需求 loadOprationChart(2); $("#d_dataneed").html(counts); //H端医生 loadDoctorChart(4); $("#h_doctor").html(counts); //C端医生 loadDoctorChart(3); $("#c_doctor").html(counts); //签约医生 loadDoctorChart(1); $("#u_signing").html(counts); //医答医生 loadDoctorChart(2); $("#d_isanswer").html(counts); //待审核医生 loadDoctorChart(5); $("#ht_doctor").html(counts); loadContractChart(); loadProductChart(); } else if (element.code == "opration") { //正式医院 loadHospitalChart(0); $("#h_hospital").html(counts); //用户反馈 loadOprationChart(2); $("#u_feedback").html(counts); //数据需求 loadOprationChart(2); $("#d_dataneed").html(counts); //H端医生 loadDoctorChart(4); $("#h_doctor").html(counts); //C端医生 loadDoctorChart(3); $("#c_doctor").html(counts); //签约医生 loadDoctorChart(1); $("#u_signing").html(counts); //医答医生 loadDoctorChart(2); $("#d_isanswer").html(counts); //待审核医生 loadDoctorChart(5); $("#ht_doctor").html(counts); loadProductChart(); } else if (element.code == "sale") { //正式医院 loadHospitalChart(0); $("#h_hospital").html(counts); //正式医院 loadHospitalChart(0); $("#h_hospital").html(counts); //用户反馈 loadOprationChart(2); $("#u_feedback").html(counts); //数据需求 loadOprationChart(2); $("#d_dataneed").html(counts); //H端医生 loadDoctorChart(4); $("#h_doctor").html(counts); //C端医生 loadDoctorChart(3); $("#c_doctor").html(counts); //待审核医生 loadDoctorChart(5); $("#ht_doctor").html(counts); //签约医生 loadDoctorChart(1); $("#u_signing").html(counts); //医答医生 loadDoctorChart(2); loadContractChart(); loadProductChart(); } ], series: [ { name: '访问量(PV)', type: 'line', areaStyle: {}, label: { normal: { show: true, position: 'top' } }, data: data.statWeek_pv }, { name: '独立用户(UV)', type: 'line', areaStyle: {}, data: data.statWeek_uv } ] }); }, 'GET'); }); </script> } } }); </script> </body> </html> kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html
@@ -342,7 +342,7 @@ saleUserTel: $("#saleUserTel").val(), accountsCount: $("#accountsCount").val() }; admin.req('api-user/sysdepartment', JSON.stringify(departmentData), admin.req('api-user/sysdepartment/'+data.data.id, JSON.stringify(departmentData), function (data) { layer.closeAll('loading'); if (data.code == 0) {