edit.html 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860
  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-label {
  14. padding-left: 0;
  15. }
  16. .layui-form-item {
  17. text-align: center;
  18. }
  19. .layui-form-item .layui-input-inline {
  20. width: 100px;
  21. min-width: 100px;
  22. }
  23. .layui-main {
  24. min-width: 1000px;
  25. width: 1000px;
  26. }
  27. .layui-btn {
  28. /*display: block;*/
  29. /*margin: 0 auto;*/
  30. /*float: left;*/
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  36. <ul class="layui-tab-title">
  37. <li class="layui-this">编辑档案</li>
  38. <li id="file_tab_list">挂接</li>
  39. </ul>
  40. <div class="layui-tab-content">
  41. <div class="layui-tab-item layui-show">
  42. <div class="layui-main">
  43. <div class="layui-form layuimini-form" lay-filter="addDict" id="add" style="text-aglin:center">
  44. <input type="hidden" class="layui-input" name="id" id="id">
  45. <div class="layui-form-item">
  46. <label class="layui-form-label required">归档年度:</label>
  47. <div class="layui-input-inline" style="">
  48. <input type="text" class="layui-input" placeholder="请选择归档年度" name="gdnd" id="gdnd"
  49. lay-filter="gdnd"
  50. lay-verify="required" lay-reqtext="归档年度不能为空" readonly>
  51. </div>
  52. <label class="layui-form-label required">档案门类:</label>
  53. <div class="layui-input-inline">
  54. <!-- <input type="hidden" id="mlId" class="layui-input">-->
  55. <!-- <input type="hidden" id="mlCode" class="layui-input">-->
  56. <input type="text" id="ml" name="ml" lay-filter="ml" class="layui-input">
  57. <!-- <select name="ml" id="ml" lay-filter="ml" lay-verify="required" lay-reqtext="档案门类不能为空">-->
  58. <!-- <option value="">请选择档案门类</option>-->
  59. <!-- </select>-->
  60. </div>
  61. <label class="layui-form-label required">全宗号:</label>
  62. <div class="layui-input-inline">
  63. <select name="qzh" id="qzh" lay-filter="qzh" lay-verify="required" lay-reqtext="全宗号不能为空">
  64. <option value="">请选择全宗号</option>
  65. </select>
  66. </div>
  67. <label class="layui-form-label required">目录号:</label>
  68. <div class="layui-input-inline">
  69. <input type="number" class="layui-input" placeholder="请输入目录号" name="mlh" id="mlh"
  70. lay-filter="mlh"
  71. lay-verify="required" lay-reqtext="目录号不能为空">
  72. </div>
  73. </div>
  74. <div class="layui-form-item" id="hide_div">
  75. </div>
  76. <div class="layui-form-item">
  77. <label class="layui-form-label required" id="jh_label">卷(件)号:</label>
  78. <div class="layui-input-inline">
  79. <input type="number" class="layui-input" name="jh" id="jh" placeholder="请输入件号"
  80. lay-filter="jh"
  81. lay-verify="required" lay-reqtext="件号不能为空" min="0">
  82. </div>
  83. <label class="layui-form-label required">保管期限:</label>
  84. <div class="layui-input-inline">
  85. <select name="bgqx" id="bgqx" lay-filter="bgqx" lay-verify="required"
  86. lay-reqtext="保管期限不能为空">
  87. <option value="">请选择保管期限</option>
  88. </select>
  89. </div>
  90. <label class="layui-form-label required">档号:</label>
  91. <div class="layui-input-inline" style="width: 344px;">
  92. <input type="text" class="layui-input" id="dh" name="dh" placeholder="自动生成"
  93. lay-verify="required"
  94. lay-reqtext="档号不能为空" readonly>
  95. </div>
  96. </div>
  97. <div class="layui-form-item">
  98. <label class="layui-form-label required">题名:</label>
  99. <div class="layui-input-inline" style="width: 834px;">
  100. <input type="text" class="layui-input" name="tm" id="tm" lay-filter="tm" placeholder="请输入题名"
  101. lay-verify="required" lay-reqtext="题名不能为空">
  102. </div>
  103. </div>
  104. <div class="layui-form-item">
  105. <label class="layui-form-label">内容概述:</label>
  106. <div class="layui-input-inline" style="width: 834px;">
  107. <textarea class="layui-textarea" name="nrgs" id="nrgs" placeholder="请输入内容概述"></textarea>
  108. </div>
  109. </div>
  110. <div class="layui-form-item">
  111. <label class="layui-form-label required">文件形成时间:</label>
  112. <div class="layui-input-inline" style="width: 135px;">
  113. <input type="text" class="layui-input" name="wjxcsj" id="wjxcsj" lay-filter="wjxcsj"
  114. placeholder="开始时间"
  115. lay-verify="required" lay-reqtext="文件形成时间不能为空" readonly>
  116. </div>
  117. <div class="layui-form-mid">-</div>
  118. <div class="layui-input-inline" style="width: 135px">
  119. <input type="text" class="layui-input" name="wjdqsj" id="wjdqsj" lay-filter="wjdqsj"
  120. placeholder="结束时间"
  121. lay-verify="required" lay-reqtext="文件形成时间不能为空" readonly>
  122. </div>
  123. <label class="layui-form-label required">归档日期:</label>
  124. <div class="layui-input-inline" style="width: 150px;">
  125. <input type="text" class="layui-input" name="gdrq" id="gdrq" lay-filter="wjdqsj"
  126. style="cursor: pointer"
  127. readonly>
  128. </div>
  129. <label class="layui-form-label required">密级:</label>
  130. <div class="layui-input-inline">
  131. <select name="mj" id="mj" lay-filter="mj" lay-verify="required" lay-reqtext="密级不能为空">
  132. <option value="">请选择密级</option>
  133. </select>
  134. </div>
  135. </div>
  136. <div class="layui-form-item">
  137. <label class="layui-form-label required">文件编号:</label>
  138. <div class="layui-input-inline">
  139. <input type="text" class="layui-input" name="wjbh" id="wjbh" lay-filter="wjbh"
  140. lay-verify="required"
  141. lay-reqtext="文号不能为空" placeholder="请输入文号">
  142. </div>
  143. <label class="layui-form-label required">责任者:</label>
  144. <div class="layui-input-inline">
  145. <input type="text" class="layui-input" name="zrz" id="zrz" lay-filter="zrz"
  146. lay-verify="required"
  147. lay-reqtext="责任者不能为空" placeholder="请输入责任者">
  148. </div>
  149. <label class="layui-form-label">载体数量:</label>
  150. <div class="layui-input-inline">
  151. <input type="number" class="layui-input" name="ztsl" id="ztsl" lay-filter="ztsl"
  152. placeholder="请输入载体数量"
  153. min="0">
  154. </div>
  155. <label class="layui-form-label">主题词:</label>
  156. <div class="layui-input-inline">
  157. <input type="number" class="layui-input" name="ztc" id="ztc" lay-filter="ztc"
  158. placeholder="请输入主题词">
  159. </div>
  160. </div>
  161. <div class="layui-form-item">
  162. <label class="layui-form-label">主办部门:</label>
  163. <div class="layui-input-inline" style="width: 344px;">
  164. <input type="text" class="layui-input" name="zbbm" id="zbbm" lay-filter="zbbm"
  165. placeholder="请输入主办部门">
  166. </div>
  167. <label class="layui-form-label">协办部门:</label>
  168. <div class="layui-input-inline" style="width: 344px;">
  169. <input type="text" class="layui-input" name="xbbm" id="xbbm" lay-filter="xbbm"
  170. placeholder="请输入协办部门">
  171. </div>
  172. </div>
  173. <div class="layui-form-item">
  174. <label class="layui-form-label">存放位置描述:</label>
  175. <div class="layui-input-inline" style="width: 834px;">
  176. <input type="text" class="layui-input" name="cfwzms" id="cfwzms" lay-filter="cfwzms"
  177. placeholder="请输入存在位置描述">
  178. </div>
  179. </div>
  180. <div class="layui-form-item">
  181. <label class="layui-form-label">备注:</label>
  182. <div class="layui-input-inline" style="width: 834px;">
  183. <textarea class="layui-textarea" name="bz" id="bz" placeholder="请输入备注"></textarea>
  184. </div>
  185. </div>
  186. <div class="layui-form-item">
  187. <button class="layui-btn layui-btn"
  188. id="cancel"
  189. style="background-color: white;color:#1E9FFF;border: 1px solid #1E9FFF">取消
  190. </button>
  191. <button id="zj" class="layui-btn" lay-submit lay-filter="zj" style="background-color: #f7b374">
  192. 追加
  193. </button>
  194. <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">保存</button>
  195. </div>
  196. </div>
  197. </div>
  198. </div>
  199. <div class="layui-tab-item">
  200. <div class="layuimini-container">
  201. <div class="layuimini-main">
  202. <div>
  203. <div class="layui-form toolbar">
  204. <div class="layui-form-item">
  205. <div class="layui-inline">
  206. <!-- <input type="hidden" id="archive_id" class="layui-input">-->
  207. <input type="hidden" id="fileType" name="fileType" class="layui-input">
  208. </div>
  209. <div class="layui-inline">
  210. <!-- <button id="upload" class="layui-btn icon-btn"><i-->
  211. <!-- class="layui-icon"></i>上传-->
  212. <!-- </button>-->
  213. </div>
  214. <!-- <div class="layui-inline">-->
  215. <!-- <button id="btnSearch" lay-submit lay-filter="search" class="layui-btn icon-btn"><i-->
  216. <!-- class="layui-icon"></i>搜索-->
  217. <!-- </button>-->
  218. <!-- </div>-->
  219. </div>
  220. </div>
  221. <table class="layui-hide" id="user-table" lay-filter="table"></table>
  222. </div>
  223. </div>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. <!-- 头部工具栏 -->
  229. <script type="text/html" id="toolbar">
  230. <!-- <button class="layui-btn layui-btn-sm" lay-event="upload" id="upload">上传</button>-->
  231. <!-- <a class="layui-btn layui-btn-sm" lay-even="aaa" >上传</a>-->
  232. <a class="layui-btn layui-btn-sm" lay-event="upload">上传</a>
  233. </script>
  234. <!-- 操作列 -->
  235. <script type="text/html" id="operating">
  236. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="openPDF">预览</a>
  237. <!-- <a class="layui-btn layui-btn-xs" lay-event="openPDF">下载</a>-->
  238. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
  239. </script>
  240. <script src="../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
  241. <script src="../../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
  242. <script>
  243. layui.use(['form', 'http', 'iconPickerFa', 'treeSelect', 'laydate', 'upload', 'element', 'table'], function () {
  244. /**变-------------------------------量-------------------------------定-------------------------------义*/
  245. var form = layui.form,
  246. layer = layui.layer,
  247. http = layui.http,
  248. $ = layui.$,
  249. element = layui.element,
  250. laydate = layui.laydate,
  251. upload = layui.upload,
  252. table = layui.table,
  253. treeSelect = layui.treeSelect;
  254. let id = $('#id').val();
  255. let bgqxappend = false;
  256. let fileType = $("#fileType").val()
  257. let curr = 1;
  258. let isAddhsdw = false;
  259. let isAddxmdh = false;
  260. let sl = '';
  261. let ml = '';
  262. /**方-------------------------------法-------------------------------定-------------------------------义*/
  263. /** 初始化日期控件*/
  264. let initDate = function () {
  265. laydate.render({
  266. elem: '#gdnd',
  267. type: 'year',
  268. trigger: 'click'
  269. });
  270. laydate.render({
  271. elem: '#wjxcsj',
  272. type: 'date',
  273. trigger: 'click',
  274. done: function (value, date) {
  275. let year = parseInt(value.substring(0, 4))
  276. let bgqx = $("#bgqx").val()
  277. if (bgqx) {
  278. switch (bgqx) {
  279. case '005':
  280. case 'D10':
  281. year += 10
  282. $("#wjdqsj").val(year + value.substring(4))
  283. break;
  284. case '004':
  285. case 'D30':
  286. year += 30
  287. $("#wjdqsj").val(year + value.substring(4))
  288. break;
  289. default:
  290. return;
  291. }
  292. }
  293. }
  294. });
  295. laydate.render({
  296. elem: '#gdrq',
  297. type: 'date',
  298. trigger: 'click',
  299. value: new Date()
  300. });
  301. laydate.render({
  302. elem: '#wjdqsj',
  303. type: 'date',
  304. trigger: 'click'
  305. });
  306. }
  307. let initUpload = function () {
  308. let fileList = $('#file-list')
  309. let uploadListIns = upload.render({
  310. elem: '#selectFile'
  311. , url: http.requestUrl + 'system/file/upload'
  312. , headers: {
  313. accessToken: (layui.data('auth').data ? layui.data('auth').data.accessToken : '') || ''
  314. }
  315. , accept: 'file'
  316. , multiple: true
  317. , auto: false
  318. , bindAction: '#start-upload'
  319. , choose: function (obj) {
  320. var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  321. //读取本地文件
  322. obj.preview(function (index, file, result) {
  323. var tr = $(['<tr id="upload-' + index + '">'
  324. , '<td>' + file.name + '</td>'
  325. , '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
  326. , '<td>等待上传</td>'
  327. , '<td>'
  328. , '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
  329. , '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
  330. , '</td>'
  331. , '</tr>'].join(''));
  332. //单个重传
  333. tr.find('.demo-reload').on('click', function () {
  334. obj.upload(index, file);
  335. });
  336. //删除
  337. tr.find('.demo-delete').on('click', function () {
  338. delete files[index]; //删除对应的文件
  339. tr.remove();
  340. uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
  341. });
  342. fileList.append(tr);
  343. });
  344. }
  345. , done: function (res, index, upload) {
  346. console.log(res)
  347. if (res.code === 200) { //上传成功
  348. var tr = fileList.find('tr#upload-' + index)
  349. , tds = tr.children();
  350. tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
  351. tds.eq(3).html(''); //清空操作
  352. return delete this.files[index]; //删除文件队列已经上传成功的文件
  353. }
  354. this.error(index, upload);
  355. }
  356. , error: function (index, upload) {
  357. var tr = fileList.find('tr#upload-' + index)
  358. , tds = tr.children();
  359. tds.eq(2).html('<span style="color: #ff5722;">上传失败</span>');
  360. tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
  361. }
  362. });
  363. }
  364. // 保存方法
  365. let save = function (data, method) {
  366. data.ml = sl
  367. http.post(id == '' ? 'archive/archive/insert' : 'archive/archive/update', data, true, function (res) {
  368. if (res.code == 200) {
  369. let index = layer.alert('保存成功!', {
  370. title: id == '' ? '添加' : '修改' + '信息'
  371. }, function () {
  372. if (method == 'save') {
  373. // 关闭弹出层
  374. let iframeIndex = parent.layer.getFrameIndex(window.name);
  375. parent.layer.close(iframeIndex);
  376. }
  377. layer.close(index);
  378. });
  379. }
  380. })
  381. }
  382. let getJh = function () {
  383. http.get('archive/archive/getJH', {
  384. code: ml
  385. }, false, function (res) {
  386. if (res.code == 200) {
  387. if (res.data) {
  388. $("#jh").val(res.data)
  389. } else {
  390. $("#jh").val(1)
  391. }
  392. }
  393. }
  394. )
  395. }
  396. // 加载下拉框
  397. let loadMlSelect = function () {
  398. // http.get('/system/menu/select',null,false,function (res) {
  399. // let html = ''
  400. // for (let index in res.data) {
  401. // html += '<option value="'+res.data[index].id+'">'+res.data[index].title+'</option>'
  402. // }
  403. // $('#parentId').append(html)
  404. // form.render();//菜单渲染 把内容加载进去
  405. // })
  406. treeSelect.render({
  407. // 选择器
  408. elem: '#ml',
  409. // 数据
  410. data: 'system/archivesTree/selectTree',
  411. // 异步加载方式:get/post,默认get
  412. type: 'get',
  413. // 占位符
  414. placeholder: '请选择门类',
  415. // 是否开启搜索功能:true/false,默认false
  416. search: true,
  417. // 一些可定制的样式
  418. style: {
  419. folder: {
  420. enable: true
  421. },
  422. line: {
  423. enable: true
  424. }
  425. },
  426. click: function (d){
  427. let code = ''
  428. let parent = d.current.getParentNode()
  429. if(parent != null){
  430. code = parent.code
  431. }else {
  432. code = d.current.code
  433. }
  434. ml = code
  435. sl = d.current.code
  436. getJh()
  437. let jhLable = '';
  438. switch (code) {
  439. case 'SJ':
  440. case 'MT':
  441. case 'SW':
  442. case 'WS':
  443. jhLable = '件号:'
  444. break;
  445. case 'KU':
  446. case 'KJ':
  447. case 'ZY':
  448. jhLable = '卷号:'
  449. break;
  450. case 'YX':
  451. break;
  452. case 'WS':
  453. jhLable = '张号/盘号:'
  454. break;
  455. default:
  456. jhLable = '卷(件)号:'
  457. break;
  458. }
  459. $("#jh_label").text(jhLable)
  460. let html = ''
  461. switch (code) {
  462. case 'KU':
  463. if(!isAddhsdw){
  464. html += ' <label class="layui-form-label required" id="hsdwdh_label">核算单位代号:</label>\n' +
  465. ' <div class="layui-input-inline" style="width: 540px;" id="hsdwdh_input">\n' +
  466. ' <input type="text" class="layui-input" name="hsdwdh" id="hsdwdh" placeholder="请输入核算单位代号" lay-filter="hsdwdh"\n' +
  467. ' lay-verify="required" lay-reqtext="核算单位代号不能为空">\n' +
  468. ' </div>'
  469. isAddhsdw = !isAddhsdw
  470. }
  471. break;
  472. case 'KJ':
  473. if(!isAddxmdh){
  474. html += '<label class="layui-form-label required" id="xmdh_label" >项目代号:</label>\n' +
  475. ' <div class="layui-input-inline" style="width: 540px;" id="xmdh_input" >\n' +
  476. ' <input type="text" class="layui-input" name="xmdh" id="xmdh" placeholder="请输入项目代号" lay-filter="xmldh"\n' +
  477. ' lay-verify="required" lay-reqtext="项目代号不能为空">\n' +
  478. ' </div>'
  479. }
  480. break;
  481. }
  482. $('#hide_div').append(html)
  483. },
  484. success: function (res) {
  485. // if(id != '' && parentId != '' && parentId != -1){
  486. // treeSelect.checkNode('parentId', parentId);
  487. // }
  488. }
  489. });
  490. }
  491. loadMlSelect()
  492. let loadDictSelect = function () {
  493. // http.get('system/archivesTree/selectParentByCode', {
  494. // code: mlCode
  495. // }, false, res => {
  496. // if (res.code == 200) {
  497. // let html = ''
  498. //
  499. // }
  500. // })
  501. // http.get('system/archivesTree/selectChildById', {
  502. // id: mlId
  503. // }, false, res => {
  504. // let html = '';
  505. // for (let i in res.data) {
  506. // html += '<option value="' + res.data[i].code + '">' + res.data[i].title + '</option>'
  507. // }
  508. // $("#ml").append(html)
  509. // form.render();//菜单渲染 把内容加载进去
  510. // })
  511. // 加载全宗号
  512. http.get('system/dict/selectDictByCode', {code: 'QUANZONGHAO'}, false, function (res) {
  513. let html = '';
  514. for (let i in res.data) {
  515. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  516. }
  517. $("#qzh").append(html)
  518. form.render();//菜单渲染 把内容加载进去
  519. })
  520. // 加载密集
  521. http.get('system/dict/selectDictByCode', {code: 'MIJI'}, false, function (res) {
  522. let html = '';
  523. for (let i in res.data) {
  524. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  525. }
  526. $("#mj").append(html)
  527. form.render();//菜单渲染 把内容加载进去
  528. })
  529. }
  530. let generateDh = function () {
  531. var d = {};
  532. var t = $('#add [name]').serializeArray();
  533. $.each(t, function () {
  534. d[this.name] = this.value;
  535. });
  536. d.sl = sl
  537. d.ml = ml
  538. http.post('archive/archive/generateDh', d, true, res => {
  539. if (res.code === 200) {
  540. $("#dh").val(res.data)
  541. }
  542. })
  543. // let data = {
  544. // qzh: $("#qzh").val(),
  545. // ml: mlCode,
  546. // sl: $("#ml").val(),
  547. // bgqx: $("#bgqx").val(),
  548. // jh: $("#jh").val(),
  549. // hsdwdh: $("#hsdwdh").val(),
  550. // xmdh: $("#xmdh").val(),
  551. // mlh: $("#mlh").val(),
  552. // gdnd: $("#gdnd").val()
  553. // }
  554. // console.log(data)
  555. }
  556. // 加载数据
  557. let initData = function () {
  558. let adata = ''
  559. if (id != '') {
  560. $("#file_tab_list").show();
  561. $("#zj").hide()
  562. http.get('/archive/archive/selectByPrimaryKey', {
  563. id: id
  564. }, false, function (res) {
  565. adata = res.data
  566. form.val("addDict", res.data);
  567. form.render();
  568. })
  569. }else {
  570. $("#file_tab_list").hide();
  571. }
  572. if (!bgqxappend) {
  573. let ml = $("#ml").val()
  574. // 加载保管期限
  575. http.get('system/dict/selectDictByCode', {code: ml === 'WS' ? 'BAOGUANQIXIANYI' : 'BAOGUANQIXIANER'}, false, function (res) {
  576. let html = '';
  577. for (let i in res.data) {
  578. html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  579. }
  580. $("#bgqx").append(html)
  581. form.render();//菜单渲染 把内容加载进去
  582. })
  583. bgqxappend = !bgqxappend
  584. }
  585. form.val("addDict", adata);
  586. form.render();
  587. }
  588. //数据加载方法
  589. let renderTable = function () {
  590. // 加载表格数据
  591. table.render({
  592. elem: '#user-table',
  593. url: 'archive/archiveFile/selectByPage',
  594. toolbar: '#toolbar', //开启头部工具栏,并为其绑定左侧模板
  595. // defaultToolbar: ['filter', 'exports', 'print'],
  596. title: '附件表',
  597. limit: 15,
  598. limits: [15, 30, 45, 60],
  599. page: {
  600. curr: curr
  601. },
  602. request: {
  603. pageName: 'pageNum',
  604. limitName: 'pageSize'
  605. },
  606. where: {
  607. archiveId: id,
  608. fileType: fileType
  609. },
  610. response: {
  611. statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
  612. },
  613. parseData: function (res) {
  614. return {
  615. "code": res.code,
  616. "msg": res.msg,
  617. "count": res.data.total,
  618. "data": res.data.list
  619. }
  620. },
  621. done: function (res, curr1, count) {
  622. curr = curr1
  623. // $('th').css({'background-color': '#1aa094', 'color': '#fff', 'font-weight': 'bold'})
  624. },
  625. cols: [[
  626. {type: 'numbers'},
  627. // {field: 'originalFileName', title: '原文件名'},
  628. {field: 'fileName', title: '文件名'},
  629. {
  630. field: 'jnml', title: '卷内目录', templet: function (rv) {
  631. return rv.jnml ? rv.jnml : '无'
  632. }
  633. },
  634. {
  635. field: 'fileSize', title: '文件大小',
  636. templet: function (rv) {
  637. let size = rv.fileSize
  638. let data = ''
  639. if (size < 0.1 * 1024) { //如果小于0.1KB转化成B
  640. data = size.toFixed(2) + "B";
  641. } else if (size < 0.1 * 1024 * 1024) {//如果小于0.1MB转化成KB
  642. data = (size / 1024).toFixed(2) + "KB";
  643. } else if (size < 0.1 * 1024 * 1024 * 1024) { //如果小于0.1GB转化成MB
  644. data = (size / (1024 * 1024)).toFixed(2) + "MB";
  645. } else { //其他转化成GB
  646. data = (size / (1024 * 1024 * 1024)).toFixed(2) + "GB";
  647. }
  648. var sizestr = data + "";
  649. var len = sizestr.indexOf("\.");
  650. var dec = sizestr.substr(len + 1, 2);
  651. if (dec == "00") {//当小数点后为00时 去掉小数部分
  652. return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
  653. }
  654. return sizestr;
  655. }
  656. },
  657. {field: 'createTime', title: '上传时间'},
  658. {templet: '#operating', width: 240, align: 'center', title: '操作'}
  659. ]]
  660. });
  661. }
  662. let deleteFile = function (id) {
  663. layer.confirm('真的删除行么', function (index) {
  664. http.delete('archive/archiveFile/delete', {id: id}, true, function (res) {
  665. if (res.code == 200) {
  666. layer.msg('删除成功', {
  667. icon: 1,
  668. time: 2000
  669. })
  670. }
  671. renderTable()
  672. })
  673. layer.close(index);
  674. });
  675. }
  676. let openUpload = function () {
  677. var index = layer.open({
  678. title: '预约借阅',
  679. type: 2,
  680. shade: 0.2,
  681. maxmin: true,
  682. shadeClose: true,
  683. area: ['600px', '400px'],
  684. content: './upload.html',
  685. success: function (layero, index) {
  686. var body = layer.getChildFrame('body', index);
  687. body.find("#archive_id").val(id);
  688. body.find("#fileType").val(fileType);
  689. },
  690. end: function () {
  691. renderTable()
  692. }
  693. });
  694. }
  695. let openPDF = function (data) {
  696. if (data.fileName.substring(data.fileName.indexOf('.') + 1) == 'pdf') {
  697. layer.open({
  698. type: 2,
  699. area: ['100%', '100%'],
  700. fixed: false, //不固定
  701. maxmin: true,
  702. content: data.filePath + '/' + data.fileName
  703. });
  704. } else {
  705. layer.msg('只支持预览pdf格式文件', {
  706. icon: 2
  707. })
  708. }
  709. }
  710. renderTable()
  711. //表格操作栏
  712. table.on('tool(table)', function (obj) {
  713. let data = obj.data;
  714. switch (obj.event) {
  715. case 'delete':
  716. deleteFile(data.id);
  717. break;
  718. case 'openPDF':
  719. openPDF(data)
  720. break;
  721. }
  722. });
  723. table.on('toolbar(table)', function (obj) {
  724. let data = obj.data;
  725. switch (obj.event) {
  726. case 'upload':
  727. openUpload();
  728. break;
  729. }
  730. });
  731. /**事-------------------------------件-------------------------------绑-------------------------------定*/
  732. initDate()
  733. initUpload()
  734. loadDictSelect()
  735. initData()
  736. //监听提交
  737. form.on('submit(saveBtn)', function (data) {
  738. save(data.field, 'save')
  739. });
  740. layui.$('#cancel').on('click', function () {
  741. var index = parent.layer.getFrameIndex(window.name);
  742. parent.layer.close(index);//关闭当前页
  743. });
  744. //监听提交
  745. form.on('submit(zj)', function (data) {
  746. save(data.field, 'zj')
  747. getJh()
  748. generateDh()
  749. $("#tm").val('')
  750. $("#nrgs").val('')
  751. $("#wjbh").val('')
  752. $("#zrz").val('')
  753. $("#bz").val('')
  754. $("#ztsl").val('')
  755. $("#ztc").val('')
  756. });
  757. // form.on('select(ml)', function (data) {
  758. // if (!bgqxappend) {
  759. // // 加载保管期限
  760. // http.get('system/dict/selectDictByCode', {code: data.value === 'WS' ? 'BAOGUANQIXIANYI' : 'BAOGUANQIXIANER'}, false, function (res) {
  761. // let html = '';
  762. // for (let i in res.data) {
  763. // html += '<option value="' + res.data[i].dictCode + '">' + res.data[i].dictName + '</option>'
  764. // }
  765. // $("#bgqx").append(html)
  766. // form.render();//菜单渲染 把内容加载进去
  767. // })
  768. // bgqxappend = !bgqxappend
  769. // }
  770. // loadDictSelect()
  771. // getJh()
  772. // });
  773. form.on('select(bgqx)', function (data) {
  774. generateDh()
  775. });
  776. });
  777. </script>
  778. </body>
  779. </html>