1
0

state.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. layui.config({
  2. base: '../../lib/layui/lay/mymodules/'
  3. ,version: '101100'
  4. }).use('eleTree');
  5. layui.extend({
  6. admin: '{/}../../static/js/admin'
  7. });
  8. layui.use(['jquery','eleTree','table','laypage','admin'], function(){
  9. var $= layui.jquery,
  10. eleTree = layui.eleTree,
  11. laypage = layui.laypage,
  12. table = layui.table;
  13. var addStateHtml = '../../pages/admin/addstate.html';
  14. var updateHtml = '../../pages/admin/updateState.html';
  15. // 部门
  16. var belpID = 'root';
  17. delpFun();
  18. console.log(getUserStaffNum(),'getUserStaffNum()')
  19. sessionStorage.setItem("ztreeDepid",'root');
  20. function delpFun(){
  21. $.ajax({
  22. url:'http://apptest.jieweizhineng.com/api/section/getlist?userStaffNum='+getUserStaffNum(),
  23. method:'get',
  24. dataType: 'json',
  25. success:function (res) {
  26. if(res.code === 0){
  27. var data = [res.data];
  28. eleTree.render({
  29. elem: '.ele1',
  30. data:data ,
  31. defaultExpandAll:true,
  32. // showCheckbox: true,
  33. });
  34. eleTree.on("nodeClick(data)",function(d) {
  35. belpID = d.data.currentData.id;
  36. sessionStorage.setItem("ztreeDepid",d.data.currentData.id);
  37. $('.stetaName').val("");
  38. var info={
  39. statusContent: '',
  40. departmentId: d.data.currentData.id,
  41. deleteStatus: 'false',
  42. pageNumber: '1',
  43. pageSize: '1',
  44. };
  45. getStateList(info);
  46. })
  47. }else{
  48. layer.msg('请检查网路', {icon: 2});
  49. }
  50. },
  51. error:function (err) {
  52. layer.msg('请检查网路', {icon: 2});
  53. }
  54. })
  55. }
  56. var info={
  57. statusContent: $('.stetaName').val(),
  58. departmentId: belpID,
  59. deleteStatus: 'false',
  60. pageNumber: '1',
  61. pageSize: '1',
  62. };
  63. getStateList(info);
  64. function getStateList(res) {
  65. var index = layer.load(2);
  66. table.render({
  67. elem: '#stateRemind',
  68. url: 'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/getStatusList',
  69. id: 'idstetaTable',
  70. method: 'get',
  71. loading: true,
  72. page:true,
  73. cols: [[
  74. {field: 'statusContent', title: '状态名称', align: 'center'}
  75. , {field: 'createDate', title: '创建日期', align: 'center'}
  76. , {title: ' 操作', align: 'center', toolbar: '#barDemo'}
  77. ]],
  78. where: {
  79. statusContent: res.statusContent,
  80. departmentId: res.departmentId,
  81. deleteStatus: res.deleteStatus
  82. },
  83. request: {
  84. pageName: 'pageNumber' //页码的参数名称,默认:page
  85. ,limitName: 'pageSize' //每页数据量的参数名,默认:limit
  86. },
  87. response: {
  88. statusName: 'code'
  89. , statusCode: 200,
  90. countName: 'count',
  91. dataName: 'data'
  92. },
  93. done: function (res, curr, count) {
  94. layer.close(index);
  95. if (res.code === '200') {
  96. $('.fr').html('共有数据:'+res.count+' 条')
  97. }
  98. }
  99. });
  100. }
  101. // 查询
  102. $(".seachSteta").click(function () {
  103. var checkbox = $("#checkboxT").prop('checked'),
  104. root='',
  105. info;
  106. if(checkbox == true){
  107. root = '';
  108. info={
  109. statusContent: $('.stetaName').val(),
  110. departmentId: root,
  111. deleteStatus: 'false',
  112. pageNumber: '1',
  113. pageSize: '1',
  114. };
  115. }else {
  116. info={
  117. statusContent: $('.stetaName').val(),
  118. departmentId: belpID,
  119. deleteStatus: 'false',
  120. pageNumber: '1',
  121. pageSize: '1',
  122. };
  123. }
  124. getStateList(info)
  125. });
  126. // 监听状态table
  127. table.on('tool(stateItme)', function(obj) {
  128. if( obj.event === "move"){
  129. sessionStorage.setItem("statusId",obj.data.id);
  130. moveDep('选择部门信息','http://apptest.jieweizhineng.com/api/swagger/api/status/v1/moveStatus/','400','500',table,'idstetaTable');
  131. } else if (obj.event === "copy"){
  132. var content ={
  133. _method:'put'
  134. };
  135. layer.alert('确认要复制记录模板吗?',{icon: 8}, function(index){
  136. $.ajax({
  137. url: 'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/copyStatus/'+obj.data.id,
  138. method: 'post',
  139. dataType: 'json',
  140. data: content,
  141. success: function (res) {
  142. if (res.code === '200'){
  143. layer.msg('复制成功', {icon: 1});
  144. table.reload('idstetaTable');
  145. } else{
  146. layer.msg('复制失败', {icon: 2});
  147. table.reload('idstetaTable');
  148. }
  149. layer.close(index);
  150. },
  151. error:function () {
  152. layer.msg('请检查网络', {icon: 2});
  153. layer.close(index);
  154. }
  155. });
  156. });
  157. } else if (obj.event === "edit"){
  158. var objID =obj.data;
  159. var delobj=[];
  160. layer.open({
  161. type: 2,
  162. id: 'updateState',
  163. title:'修改状态和提醒设置',
  164. shadeClose: true,
  165. scrollbar:true,
  166. shade: 0.3,
  167. maxmin: true,
  168. skin: 'oaBtn',
  169. btn: ['确认', '取消'],
  170. area: ['500px', '500px'],
  171. content: updateHtml,
  172. success: function (layero, index) {
  173. var body = layer.getChildFrame('body', index);
  174. body.find('#stetaName').val(obj.data.statusContent);
  175. $.ajax({
  176. url: 'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/getStatusItemList/'+obj.data.id,
  177. method: 'get',
  178. dataType: 'json',
  179. success: function (res) {
  180. for (var i=0;i<res.data.length;i++){
  181. var str =`
  182. <div class="a_itme" id-data="${res.data[i].id}" delete-flay="true">
  183. <div class="a_colour">
  184. <span color_data="${res.data[i].statusColor}" style="background: ${res.data[i].statusColor}"></span>
  185. </div>
  186. <div class="a_modle">
  187. <i class="pointedSpan"></i>
  188. <b class="a_continue">继续</b>
  189. <b class="a_complete">完成</b>
  190. <span></span>
  191. <span></span>
  192. </div>
  193. <div class="a_delete">
  194. <i class="layui-icon layui-icon-delete"></i>
  195. </div>
  196. <input type="text" value="${res.data[i].statusContent}" placeholder="请输入状态名称" name="username" required="" lay-verify="required" autocomplete="off" class="layui-input a_steta ${i == 0?"a_steta1":""}">
  197. </div>`;
  198. body.find(".a_itmes").append(str)
  199. }
  200. },
  201. error:function () {
  202. layer.msg('请检查网络', {icon: 2});
  203. }
  204. });
  205. body.delegate('.a_delete','click',function () {
  206. if (body.find(".a_itmes .a_itme").length === 1) {
  207. return;
  208. }else {
  209. var id = $(this).parent().attr("id-data"),
  210. deleteFlay = $(this).parent().attr("delete-flay");
  211. var sonterm = {deleteFlag:deleteFlay,id:id,statusColor:'',statusContent:'',zIndex:''};
  212. delobj.push(sonterm)
  213. }
  214. })
  215. },
  216. yes: function (index, layero) {
  217. var body = layer.getChildFrame('body', index);
  218. var reg = /\S/;
  219. if (!reg.test(body.find("#stetaName").val())) {
  220. layer.msg('请输入状态组名称', {icon: 8});
  221. return false;
  222. }
  223. if (!reg.test(body.find(".a_steta1").val())) {
  224. layer.msg('请输入状态组子项至少填一个', {icon: 8});
  225. return false;
  226. }
  227. var item = body.find('.a_itmes .a_itme');
  228. var a_colour = body.find('.a_colour');
  229. var arr = [];
  230. var ID = [];
  231. var json =[];
  232. var color =[];
  233. var obj = {deleteFlag:'false',id:'',statusColor:'',statusContent:'',zIndex:''};
  234. a_colour.each(function () {
  235. var value = $(this).find('span').attr("color_data");
  236. color.push(value);
  237. });
  238. item.each(function () {
  239. var value = $(this).find('input').val();
  240. var ids = $(this).attr("id-data");
  241. if (reg.test(value)) {
  242. arr.push(value);
  243. ID.push(ids)
  244. }
  245. });
  246. if (arr == "") {
  247. layer.msg('请输入状态组子项至少填一个', {icon: 8});
  248. return false;
  249. }else {
  250. for (var i = 0; i < arr.length; i++) {
  251. obj = {};
  252. obj.deleteFlag = false;
  253. obj.id = ID[i];
  254. obj.statusColor = color[i];
  255. obj.statusContent = arr[i];
  256. obj.zIndex = i+1;
  257. delobj.push(obj)
  258. }
  259. }
  260. var delobjs= [];
  261. for (var k = 0; k < delobj.length; k++) {
  262. if (delobj[k].id != undefined || delobj[k].statusContent != "") {
  263. delobjs.push(delobj[k])
  264. }
  265. }
  266. var updateStetaInfo = {
  267. id:objID.id,
  268. statusContent:body.find('#stetaName').val(),
  269. statusItems:delobjs,
  270. _method:'put'
  271. };
  272. $.ajax({
  273. url:'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/updateStatus',
  274. method:'POST',
  275. dataType: 'json',
  276. data: updateStetaInfo,
  277. success:function (res) {
  278. if(res.code === '200'){
  279. layer.msg('修改成功', {icon: 1});
  280. table.reload('idstetaTable');
  281. layer.close(index);
  282. }else if (res.code == '422') {
  283. layer.msg('状态内容不能为空', {icon: 2});
  284. table.reload('idstetaTable');
  285. layer.close(index);
  286. }else{
  287. layer.msg('修改失败,请检查信息', {icon: 2});
  288. table.reload('idstetaTable');
  289. layer.close(index);
  290. }
  291. },
  292. error:function (err) {
  293. layer.close(index);
  294. }
  295. })
  296. }
  297. })
  298. } else if (obj.event === "delete"){
  299. var content ={
  300. _method:'DELETE'
  301. };
  302. layer.alert('确认要删除吗?',{icon: 8}, function(index){
  303. $.ajax({
  304. url: 'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/reomveStatus/'+obj.data.id,
  305. method: 'post',
  306. dataType: 'json',
  307. data: content,
  308. success: function (res) {
  309. if (res.code === '200'){
  310. layer.msg('删除成功', {icon: 1});
  311. table.reload('idstetaTable');
  312. } else{
  313. layer.msg('删除失败', {icon: 2});
  314. table.reload('idstetaTable');
  315. }
  316. layer.close(index);
  317. },
  318. error:function () {
  319. layer.msg('请检查网络', {icon: 2});
  320. layer.close(index);
  321. }
  322. });
  323. });
  324. }
  325. });
  326. // 添加状态
  327. // 打开添加弹窗
  328. $(".addState").click(function () {
  329. layer.open({
  330. type: 2,
  331. id: 'addState',
  332. title:'添加状态和提醒设置',
  333. shadeClose: true,
  334. scrollbar:true,
  335. shade: 0.3,
  336. maxmin: true,
  337. skin: 'oaBtn',
  338. btn: ['确认', '取消'],
  339. area: ['500px', '500px'],
  340. content: addStateHtml,
  341. success: function (layero, index) {
  342. var body = layer.getChildFrame('body', index);
  343. },
  344. yes: function (index, layero) {
  345. var body = layer.getChildFrame('body', index);
  346. var reg = /\S/;
  347. if (!reg.test(body.find("#stetaName").val())) {
  348. layer.msg('请输入状态组名称', {icon: 8});
  349. return false;
  350. }
  351. if (!reg.test(body.find(".a_steta1").val())) {
  352. return false;
  353. }
  354. var item = body.find('.a_itmes .a_itme');
  355. var a_colour = body.find('.a_colour');
  356. var json =[];
  357. var arr = [];
  358. var color =[];
  359. var obj = {statusColor:'',statusContent:'',zIndex:''};
  360. a_colour.each(function () {
  361. var value = $(this).find('span').attr("color_data");
  362. color.push(value);
  363. });
  364. item.each(function () {
  365. var value = $(this).find('input').val();
  366. if (reg.test(value)) {
  367. arr.push(value);
  368. }
  369. });
  370. if (arr == "") {
  371. layer.msg('请输入状态组子项至少填一个', {icon: 8});
  372. return false;
  373. }else {
  374. for (var j = 0; j < arr.length; j++) {
  375. obj = {};
  376. obj.statusColor = color[j];
  377. obj.statusContent = arr[j];
  378. obj.zIndex = j+1;
  379. json.push(obj);
  380. }
  381. }
  382. var addStetaInfo = {
  383. departmentId:belpID,
  384. statusContent:body.find('#stetaName').val(),
  385. statusItems:json
  386. };
  387. $.ajax({
  388. url:'http://apptest.jieweizhineng.com/api/swagger/api/status/v1/addStatus',
  389. method:'POST',
  390. dataType: 'json',
  391. data: addStetaInfo,
  392. success:function (res) {
  393. if(res.code === '200'){
  394. layer.msg('添加成功', {icon: 1});
  395. table.reload('idstetaTable');
  396. layer.close(index);
  397. }else if (res.code == '422') {
  398. layer.msg('状态内容不能为空', {icon: 2});
  399. table.reload('idstetaTable');
  400. layer.close(index);
  401. } else{
  402. layer.msg('添加失败,请检查信息或网络', {icon: 2});
  403. table.reload('idstetaTable')
  404. }
  405. },
  406. error:function (err) {
  407. layer.msg('网络错误', {icon: 2});
  408. }
  409. })
  410. }
  411. })
  412. })
  413. });