addRecord.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. $(function () {
  2. $('body').on('click','.delete_file',function (e) {
  3. e.stopPropagation();
  4. e.preventDefault();
  5. $(this).parent().remove();
  6. });
  7. $('body').on('click','.delete_img',function (e) {
  8. e.stopPropagation();
  9. e.preventDefault();
  10. $(this).parent().remove();
  11. });
  12. $('body').on('click','.delete_video',function (e) {
  13. e.stopPropagation();
  14. e.preventDefault();
  15. $(this).parent().remove();
  16. $('.videoFlie').show();
  17. });
  18. $('body').on('click','.delete_audio',function (e) {
  19. e.stopPropagation();
  20. e.preventDefault();
  21. $(this).parent().remove();
  22. $('.Sound_m').show();
  23. });
  24. //查询巡检记录选项
  25. var QrcordeID,recordID,temlateID,temlateNames;
  26. inspectRecord();
  27. function inspectRecord() {
  28. var info =[];
  29. UrlSearch();
  30. function UrlSearch() {
  31. var name,value;
  32. var str=location.href;
  33. var num=str.indexOf("?");
  34. str=str.substr(num+1);
  35. var arr=str.split("&");
  36. for(var i=0;i < arr.length;i++){
  37. num=arr[i].indexOf("=");
  38. if(num>0){
  39. name=arr[i].substring(0,num);
  40. value=arr[i].substr(num+1);
  41. this[name]=value;
  42. info.push(value)
  43. }
  44. }
  45. }
  46. console.log(info,'info')
  47. recordID = info[0];
  48. QrcordeID = info[1];
  49. temlateID = info[2];
  50. temlateNames = getItem('templateName');
  51. var obj = {
  52. pageId:QrcordeID,
  53. pageRecordId:recordID,
  54. recordParentId:''
  55. };
  56. $.ajax({
  57. url:Url+'/record/v1/getInspection',
  58. type:'get',
  59. data:obj,
  60. success:function (res) {
  61. console.log(res,'res')
  62. if (res.code === '200') {
  63. setItem("parentIds",res.data.parentId);
  64. var recordArray = res.data.recordTemplate.inputList;
  65. if (res.data.recordTemplate.recordStatusList != null) {
  66. var status = "";
  67. for (var r = 0; r<res.data.recordTemplate.recordStatusList.length; r++) {
  68. status =` <div class="text mar_bottom">
  69. <p class="title_style"><span style="color: red;position: relative;top: 3px;">*</span>${res.data.recordTemplate.recordStatusList[r].statusContent}:</p>
  70. <div class="radio_list">
  71. <input type="text" class="moreStatusA input_style moreStatus${res.data.recordTemplate.recordStatusList[r].id}" value="选择" statusId="${res.data.recordTemplate.recordStatusList[r].statusId}" readonly>
  72. <i class="ico"></i>
  73. </div>
  74. </div>`;
  75. var ids = res.data.recordTemplate.recordStatusList[r].id,statusContents = res.data.recordTemplate.recordStatusList[r].statusContent;
  76. var statusItemLists = res.data.recordTemplate.recordStatusList[r].statusItemList;
  77. $('.status_l').append(status);
  78. var itmes = {title:'',value:''},itmesArray = [];
  79. for (var j= 0;j<statusItemLists.length;j++) {
  80. itmes = {};
  81. itmes.title = statusItemLists[j].statusContent;
  82. itmes.value = statusItemLists[j].id;
  83. itmesArray.push(itmes)
  84. }
  85. $(".moreStatus"+ids).select({
  86. title: statusContents,
  87. multi: true,
  88. items: itmesArray
  89. });
  90. }
  91. }else {
  92. var status = "";
  93. status = `<div class="text mar_bottom">
  94. <p class="title_style"><span style="color: red;position: relative;top: 3px;">*</span>${res.data.recordTemplate.statusName}:</p>
  95. <input type="text" class="input_style statusContent" placeholder="请输入${res.data.recordTemplate.statusName}">
  96. </div>`;
  97. $('.status_l').append(status);
  98. }
  99. if (res.data.recordTemplate.checkItemList != "") {
  100. for (var t = 0; t < res.data.recordTemplate.checkItemList.length; t++) {
  101. if (res.data.recordTemplate.checkItemList[t].group.checkType === "checkbox") {
  102. var inTerm = `<div class="text mar_bottom">
  103. <p class="title_style">${res.data.recordTemplate.checkItemList[t].group.groupName}:</p>
  104. <div class="radio_list">
  105. <input type="text" class="input_style inspectTremA inspectTrem${res.data.recordTemplate.checkItemList[t].group.checkType}" value="选择" readonly>
  106. <i class="ico"></i>
  107. </div>
  108. </div>`;
  109. $('.inspectTremCon').append(inTerm);
  110. var ids = res.data.recordTemplate.checkItemList[t].group.checkType,Items = res.data.recordTemplate.checkItemList[t].checkItemList;
  111. inspectTremConFun(Items,ids)
  112. }else if (res.data.recordTemplate.checkItemList[t].group.checkType === "radio") {
  113. var inTerm = `<div class="text mar_bottom">
  114. <p class="title_style">${res.data.recordTemplate.checkItemList[t].group.groupName}:</p>
  115. <div class="radio_list">
  116. <input type="text" class="input_style inspectTremA inspectTrem${res.data.recordTemplate.checkItemList[t].group.checkType}" value="选择" readonly>
  117. <i class="ico"></i>
  118. </div>
  119. </div>`;
  120. $('.inspectTremCon').append(inTerm);
  121. var ids = res.data.recordTemplate.checkItemList[t].group.checkType,Items = res.data.recordTemplate.checkItemList[t].checkItemList;
  122. inspectTremConRadioFun(Items,ids)
  123. }
  124. }
  125. }
  126. for (var i = 0; i < recordArray.length; i++) {
  127. if(recordArray[i].inputType === 'text'){
  128. var str =`<div class="text mar_bottom">
  129. <p class="title_style">${recordArray[i].inputName}:</p>
  130. <input type="text" class="input_style recordTrems" placeholder="请输入${recordArray[i].inputName}" recordTrem-id="${recordArray[i].id}">
  131. </div>`;
  132. $('.warp_form').append(str)
  133. }else if (recordArray[i].inputType === "dateTime") {
  134. var str =` <div class="text mar_bottom">
  135. <p class="title_style">${recordArray[i].inputName}:</p>
  136. <input type="datetime-local" class="input_style recordTrems" recordTrem-id="${recordArray[i].id}">
  137. </div>`
  138. $('.warp_form').append(str)
  139. }else if (recordArray[i].inputType === "date") {
  140. var str =`<div class="text mar_bottom">
  141. <p class="title_style">${recordArray[i].inputName}:</p>
  142. <input type="date" class="input_style recordTrems" recordTrem-id="${recordArray[i].id}">
  143. </div>`
  144. $('.warp_form').append(str)
  145. }else if (recordArray[i].inputType === "file") {
  146. var str =`<div class="text mar_bottom listsItem01 fileList_warp" recordTrem-id="${recordArray[i].id}">
  147. <p class="title_style">${recordArray[i].inputName}:</p>
  148. <div class="upload_warp">
  149. <ul class="fileList flex-wrap">
  150. <li class="lastUpload">
  151. <div class="upload_files camera-area">
  152. <form enctype="multipart/form-data" method="post">
  153. <div class="weui-uploader__input-box">
  154. <input id="fileToUploads" class="weui-uploader__input fileToUpload fileToUpload1" type="file" accept=".xls,.doc,.ppt,.pdf,.zip,.rar"">
  155. </div>
  156. </form>
  157. </div>
  158. </li>
  159. </ul>
  160. </div>
  161. </div>`
  162. $('.warp_form').append(str)
  163. }else if (recordArray[i].inputType === "mp3") {
  164. var str =`<div class="text mar_bottom mp3_text" recordTrem-id="${recordArray[i].id}">
  165. <p class="title_style">${recordArray[i].inputName}:</p>
  166. <div class="upload_mp3 Sound_m">
  167. <form enctype="multipart/form-data" method="post">
  168. <input type="file" name="fileToUpload" id="audioUpload" accept="audio/*" capture="microphone" class="mp3File fileToUpload"/>
  169. </form>
  170. <span class="mp3"></span>
  171. </div>
  172. </div>`
  173. $('.warp_form').append(str)
  174. }else if (recordArray[i].inputType === "number") {
  175. var str =` <div class="text mar_bottom">
  176. <p class="title_style">${recordArray[i].inputName}:</p>
  177. <input type="number" class="input_style recordTrems" recordTrem-id="${recordArray[i].id}">
  178. </div>`
  179. $('.warp_form').append(str)
  180. }else if (recordArray[i].inputType === "photo") {
  181. var str =`<div class="text mar_bottom listsItem01 photoFile" recordTrem-id="${recordArray[i].id}">
  182. <p class="title_style">${recordArray[i].inputName}:</p>
  183. <div class="weui-cell">
  184. <div class="weui-cell__bd">
  185. <div class="weui-uploader">
  186. <div class="weui-uploader__bd">
  187. <ul class="weui-uploader__files" id="uploaderFiles">
  188. <li class="upload_imgs">
  189. <div class="weui-uploader__input-box">
  190. <input id="uploaderInput" class="weui-uploader__input" type="file" accept="image/jpg,image/jpeg,image/png,image/gif" multiple="">
  191. </div>
  192. </li>
  193. </ul>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. </div>`;
  199. $('.warp_form').append(str)
  200. }else if (recordArray[i].inputType === "radio") {
  201. var str =`<div class="text mar_bottom">
  202. <p class="title_style">${recordArray[i].inputName}:</p>
  203. <div class="radio_list">
  204. <input type="text" class="input_style changeInput input_radio Singleelection${recordArray[i].id}" recordTrem-id="${recordArray[i].id}" placeholder="请选择" readonly>
  205. <i class="ico"></i>
  206. </div>
  207. </div>`;
  208. $('.warp_form').append(str);
  209. var item = recordArray[i].inputItemList;
  210. radioRecord(item,recordArray[i].id);
  211. }else if (recordArray[i].inputType === "video") {
  212. var str =` <div class="text mar_bottom vedio_text" recordTrem-id="${recordArray[i].id}">
  213. <p class="title_style">${recordArray[i].inputName}:</p>
  214. <div class="upload_vedio videoFlie" style="position: relative;">
  215. <form enctype="multipart/form-data" method="post">
  216. <input type="file" name="fileToUpload" id="vedioUpload" accept="video/*" class="mp3File fileToUpload"/>
  217. </form>
  218. <span class="upload_vedioBtn"></span>
  219. </div>
  220. </div>`
  221. $('.warp_form').append(str)
  222. }else if (recordArray[i].inputType === "checkbox") {
  223. var str =` <div class="text mar_bottom">
  224. <p class="title_style">${recordArray[i].inputName}:</p>
  225. <div class="radio_list">
  226. <input type="text" class="input_style changeInput moreChange moreChange${recordArray[i].id}" placeholder="请选择" recordTrem-id="${recordArray[i].id}" readonly>
  227. <i class="ico"></i>
  228. </div>
  229. </div>`;
  230. $('.warp_form').append(str);
  231. var itemCheckbox = recordArray[i].inputItemList;
  232. checkboxRecord(itemCheckbox,recordArray[i].id);
  233. }
  234. }
  235. }
  236. },
  237. error:function () {
  238. }
  239. })
  240. }
  241. // 提交信息
  242. $('.submitBtn').click(function () {
  243. // 检查项
  244. var inspectTremA = $('.inspectTremA'),checkItemArray = [];
  245. inspectTremA.each(function () {
  246. $(this).attr('inspectTrem-info');
  247. if ($(this).attr('inspectTrem-info') !=undefined) {
  248. var arr = JSON.parse($(this).attr('inspectTrem-info'));
  249. console.log('00aaa0')
  250. for (var i = 0; i < arr.length; i++) {
  251. checkItemArray.push(arr[i])
  252. }
  253. }
  254. });
  255. console.log('checkItemArray',checkItemArray)
  256. // 记录项
  257. var inutItme =[],recordTrems = $('.recordTrems'),inputObj = {inputId:'',inputValue:''},changeInput = $('.changeInput');
  258. recordTrems.each(function () {
  259. inputObj = {};
  260. var inputValue = $(this).val(),inputId = $(this).attr('recordTrem-id');
  261. inputObj.inputId = inputId;
  262. inputObj.inputValue = inputValue;
  263. inutItme.push(inputObj);
  264. });
  265. changeInput.each(function () {
  266. inputObj = {};
  267. inputObj.inputId = $(this).attr('recordTrem-id');
  268. inputObj.inputValue = $(this).attr('data-values');
  269. inutItme.push(inputObj);
  270. });
  271. // 录音
  272. var mp3_text = $('.mp3_text');
  273. mp3_text.each(function () {
  274. inputObj = {};
  275. inputObj.inputId = $(this).attr('recordTrem-id');
  276. inputObj.inputValue = $(this).find('.audio_a').attr('fullURL');
  277. inutItme.push(inputObj);
  278. });
  279. // 视频
  280. var vedio_text = $('.vedio_text');
  281. vedio_text.each(function () {
  282. inputObj = {};
  283. inputObj.inputId = $(this).attr('recordTrem-id');
  284. inputObj.inputValue = $(this).find('.video_a').attr('file-Url');
  285. inutItme.push(inputObj);
  286. });
  287. // 文件
  288. var fileList_warp = $('.fileList_warp'),fileArray = [],fileName = [];
  289. fileList_warp.each(function () {
  290. inputObj = {};
  291. inputObj.inputId = $(this).attr('recordTrem-id');
  292. var fileList = $(this).find('.fileList .flex-con');
  293. fileList.each(function () {
  294. fileArray.push($(this).attr('file-Url')+"-"+$(this).attr('file-Name'));
  295. });
  296. inputObj.inputValue = fileArray.join(',');
  297. inutItme.push(inputObj);
  298. });
  299. // 图片
  300. var photoFile = $('.photoFile'),photoArray = [];
  301. photoFile.each(function () {
  302. inputObj = {};
  303. inputObj.inputId = $(this).attr('recordTrem-id');
  304. var photoList = $(this).find('.weui-uploader__files .weui-uploader__file');
  305. photoList.each(function () {
  306. photoArray.push($(this).attr('img-Url'));
  307. });
  308. inputObj.inputValue = photoArray.join(',');
  309. inutItme.push(inputObj);
  310. });
  311. // 状态
  312. var moreStatusA = $('.moreStatusA'),statusA = [],statusObj = {statusId:"",statusValue:''};
  313. moreStatusA.each(function () {
  314. statusObj = {};
  315. statusObj.statusId = $(this).attr('statusId');
  316. statusObj.statusValue = $(this).attr('data-values');
  317. statusA.push(statusObj);
  318. });
  319. // 状态
  320. var Infos = {
  321. checkItems:checkItemArray,
  322. createBy:JSON.parse(getItem('UserQrcode')).userId,
  323. createName:JSON.parse(getItem('UserQrcode')).userName,
  324. inputs:inutItme,
  325. pageId:QrcordeID,
  326. pageRecordParentId:getItem('parentIds'),
  327. recordParentId:'',
  328. status:statusA.length !=0? statusA : [],
  329. statusContent:$('.statusContent').val(),
  330. templateId:temlateID,
  331. templateName:temlateNames
  332. };
  333. axios({
  334. headers: {
  335. 'X-Requested-With': 'XMLHttpRequest',
  336. 'Content-Type': 'application/json;charset=UTF-8',
  337. 'Access-Control-Allow-Origin': '*'
  338. },
  339. method: 'post',
  340. url: Url+'/record/v1/addRecordInstance',
  341. data:Infos
  342. }).then(function(res){
  343. if (res.data.code === '200'){
  344. $.toast("提交成功");
  345. location.href = 'static/note-detail.html?recodeID='+res.data.data;
  346. // console.log(res.data.data)
  347. // location.href = 'static/note-detail.html?recodeID=dacea08a0e2544e3be6ec01f4833fcf9'
  348. }
  349. }).catch(function(e){
  350. });
  351. });
  352. // 记录项多选-单选
  353. function checkboxRecord(list,id) {
  354. var itmes = {title:'',value:''},itmesArray = [];
  355. for (var j= 0;j<list.length;j++) {
  356. itmes = {};
  357. itmes.title = list[j].itemValue;
  358. itmes.value = list[j].id;
  359. itmesArray.push(itmes)
  360. }
  361. $(".moreChange"+id).select({
  362. // title: statusContents,
  363. multi: true,
  364. items: itmesArray
  365. });
  366. }
  367. function radioRecord(list,id) {
  368. var itmes = {title:'',value:''},itmesArray = [];
  369. for (var j= 0;j<list.length;j++) {
  370. itmes = {};
  371. itmes.title = list[j].itemValue;
  372. itmes.value = list[j].id;
  373. itmesArray.push(itmes)
  374. }
  375. $(".Singleelection"+id).select({
  376. multi: false,
  377. items: itmesArray
  378. });
  379. }
  380. // 检查项
  381. // checkbox
  382. function inspectTremConFun(list,id) {
  383. var itmes = {title:'',value:'',instanceValue:'true'},itmesArray = [];
  384. for (var j= 0;j<list.length;j++) {
  385. itmes = {};
  386. itmes.title = list[j].itemValue;
  387. itmes.value = list[j].id;
  388. itmes.instanceValue = 'true';
  389. itmesArray.push(itmes)
  390. }
  391. $(".inspectTrem"+id).select({
  392. // title: statusContents,
  393. multi: true,
  394. items: itmesArray,
  395. onChange:function (res) {
  396. var obj = {checkItemId:'',instanceValue:''},TremArray=[];
  397. for (var i = 0; i < res.origins.length; i++) {
  398. obj = {};
  399. obj.checkItemId = res.origins[i].value;
  400. obj.instanceValue = res.origins[i].instanceValue
  401. TremArray.push(obj)
  402. }
  403. $('.inspectTrem'+id).attr('inspectTrem-info',JSON.stringify(TremArray))
  404. }
  405. });
  406. }
  407. // radio
  408. function inspectTremConRadioFun(list,id) {
  409. var itmes = {title:'',value:'',instanceValue:'true'},itmesArray = [];
  410. for (var j= 0;j<list.length;j++) {
  411. itmes = {};
  412. itmes.title = list[j].itemValue;
  413. itmes.value = list[j].id;
  414. itmes.instanceValue = 'true';
  415. itmesArray.push(itmes)
  416. }
  417. $(".inspectTrem"+id).select({
  418. multi: false,
  419. items: itmesArray,
  420. onChange:function (res) {
  421. var obj = {checkItemId:'',instanceValue:'true'},TremArray=[];
  422. for (var i = 0; i < res.origins.length; i++) {
  423. obj = {};
  424. obj.checkItemId = res.origins[i].value;
  425. obj.instanceValue = res.origins[i].instanceValue;
  426. TremArray.push(obj)
  427. }
  428. $('.inspectTrem'+id).attr('inspectTrem-info',JSON.stringify(TremArray))
  429. }
  430. });
  431. }
  432. });