From 883fa144574c77883be0f405a36a9c3cfb6c35d4 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 06 九月 2023 13:49:53 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/cstmr/cstmr.js | 379 +++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 273 insertions(+), 106 deletions(-)
diff --git a/src/main/webapp/static/js/cstmr/cstmr.js b/src/main/webapp/static/js/cstmr/cstmr.js
index 90696ef..88f1123 100644
--- a/src/main/webapp/static/js/cstmr/cstmr.js
+++ b/src/main/webapp/static/js/cstmr/cstmr.js
@@ -1,53 +1,170 @@
var pageCurr;
+var pageCount = 0;
+var treeCond;
+var admin;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
+}).extend({
+ 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: 350px; 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(followerName,conditionName,condition){
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/dept/user/tree/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ 'followerName' : followerName,
+ 'conditionName' : conditionName,
+ '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({
elem: '#cstmr',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/cstmr/list/auth',
+ url: baseUrl+'/cstmr/page/auth',
page: true,
limit: 15,
limits: [15, 30, 50, 100, 200, 500],
- toolbar: '#toolbar',
- cellMinWidth: 50,
- height: 'full-120',
+ // cellMinWidth: 100,
+ height: 'full-148',
+ // size: 'sm',
+ skin: 'line',
cols: [[
{type: 'checkbox'}
// ,{field: 'id', align: 'center',title: 'ID'}
// ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
- ,{field: 'deptId$', align: 'center',title: '鎵�灞為儴闂�', hide: true}
- ,{field: 'userId$', align: 'center',title: '鎵�灞炰汉鍛�'}
- ,{field: 'cstmrType$', align: 'center',title: '瀹㈡埛绫诲埆'}
- ,{field: 'uuid', align: 'center',title: '瀹㈡埛浠e彿'}
- ,{field: 'name', align: 'center',title: '瀹㈡埛鍚嶇О'}
- ,{field: 'simple', align: 'center',title: '瀹㈡埛绠�绉�', hide: true}
- ,{field: 'rela', align: 'center',title: '瀹㈡埛鍏崇郴'}
- ,{field: 'tel', align: 'center',title: '鐢佃瘽'}
- ,{field: 'contacts', align: 'center',title: '瀹㈡埛鑱旂郴浜�'}
- ,{field: 'remarks', align: 'center',title: '澶囨敞', hide: true}
- ,{field: 'director$', align: 'center',title: '璐熻矗浜�'}
- ,{field: 'province', align: 'center',title: '鐪�', hide: true}
- ,{field: 'city', align: 'center',title: '甯�', hide: true}
- ,{field: 'district', align: 'center',title: '鍘�', hide: true}
- ,{field: 'town', align: 'center',title: '闀�', hide: true}
- ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃'}
- ,{field: 'type$', align: 'center',title: '鍖哄垎'}
- ,{field: 'files', align: 'center',title: '闄勪欢', hide: true}
- ,{field: 'status$', align: 'center',title: '鐘舵��', hide: true}
- ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true}
- ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿', hide: true}
- ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
- ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
- ,{field: 'memo', align: 'center',title: '娉ㄩ噴', hide: true}
+ ,{field: 'name', align: 'left',title: '瀹㈡埛鍚嶇О', style: 'color: #1890ff;cursor:pointer', event: 'more', width: 350}
+ ,{field: 'simple', align: 'left',title: '瀹㈡埛绠�绉�', hide: false}
+ ,{field: 'uuid', align: 'left',title: '瀹㈡埛浠e彿'}
+ ,{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: 'cstmrType$', align: 'left',title: '瀹㈡埛绫诲埆'}
+ ,{field: 'userId$', align: 'left',title: '娣诲姞浜哄憳'}
+ ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃堕棿'}
+ ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�', hide: true}
+ ,{field: 'rela', align: 'left',title: '瀹㈡埛鍏崇郴', hide: true}
+ ,{field: 'contacts', align: 'left',title: '瀹㈡埛鑱旂郴浜�', hide: true}
+ ,{field: 'director$', align: 'left',title: '璐熻矗浜�', hide: true}
+ ,{field: 'province', align: 'left',title: '鐪�', hide: true}
+ ,{field: 'city', align: 'left',title: '甯�', hide: true}
+ ,{field: 'district', align: 'left',title: '鍘�', hide: true}
+ ,{field: 'town', align: 'left',title: '闀�', hide: true}
+ ,{field: 'type$', align: 'left',title: '鍖哄垎', hide: true}
+ ,{field: 'files', align: 'left',title: '闄勪欢', hide: true}
+ ,{field: 'status$', align: 'left',title: '鐘舵��', hide: true}
+ // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true}
+ ,{field: 'updateBy$', align: 'left',title: '淇敼浜哄憳', hide: true}
+ ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true}
+ ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true}
,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
]],
@@ -71,8 +188,34 @@
top.location.href = baseUrl+"/";
}
pageCurr=curr;
+ pageCount = count;
limit();
}
+ });
+
+ // 娣诲姞
+ $("#cstmrAddBtn").click(function () {
+ form.verify({
+ account: function(value, item){
+ var min = item.getAttribute('lay-min');
+ if(value.length < min){
+ return '瀹㈡埛鍚嶇О涓嶈兘灏忎簬'+min+'涓瓧绗︾殑闀垮害';
+ }
+ }
+ });
+ showEditModel();
+ });
+
+ // 鍒犻櫎
+ form.on('submit(cstmrDel)', function (data) {
+ let checkStatus = layui.table.checkStatus('cstmr').data;
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
});
// 鐩戝惉鎺掑簭浜嬩欢
@@ -89,67 +232,22 @@
});
});
- // 鐩戝惉澶村伐鍏锋爮浜嬩欢
- table.on('toolbar(cstmr)', function (obj) {
- var checkStatus = table.checkStatus(obj.config.id).data;
- switch(obj.event) {
- case 'addData':
- showEditModel();
- break;
- case 'deleteData':
- if (checkStatus.length === 0) {
- layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
- return;
- }
- del(checkStatus.map(function (d) {
- return d.id;
- }));
- break;
- case 'exportData':
- admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
- var titles=[];
- var fields=[];
- obj.config.cols[0].map(function (col) {
- if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
- titles.push(col.title);
- fields.push(col.field);
- }
- });
- var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- exportData[this.name] = this.value;
- });
- var param = {
- 'cstmr': exportData,
- 'fields': fields
- };
- $.ajax({
- url: baseUrl+"/cstmr/export/auth",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify(param),
- dataType:'json',
- contentType:'application/json;charset=UTF-8',
- method: 'POST',
- success: function (res) {
- layer.closeAll();
- if (res.code === 200) {
- table.exportFile(titles,res.data,'xls');
- } else if (res.code === 403) {
- top.location.href = baseUrl+"/";
- } else {
- layer.msg(res.msg, {icon: 2})
- }
- }
- });
- });
- break;
- }
- });
-
// 鐩戝惉琛屽伐鍏蜂簨浠�
table.on('tool(cstmr)', function(obj){
var data = obj.data;
switch (obj.event) {
+ case 'more':
+ 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;
@@ -163,11 +261,23 @@
function showEditModel(mData) {
admin.open({
type: 1,
- area: '600px',
- title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
+ area: '1500px',
+ title: (mData ? '淇敼' : '娣诲姞') + '鐢叉柟鍗曚綅',
content: $('#editDialog').html(),
success: function (layero, dIndex) {
+ form.verify({
+ name: function(value, item){
+ var min = item.getAttribute('lay-min');
+ if(value.length < min){
+ return '瀹㈡埛鍚嶇О涓嶈兘灏忎簬'+min+'涓瓧绗︾殑闀垮害';
+ }
+ }
+ });
+ if (mData) {
+ $('#cascaderVal').val(mData.pcd);
+ }
layDateRender(mData);
+ cascaderRender();
form.val('detail', mData);
form.on('submit(editSubmit)', function (data) {
var loadIndex = layer.load(2);
@@ -181,7 +291,7 @@
if (res.code === 200){
layer.close(dIndex);
layer.msg(res.msg, {icon: 1});
- tableReload();
+ tableReload()
} else if (res.code === 403){
top.location.href = baseUrl+"/";
}else {
@@ -228,14 +338,8 @@
// 鎼滅储
form.on('submit(search)', function (data) {
pageCurr = 1;
- tableReload(false);
- });
-
- // 閲嶇疆
- form.on('submit(reset)', function (data) {
- pageCurr = 1;
- clearFormVal($('#search-box'));
- tableReload(false);
+ pageCount = 0;
+ tableReload();
});
// 鏃堕棿閫夋嫨鍣�
@@ -261,6 +365,19 @@
}
layDateRender();
+ // 鐪佸競鍖洪�夋嫨
+ function cascaderRender() {
+ cascader.render({
+ elem: '#cascaderVal',
+ data: citysData,
+ itemHeight: '250px',
+ filterable: true,
+ onChange: function (values, data) {
+ // console.log(values);console.log(data);
+ }
+ });
+ }
+
});
// 鍏抽棴鍔ㄤ綔
@@ -268,13 +385,63 @@
parent.layer.closeAll();
});
-function tableReload(child) {
- var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- searchData[this.name] = this.value;
+function tableReload() {
+ if (pageCount === 0) {
+ let searchData = {};
+ $.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}
+ });
+ } else {
+ $(".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){
});
- tableIns.reload({
- where: searchData,
- page: {curr: pageCurr}
- });
+}
+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});
}
--
Gitblit v1.9.1