| | |
| | | var pageCurr; |
| | | var pageCount = 0; |
| | | var treeCond; |
| | | var admin; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | | dropdown: 'dropdown/dropdown', |
| | | }).use(['table','laydate', 'form', 'admin', 'xmSelect', 'dropdown', 'element'], function(){ |
| | | cascader: 'cascader/cascader', |
| | | }).use(['table','laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown'], function(){ |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | admin = layui.admin; |
| | | var xmSelect = layui.xmSelect; |
| | | var cascader = layui.cascader; |
| | | var tree = layui.tree; |
| | | var dropdown = layui.dropdown; |
| | | |
| | | $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon"></i>'); |
| | | |
| | | // 部门人员 筛选 |
| | | dropdown.render({ |
| | | elem: '#organization' |
| | | ,content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('') |
| | | ,style: 'width: 370px; height: 500px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);' |
| | | ,ready: function(){ |
| | | loadTree(); |
| | | } |
| | | }); |
| | | |
| | | // 数据同步 |
| | | dropdown.render({ |
| | | elem: '#data-btn' |
| | | ,align: 'right' |
| | | ,style: 'border-radius: 5px;' |
| | | ,className: 'site-dropdown-demo' |
| | | ,data: [ |
| | | { |
| | | title: '模板下载' |
| | | ,templet: '<i class="layui-icon layui-icon-template-1"></i>{{d.title}}' |
| | | ,id: 1 |
| | | }, |
| | | { |
| | | title: '导入 Excel' |
| | | ,templet: '<i class="layui-icon layui-icon-upload"></i>{{d.title}}' |
| | | ,id: 2 |
| | | }, |
| | | {type: '-'}, //分割线 |
| | | { |
| | | title: '导出 Excel' |
| | | ,templet: '<i class="layui-icon layui-icon-export"></i>{{d.title}}' |
| | | ,id: 3 |
| | | } |
| | | ] |
| | | ,click: async function(item){ |
| | | switch (item.id) { |
| | | case 1: |
| | | // 模板下载 |
| | | layer.load(1, {shade: [0.1,'#fff']}); |
| | | location.href = baseUrl + "/mould/甲方单位导入模板.xls"; |
| | | layer.closeAll('loading'); |
| | | break |
| | | case 2: |
| | | // 导入 Excel |
| | | $("#importExcel").trigger("click"); |
| | | // let arrFileHandle = await window.showOpenFilePicker() |
| | | // let file = await arrFileHandle[0].getFile(); |
| | | // upload(file); |
| | | break |
| | | case 3: |
| | | // 导出 Excel |
| | | layer.msg("来不及做,等等", {icon: 6}); |
| | | break |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 树形图 |
| | | var organizationTree; |
| | | window.loadTree = function(condition){ |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/dept/user/tree/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | 'condition': condition |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | organizationTree = tree.render({ |
| | | elem: '#organizationTree', |
| | | id: 'organizationTree', |
| | | onlyIconControl: true, |
| | | data: res.data, |
| | | click: function (obj) { |
| | | treeCond = { |
| | | key: obj.data.key, |
| | | val: obj.data.id |
| | | } |
| | | $('#organization').html(obj.data.title + ' <i class="layui-icon"></i>'); |
| | | $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click'); |
| | | $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click'); |
| | | clearFormVal($('#search-box')); |
| | | tableIns.reload({ |
| | | where: {[obj.data.key]: obj.data.id}, |
| | | page: {curr: 1} |
| | | }); |
| | | } |
| | | }); |
| | | treeData = res.data; |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | |
| | | page: true, |
| | | limit: 15, |
| | | limits: [15, 30, 50, 100, 200, 500], |
| | | cellMinWidth: 100, |
| | | height: 'full-145', |
| | | // cellMinWidth: 100, |
| | | height: 'full-148', |
| | | // size: 'sm', |
| | | skin: 'line', |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | // ,{field: 'id', align: 'center',title: 'ID'} |
| | | // ,{field: 'hostId$', align: 'center',title: '所属商户'} |
| | | ,{field: 'name', align: 'left',title: '客户名称'} |
| | | ,{field: 'name', align: 'left',title: '客户名称', style: 'color: #1890ff;cursor:pointer', event: 'more', width: 350} |
| | | ,{field: 'uuid', align: 'left',title: '客户代号'} |
| | | ,{field: 'addr', align: 'left',title: '详细地址', templet:function(d){return emptyShow(d.addr)}} |
| | | ,{field: 'tel', align: 'left',title: '电话', templet:function(d){return emptyShow(d.tel)}} |
| | | ,{field: 'remarks', align: 'left',title: '备注', templet:function(d){return emptyShow(d.remarks)}} |
| | | ,{field: 'createTime$', align: 'left',title: '添加时间'} |
| | | ,{field: 'userId$', align: 'left',title: '添加人员'} |
| | | ,{field: 'cstmrType$', align: 'left',title: '客户类别'} |
| | | ,{field: 'userId$', align: 'left',title: '添加人员'} |
| | | ,{field: 'createTime$', align: 'left',title: '添加时间'} |
| | | ,{field: 'deptId$', align: 'left',title: '所属部门', hide: true} |
| | | ,{field: 'simple', align: 'left',title: '客户简称', hide: true} |
| | | ,{field: 'rela', align: 'left',title: '客户关系', hide: true} |
| | |
| | | })); |
| | | }); |
| | | |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(cstmr)', function (obj) { |
| | | var searchData = {}; |
| | |
| | | }); |
| | | }); |
| | | |
| | | |
| | | // 监听行工具事件 |
| | | table.on('tool(cstmr)', function(obj){ |
| | | var data = obj.data; |
| | | switch (obj.event) { |
| | | case 'more': |
| | | layer.msg("来不及做,等等", {icon: 6}); |
| | | // top.cstmrByMore = data.id; |
| | | // admin.popupRight({ |
| | | // type: 1, |
| | | // window: "top"," |
| | | // area: "1250px", |
| | | // url: "cstmr_more.html", |
| | | // end: function () { |
| | | // $(".layui-laypage-btn")[0].click(); |
| | | // } |
| | | // }) |
| | | break; |
| | | case 'edit': |
| | | showEditModel(data); |
| | | break; |
| | |
| | | title: (mData ? '修改' : '添加') + '甲方单位', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | if (mData) { |
| | | $('#cascaderVal').val(mData.pcd); |
| | | } |
| | | layDateRender(mData); |
| | | cascaderRender(); |
| | | form.val('detail', mData); |
| | | form.on('submit(editSubmit)', function (data) { |
| | | var loadIndex = layer.load(2); |
| | |
| | | // 搜索 |
| | | form.on('submit(search)', function (data) { |
| | | pageCurr = 1; |
| | | pageCount = 0; |
| | | tableReload(); |
| | | }); |
| | | |
| | |
| | | } |
| | | layDateRender(); |
| | | |
| | | // 省市区选择 |
| | | function cascaderRender() { |
| | | cascader.render({ |
| | | elem: '#cascaderVal', |
| | | data: citysData, |
| | | itemHeight: '250px', |
| | | filterable: true, |
| | | onChange: function (values, data) { |
| | | // console.log(values);console.log(data); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | |
| | | // 关闭动作 |
| | |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | if (treeCond) { |
| | | searchData[treeCond.key] = treeCond.val; |
| | | } |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: {curr: pageCurr} |
| | |
| | | $(".layui-laypage-btn")[0].click(); |
| | | } |
| | | } |
| | | |
| | | function upload(obj){ |
| | | if(!obj.files) { |
| | | return; |
| | | } |
| | | var file = obj.files[0]; |
| | | admin.confirm('确认同步 [' + file.name +'] 文件吗?', function (index) { |
| | | layer.load(1, {shade: [0.1,'#fff']}); |
| | | var url = baseUrl + "/cstmr/excel/import/auth"; |
| | | var form = new FormData(); |
| | | form.append("file", file); |
| | | let xhr = new XMLHttpRequest(); |
| | | xhr.open("post", url, true); |
| | | xhr.setRequestHeader('token', localStorage.getItem('token')); |
| | | xhr.onload = uploadComplete; |
| | | xhr.onerror = uploadFailed; |
| | | xhr.onloadend = function () { |
| | | layer.closeAll('loading'); |
| | | }; |
| | | // xhr.upload.onprogress = progressFunction; |
| | | xhr.upload.onloadstart = function(){ |
| | | ot = new Date().getTime(); |
| | | oloaded = 0; |
| | | }; |
| | | xhr.send(form); |
| | | }, function(index){ |
| | | }); |
| | | } |
| | | function uploadComplete(evt) { |
| | | let res = JSON.parse(evt.target.responseText); |
| | | if(res.code === 200) { |
| | | layer.msg(res.msg, {icon: 1}); |
| | | tableReload(); |
| | | } else { |
| | | alert(res.msg); |
| | | // layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | function uploadFailed(evt) { |
| | | let res = JSON.parse(evt.target.responseText); |
| | | alert(res.msg); |
| | | // layer.msg(res.msg, {icon: 2}); |
| | | } |