From 1a50269b1d072fe2da7e70ae48315ebeb4ef95f4 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Tue, 02 Mar 2021 18:32:55 +0800
Subject: [PATCH] 完善筛查和 input框记录数据得bug

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/partnerDockingInfo.html |  389 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 372 insertions(+), 17 deletions(-)

diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/partnerDockingInfo.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/partnerDockingInfo.html
index 0265ee1..35d66c0 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/partnerDockingInfo.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/partnerDockingInfo.html
@@ -1,9 +1,9 @@
 <div class="layui-card">
     <div class="layui-card-header">
-        <h2 class="header-title">合作商客户对接信息表</h2>
+        <h2 class="header-title">合作商客户对接管理</h2>
         <span class="layui-breadcrumb pull-right">
-          <a href="#!console">首页</a>
-          <a><cite>合作商客户对接信息表</cite></a>
+            <a href="#!console">首页</a>
+            <a><cite>合作商客户对接管理</cite></a>
         </span>
     </div>
 
@@ -11,42 +11,397 @@
     <div class="layui-card-body">
         <div class="layui-form toolbar">
             搜索:
-            <input id="partnerDockingInfo-edit-value" class="layui-input search-input" type="text" placeholder="输入关键字"/>&emsp;
-            <button id="partnerDockingInfo-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
-            <button id="partnerDockingInfo-btn-add" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
+            <input id="partnerName-search" class="layui-input search-input" type="text" placeholder="按合作商名称" />&emsp;
+            <input id="hospitalName-search" class="layui-input search-input" type="text" placeholder="按医院名称" />&emsp;
+            <button id="partnerDockingInfo-btn-search" class="layui-btn icon-btn  permissions"
+                permissions="partnerDockingInfo-list"><i class="layui-icon">&#xe615;</i>搜索</button>
+            <button id="partnerDockingInfo-btn-add" class="layui-btn icon-btn  permissions"
+                permissions="partnerDockingInfo-edit"><i class="layui-icon">&#xe654;</i>添加</button>
         </div>
-
         <!-- 数据表格 -->
         <table class="layui-table" id="partnerDockingInfo-table" lay-filter="partnerDockingInfo-table"></table>
+
     </div>
 </div>
 
+<!-- 表格操作列 -->
+<script type="text/html" id="partnerDockingInfo-table-bar">
+    <a class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="partnerDockingInfo-edit" lay-event="edit">修改</a>
+    <a class="layui-btn layui-btn-danger  layui-btn-xs permissions" permissions="partnerDockingInfo-del" lay-event="del">删除</a>
+    <a class="layui-btn layui-btn-xs permissions" permissions="partnerDockingInfo-download" lay-event="download">下载数据库脚本</a>
+
+</script>
+<!-- 表格状态列 -->
+<script type="text/html" id="partnerDockingInfo-status">
+    <input type="checkbox" lay-filter="partnerDockingInfo-status" value="{{d.id}}" lay-skin="switch" lay-text="启用|暂停"
+           {{d.dockingStatus==1?'checked':''}} class="permissions" permissions="partnerDockingInfo-status"/>
+</script>
+
+<!-- 新增/修改表单弹窗 -->
+<script type="text/html" id="partnerDockingInfo-model">
+    <form id="partnerDockingInfo-form" lay-filter="partnerDockingInfo-form" class="layui-form model-form">
+        <input name="id" type="hidden"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width: 100px;">合作商名称</label>
+            <div class="layui-input-inline" style="width: 200px;">
+                <!-- <input name="partnerName" id="partnerName" placeholder="请输入合作商名称" lay-verify="required" required
+                       type="text" class="layui-input" maxlength="100" style="width: 200px;"/> -->
+                    <select id="partnerId" name="partnerId" lay-filter="partnerId" placeholder="请选择合作商"  
+                       lay-verify="required" required >
+                   <option value="">-请选择合作商-</option>
+               </select>        
+                <input type="hidden" name="partnerName" id="partnerName"/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width: 100px;">医院名称</label>
+            <div class="layui-input-block" style="width: 250px;">
+                <input name="hospitalName" id="hospitalName" placeholder="请输入医院名称"lay-verify="required" required 
+                        type="text" class="layui-input" maxlength="100"  style="width: 200px;"/>
+                <input type="hidden" name="hospitalId" id="hospitalId"/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width: 100px;">科室</label>
+            <div class="layui-input-inline" style="width: 200px;">
+                <select id="departmentId" name="departmentId" lay-filter="departmentId" placeholder="请选择科室" 
+                        lay-verify="required" required >
+                    <option value="">-请选择科室-</option>
+                </select>
+                <input name="departmentName" id="departmentName"  type="hidden" />
+            </div>
+        </div>
+        <!-- 对接类型,默认为1:影像版API-->
+        <!-- <input name="dockingType" id="partnerType" type="hidden" value="1" /> -->
+        <div class="layui-form-item">
+           <label class="layui-form-label"  style="width: 100px;">对接类型</label>
+            <div class="layui-input-inline"style="width: 200px;">
+                <input name="dockingTypeName" id="partnerTypeName" type="hidden" value="1" />
+                <select name="dockingType" id="partnerType" lay-filter="dockingType"
+                        style="width: 50px;">
+                    <option value="">请选择</option>
+                    <option value="1" selected>影像版API</option>
+                    <option value="2">妇幼版API</option>
+                   
+                </select>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width:100px" >对接系统版本</label>
+            <div class="layui-input-block"  style="width:250px;">
+                <input name="dockingVersion" lay-verify="required" required type="text" class="layui-input" maxlength="30" style="width: 200px;"/>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width:100px" >服务器机器码</label>
+            <div class="layui-input-block"  style="width:250px;">
+                <input name="serverMachineCode"  type="text" class="layui-input" maxlength="100" style="width: 200px;"/>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label" style="width: 100px;">安装人</label>
+            <div class="layui-input-block" style="width: 250px;">
+                <input name="operationName" lay-verify="required" required type="text" class="layui-input" maxlength="30"style="width: 200px;"/>
+            </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="partnerDockingInfo-form-submit" permissions="
+            partnerDocking-edit" lay-submit>保存
+            </button>
+        </div>
+    </form>
+</script>
 
 <script>
-    layui.use(['form', 'table', 'util', 'config', 'admin'], function () {
+    layui.use(['form', 'table', 'util', 'config', 'admin', 'autocomplete', 'laydate'], 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 laydate = layui.laydate;
+        var autocomplete = layui.autocomplete;
+        var $ = layui.jquery;
+
+        // 添加按钮点击事件
+        $('#partnerDockingInfo-btn-add').click(function () {
+            showEditModel(undefined, 1);
+        });
+        //// 刷新
+        // $('#docto-templete-btn-update').click(function () {
+        //     table.reload('app-table', { where: {} });
+        // });
 
         //渲染表格
         table.render({
             elem: '#partnerDockingInfo-table',
-            url: config.base_server + 'api-oprationcenter/parterdockinginfo/list',
-            where: {
-                access_token: config.getToken().access_token
-            },
+            url: config.base_server + 'api-opration/partnerdockinginfo',
+            method: 'GET',
+            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
             page: true,
             cols: [[
-                {type: 'numbers'},
-                {field: 'id', sort: true, title: 'ID',width: 80},
-                {field: 'name', sort: true, title: 'name'},
-                {field: 'code', sort: true, title: 'code'},
-                {align: 'center', toolbar: '#partnerDockingInfo-table-bar', title: '操作',width: 250}
+                { field: 'partnerName', align: 'center', width: '10%', title: '合作商名称' },
+                { field: 'hospitalName', align: 'center', width: '15%', title: '医院名称' },
+                { field: 'departmentName', align: 'center', width: '7%', title: '科室名称' },
+                {
+                    field: 'dockingType', align: 'center', width: '7%', title: '对接类型', templet: function (d) {
+                        if (d.dockingType == null) {
+                            return "";
+                        } else if (d.dockingType == 1) {
+                            return "影像版API";
+                        } else if (d.dockingType == 2) {
+                            return "妇幼版API";
+                        } else {
+                            return "";
+                        }
+                    }
+                },
+                { field: 'dockingVersion', align: 'center', width: '5%', title: '对接版本' },
+                { field: 'dockingStatus', align: 'center', width: '7%', templet: '#partnerDockingInfo-status', title: '状态' },
+                { field: 'serverMachineCode', align: 'center', width: '10%', title: '服务器机器码' },
+                { field: 'accessKey', align: 'center', width: '10%', title: 'AccessKey' },
+                { field: 'operationName', align: 'center', width: '7%', title: '对接操作人' },
+                { field: 'operationTime', align: 'center', width: '7%', title: '对接日期', templet: "<div>{{layui.util.toDateString(d.operationTime, 'yyyy/MM/dd')}}</div>" },
+                { field: 'Id', align: 'center', toolbar: '#partnerDockingInfo-table-bar', title: '操作', width: '15%', fixed: 'right' }
             ]]
+            
         });
 
+        // 工具条点击事件
+        table.on('tool(partnerDockingInfo-table)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if (layEvent === 'edit') { // 查看详情
+                showEditModel(data, 2);
+            } else if (layEvent === 'del') {
+                layer.confirm('确定删除此合作商客户对接信息吗?', function (i) {
+                    layer.close(i);
+                    layer.load(2);
+                    admin.req('api-opration/partnerdockinginfo/' + obj.data.id, {}, function (data) {
+                        layer.closeAll('loading');
+                        if (data.code == 0) {
+                            layer.msg(data.msg, { icon: 1, time: 2000 });
+                            table.reload('partnerDockingInfo-table', {});
+                        } else {
+                            layer.msg(data.msg, { icon: 2, time: 2000 });
+                        }
+                    }, 'delete');
+                });
+            } else if (layEvent == 'download') {
+
+                var url = config.base_server + "api-opration/partnerdockinginfo/downloaddb/";
+                // 获取XMLHttpRequest
+                var xmlResquest = new XMLHttpRequest();
+                //  发起请求
+                xmlResquest.open("POST", url, true);
+
+                // 设置请求头类型
+                xmlResquest.setRequestHeader("Content-type", "application/json");
+                xmlResquest.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
+                xmlResquest.responseType = "blob";
+                var jsondata = JSON.stringify(obj.data);
+
+                //  返回
+                xmlResquest.onload = function () {
+                    if (this.status == 200) {
+                        var fileName = data.hospitalName+data.departmentName+".sql";
+                        var blob = this.response;
+                        var a = document.createElement('a');
+                        a.innerHTML = fileName;
+                        // 指定生成的文件名
+                        a.download = fileName;
+                        a.href = URL.createObjectURL(blob);
+                        document.body.appendChild(a);
+                        var evt = document.createEvent("MouseEvents");
+                        evt.initEvent("click", false, false);
+                        a.dispatchEvent(evt);
+                        document.body.removeChild(a);
+                    }
+                };
+                xmlResquest.send(jsondata);
+
+
+            }
+        });
+
+        // 搜索按钮点击事件
+        $('#partnerDockingInfo-btn-search').click(function () {
+            var partnerName = $('#partnerName-search').val();
+            var hospitalName = $('#hospitalName-search').val();
+            table.reload('partnerDockingInfo-table', { where: { partnerName: partnerName, hospitalName: hospitalName }, page: { curr: 1 } });
+        });
+
+        // 修改客户对接状态
+        form.on('switch(partnerDockingInfo-status)', function (obj) {
+            layer.load(2);
+            admin.req('api-opration/partnerdockinginfo/updatestatus', JSON.stringify({
+                id: obj.elem.value,
+                dockingStatus: obj.elem.checked ? 1 : 2
+            }), function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    layer.msg(data.msg, { icon: 1, time: 2000 });
+                    table.reload('app-tablepartnerDockingInfo-table', {});
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 2000 });
+                    $(obj.elem).prop('checked', !obj.elem.checked);
+                    form.render('checkbox');
+                }
+            }, 'POST');
+        });
+
+
+        //合作商选择赋值
+        form.on("select(partnerId)", function (data) {
+            $("#partnerName").val(data.elem[data.elem.selectedIndex].text);
+        })
+
+
+        //赋值对接类型ID
+        form.on("select(dockingType)", function (data) {
+            $("#dockingTypeName").val(data.elem[data.elem.selectedIndex].text);
+        });
+
+        //新增 和  更新   科室触发的事件
+        form.on('select(departmentId)', function () {
+            //将部门名称赋值
+            $('#departmentName').val($(this)[0].innerHTML);
+        });
+
+        // 表单提交事件
+        form.on('submit(partnerDockingInfo-form-submit)', function (data) {
+            layer.load(2);
+            admin.req('api-opration/partnerdockinginfo', JSON.stringify(data.field), function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    // layer.msg(data.msg, { icon: 1, time: 2000 });
+                    layer.closeAll();
+                    table.reload('partnerDockingInfo-table', {});
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 2000 });
+                }
+            }, "POST");
+            return false;
+        });
+
+        // // 显示编辑弹窗
+        var showEditModel = function (data, index) {
+            var title = "";
+            if (index == 1) {
+                title = "新增";
+            } else if (index == 2) {
+                title = "修改";
+            }
+            layer.open({
+                type: 1,
+                title: title,
+                area: '550px',
+                offset: '120px',
+                content: $('#partnerDockingInfo-model').html(),
+                success: function () {
+                    $('#partnerDockingInfo-form')[0].reset();
+                    $('#partnerDockingInfo-form').attr('method', 'POST');
+                    if (data) {
+                        // if (index == 1) {
+                        //     $('#sure').hide();
+                        // }
+
+                        //加载合作商列表信息
+                        loadPartnerInfoList(data.partnerId);
+
+                        //重新装载科室
+                        getdepartment(data.hospitalId);
+
+                        form.val('partnerDockingInfo-form', data);
+
+                        form.render();
+
+                    } else {
+                        //加载合作商列表信息
+                        loadPartnerInfoList();
+                    }
+
+                    //自动完成-医院名称                    
+                    autocomplete.render({
+                        elem: $('#hospitalName')[0],
+                        url: config.base_server + 'api-user/syshospital/findByName',
+                        keywordsName: 'hospitalName', //查询关键字名称
+                        template_val: '{{d.hospitalName}}', //选择后文本框显示的数据字段
+                        template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>", //下拉列表模板
+                        onselect: function (resp) {
+                            $("#hospitalId").val(resp.id);
+                            //重新装载科室
+                            getdepartment(resp.id);
+                        }
+                    });
+                    //执行一个laydate实例
+                    laydate.render({
+                        elem: '#operationTime' //指定元素
+                        , type: 'datetime'
+                    });
+
+
+                }
+            });
+        };
+
+
+
+        //加载合作商信息列表
+        var loadPartnerInfoList = function (selectVal) {
+            admin.req('api-opration/partnerinfo', {
+                limit: 100,
+                page: 1
+            }, function (data) {
+                layer.closeAll('loading');
+                if (0 === data.code) {
+                    if (data.data.length > 0) {
+                        $.each(data.data, function (index, item) {
+                            //往下拉菜单里添加元素
+                            $('#partnerId').append(new Option(item.partnerName, item.id,
+                                false, (!strUtil.isEmpty(selectVal) && selectVal == item.id)));
+                        });
+
+                    }
+                } else {
+                    layer.msg(data.msg, {
+                        icon: 2,
+                        time: 2000
+                    });
+                }
+            }, 'get');
+        }
+
+        //获取科室
+        var getdepartment = function (data) {
+            admin.req('api-user/sysdepartment/findListByHospitalId', {
+                id: data
+            }, function (data) {
+                layer.closeAll('loading');
+                if (0 === data.code) {
+                    //department = data.data;
+                    $('#departmentId').empty();
+                    if (data.data.length > 0) {
+                        $('#departmentName').val(data.data[0].departmentName);
+                    }
+                    $.each(data.data, function (index, item) {
+                        //往下拉菜单里添加元素
+                        $('#departmentId').append(new Option(item.departmentName, item.id,
+                            false, false));
+                        form.render('select', 'partnerDockingInfo-form');
+                    })
+                    form.render();
+                } else {
+                    layer.msg(data.msg, {
+                        icon: 2,
+                        time: 2000
+                    });
+                }
+            }, 'get');
+        }
     });
 </script>
\ No newline at end of file

--
Gitblit v1.8.0