edit.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <link rel="stylesheet" href="../../lib/layui-v2.5.5/css/layui.css" media="all">
  7. <link rel="stylesheet" href="../../css/public.css" media="all">
  8. <link rel="stylesheet" href="../../lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
  9. <style>
  10. body {
  11. background-color: #ffffff;
  12. }
  13. .layui-form-item .layui-input-inline {
  14. width: 30%;
  15. }
  16. .layui-form-label {
  17. /*width: 90px;*/
  18. }
  19. #gdnd, #wjxcsj, #wjdqsj {
  20. cursor: pointer;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="layui-form layuimini-form" lay-filter="addDict">
  26. <div class="layui-form-item">
  27. <div class="layui-input-inline">
  28. <label class="layui-form-label required">归档年度:</label>
  29. <div class="layui-input-block">
  30. <input type="text" class="layui-input" name="gdnd" id="gdnd" lay-filter="gdnd" readonly>
  31. </div>
  32. </div>
  33. <div class="layui-input-inline">
  34. <label class="layui-form-label required">全宗号:</label>
  35. <div class="layui-input-block">
  36. <input type="hidden" class="layui-input" name="`id" id="id">
  37. <select name="qzh" id="qzh" lay-filter="qzh">
  38. <option value="-1">请选择全宗号</option>
  39. </select>
  40. </div>
  41. </div>
  42. <div class="layui-input-inline" id="mlh-container">
  43. <label class="layui-form-label">目录号:</label>
  44. <div class="layui-input-block">
  45. <input type="number" class="layui-input" name="mlh" id="mlh" lay-filter="mlh">
  46. </div>
  47. </div>
  48. </div>
  49. <div class="layui-form-item">
  50. <div class="layui-input-inline">
  51. <label class="layui-form-label required">档案门类:</label>
  52. <div class="layui-input-block">
  53. <input type="hidden" id="mlId" class="layui-input">
  54. <input type="hidden" id="mlCode" class="layui-input">
  55. <select name="ml" id="ml" lay-filter="ml">
  56. <option value="-1">请选择档案门类</option>
  57. </select>
  58. </div>
  59. </div>
  60. <div class="layui-input-inline">
  61. <label class="layui-form-label required">保管期限:</label>
  62. <div class="layui-input-block">
  63. <select name="bgqx" id="bgqx" lay-filter="bgqx">
  64. <option value="-1">请选择保管期限</option>
  65. </select>
  66. </div>
  67. </div>
  68. <div class="layui-input-inline">
  69. <label class="layui-form-label required">档号:</label>
  70. <div class="layui-input-block">
  71. <input type="text" class="layui-input" id="dh" name="dh">
  72. </div>
  73. </div>
  74. </div>
  75. <div class="layui-form-item">
  76. <label class="layui-form-label">题名:</label>
  77. <div class="layui-input-block">
  78. <input type="text" class="layui-input" name="tm" id="tm" lay-filter="tm">
  79. </div>
  80. </div>
  81. <div class="layui-form-item">
  82. <div class="layui-input-inline">
  83. <label class="layui-form-label required">文件形成时间:</label>
  84. <div class="layui-input-block">
  85. <input type="text" class="layui-input" name="wjxcsj" id="wjxcsj" lay-filter="wjxcsj" readonly>
  86. </div>
  87. </div>
  88. <div class="layui-input-inline">
  89. <label class="layui-form-label required">文件到期时间:</label>
  90. <div class="layui-input-block">
  91. <input type="text" class="layui-input" name="wjdqsj" id="wjdqsj" lay-filter="wjdqsj" readonly>
  92. </div>
  93. </div>
  94. <div class="layui-input-inline">
  95. <label class="layui-form-label required">件号:</label>
  96. <div class="layui-input-block">
  97. <input type="number" class="layui-input" name="jh" id="jh" lay-filter="jh">
  98. </div>
  99. </div>
  100. <div class="layui-input-inline">
  101. <label class="layui-form-label">文件编号(文号):</label>
  102. <div class="layui-input-block">
  103. <input type="text" class="layui-input" name="wjbh" id="wjbh" lay-filter="wjbh">
  104. </div>
  105. </div>
  106. <div class="layui-input-inline">
  107. <label class="layui-form-label required">密级:</label>
  108. <div class="layui-input-block">
  109. <select name="mj" id="mj" lay-filter="mj">
  110. <option value="-1">请选择密级</option>
  111. </select>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="layui-form-item">
  116. <div class="layui-input-inline">
  117. <label class="layui-form-label">载体数量:</label>
  118. <div class="layui-input-block">
  119. <input type="number" class="layui-input" name="ztsl" id="ztsl" lay-filter="ztsl">
  120. </div>
  121. </div>
  122. <div class="layui-input-inline">
  123. <label class="layui-form-label">主办部门:</label>
  124. <div class="layui-input-block">
  125. <input type="text" class="layui-input" name="zbbm" id="zbbm" lay-filter="zbbm">
  126. </div>
  127. </div>
  128. <div class="layui-input-inline">
  129. <label class="layui-form-label">协办部门:</label>
  130. <div class="layui-input-block">
  131. <input type="text" class="layui-input" name="xbbm" id="xbbm" lay-filter="xbbm">
  132. </div>
  133. </div>
  134. </div>
  135. <div class="layui-form-item">
  136. <div class="layui-input-inline">
  137. <label class="layui-form-label">页数:</label>
  138. <div class="layui-input-block">
  139. <input type="number" class="layui-input" name="ys" id="ys" lay-filter="ys">
  140. </div>
  141. </div>
  142. <div class="layui-input-inline">
  143. <label class="layui-form-label">内容概述:</label>
  144. <div class="layui-input-block">
  145. <input type="text" class="layui-input" name="nrgs" id="nrgs" lay-filter="nrgs">
  146. </div>
  147. </div>
  148. </div>
  149. <div class="layui-form-item">
  150. <div class="layui-input-inline">
  151. <label class="layui-form-label">责任者:</label>
  152. <div class="layui-input-block">
  153. <input type="text" class="layui-input" name="zrz" id="zrz" lay-filter="zrz">
  154. </div>
  155. </div>
  156. <div class="layui-input-inline">
  157. <label class="layui-form-label">存放位置描述:</label>
  158. <div class="layui-input-block">
  159. <input type="text" class="layui-input" name="cfwzms" id="cfwzms" lay-filter="cfwzms">
  160. </div>
  161. </div>
  162. <div class="layui-input-inline">
  163. <label class="layui-form-label">备注:</label>
  164. <div class="layui-input-block">
  165. <input type="text" class="layui-input" name="bz" id="bz" lay-filter="bz">
  166. </div>
  167. </div>
  168. </div>
  169. <div class="layui-form-item">
  170. </div>
  171. <div class="layui-form-item">
  172. <div class="layui-input-inline" style="display: none" id="hsdwdh-container">
  173. <label class="layui-form-label">核算单位代号:</label>
  174. <div class="layui-input-block">
  175. <input type="number" max="99" class="layui-input" name="hsdwdh" id="hsdwdh" lay-filter="hsdwdh">
  176. </div>
  177. </div>
  178. <div class="layui-input-inline" style="display: none" id="xmdh-container">
  179. <label class="layui-form-label">项目代号/设备代号:</label>
  180. <div class="layui-input-block">
  181. <input type="number" max="9999" class="layui-input" name="xmdh" id="xmdh" lay-filter="xmdh">
  182. </div>
  183. </div>
  184. </div>
  185. <!-- <div class="layui-form-item">-->
  186. <!-- <button type="button" class="layui-btn layui-btn-normal" id="selectFile">选择多文件</button>-->
  187. <!-- <div class="layui-upload-list">-->
  188. <!-- <table class="layui-table">-->
  189. <!-- <thead>-->
  190. <!-- <tr><th>文件名</th>-->
  191. <!-- <th>大小</th>-->
  192. <!-- <th>状态</th>-->
  193. <!-- <th>操作</th>-->
  194. <!-- </tr></thead>-->
  195. <!-- <tbody id="file-list"></tbody>-->
  196. <!-- </table>-->
  197. <!-- </div>-->
  198. <!-- <button type="button" class="layui-btn" id="start-upload">开始上传</button>-->
  199. <!-- </div>-->
  200. <div class="layui-form-item">
  201. <div class="layui-input-block">
  202. <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button>
  203. </div>
  204. </div>
  205. </div>
  206. <script src="../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
  207. <script src="../../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
  208. <script>
  209. layui.use(['form', 'http', 'iconPickerFa', 'treeSelect', 'laydate', 'upload'], function () {
  210. /**变-------------------------------量-------------------------------定-------------------------------义*/
  211. var form = layui.form,
  212. layer = layui.layer,
  213. http = layui.http,
  214. $ = layui.$,
  215. laydate = layui.laydate,
  216. upload = layui.upload,
  217. treeSelect = layui.treeSelect;
  218. let id = $('#id').val(),
  219. mlCode = $('#mlCode').val()
  220. mlId = $('#mlId').val()
  221. /**方-------------------------------法-------------------------------定-------------------------------义*/
  222. /** 初始化日期控件*/
  223. let initDate = function () {
  224. laydate.render({
  225. elem: '#gdnd',
  226. type: 'year',
  227. trigger: 'click'
  228. });
  229. laydate.render({
  230. elem: '#wjxcsj',
  231. type: 'date',
  232. trigger: 'click',
  233. done: (value, date) => {
  234. console.log(value)
  235. console.log(date)
  236. }
  237. });
  238. laydate.render({
  239. elem: '#wjdqsj',
  240. type: 'date',
  241. trigger: 'click'
  242. });
  243. }
  244. let initUpload = function () {
  245. let fileList = $('#file-list')
  246. let uploadListIns = upload.render({
  247. elem: '#selectFile'
  248. , url: http.requestUrl + 'system/file/upload'
  249. , headers: {
  250. accessToken: (layui.data('auth').data ? layui.data('auth').data.accessToken : '') || ''
  251. }
  252. , accept: 'file'
  253. , multiple: true
  254. , auto: false
  255. , bindAction: '#start-upload'
  256. , choose: function (obj) {
  257. var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  258. //读取本地文件
  259. obj.preview(function (index, file, result) {
  260. var tr = $(['<tr id="upload-' + index + '">'
  261. , '<td>' + file.name + '</td>'
  262. , '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
  263. , '<td>等待上传</td>'
  264. , '<td>'
  265. , '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
  266. , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
  267. , '</td>'
  268. , '</tr>'].join(''));
  269. //单个重传
  270. tr.find('.demo-reload').on('click', function () {
  271. obj.upload(index, file);
  272. });
  273. //删除
  274. tr.find('.demo-delete').on('click', function () {
  275. delete files[index]; //删除对应的文件
  276. tr.remove();
  277. uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
  278. });
  279. fileList.append(tr);
  280. });
  281. }
  282. , done: function (res, index, upload) {
  283. console.log(res)
  284. if (res.code === 200) { //上传成功
  285. var tr = fileList.find('tr#upload-' + index)
  286. , tds = tr.children();
  287. tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
  288. tds.eq(3).html(''); //清空操作
  289. return delete this.files[index]; //删除文件队列已经上传成功的文件
  290. }
  291. this.error(index, upload);
  292. }
  293. , error: function (index, upload) {
  294. var tr = fileList.find('tr#upload-' + index)
  295. , tds = tr.children();
  296. tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
  297. tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
  298. }
  299. });
  300. // upload.render({
  301. // elem: '#fj'
  302. // , url: http.requestUrl + 'system/file/upload' //改成您自己的上传接口
  303. // , auto: true
  304. // , headers: {
  305. // accessToken: (layui.data('auth').data ? layui.data('auth').data.accessToken : '') || ''
  306. // }
  307. // , accept: 'file' //普通文件
  308. // , multiple: true
  309. // , bindAction: '#partyTableUpload'
  310. // , data: {
  311. // // fileId: function () {
  312. // // return partyTable
  313. // // }
  314. // }
  315. // , choose: function (obj) {
  316. // var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  317. // //读取本地文件
  318. // obj.preview(function (index, file, result) {
  319. // var tr = $(['<tr id="upload-' + index + '">'
  320. // , '<td><div class="layui-table-cell laytable-cell-1-0-0" style="padding: 0 15px;">' + file.name + '</div></td>'
  321. // , '<td align="center"><div class="layui-table-cell laytable-cell-1-0-0" style="margin-right: 2px;">'
  322. // , '<button class="layui-btn layui-btn-xs demo-reload layui-hide" style="border: 1px;padding: 0 6px">重传</button>'
  323. // , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="margin-left: 13px;border: 1px;padding: 0 5px" >删除</button>'
  324. // , '</div></td>'
  325. // , '</tr>'].join(''));
  326. //
  327. // //单个重传
  328. // tr.find('.demo-reload').on('click', function () {
  329. // obj.upload(index, file);
  330. // });
  331. //
  332. // //删除
  333. // tr.find('.demo-delete').on('click', function () {
  334. // delete files[index]; //删除对应的文件
  335. // tr.remove();
  336. // upload.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
  337. // });
  338. // // $('.layui-table-body').children('.layui-table').prepend(tr);
  339. // // partyTableShow.prepend(tr);
  340. // });
  341. // }
  342. // , before: function (obj) { //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
  343. // layer.load(); //上传loading
  344. // }
  345. // , done: function (res, index, upload) {
  346. // if (res.code = 200) { //上传成功
  347. // layer.msg('上传成功');
  348. // delete this.files[index] //删除文件队列已经上传成功的文件
  349. // // partyTable = res.data.fileId
  350. // // renderTablePartyFile()
  351. // return;
  352. // }
  353. // this.error(index, upload);
  354. // }
  355. // , error: function (index, upload) {
  356. // var tr = partyTableShow.find('tr#upload-' + index)
  357. // , tds = tr.children();
  358. // tds.eq(0).html('<span style="color: #FF5722;">上传失败</span>');
  359. // tds.eq(1).find('.demo-reload').removeClass('layui-hide'); //显示重传
  360. // }
  361. // });
  362. }
  363. // 保存方法
  364. let save = function (data) {
  365. http.post(id == '' ? 'archive/archive/insert' : 'archive/archive/update', data, true, function (res) {
  366. if (res.code == 200) {
  367. let index = layer.alert('保存成功!', {
  368. title: id == '' ? '添加' : '修改' + '信息'
  369. }, function () {
  370. // 关闭弹出层
  371. layer.close(index);
  372. let iframeIndex = parent.layer.getFrameIndex(window.name);
  373. parent.layer.close(iframeIndex);
  374. });
  375. }
  376. })
  377. }
  378. let loadDictSelect = function () {
  379. switch (mlCode) {
  380. case 'WS':
  381. $('#mlh-container').hide()
  382. break;
  383. case 'KU':
  384. $("#hsdwdh-container").show()
  385. break;
  386. case 'KJ':
  387. $("#xmdh-container").show()
  388. break;
  389. }
  390. http.get('system/archivesTree/selectChildById', {
  391. id: mlId
  392. }, false, res => {
  393. let html = '';
  394. for (let i in res.data) {
  395. html += '<option value="' + res.data[i].code + '">' + res.data[i].title + '</option>'
  396. }
  397. $("#ml").append(html)
  398. form.render();//菜单渲染 把内容加载进去
  399. })
  400. // 加载全宗号
  401. http.get('system/dict/selectDictByCode', {code: 'QUANZONGHAO'}, false, function (res) {
  402. let html = '';
  403. for (let i in res.data) {
  404. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  405. }
  406. $("#qzh").append(html)
  407. form.render();//菜单渲染 把内容加载进去
  408. })
  409. // 加载密集
  410. http.get('system/dict/selectDictByCode', {code: 'MIJI'}, false, function (res) {
  411. let html = '';
  412. for (let i in res.data) {
  413. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  414. }
  415. $("#mj").append(html)
  416. form.render();//菜单渲染 把内容加载进去
  417. })
  418. }
  419. // 加载数据
  420. let initData = function () {
  421. if (id != '') {
  422. http.get('/archive/archive/selectByPrimaryKey', {
  423. id: id
  424. }, false, function (res) {
  425. form.val("addDict", res.data);
  426. form.render();
  427. })
  428. }
  429. }
  430. /**事-------------------------------件-------------------------------绑-------------------------------定*/
  431. initDate()
  432. initUpload()
  433. loadDictSelect()
  434. initData()
  435. //监听提交
  436. form.on('submit(saveBtn)', function (data) {
  437. let icon = 'fa '
  438. icon += data.field.icon
  439. data.field.icon = icon
  440. save(data.field)
  441. });
  442. form.on('select(ml)', function (data) {
  443. // 加载保管期限
  444. http.get('system/dict/selectDictByCode', {code: data.value === 'WS' ? 'BAOGUANQIXIANYI' : 'BAOGUANQIXIANER'}, false, function (res) {
  445. let html = '';
  446. for (let i in res.data) {
  447. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  448. }
  449. $("#bgqx").append(html)
  450. form.render();//菜单渲染 把内容加载进去
  451. })
  452. });
  453. form.on('select(bgqx)', function (data) {
  454. console.log(data)
  455. });
  456. });
  457. </script>
  458. </body>
  459. </html>