recordTemplate.js 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720
  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','form','admin'], function(){
  9. var $= layui.jquery,
  10. eleTree = layui.eleTree,
  11. laypage = layui.laypage,
  12. form = layui.form,
  13. table = layui.table;
  14. var addTemplateHtml = '../../pages/admin/addrecordTemplate.html';
  15. var updateRecordTemplate = '../../pages/admin/updateRecordTemplate.html';
  16. /*
  17. * @todo 重新计算iframe高度
  18. */
  19. FrameWH();
  20. function FrameWH() {
  21. var h = $(window).height()-36-46-40;
  22. var h1 = $(window).height()-36-25;
  23. $(".weIframe").css("height", h + "px");
  24. $(".left").css("height",h1 +"px");
  25. $(".right_main").css("height",h1 -20+ "px");
  26. }
  27. $(window).resize(function() {
  28. FrameWH();
  29. });
  30. var belpID = 'root';
  31. delpFun();
  32. function delpFun(){
  33. $.ajax({
  34. url:'http://apptest.jieweizhineng.com/api/section/getlist',
  35. method:'get',
  36. dataType: 'json',
  37. success:function (res) {
  38. if(res.code === 0){
  39. var data = [res.data];
  40. eleTree.render({
  41. elem: '.ele1',
  42. data:data ,
  43. defaultExpandAll:true,
  44. // showCheckbox: true,
  45. });
  46. eleTree.on("nodeClick(data)",function(d) {
  47. belpID = d.data.currentData.id;
  48. $('.stetaName').val("");
  49. var info={
  50. statusContent: '',
  51. departmentId: d.data.currentData.id,
  52. deleteStatus: 'false',
  53. pageNumber: '1',
  54. pageSize: '1',
  55. };
  56. getStateList(info);
  57. })
  58. }else{
  59. layer.msg('请检查网路', {icon: 2});
  60. }
  61. },
  62. error:function (err) {
  63. layer.msg('请检查网路', {icon: 2});
  64. }
  65. })
  66. }
  67. var info={
  68. templateName: $('.stetaName').val(),
  69. departmentId: 'root',
  70. deleteStatus: 'false',
  71. pageNumber: '1',
  72. pageSize: '1',
  73. };
  74. getStateList(info);
  75. function getStateList(res) {
  76. $.ajax({
  77. url: 'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/getRecordTemplateList',
  78. method: 'get',
  79. dataType: 'json',
  80. data: res,
  81. success: function (data) {
  82. laypage.render({
  83. elem: 'pageItem',
  84. count: data.count,
  85. limit: 10,
  86. layout: ['count', 'prev', 'page', 'next', 'skip'],
  87. jump: function(obj, first) {
  88. var index = layer.load(2);
  89. table.render({
  90. elem: '#stateRemind',
  91. url: 'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/getRecordTemplateList',
  92. id: 'recordTemplateID',
  93. method: 'get',
  94. loading: true,
  95. cols: [[
  96. {field: 'templateName', title: '模版名称', align: 'center'}
  97. , {field: 'createDate', title: '创建日期', align: 'center'}
  98. , {title: ' 操作', align: 'center', toolbar: '#barDemo'}
  99. ]],
  100. where: {
  101. templateName: res.statusContent,
  102. departmentId: res.departmentId,
  103. deleteStatus: res.deleteStatus,
  104. pageNumber: obj.curr,
  105. pageSize: obj.limit,
  106. },
  107. response: {
  108. statusName: 'code'
  109. , statusCode: 200,
  110. countName: 'count',
  111. dataName: 'data'
  112. },
  113. done: function (res, curr, count) {
  114. layer.close(index);
  115. if (res.code === '200') {
  116. $('.fr').html('共有数据:'+res.count+' 条')
  117. }
  118. }
  119. });
  120. }
  121. })
  122. }
  123. });
  124. }
  125. // 查询
  126. $(".seachSteta").click(function () {
  127. var checkbox = $("#checkboxT").prop('checked'),
  128. root='',
  129. info;
  130. if(checkbox == true){
  131. root = '';
  132. info={
  133. statusContent: $('.stetaName').val(),
  134. departmentId: root,
  135. deleteStatus: 'false',
  136. pageNumber: '1',
  137. pageSize: '1',
  138. };
  139. }else {
  140. info={
  141. statusContent: $('.stetaName').val(),
  142. departmentId: belpID,
  143. deleteStatus: 'false',
  144. pageNumber: '1',
  145. pageSize: '1',
  146. };
  147. }
  148. getStateList(info)
  149. });
  150. // 监听状态table
  151. table.on('tool(stateItme)', function(obj) {
  152. sessionStorage.setItem("departmentId",obj.data.id);
  153. if( obj.event === "move"){
  154. } else if (obj.event === "copy"){
  155. var content ={
  156. _method:'put'
  157. };
  158. layer.alert('确认要复制记录模板吗?',{icon: 8}, function(index){
  159. $.ajax({
  160. url: 'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/copyRecordTemplate/'+obj.data.id,
  161. method: 'post',
  162. dataType: 'json',
  163. data: content,
  164. success: function (res) {
  165. if (res.code === '200'){
  166. layer.msg('复制成功', {icon: 1});
  167. table.reload('recordTemplateID');
  168. } else{
  169. layer.msg('复制失败', {icon: 2});
  170. table.reload('recordTemplateID');
  171. }
  172. layer.close(index);
  173. },
  174. error:function () {
  175. layer.msg('请检查网络', {icon: 2});
  176. layer.close(index);
  177. }
  178. });
  179. });
  180. } else if (obj.event === "edit"){
  181. layer.open({
  182. type: 2,
  183. id: 'updateTemplate',
  184. title:'修改记录模版',
  185. shadeClose: true,
  186. scrollbar:true,
  187. shade: 0.3,
  188. maxmin: true,
  189. skin: 'oaBtn',
  190. btn: ['确认', '取消'],
  191. area: ['1000px', '600px'],
  192. content: updateRecordTemplate,
  193. success: function (layero, index) {
  194. var body = layer.getChildFrame('body', index);
  195. body.find('#stetaName').val(obj.data.statusContent);
  196. var iframeWindow = window['layui-layer-iframe'+ index];
  197. var selectVal =[];
  198. iframeWindow.layui.form.render();
  199. $.ajax({
  200. url: 'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/getRecordTemplate/'+obj.data.id,
  201. method: 'get',
  202. dataType: 'json',
  203. success: function (res) {
  204. body.find(".TemplateName").val(res.data.templateName);
  205. body.find(".Templatereamk").val(res.data.remark);
  206. // body.find(".inputCheckbox").attr("checked",'checked')
  207. if (res.data.statusContent == ''&& res.data.statusName == ''){
  208. body.find(".changeSteta").attr("checked",'checked');
  209. body.find(".textSteta").removeAttr('checked');
  210. body.find('.a_inputs').show();
  211. body.find(".a_text").addClass("a_hide");
  212. body.find(".layui-input-block1").removeClass("a_hide");
  213. }else {
  214. body.find(".changeSteta").removeAttr("checked");
  215. body.find(".textSteta").attr('checked','checked');
  216. body.find('.a_inputs').hide();
  217. body.find(".a_text").removeClass("a_hide");
  218. body.find(".layui-input-block1").addClass("a_hide");
  219. body.find(".textContent").val(res.data.statusContent);
  220. body.find(".textName").val(res.data.statusName);
  221. }
  222. // 记录状态
  223. if (res.data.recordStatusList !=null) {
  224. for (var i = 0; i < res.data.recordStatusList.length; i++) {
  225. if (res.data.recordStatusList[i].isEchart == false) {
  226. var str =`
  227. <div class="a_input" inputState-id="${res.data.recordStatusList[i].id}" deleteFlag="false">
  228. <input type="text" value="${res.data.recordStatusList[i].statusContent}" state-id="${res.data.recordStatusList[i].statusId}" style="width: 80%;" placeholder="请输入状态名称" checkbox-boole="${res.data.recordStatusList[i].isEchart}" name="number" autocomplete="off" class="layui-input a_stateName">
  229. <div class="operation_trem">
  230. <input type="checkbox" title="统计标识" class="inputCheckbox" lay-filter="inputCheckbox"">
  231. <i class="layui-icon layui-icon-delete delete_state"></i>
  232. </div>
  233. </div>`;
  234. body.find('.a_inputs').append(str);
  235. }else {
  236. var str =`
  237. <div class="a_input" inputState-id="${res.data.recordStatusList[i].id}" deleteFlag="false">
  238. <input type="text" value="${res.data.recordStatusList[i].statusContent}" state-id="${res.data.recordStatusList[i].statusId}" style="width: 80%;" placeholder="请输入状态名称" checkbox-boole="${res.data.recordStatusList[i].isEchart}" name="number" autocomplete="off" class="layui-input a_stateName">
  239. <div class="operation_trem">
  240. <input type="checkbox" title="统计标识" checked="${res.data.recordStatusList[i].isEchart}" class="inputCheckbox" lay-filter="inputCheckbox"">
  241. <i class="layui-icon layui-icon-delete delete_state"></i>
  242. </div>
  243. </div>`;
  244. body.find('.a_inputs').append(str);
  245. }
  246. }
  247. }
  248. // 特殊记录项和记录项
  249. var num =0;
  250. for (var j = 0; j < res.data.inputList.length; j++) {
  251. if(res.data.inputList[j].special == true){
  252. body.find(".specialName").val(res.data.inputList[j].inputName);
  253. body.find(".specialRemarks").val(res.data.inputList[j].remark);
  254. body.find(".specialSelect").val(res.data.inputList[j].inputType);
  255. body.find(".T_recordterm").attr("recordterm-id",res.data.inputList[j].id);
  256. }else {
  257. selectVal.push(res.data.inputList[j].inputType);
  258. var json = JSON.stringify(res.data.inputList[j].inputItemList);
  259. var str =`
  260. <div class="record_term border_t_n" record-id="${res.data.inputList[j].id}" deleteFlag="false">
  261. <div class="a_T a_checkbox1" style="width: ${res.data.inputList[j].inputType == "photo"?"10%":"11%"}">
  262. ${res.data.inputList[j].isOptional== false?
  263. "<input type=\"checkbox\" title=\"必选\" class=\"mandatory\" lay-filter=\"mandatory\" checkbox-mandatory=\"false\">\n"
  264. :
  265. "<input type=\"checkbox\" title=\"必选\" class=\"mandatory\" checked lay-filter=\"mandatory\" checkbox-mandatory=\"true\">\n"
  266. }
  267. </div>
  268. <div class="a_T record_term_name" style="width:${res.data.inputList[j].inputType == "photo"?"17%":"20%"}">
  269. <input type="text" placeholder="请输入字段名称" class="layui-input fieldName" value="${res.data.inputList[j].inputName}">
  270. </div>
  271. <div class="a_T record_term_remarks" style="width: ${res.data.inputList[j].inputType == "photo"?"17%":"20%"}">
  272. <input type="text" placeholder="请输入字段备注" class="layui-input fieldType" value="${res.data.inputList[j].remark}">
  273. </div>
  274. <div class="a_T record_term_select" style="width: ${res.data.inputList[j].inputType == "photo"?"13%":"15%"}">
  275. <select name="inputType" class="select-box select-box${num++}" lay-filter="inputType">
  276. <option value="">--请选择--</option>
  277. </select>
  278. </div>
  279. <div class="a_T record_term_select1 ${res.data.inputList[j].inputType == "photo"?"":"a_hide"}" style="width: 10%">
  280. <select name="interest" lay-filter="photo" class="businessType">
  281. ${res.data.inputList[j].businessType == "remote"?
  282. "<option value=\"\">--请选择--</option>"+"<option value=\"local\">本地</option>"+" <option value=\"remote\" selected>拍照</option>"
  283. :
  284. "<option value=\"\">--请选择--</option>"+"<option value=\"local\" selected>本地</option>"+" <option value=\"remote\">拍照</option>"
  285. }
  286. </select>
  287. </div>
  288. <div class="a_T a_checkbox" style="width: 15%">
  289. ${res.data.inputList[j].isEchart == false ?
  290. "<input type=\"checkbox\" title=\"统计标识\" class=\"isEchart\" lay-filter=\"isEchart\" checkbox-isEchart=\"false\">\n"
  291. :
  292. "<input type=\"checkbox\" title=\"统计标识\" class=\"isEchart\" checked lay-filter=\"isEchart\" checkbox-isEchart=\"true\">\n"
  293. }
  294. </div>
  295. <div class="a_T a_operation" style="width: 15%">
  296. <span class="moveUp">上移</span>
  297. <span class="moveDown">下移</span>
  298. <span class="edit_record ${res.data.inputList[j].inputType == "checkbox"? "ww" : "a_hide"}">编辑</span>
  299. <span class="delete_record_term">删除</span>
  300. </div>
  301. <!--<input type="text" class="inputJson" style="display: none;" value="${json}">-->
  302. <span class="inputJson" style="display: none;">${json}</span>
  303. </div>
  304. `;
  305. body.find(".record_terms").append(str);
  306. // if (res.data.inputList[j].inputType == "checkbox") {
  307. // sessionStorage.setItem("inputItemList",JSON.stringify(res.data.inputList[j].inputItemList))
  308. // }
  309. }
  310. };
  311. // 检查项
  312. var selectNum = 0;
  313. for (var r = 0; r < res.data.checkItemList.length; r++) {
  314. var str = `
  315. <div class="inspect_terms">
  316. <div class="inspect_term border_t_n">
  317. <div class="a_T inspect_term_name border_t_n" style="width: 70%;">
  318. <textarea name="desc" placeholder="请输入分组名称" class="layui-textarea term_nameTextarea" style="resize:none">${res.data.checkItemList[r].group.groupName}</textarea>
  319. </div>
  320. <div class="a_T inspect_term_select border_t_n" style="width: 30%">
  321. <select name="interest" class="inspect_select" lay-filter="inspect_select">
  322. ${res.data.checkItemList[r].group.checkType=="checkbox"?
  323. "<option value=\"checkbox\" selected=\"selected\">多选</option>"+"<option value=\"radio\">单选</option>"
  324. :"<option value=\"checkbox\">多选</option>"+"<option value=\"radio\" selected=\"selected\">单选</option>"}
  325. </select>
  326. </div>
  327. </div>
  328. <div class="inspect_term_infos inspect_term_infoss${selectNum++} border_t_n">
  329. <div class="inspect_term_info" inspect-id="${res.data.checkItemList[r].checkItemList[0].id}" deleteFlag="false">
  330. <div class="inspect_term_input border_t_n" style="width: 70%;">
  331. <input type="text" class="layui-input inspectInfo" placeholder="请输入检查项信息" value="${res.data.checkItemList[r].checkItemList[0].itemValue}">
  332. </div>
  333. <div class="inspect_term_operation border_t_n" style="width: 30%">
  334. <span class="add_inspectInfo">添加</span>
  335. </div>
  336. </div>
  337. </div>
  338. </div>`;
  339. body.find(".inspect_termList").append(str);
  340. var arrSlice = res.data.checkItemList[r].checkItemList.slice(1);
  341. for (var q=0;q<arrSlice.length; q++){
  342. var html =`<div class="inspect_term_info" inspect-id="${arrSlice[q].id}" deleteFlag="false">
  343. <div class="inspect_term_input border_t_n" style="width: 70%;">
  344. <input type="text" class="layui-input inspectInfo" placeholder="请输入检查项信息" value="${arrSlice[q].itemValue}">
  345. </div>
  346. <div class="inspect_term_operation border_t_n" style="width: 30%">
  347. <span class="add_inspectInfo">添加</span>
  348. <span class="delete_inspectInfo">删除</span>
  349. </div>
  350. </div>`;
  351. body.find(".inspect_term_infoss"+r).append(html);
  352. }
  353. }
  354. getInputType(body,iframeWindow,selectVal);
  355. iframeWindow.layui.form.render();
  356. },
  357. error:function () {
  358. layer.msg('请检查网络', {icon: 2});
  359. }
  360. });
  361. },
  362. yes: function (index, layero) {
  363. var body = layer.getChildFrame('body', index);
  364. if (body.find(".TemplateName").val() == "") {
  365. layer.msg('请输入模版名称', {icon: 8});
  366. return false;
  367. }
  368. var inputs = body.find('.a_inputs .a_input');
  369. // 记录状态
  370. var stateIDArray = [],
  371. valArray = [],
  372. cheackboxBoolArray = [],
  373. recordStatusList = [],
  374. inputStateID =[],
  375. deleteFlagBool = [],
  376. deleteStateGroup = body.find(".deleteStateGroup").val(),
  377. recordStatusObj ={isEchart:"",statusContent:'',statusId:'',id:'',deleteFlag:''};
  378. if (deleteStateGroup != "") {
  379. var deleteStateGroups=JSON.parse(deleteStateGroup);
  380. for (var o =0;o<deleteStateGroups.length;o++) {
  381. recordStatusList.push(deleteStateGroups[o])
  382. }
  383. }
  384. inputs.each(function () {
  385. var value = $(this).find('input').val(),
  386. stateId = $(this).find("input").attr("state-id"),
  387. cheackboxBool = $(this).find("input").attr("checkbox-boole"),
  388. id = $(this).attr("inputState-id"),
  389. deleteFlag = $(this).attr("deleteFlag");
  390. valArray.push(value);
  391. stateIDArray.push(stateId);
  392. cheackboxBoolArray.push(cheackboxBool);
  393. inputStateID.push(id);
  394. deleteFlagBool.push(deleteFlag);
  395. });
  396. for (var i = 0; i < inputs.length; i++) {
  397. recordStatusObj = {};
  398. recordStatusObj.isEchart = cheackboxBoolArray[i];
  399. recordStatusObj.statusContent = valArray[i];
  400. recordStatusObj.statusId = stateIDArray[i];
  401. recordStatusObj.id = inputStateID[i];
  402. recordStatusObj.deleteFlag = deleteFlagBool[i];
  403. recordStatusList.push(recordStatusObj)
  404. };
  405. // 记录项
  406. var inputList = {businessType:'',inputItems:'',inputName:'',inputType:'',isEchart:'',isOptional:'',remark:'',special:'',zIndex:'',id:'',deleteFlag:''},
  407. value,fieldType,inputItems,mandatory,isEchart,inputType,businessType,id,deleteFlag;
  408. var record_term = body.find(".record_term");
  409. var recordArray =[];
  410. var n;
  411. // 特殊记录项
  412. var specialObj= {businessType:'',inputItems:'',inputName:"",inputType:'',isEchart:'false',isOptional:'false',remark:'',special:'true',zIndex:1,id:'',deleteFlag:'false'};
  413. var specialName = body.find(".specialName").val(),specialRemarks = body.find(".specialRemarks").val(),specialSelect = body.find(".specialSelect").val(),specialID= body.find(".T_recordterm").attr("recordterm-id");
  414. if (specialName != "" && specialRemarks != "" && specialSelect != "") {
  415. specialObj.inputName = specialName;
  416. specialObj.remark = specialRemarks;
  417. specialObj.inputType = specialSelect;
  418. specialObj.id = specialID;
  419. recordArray.push(specialObj);
  420. n= 1;
  421. }else {
  422. n= 0;
  423. }
  424. var deleteRecords = body.find(".deleteRecord").val();
  425. if (deleteRecords != "") {
  426. var deleteRecordsJ = JSON.parse(deleteRecords);
  427. for (var w = 0; w < deleteRecordsJ.length; w++) {
  428. recordArray.push(deleteRecordsJ[w])
  429. }
  430. }
  431. record_term.each(function () {
  432. inputList = {};
  433. value = $(this).find(".fieldName").val();
  434. fieldType = $(this).find(".fieldType").val();
  435. mandatory = $(this).find(".mandatory").attr("checkbox-mandatory");
  436. isEchart = $(this).find(".isEchart").attr("checkbox-isEchart");
  437. inputType = $(this).find(".select-box").val();
  438. businessType = $(this).find(".businessType").val();
  439. id = $(this).attr("record-id");
  440. deleteFlag = $(this).attr("deleteFlag");
  441. if (inputType == 'checkbox' || inputType == 'radio') {
  442. inputItems = $(this).find(".inputJson").val();
  443. }else {
  444. inputItems =""
  445. }
  446. inputList.businessType = businessType == undefined ? " " : businessType;
  447. inputList.inputItems = inputItems == "" ? [] : JSON.parse(inputItems);
  448. inputList.inputName = value;
  449. inputList.inputType = inputType;
  450. inputList.isEchart = isEchart;
  451. inputList.isOptional = mandatory;
  452. inputList.remark = fieldType;
  453. inputList.special = 'false';
  454. inputList.id = id;
  455. inputList.zIndex = n++ +1;
  456. inputList.deleteFlag = deleteFlag;
  457. recordArray.push(inputList)
  458. });
  459. // 检查项
  460. var inspect_terms = body.find(".inspect_terms");
  461. var term_nameTextarea,inspect_select,inspectInfo,checkItemArray=[],id,deleteFlag;
  462. var checkItemList = {checkType:'',groupName:'',itemValue:'',zIndex:'',id:'',deleteFlag:''};
  463. var inspect_term_info = body.find(".inspect_term_info");
  464. var num = 0;
  465. var deletecheckItemArray = body.find(".deletecheckItemArray").val();
  466. if (deletecheckItemArray != "") {
  467. var deletecheckItemArrays= JSON.parse(deletecheckItemArray);
  468. for (var r = 0; r < deletecheckItemArrays.length; r++) {
  469. checkItemArray.push(deletecheckItemArrays[r])
  470. }
  471. }
  472. inspect_term_info.each(function () {
  473. checkItemList = {};
  474. term_nameTextarea = $(this).parent().parent().find('.term_nameTextarea').val();
  475. inspect_select = $(this).parent().parent().find('.inspect_select').val();
  476. inspectInfo = $(this).find('.inspectInfo').val();
  477. id = $(this).attr("inspect-id");
  478. deleteFlag = $(this).attr('deleteFlag');
  479. checkItemList.checkType = inspect_select;
  480. checkItemList.groupName = term_nameTextarea;
  481. checkItemList.itemValue = inspectInfo;
  482. checkItemList.id = id;
  483. checkItemList.deleteFlag = deleteFlag;
  484. checkItemList.zIndex = num++ +1;
  485. checkItemArray.push(checkItemList)
  486. });
  487. var updateStetaInfo = {
  488. templateName:body.find(".TemplateName").val(),
  489. remark:body.find(".Templatereamk").val() == ""? " ":body.find(".Templatereamk").val(),
  490. statusContent:body.find(".textContent").val() ==" "? "" : body.find(".textContent").val(),
  491. statusName:body.find(".textName").val() == ""? " " : body.find(".textName").val(),
  492. departmentId:belpID,
  493. checkItemList:checkItemArray,
  494. inputList:recordArray,
  495. recordStatusList:recordStatusList,
  496. _method:'put',
  497. id:obj.data.id
  498. };
  499. $.ajax({
  500. url:'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/updateRecordTemplate',
  501. method:'POST',
  502. dataType: 'json',
  503. data: updateStetaInfo,
  504. success:function (res) {
  505. if(res.code === '200'){
  506. layer.msg('修改成功', {icon: 1});
  507. table.reload('recordTemplateID');
  508. layer.close(index);
  509. }else{
  510. layer.msg('修改失败', {icon: 2});
  511. table.reload('recordTemplateID');
  512. }
  513. },
  514. error:function (err) {
  515. layer.close(index);
  516. }
  517. })
  518. }
  519. })
  520. } else if (obj.event === "delete"){
  521. var content ={
  522. _method:'DELETE'
  523. };
  524. layer.alert('确认要删除吗?',{icon: 8}, function(index){
  525. $.ajax({
  526. url: 'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/reomveRecordTemplate/'+obj.data.id,
  527. method: 'post',
  528. dataType: 'json',
  529. data: content,
  530. success: function (res) {
  531. if (res.code === '200'){
  532. layer.msg('删除成功', {icon: 1});
  533. table.reload('recordTemplateID');
  534. } else{
  535. layer.msg('删除失败', {icon: 2});
  536. table.reload('recordTemplateID');
  537. }
  538. layer.close(index);
  539. },
  540. error:function () {
  541. layer.msg('请检查网络', {icon: 2});
  542. }
  543. });
  544. });
  545. }
  546. });
  547. // 添加记录模版
  548. // 打开添加弹窗
  549. $(".addState").click(function () {
  550. layer.open({
  551. type: 2,
  552. id: 'addTemplate',
  553. title:'添加记录模版',
  554. shadeClose: true,
  555. scrollbar:true,
  556. shade: 0.3,
  557. maxmin: true,
  558. skin: 'oaBtn',
  559. btn: ['确认', '取消'],
  560. area: ['1000px', '600px'],
  561. content: addTemplateHtml,
  562. success: function (layero, index) {
  563. var body = layer.getChildFrame('body', index);
  564. },
  565. yes: function (index, layero) {
  566. var body = layer.getChildFrame('body', index);
  567. if (body.find(".TemplateName").val() == "") {
  568. layer.msg('请输入模版名称', {icon: 8});
  569. return false;
  570. }
  571. var inputs = body.find('.a_inputs .a_input');
  572. // 记录状态
  573. var stateIDArray = [],
  574. valArray = [],
  575. cheackboxBoolArray = [],
  576. recordStatusList = [],
  577. recordStatusObj ={isEchart:"",statusContent:'',statusId:''};
  578. inputs.each(function () {
  579. var value = $(this).find('input').val(),
  580. stateId = $(this).find("input").attr("state-id"),
  581. cheackboxBool = $(this).find("input").attr("checkbox-boole");
  582. valArray.push(value);
  583. stateIDArray.push(stateId);
  584. cheackboxBoolArray.push(cheackboxBool);
  585. });
  586. for (var i = 0; i < inputs.length; i++) {
  587. recordStatusObj = {};
  588. recordStatusObj.isEchart = cheackboxBoolArray[i];
  589. recordStatusObj.statusContent = valArray[i];
  590. recordStatusObj.statusId = stateIDArray[i];
  591. recordStatusList.push(recordStatusObj)
  592. };
  593. // 记录项
  594. var inputList = {businessType:'',inputItems:'',inputName:'',inputType:'',isEchart:'',isOptional:'',remark:'',special:'',zIndex:''},
  595. value,fieldType,inputItems,mandatory,isEchart,inputType,businessType;
  596. var record_term = body.find(".record_term");
  597. var recordArray =[];
  598. var n;
  599. // 特殊记录项
  600. var specialObj= {businessType:'',inputItems:'',inputName:"",inputType:'',isEchart:'false',isOptional:'false',remark:'',special:'true',zIndex:1};
  601. var specialName = body.find(".specialName").val(),specialRemarks = body.find(".specialRemarks").val(),specialSelect = body.find(".specialSelect").val();
  602. if (specialName != "" && specialRemarks != "" && specialSelect != "") {
  603. specialObj.inputName = specialName;
  604. specialObj.remark = specialRemarks;
  605. specialObj.inputType = specialSelect;
  606. recordArray.push(specialObj)
  607. n= 1;
  608. }else {
  609. n= 0;
  610. }
  611. record_term.each(function () {
  612. inputList = {};
  613. value = $(this).find(".fieldName").val();
  614. fieldType = $(this).find(".fieldType").val();
  615. mandatory = $(this).find(".mandatory").attr("checkbox-mandatory");
  616. isEchart = $(this).find(".isEchart").attr("checkbox-isEchart");
  617. inputType = $(this).find(".select-box").val();
  618. businessType = $(this).find(".businessType").val();
  619. if (inputType == 'checkbox' || inputType == 'radio') {
  620. inputItems = $(this).find(".inputJson").val();
  621. }else {
  622. inputItems =""
  623. }
  624. inputList.businessType = businessType == undefined ? "" : businessType;
  625. inputList.inputItems = inputItems == "" ? [] : JSON.parse(inputItems);
  626. inputList.inputName = value;
  627. inputList.inputType = inputType;
  628. inputList.isEchart = isEchart;
  629. inputList.isOptional = mandatory;
  630. inputList.remark = fieldType;
  631. inputList.special = 'false';
  632. inputList.zIndex = n++ +1;
  633. recordArray.push(inputList)
  634. });
  635. // 检查项
  636. var inspect_terms = body.find(".inspect_terms");
  637. var term_nameTextarea,inspect_select,inspectInfo,checkItemArray=[];
  638. var checkItemList = {checkType:'',groupName:'',itemValue:'',zIndex:''};
  639. var inspect_term_info = body.find(".inspect_term_info");
  640. var num = 0;
  641. inspect_term_info.each(function () {
  642. checkItemList = {};
  643. term_nameTextarea = $(this).parent().parent().find('.term_nameTextarea').val();
  644. inspect_select = $(this).parent().parent().find('.inspect_select').val();
  645. inspectInfo = $(this).find('.inspectInfo').val();
  646. checkItemList.checkType = inspect_select;
  647. checkItemList.groupName = term_nameTextarea;
  648. checkItemList.itemValue = inspectInfo;
  649. checkItemList.zIndex = num++ +1;
  650. checkItemArray.push(checkItemList)
  651. });
  652. var addStetaInfo = {
  653. templateName:body.find(".TemplateName").val() == ""? "":body.find(".TemplateName").val(),
  654. remark:body.find(".Templatereamk").val() == "" ? "":body.find(".Templatereamk").val(),
  655. statusContent:body.find(".textContent").val() == ""?"":body.find(".textContent").val(),
  656. statusName:body.find(".textName").val() == "" ? "" :body.find(".textName").val() == "",
  657. departmentId:belpID,
  658. checkItemList:checkItemArray,
  659. inputList:recordArray,
  660. recordStatusList:recordStatusList,
  661. };
  662. $.ajax({
  663. method:'post',
  664. url:'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/addRecordTemplate',
  665. data:addStetaInfo,
  666. dataType:'json',
  667. success:function (res) {
  668. if(res.code === '200'){
  669. layer.msg('添加成功', {icon: 1});
  670. table.reload('recordTemplateID');
  671. layer.close(index);
  672. }else{
  673. layer.msg('添加失败', {icon: 2});
  674. table.reload('recordTemplateID')
  675. }
  676. },
  677. error:function (err) {
  678. layer.msg('网络错误', {icon: 2});
  679. }
  680. })
  681. }
  682. })
  683. });
  684. // 记录类型
  685. function getInputType(body,iframeWin,arr){
  686. // select-box
  687. $.ajax({
  688. method:'get',
  689. url:'http://apptest.jieweizhineng.com/api/swagger/api/template/v1/getInputTypeList',
  690. data:'',
  691. dataType:'json',
  692. success:function (res) {
  693. if (res.code === '200') {
  694. var str;
  695. for (key in res.data){
  696. for (var k = 0; k < arr.length; k++) {
  697. if (key == arr[k]) {
  698. str = `<option value="${key}" selected>${res.data[key]}</option>`;
  699. }else {
  700. str = `<option value="${key}">${res.data[key]}</option>`;
  701. }
  702. body.find(".select-box"+k).append(str);
  703. }
  704. }
  705. iframeWin.layui.form.render();
  706. }
  707. },
  708. error:function (err) {
  709. }
  710. })
  711. }
  712. });