forked from kidgrow-microservices-platform

luliqiang
2020-08-27 c49b95fc3576f9a5dad5bcaa6874157d5091f6e0
Merge remote-tracking branch 'origin/dev' into dev
13 files modified
1 files added
299 ■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java 7 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml 5 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js 3 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html 12 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/departmentProduct.html 166 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 22 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html 15 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html 6 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html 6 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html 8 ●●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html 23 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html 14 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html 10 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java
@@ -9,7 +9,6 @@
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.utils.DateUtil;
import com.kidgrow.common.utils.MultipartFileUtils;
import com.kidgrow.common.utils.RandomValueUtils;
import com.kidgrow.common.utils.StringUtils;
import com.kidgrow.filecenter.mapper.FileMapper;
@@ -19,11 +18,11 @@
import lombok.extern.slf4j.Slf4j;
import net.coobird.thumbnailator.Thumbnails;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.multipart.MultipartFile;
import sun.misc.BASE64Decoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sun.misc.BASE64Encoder;
import java.io.*;
@@ -217,7 +216,7 @@
            newfileInfo.setCreateTime(new Date());
            String folderByDate =DateUtil.formatDate(new Date());
            String filePath = FilePath(imgType, folderByDate, hospitalId, departmentId);
            this.fileUpLoadOss(newfileInfo,filePath,input);
            this.fileUpLoadOss(newfileInfo,filePath+newFileName,input);
            input.close();
            baseMapper.insert(newfileInfo);
            return newfileInfo;
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
@@ -168,7 +168,10 @@
        product_order_detail DE
        LEFT JOIN product_order PRO ON DE.order_id = PRO.id
        <include refid="whereforall"/>
        order by DE.pro_endtime asc,DE.id asc
        order by
        DE.pro_endtime ASC,
        DE.pro_begintime ASC,
        DE.id asc
    </select>
    <select id="getEnabledCount" resultType="int" parameterType="long">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js
@@ -1,7 +1,8 @@
// var my_api_server_url = 'http://zuul.kidgrow.com/';
  // var my_api_server_url = 'http://192.168.2.240:8888/';
var my_api_server_url = 'http://127.0.0.1:8888/';
// var my_api_server_url = 'http://127.0.0.1:8888/';
// var my_api_server_url = 'http://192.168.2.240:8888/';
var my_api_server_url = 'http://open.zuul.kidgrow.cloud/';
// var my_api_server_url = 'http://uat.zuul.kidgrow.cloud/';
// var my_api_server_url = 'https://zuul.kidgrow.cloud/';
//var my_api_server_url = 'http://123.57.164.62:8888/';
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/attestation/app.html
@@ -80,12 +80,12 @@
            page: true,
            cols: [[
                {type: 'numbers'},
                {field: 'clientId',width:180, sort: true, title: '应用标识'},
                {field: 'clientName',width:200, sort: true, title: '应用名称'},
                {field: 'clientSecretStr', width:180, sort: true, title: '应用密钥'},
                {field: 'webServerRedirectUri',sort: true, title: '回调地址'},
                {field: 'authorizedGrantTypes',width:250, sort: true, title: 'oauth授权方式'},
                {align: 'center',width:150, toolbar: '#app-table-bar', title: '操作'}
                {field: 'clientId',width:"10%", sort: true, title: '应用标识'},
                {field: 'clientName',width:"10%", sort: true, title: '应用名称'},
                {field: 'clientSecretStr', width:"10%", sort: true, title: '应用密钥'},
                {field: 'webServerRedirectUri',width:"25%",sort: true, title: '回调地址'},
                {field: 'authorizedGrantTypes',width:"35%", sort: true, title: 'oauth授权方式'},
                {align: 'center',width:"10%", toolbar: '#app-table-bar', title: '操作'}
            ]],
            done:function(res){
                permissionsInput(res,config);
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/departmentProduct.html
New file
@@ -0,0 +1,166 @@
<div class="layui-card">
    <div class="layui-card-header">
        <h2 class="header-title">产品消费记录</h2>
        <span class="layui-breadcrumb pull-right">
            <a href="#!console">首页</a>
            <a><cite>产品消费记录</cite></a>
        </span>
    </div>
    <div class="layui-card-body">
        <div class="layui-form toolbar">&emsp;
            <div  class="layui-col-sm10">
                <div class="layui-col-sm4">
                    <input type="text" class="layui-input search-input" id="startTime" placeholder="开始时间"> 至 <input type="text"
                    class="layui-input search-input" id="endTime" placeholder="结束时间"> &emsp;
                </div>
                <div class="layui-col-sm2">
                    <input id="product-search-value" class="layui-input search-input" type="text" placeholder="按产品名" />&emsp;
                </div>
                <div class="layui-col-sm2">
                    <input id="hospital-search-value" class="layui-input search-input" type="text" placeholder="按医院名" style="width: 100%;" />
                    <input type="hidden" id="hospitalId" value="">
                </div>
                <div class="layui-col-sm2">
                    &emsp;<button id="product-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
                </div>
            </div>
        </div>
        <table class="layui-table" id="product-table" lay-filter="product-table"></table>
    </div>
</div>
<!-- 表格操作列 -->
<script type="text/html" id="product-table-bar">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</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="启用|已禁用"
           {{d.enabled==true?'checked':''}}/>
</script>
<script>
    layui.use(['table', 'util', 'admin', 'config', 'form', 'laydate', 'autocomplete'], function () {
        let table = layui.table;
        let util = layui.util;
        let admin = layui.admin;
        let form = layui.form;
        let config = layui.config;
        var autocomplete = layui.autocomplete;
        var laydate = layui.laydate;
        //执行一个laydate实例
        laydate.render({
            elem: '#startTime' //指定元素
        });
        laydate.render({
            elem: '#endTime' //指定元素
        });
        // 渲染表格
        var renderTable = function () {
            table.render({
                elem: '#product-table',
                url: config.base_server + 'api-opration/productorderrecord/all',
                method: 'GET',
                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                page: true,
                cols: [[
                    { field: 'hospitalName', width: 300, title: '医院名称' },
                    { field: 'departmentName', width: 100, title: '科室名称' },
                    { field: 'proName', width: 250, title: '产品名称' },
                    {
                    field: 'proType', sort: true, align: 'center', width: 80, templet: function (d) {
                        if (d.proType === 0)
                            return "试用"
                        else
                            return "正式"
                    }, title: '类型'
                },
                    { field: 'ailightCount', width: 100, title: '读片量' },
                    { field: 'recordCount', width: 100, title: '报告量' },
                    { field: 'isShare', width: 100, title: '是否共享',templet:function(d)
                    {
                        if(d.isShare)
                        return '共享'
                        else
                        return '私有'
                    }
                    },
                    { field: 'proBegintime', width: 120, title: '开始时间',templet:function(d){
                        return new Date(d.proBegintime).dateFormat("yyyy/MM/dd");
                    } },
                    { field: 'proEndtime', width: 120, title: '结束时间',templet:function(d){
                        return new Date(d.proEndtime).dateFormat("yyyy/MM/dd");
                    } },
                    // { field: 'createTime', width: 160, sort: true, title: '创建时间',templet:function(d){
                    //     return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                    // } },
                    { field: 'createTime', width: 200, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                    { align: 'center', width: 100, toolbar: '#product-table-bar', title: '操作' }
                ]]
            });
        }
        renderTable();
        // 工具条点击事件
        table.on('tool(product-table)', function (obj) {
            if (obj.event === 'del') { // 删除
                layer.confirm('您确定要删除这次充值吗?删除后不可恢复!', function (i) {
                    layer.close(i);
                    layer.load(2);
                    admin.req('api-opration/productorderrecord/' + obj.data.id, {}, function (data) {
                        layer.closeAll('loading');
                        layer.msg(data.msg, { icon: 1, time: 2000 }, function () {
                            renderTable();
                        });
                        obj.del();
                    }, 'DELETE');
                });
            }
        });
        // 搜索按钮点击事件
        $('#product-btn-search').click(function () {
            var startTime = $('#startTime').val();
            var endTime = $('#endTime').val();
            if (startTime != null && endTime != null) {
                var flag = compareDate(startTime, endTime);
                if (!flag) {
                    layer.msg('结束时间不得小于开始时间');
                    return;
                }
            }
            var proName = $('#product-search-value').val();
                var hospitalId = $('#hospitalId').val();
            table.reload('product-table', { where: { proName: proName,hospitalId: hospitalId,startTime: startTime, endTime: endTime } });
        });
        //比较日期大小
        function compareDate(logintime, logouttime) {
            var arys1 = new Array();
            var arys2 = new Array();
            if (logintime != null && logouttime != null) {
                arys1 = logintime.split('-');
                var logindate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]);
                arys2 = logouttime.split('-');
                var logoutdate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]);
                if (logindate > logoutdate) {
                    return false;
                } else {
                    return true;
                }
            }
        }
        //自动完成-医院名称
        autocomplete.render({
            elem: $('#hospital-search-value'),
            keywordsName: 'hospitalName',//查询关键字名称
            url: config.base_server + 'api-user/syshospital/findByName',
            template_val: '{{d.hospitalName}}',//选择后文本框显示的数据字段
            template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>",//下拉列表模板
            onselect: function (resp) {
                $("#hospitalId").val(resp.id);
            }
        });
    });
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -399,40 +399,40 @@
                cols: [
                    [{
                            field: 'hospitalName',
                            width: 180,
                            width: "10%",
                            title: '医院名称',
                            fixed: 'left'
                        },
                        {
                            field: 'departmentName',
                            width: 80,
                            width: "9%",
                            title: '科室',
                            fixed: 'left'
                        },
                        {
                            field: 'doctorName',
                            width: 100,
                            width: "7%",
                            title: '医生姓名',
                            fixed: 'left'
                        },
                        {
                            field: 'doctorRank',
                            width: 100,
                            width: "8%",
                            title: '职称'
                        },
                        {
                            field: 'username',
                            width: 150,
                            width: "10%",
                            title: '登录帐号'
                        },
                        {
                            field: 'doctorTel',
                            width: 150,
                            width: "10%",
                            title: '联系方式'
                        },
                        {
                            field: 'isAnswer',
                            width: 100,
                            width: "5%",
                            title: '医答',
                            templet: function (d) {
                                return d.isAnswer ? "是" : "否"
@@ -440,7 +440,7 @@
                        },
                        {
                            field: 'isSigning',
                            width: 100,
                            width: "5%",
                            title: '签约',
                            templet: function (d) {
                                return d.isSigning ? "是" : "否"
@@ -456,18 +456,18 @@
                        // { field: 'createTime', width: 150, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm')}}</div>" },
                        {
                            field: 'createTime',
                            width: 150,
                            width: "10%",
                            sort: true,
                            title: '创建时间',
                            templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>"
                        },
                        {
                            field: 'serverUserName',
                            width: 100,
                            width: "6%",
                            title: '销售代表'
                        },
                        {
                            width: 300,
                            width: "20%",
                            align: 'center',
                            toolbar: '#doctor-table-bar',
                            title: '操作',
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctorTemplete.html
@@ -114,15 +114,14 @@
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
            page: true,
            cols: [[
                { type: 'numbers' },
                { field: 'templeteTitle',align:'center', width: 180, sort: true, title: '标题' },
                { field: 'templeteTitle',align:'center', width: 300, title: '标题' },
                {
                    field: 'publicType',align:'center', width: 200, sort: true, title: '开放类型', templet: function (d) {
                    field: 'publicType',align:'center', width: 100, title: '开放类型', templet: function (d) {
                        return d.publicType ==true ? "私有" : "公开"
                    }
                },
                {
                    field: 'templeteType',align:'center', width: 180, sort: true, title: '话术类型', templet: function (d) {
                    field: 'templeteType',align:'center', width: 100, title: '话术类型', templet: function (d) {
                        if (d.templeteType == 0) {
                            return "结论";
                        } else if (d.templeteType == 1) {
@@ -132,10 +131,10 @@
                        }
                    }
                },
                { field: 'createUserName',align:'center', width: 300, sort: true, title: '创建者' },
                { field: 'createTime',align:'center', width: 250, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled',align:'center', width: 100, sort: true, templet: '#doctor-templete-tpl-state', title: '状态' },
                { field: 'recordTitle',align:'center', width: 150, toolbar: '#doctor-templete-table-bar', sort: true, title: '操作' },
                { field: 'createUserName',align:'center', width: 180, title: '创建者' },
                { field: 'createTime',align:'center', width: 150, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled',align:'center', width: 100, templet: '#doctor-templete-tpl-state', title: '状态' ,fixed: 'right' },
                { field: 'recordTitle',align:'center', width: 150, toolbar: '#doctor-templete-table-bar', title: '操作',fixed: 'right' },
            ]],
            done:function(res){
                permissionsInput(res,config);
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html
@@ -69,7 +69,7 @@
                { field: 'createTime', width: 200, title: '创建时间',templet:function(d){
                    return new Date(d.createTime).dateFormat("yyyy-MM-dd hh:mm");
                } },
                { align: 'center', width: 200, toolbar: '#feeedback-table-bar', title: '操作' }
                { align: 'center', width: 150, toolbar: '#feeedback-table-bar', title: '操作',fixed: 'right' }
            ]],done:function(res){
                permissionsInput(res,config);
            }
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital.html
@@ -102,7 +102,7 @@
                    },
                    {
                        field: 'hospitalArea',
                        width: 250,
                        width: 200,
                        title: '所在地区',
                        templet: function (d) {
                            return ((d.hospitalProvince == null) ? "" : d.hospitalProvince) +
@@ -204,10 +204,10 @@
                //充值
                admin.putTempData("t_hospital", data);
                admin.popupCenter({
                    title: '医院充值',
                    title: '医院科室充值',
                    path: 'pages/opration/recharge.html',
                    area: '1200px',
                    offset: '10px',
                    offset: '0px',
                    finish: function () {
                        $('#hospita-btn-search').click();
                    }
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product.html
@@ -45,7 +45,7 @@
                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                page: true,
                cols: [[
                    { field: 'proName',width: "10%",align: 'center', title: '产品名称' },
                    { field: 'proName',width: "220",align: 'center', title: '产品名称' },
                    {
                        field: 'proType', align: 'center', width: '10%', templet: function (d) {
                            if (d.proType === 0)
@@ -72,12 +72,12 @@
                    { field: 'proPrice', width: '10%', align: 'center', title: '价格' },
                    { field: 'recordCount', width: '10%', align: 'center', title: '报告数' },
                    { field: 'ailightCount', width: '10%', align: 'center', title: '读片量' },
                    { field: 'enabled', width: '10%', align: 'center', templet: '#product-tpl-state', sort: true, title: '状态' },
                    {
                        field: 'createTime', width: '10%', align: 'center', sort: true, title: '创建时间', templet: function (d) {
                        field: 'createTime', width: '120', align: 'center', sort: true, title: '创建时间', templet: function (d) {
                            return new Date(d.createTime).dateFormat("yyyy-MM-dd hh:mm");
                        }
                    },
                    { field: 'enabled', width: '10%', align: 'center', templet: '#product-tpl-state', sort: true, title: '状态' },
                    { align: 'center', width: '10%', toolbar: '#product-table-bar', title: '操作' }
                ]],
                done: function (res) {
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html
@@ -65,9 +65,10 @@
                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
                page: true,
                cols: [[
                    { field: 'hospitalName', width: 300, title: '医院名称' },
                    { field: 'hospitalId', width: 180, title: '医院编号' },
                    { field: 'hospitalName', width: 200, title: '医院名称' },
                    { field: 'departmentName', width: 100, title: '科室名称' },
                    { field: 'proName', width: 250, title: '产品名称' },
                    { field: 'proName', width: 200, title: '产品名称' },
                    {
                    field: 'proType', sort: true, align: 'center', width: 80, templet: function (d) {
                        if (d.proType === 0)
@@ -96,7 +97,8 @@
                    //     return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                    // } },
                    { field: 'createTime', width: 200, sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                    { align: 'center', width: 100, toolbar: '#product-table-bar', title: '操作' }
                    { align: 'center', width: 100, toolbar: '#product-table-bar', title: '操作',
                        fixed: 'right' }
                ]]
            });
        }
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
@@ -1,5 +1,6 @@
<form id="recharge-form" lay-filter="recharge-form" class="layui-form">
    <div class="layui-tab" style="margin-top: 5px;">
    <div style="overflow-y: auto; height:700px;">
    <div class="layui-tab">
        <ul class="layui-tab-title">
            <li class="layui-this">合同信息</li>
        </ul>
@@ -67,7 +68,7 @@
                            <label class="layui-form-label">合同编号</label>
                            <div class="layui-input-block">
                                <input name="contractNo" id="contractNo" type="text" class="layui-input" maxlength="50"
                                    style="width: 185px;" autocomplete="off" />
                                    style="width: 185px;" autocomplete="off"  lay-verify="required" required />
                            </div>
                        </div>
                    </div>
@@ -122,6 +123,7 @@
            </div>
        </div>
    </div>
    </div>
    <div class="layui-form-item model-form-footer" style="margin-right: 20px;">
        <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
        <button class="layui-btn permissions" permissions="product-rechage" lay-filter="recharge-form-submit"
@@ -155,6 +157,8 @@
        var $ = layui.jquery;
        var laydate = layui.laydate;
        //充值进行中
        var isRun=false;
        //执行一个laydate实例
        laydate.render({
            elem: '#contractBeginTime' //指定元素
@@ -174,7 +178,7 @@
                elem: '#product-table-temp',
                data: admin.getTempData("t_tempProduct"),
                page: false,
                height: '120px',
                cellMinWidth: 100,
                cols: [
                    [{
                            field: 'proName',
@@ -276,12 +280,13 @@
            elem: '#product-table',
            url: config.base_server + 'api-opration/product',
            method: 'GET',
            cellMinWidth: 50,
            headers: {
                'Authorization': 'Bearer ' + config.getToken().access_token
            },
            page: false,
            height: '300px',
            where: {
                is_del: 0,
                enabled: 1
            },
            cols: [
@@ -486,13 +491,15 @@
            }
        }
        form.on('submit(recharge-form-submit)', function (data) {
            layer.load(2);
            if(!isRun){
                layer.load(2);
            var listData = admin.getTempData("t_tempProduct");
            if (listData != null) {
                if (data.field != null) {
                    layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院吗?", {
                    layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院的科室吗?", {
                        btn: ["确定", "返回"]
                    }, function () {
                        isRun=true;
                        data.field.contractBeginTime = data.field.contractBeginTime +
                            " 00:00:00";
                        data.field.contractEndTime = data.field.contractEndTime + " 23:59:59";
@@ -526,6 +533,7 @@
                                        admin.req('api-opration/productorderdetail/saveall',
                                            JSON.stringify(listDetailData),
                                            function (data) {
                                                isRun=false;
                                                layer.closeAll('loading');
                                                if (data.code === 0) {
                                                    //现将临时数据清理
@@ -550,12 +558,14 @@
                                            icon: 2,
                                            time: 1000
                                        });
                                    isRun=false;
                                    }
                                } else {
                                    layer.msg(data.msg, {
                                        icon: 2,
                                        time: 1000
                                    });
                                    isRun=false;
                                }
                            }, 'POST');
                    })
@@ -573,6 +583,7 @@
            }
            layer.closeAll('loading');
            return false;
            }
        });
    });
</script>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/menus.html
@@ -65,15 +65,15 @@
                where: param,
                page: false,
                cols: [[
                    { type: 'numbers' ,width: "10%" },
                    { field: 'name',width: "10%", minWidth: 200, title: '菜单名称' },
                    { field: 'tenantId',width: "10%", minWidth: 80, title: '应用标识' },
                    { field: 'url',width: "10%", title: '菜单url' },
                    { field: 'path',width: "10%", title: '菜单path' },
                    { type: 'numbers' ,width: "3%" },
                    { field: 'name',width: "15%", minWidth: 200, title: '菜单名称' },
                    { field: 'tenantId',width: "7%", minWidth: 80, title: '应用标识' },
                    { field: 'url',width: "20%", title: '菜单url' },
                    { field: 'path',width: "15%", title: '菜单path' },
                    { field: 'css',width: "10%", align: 'center', title: '样式' },
                    { field: 'sort', width: "10%", align: 'center', title: '排序号' },
                    { field: 'sort', width: "5%", align: 'center', title: '排序号' },
                    {
                        field: 'type', width: "10%", align: 'center', templet: function (d) {
                        field: 'type', width: "5%", align: 'center', templet: function (d) {
                            if (d.type === 2) {
                                return '<span class="layui-badge layui-bg-gray">资源</span>';
                            }
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html
@@ -62,9 +62,9 @@
            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token},
            page: true,
            cols: [[
                { field: 'username',   width: "10%",align: 'center', title: '账号' },
                { field: 'nickname',   width: "10%",align: 'center', title: '用户名' },
                { field: 'mobile',   width: "10%",align: 'center', title: '手机号' },
                { field: 'username',   width: "150",align: 'center', title: '账号' },
                { field: 'nickname',   width: "150",align: 'center', title: '用户名' },
                { field: 'mobile',   width: "150",align: 'center', title: '手机号' },
                {
                    sort: true, width: "10%",align: 'center', title: '性别', templet: function (d) {
                        var value="";
@@ -76,8 +76,8 @@
                        return value;
                    }, width: 100
                },
                { field: 'createTime',  width: "20%",align: 'center', sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled',  width: "10%",align: 'center', sort: true, templet: '#user-tpl-state', title: '状态' },
                { field: 'createTime',  width: "150",align: 'center', sort: true, title: '创建时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy/MM/dd HH:mm')}}</div>" },
                { field: 'enabled',  width: "10%",align: 'center',  templet: '#user-tpl-state', title: '状态' },
                { fixed: 'right',  width: "10%",align: 'center', toolbar: '#user-table-bar', title: '操作', width: 300 }
            ]],
            done:function(res){