index.html 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>设备台账</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  10. <link rel="stylesheet" href="../../../assets/module/zTree/css/metroStyle/metroStyle.css"/>
  11. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  12. <style>
  13. .layui-table-cell {
  14. height: auto;
  15. }
  16. ::-webkit-scrollbar {
  17. display: none
  18. }
  19. /*公共样式*/
  20. a,
  21. a:hover,
  22. a:link,
  23. a:visited,
  24. a:active {
  25. text-decoration: none;
  26. }
  27. /*列表展示*/
  28. .left-menu ul {
  29. /*border-right: 1px solid #ddd;*/
  30. padding-right: 10px;
  31. }
  32. .left-menu ul > li > a {
  33. display: block;
  34. padding: 10px 15px;
  35. }
  36. .menu-active > a {
  37. background: #25afe5;
  38. border-radius: 6px;
  39. color: #fff;
  40. }
  41. ::-webkit-scrollbar{display: block;}
  42. </style>
  43. <body>
  44. <!-- 页面加载loading -->
  45. <div class="page-loading">
  46. <div class="ball-loader">
  47. <span></span><span></span><span></span><span></span>
  48. </div>
  49. </div>
  50. <!-- 正文开始 -->
  51. <div class="layui-fluid">
  52. <div class="layui-row layui-col-space15">
  53. <!-- 左栏 -->
  54. <div class="layui-col-sm12 layui-col-md1 layui-col-lg3">
  55. <div class="layui-card">
  56. <div class="layui-card-header" style="padding-top: 5px;height: 50px;">
  57. <div class="layui-inline text-left" style="margin-left: -50px;">
  58. <label class="layui-form-label">部门</label>
  59. <div class="layui-input-inline mr0">
  60. <input type="text" id="groupName" name="groupName" value=""
  61. placeholder="点击选择"
  62. class="layui-input" readonly>
  63. <input type="hidden" id="groupId" name="gId">
  64. <div id="menuContent" class="menuContent">
  65. <ul id="groupTree" class="ztree" style="margin-top:0;"></ul>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="layui-card-body mini-bar zTree" id="treeTbTree" style="min-height: 500px">
  71. <div class="left-menu">
  72. <ul id="catMenuList"></ul>
  73. </div>
  74. <div id="pageDiv" style="position: absolute;bottom: 15px;padding-left: 25px;">
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <!-- 右栏 -->
  80. <div class="layui-col-sm12 layui-col-md11 layui-col-lg9">
  81. <div class="layui-card">
  82. <div class="layui-card-body">
  83. <div class="layui-tab layui-tab-brief" lay-filter="detailsTab">
  84. <ul class="layui-tab-title">
  85. <li class="layui-this" lay-id="changeRecord">变动记录</li>
  86. <li lay-id="smoothRecord">润滑记录</li>
  87. <li lay-id="repairRecord">维修记录</li>
  88. </ul>
  89. <div class="layui-tab-content" style="min-height: 500px">
  90. <div class="layui-tab-item layui-show">
  91. <div class="layui-form toolbar">
  92. <div class="layui-form-item text-right">
  93. <div class="layui-inline pull-left">
  94. <button id="btnAddChange" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加变动记录
  95. </button>
  96. </div>
  97. <div class="layui-inline">
  98. <label class="layui-form-label w-auto">搜索:</label>
  99. <div class="layui-input-inline mr0">
  100. <input name="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
  101. </div>
  102. </div>
  103. <div class="layui-inline">
  104. <button class="layui-btn icon-btn" lay-filter="formSubSearchChange" lay-submit>
  105. <i class="layui-icon">&#xe615;</i>搜索
  106. </button>
  107. </div>
  108. </div>
  109. </div>
  110. <table class="layui-table" style="width: auto" id="changeRecordTable" lay-filter="changeRecordTable"></table>
  111. </div>
  112. <div class="layui-tab-item">
  113. <div class="layui-form toolbar">
  114. <div class="layui-form-item text-right">
  115. <div class="layui-inline pull-left">
  116. <button id="btnAddSmooth" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加润滑记录
  117. </button>
  118. </div>
  119. <div class="layui-inline">
  120. <label class="layui-form-label w-auto">搜索:</label>
  121. <div class="layui-input-inline mr0">
  122. <input name="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
  123. </div>
  124. </div>
  125. <div class="layui-inline">
  126. <!--<button class="layui-btn icon-btn" lay-filter="formSubSearchSmooth" lay-submit>-->
  127. <button class="layui-btn icon-btn" lay-filter="formSubSearch" lay-submit>
  128. <i class="layui-icon">&#xe615;</i>搜索
  129. </button>
  130. </div>
  131. </div>
  132. </div>
  133. <table class="layui-table" id="smoothRecordTable" lay-filter="smoothRecordTable"></table>
  134. </div>
  135. <div class="layui-tab-item">
  136. <div class="layui-form toolbar">
  137. <div class="layui-form-item text-right">
  138. <div class="layui-inline pull-left">
  139. <button id="btnAddRepair" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加维修记录
  140. </button>
  141. </div>
  142. <div class="layui-inline">
  143. <label class="layui-form-label w-auto">搜索:</label>
  144. <div class="layui-input-inline mr0">
  145. <input name="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
  146. </div>
  147. </div>
  148. <div class="layui-inline">
  149. <!--<button class="layui-btn icon-btn" lay-filter="formSubSearchRepair" lay-submit>-->
  150. <button class="layui-btn icon-btn" lay-filter="formSubSearch" lay-submit>
  151. <i class="layui-icon">&#xe615;</i>搜索
  152. </button>
  153. </div>
  154. </div>
  155. </div>
  156. <table class="layui-table" id="repairRecordTable" lay-filter="repairRecordTable"></table>
  157. </div>
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. <!-- 变动记录 -->
  166. <script type="text/html" id="modelChangeTpl">
  167. <form id="modelChangeForm" lay-filter="modelChangeForm" class="layui-form model-form">
  168. <input type="hidden" name="id"/>
  169. <input type="hidden" id="changeDeviceId" name="deviceId"/>
  170. <div class="layui-form-item">
  171. <label class="layui-form-label"><span class="layui-badge-dot"></span>编号</label>
  172. <div class="layui-input-block">
  173. <input type="text" class="layui-input" id="code1" name="code"
  174. placeholder="请输入设备编号" maxlength="128"
  175. lay-verType="tips" lay-verify="required" required/>
  176. </div>
  177. </div>
  178. <div class="layui-form-item">
  179. <label class="layui-form-label"><span class="layui-badge-dot"></span>品牌</label>
  180. <div class="layui-input-block">
  181. <input type="text" class="layui-input" id="brand1" name="brand"
  182. placeholder="请输入设备品牌" maxlength="128"
  183. lay-verType="tips" lay-verify="required" required/>
  184. </div>
  185. </div>
  186. <div class="layui-form-item">
  187. <label class="layui-form-label"><span class="layui-badge-dot"></span>型号</label>
  188. <div class="layui-input-block">
  189. <input type="text" class="layui-input" id="model1" name="model"
  190. placeholder="请输入设备型号" maxlength="128"
  191. lay-verType="tips" lay-verify="required" required/>
  192. </div>
  193. </div>
  194. <div class="layui-form-item">
  195. <label class="layui-form-label"><span class="layui-badge-dot"></span>颜色</label>
  196. <div class="layui-input-block">
  197. <input type="text" class="layui-input" id="color" name="color"
  198. placeholder="请输入设备颜色" maxlength="128"
  199. lay-verType="tips" lay-verify="required" required/>
  200. </div>
  201. </div>
  202. <div class="layui-form-item">
  203. <label class="layui-form-label"><span class="layui-badge-dot"></span>位置</label>
  204. <div class="layui-input-block">
  205. <input type="text" class="layui-input" id="position1" name="position"
  206. placeholder="请输入设备所在位置" maxlength="128"
  207. lay-verType="tips" lay-verify="required" required/>
  208. </div>
  209. </div>
  210. <div class="layui-form-item">
  211. <label class="layui-form-label"><span class="layui-badge-dot"></span>变动描述</label>
  212. <div class="layui-input-block">
  213. <input type="text" class="layui-input" id="description" name="description"
  214. placeholder="请输入变动描述" maxlength="128"
  215. lay-verType="tips"/>
  216. </div>
  217. </div>
  218. <div class="layui-form-item">
  219. <label class="layui-form-label"><span class="layui-badge-dot"></span>使用部门</label>
  220. <div class="layui-input-block">
  221. <input type="text" id="useGroupName" class="layui-input" name="useGroupName" value=""
  222. placeholder="点击选择" class="form-control" readonly lay-verify="group">
  223. <input type="hidden" id="useGroup1" name="useGroup" readonly>
  224. <div id="menuContent1" class="menuContent">
  225. <ul id="groupTree1" class="ztree" style="margin-top:0;"></ul>
  226. </div>
  227. </div>
  228. </div>
  229. <div class="layui-form-item">
  230. <label class="layui-form-label"><span class="layui-badge-dot"></span>责任人</label>
  231. <div class="layui-input-block">
  232. <select name="responsible" id="responsible1" lay-verType="tips" class="layui-input-block" xm-select="responsible1"
  233. xm-select-search lay-verify="required" required>
  234. </select>
  235. </div>
  236. </div>
  237. <div class="layui-form-item text-right">
  238. <button type="button" class="layui-btn" lay-filter="modelChangeSubmit" lay-submit>保存</button>
  239. <button type="button" class="layui-btn layui-btn-primary" ew-event="closePageDialog">取消</button>
  240. </div>
  241. </form>
  242. </script>
  243. <!-- 润滑记录model -->
  244. <script type="text/html" id="modelSmoothTpl">
  245. <form id="modelForm" lay-filter="modelSmoothForm" class="layui-form model-form">
  246. <input type="hidden" id="id" name="id"/>
  247. <input type="hidden" id="smoothDeviceId" name="deviceId"/>
  248. <div class="layui-form-item">
  249. <label class="layui-form-label"><span class="layui-badge-dot"></span>材料名称</label>
  250. <div class="layui-input-block">
  251. <input type="text" class="layui-input" id="name" name="name"
  252. placeholder="请输入润滑材料名称" maxlength="36"
  253. lay-verType="tips" lay-verify="required" required/>
  254. </div>
  255. </div>
  256. <div class="layui-form-item">
  257. <label class="layui-form-label"><span class="layui-badge-dot"></span>材料品牌</label>
  258. <div class="layui-input-block">
  259. <input type="text" class="layui-input" id="brand" name="brand"
  260. placeholder="请输入润滑材料品牌" maxlength="128"
  261. lay-verType="tips" lay-verify="required" required/>
  262. </div>
  263. </div>
  264. <div class="layui-form-item">
  265. <label class="layui-form-label"><span class="layui-badge-dot"></span>材料型号</label>
  266. <div class="layui-input-block">
  267. <input type="text" class="layui-input" id="model" name="model"
  268. placeholder="请输入润滑材料型号" maxlength="128"
  269. lay-verType="tips" lay-verify="required" required/>
  270. </div>
  271. </div>
  272. <div class="layui-form-item">
  273. <label class="layui-form-label"><span class="layui-badge-dot"></span>润滑类型</label>
  274. <div class="layui-input-block">
  275. <input type="text" class="layui-input" id="type" name="type"
  276. placeholder="请输入润滑类型" maxlength="128"
  277. lay-verType="tips" lay-verify="required" required/>
  278. </div>
  279. </div>
  280. <div class="layui-form-item">
  281. <label class="layui-form-label"><span class="layui-badge-dot"></span>润滑部位</label>
  282. <div class="layui-input-block">
  283. <input type="text" class="layui-input" id="part" name="part"
  284. placeholder="请输入润滑部位" maxlength="128"
  285. lay-verType="tips" lay-verify="required" required/>
  286. </div>
  287. </div>
  288. <div class="layui-form-item">
  289. <label class="layui-form-label"><span class="layui-badge-dot"></span>润滑方式</label>
  290. <div class="layui-input-block">
  291. <input type="text" class="layui-input" id="mode" name="mode"
  292. placeholder="请输入润滑方式" maxlength="128"
  293. lay-verType="tips" lay-verify="required" required/>
  294. </div>
  295. </div>
  296. <div class="layui-form-item">
  297. <label class="layui-form-label"><span class="layui-badge-dot"></span>润滑点数</label>
  298. <div class="layui-input-block">
  299. <input type="text" class="layui-input" id="points" name="points"
  300. placeholder="请输入润滑点数" maxlength="128"
  301. lay-verType="tips" lay-verify="required" required/>
  302. </div>
  303. </div>
  304. <div class="layui-form-item">
  305. <label class="layui-form-label"><span class="layui-badge-dot"></span>用量</label>
  306. <div class="layui-input-block">
  307. <input type="text" class="layui-input" id="dosage" name="dosage"
  308. placeholder="请输入润滑用量" maxlength="128"
  309. lay-verType="tips" lay-verify="required" required/>
  310. </div>
  311. </div>
  312. <div class="layui-form-item">
  313. <label class="layui-form-label"><span class="layui-badge-dot"></span>使用部门</label>
  314. <div class="layui-input-block">
  315. <input type="text" id="riskCheckGroupName" class="layui-input" name="riskCheckGroupName" value=""
  316. placeholder="点击选择" class="form-control" readonly lay-verify="group">
  317. <input type="hidden" id="useGroup" name="gId" readonly>
  318. <div id="menuContent2" class="menuContent">
  319. <ul id="groupTree2" class="ztree" style="margin-top:0;"></ul>
  320. </div>
  321. </div>
  322. </div>
  323. <div class="layui-form-item">
  324. <label class="layui-form-label"><span class="layui-badge-dot"></span>责任人</label>
  325. <div class="layui-input-block">
  326. <select name="responsible" id="responsible" lay-verType="tips" class="layui-input-block" xm-select="responsible"
  327. xm-select-search lay-verify="required" required>
  328. </select>
  329. </div>
  330. </div>
  331. <div class="layui-form-item text-right">
  332. <button type="button" class="layui-btn" lay-filter="modelSmoothSubmit" lay-submit>保存</button>
  333. <button type="button" class="layui-btn layui-btn-primary" ew-event="closePageDialog">取消</button>
  334. </div>
  335. </form>
  336. </script>
  337. <!-- 维修记录 -->
  338. <script type="text/html" id="modelRepairTpl">
  339. <form id="modelRepairForm" lay-filter="modelRepairForm" class="layui-form model-form">
  340. <input type="hidden" name="recordId"/>
  341. <input type="hidden" id="repairDeviceId" name="deviceId"/>
  342. <div class="layui-form-item">
  343. <label class="layui-form-label"><span class="layui-badge-dot"></span>维修类型</label>
  344. <div class="layui-input-block">
  345. <select name="repairType" lay-verType="tips" class="layui-input-block">
  346. <option value="1">大修</option>
  347. <option value="2">中修</option>
  348. <option value="3">小修</option>
  349. <option value="4">日常维修</option>
  350. <option value="5">纠正性维护</option>
  351. </select>
  352. </div>
  353. </div>
  354. <div class="layui-form-item">
  355. <label class="layui-form-label"><span class="layui-badge-dot"></span>维修名称</label>
  356. <div class="layui-input-block">
  357. <input type="text" class="layui-input" id="repairName" name="repairName"
  358. placeholder="请输入维修名称" maxlength="128"
  359. lay-verType="tips" lay-verify="required" required/>
  360. </div>
  361. </div>
  362. <div class="layui-form-item">
  363. <label class="layui-form-label"><span class="layui-badge-dot"></span>维修描述</label>
  364. <div class="layui-input-block">
  365. <textarea class="layui-textarea" id="repairContent" name="repairContent"
  366. placeholder="请输入维修描述" maxlength="128"lay-verify="required" required></textarea>
  367. </div>
  368. </div>
  369. <div class="layui-form-item">
  370. <label class="layui-form-label"><span class="layui-badge-dot"></span>维修部门</label>
  371. <div class="layui-input-block">
  372. <input type="text" id="repairGroupName" class="layui-input" name="repairGroupName" value=""
  373. placeholder="点击选择" class="form-control" readonly lay-verify="group">
  374. <input type="hidden" id="repairGroup" name="repairGroup" readonly>
  375. <div id="menuContent3" class="menuContent">
  376. <ul id="groupTree3" class="ztree" style="margin-top:0;"></ul>
  377. </div>
  378. </div>
  379. </div>
  380. <div class="layui-form-item">
  381. <label class="layui-form-label"><span class="layui-badge-dot"></span>责任人</label>
  382. <div class="layui-input-block">
  383. <select name="repairUser" id="repairUser" lay-verType="tips" class="layui-input-block" xm-select="repairUser"
  384. xm-select-search lay-verify="required" required>
  385. </select>
  386. </div>
  387. </div>
  388. <div class="layui-form-item">
  389. <label class="layui-form-label"><span class="layui-badge-dot"></span>图片</label>
  390. <div class="layui-input-block">
  391. <button type="button" class="layui-btn" id="uploadImg">
  392. <i class="layui-icon">&#xe67c;</i>上传图片
  393. </button>
  394. <div id="imges" style="text-align: left;padding-top: 10px">
  395. </div>
  396. </div>
  397. </div>
  398. <div class="layui-form-item text-right">
  399. <button type="button" class="layui-btn" lay-filter="modelRepairSubmit" lay-submit>保存</button>
  400. <button type="button" class="layui-btn layui-btn-primary" ew-event="closePageDialog">取消</button>
  401. </div>
  402. </form>
  403. </script>
  404. <!-- js部分 -->
  405. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  406. <script type="text/javascript" src="../../../assets/js/common.js?v=313"></script>
  407. <script type="text/javascript" src="../../../assets/libs/jquery/jquery-3.2.1.min.js"></script>
  408. <script>
  409. layui.use(['iconPicker', 'layer', 'element', 'form', 'table', 'admin', 'uParas', 'util', 'zTree', 'formSelects', '_zTree','laypage','upload'], function () {
  410. var $ = layui.jquery;
  411. var layer = layui.layer;
  412. var form = layui.form;
  413. var table = layui.table;
  414. var admin = layui.admin;
  415. var uParas = layui.uParas;
  416. var _zTree = layui._zTree;
  417. var element = layui.element;
  418. var laypage = layui.laypage;
  419. var upload = layui.upload;
  420. var pageNum = 0;
  421. var pageSize = 10;
  422. var gId = "";
  423. var deviceId = '';
  424. var insTb ;
  425. var eleIndex = 0;
  426. var changeGId = {
  427. reload: function (data) {
  428. gId = data.where.gId;
  429. content();
  430. }
  431. };
  432. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree", changeGId, "menuContent", "groupName", "groupId");
  433. //左栏 设备数据初始化
  434. function content() {
  435. $.ajax({
  436. type: "get",
  437. url: "/ent/deviceInfo/query",
  438. data: {"page": pageNum, "limit": pageSize,"gId":gId},
  439. dataType: "json",
  440. success: function (res) {
  441. pageNum = res.page;
  442. pageSize = res.limit;
  443. let count = res.count;
  444. let data = res.data;
  445. if (data && data.length > 0) {
  446. let html = '';
  447. for (var i = 0; i < data.length; i++) {
  448. var device = data[i];
  449. if (i == 0) {
  450. deviceId = device.id;
  451. html += '<li class="menu-active" data-id="' + device.id + '" style="padding-top: 10px;">';
  452. } else {
  453. html += '<li data-id="' + device.id + '" style="padding-top: 10px;">';
  454. }
  455. html += '<a href="#" style="display:block;white-space:nowrap;overflow: hidden;text-overflow:ellipsis;width: 85%;padding : 8px 5px;float: left;" title="' + device.deviceName + '">' + device.deviceName + '</a>';
  456. html += '</li>';
  457. }
  458. $("#catMenuList").html(html);
  459. // pageCover(count);
  460. // renderChangeTable();
  461. // $("#pageDiv").show();
  462. }else{
  463. deviceId = 0;
  464. $("#catMenuList").html('');
  465. }
  466. pageCover(count);
  467. $("#pageDiv").show();
  468. if (eleIndex == 0){
  469. renderChangeTable();
  470. } else if(eleIndex == 1){
  471. renderSmoothTable();
  472. }else{
  473. renderRepairTable();
  474. }
  475. }
  476. });
  477. }
  478. //分页函数
  479. function pageCover(count) {
  480. //执行一个laypage实例
  481. laypage.render({
  482. elem: 'pageDiv', //注意,这里的 test1 是 ID,不用加 # 号
  483. count: count, //数据总数,从服务端得到
  484. limit: pageSize,
  485. curr: pageNum,
  486. first: false,
  487. last: false,
  488. groups:3,
  489. jump: function (obj, first) {
  490. //obj包含了当前分页的所有参数,比如:
  491. console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
  492. console.log(obj.limit); //得到每页显示的条数
  493. //首次不执行
  494. if (!first) {
  495. //do something
  496. pageNum = obj.curr;
  497. content();
  498. }
  499. }
  500. });
  501. };
  502. content();
  503. //变更记录表格刷新
  504. function renderChangeTable() {
  505. var url = uParas.baseUrl+'/ent/deviceChangeRecord/query';
  506. insTb = table.render({
  507. elem : '#changeRecordTable',
  508. url : url,
  509. page : true,
  510. where :{"deviceId":deviceId},
  511. cellMinWidth: 100,
  512. cols : [[
  513. {type : 'numbers'} ,
  514. {field: 'code', sort: false, title: '设备编号',width: 150},
  515. {field: 'brand', sort: false, title: '品牌',width: 150},
  516. {field: 'model', sort: false, title: '型号',width: 150},
  517. {field: 'position', sort: false, title: '所在位置',width: 150},
  518. {field: 'useGroupName', sort: false, title: '使用部门',width: 150},
  519. {field: 'accountName', sort: false, title: '责任人',width: 150},
  520. {field: 'description', sort: false, title: '变动描述',width: 150},
  521. {field: 'createdTime', sort: false, title: '变动时间',width: 180},
  522. {align: 'center', title: '操作',width: 120,
  523. templet: function () {
  524. return setChangeOperation();
  525. }
  526. }
  527. ]]
  528. });
  529. }
  530. // 设置"操作"列
  531. function setChangeOperation() {
  532. var html = '';
  533. html +='<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editChange">编辑</a>';
  534. html +='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delChange">删除</a>';
  535. return html;
  536. }
  537. //润滑记录表格刷新
  538. function renderSmoothTable() {
  539. insTb = table.render({
  540. elem: '#smoothRecordTable',
  541. url: uParas.baseUrl + '/ent/deviceSmoothRecord/query',
  542. where :{"deviceId":deviceId},
  543. page: true,
  544. toolbar: true,
  545. cellMinWidth: 100,
  546. cols: [[
  547. {type: 'numbers'},
  548. {field: 'name', sort: false, title: '润滑材料名称',width: 150},
  549. {field: 'model', sort: false, title: '润滑材料型号',width: 150},
  550. {field: 'brand', sort: false, title: '润滑材料品牌',width: 150},
  551. {field: 'type', sort: false, title: '润滑类型',width: 150},
  552. {field: 'part', sort: false, title: '润滑部位',width: 150},
  553. {field: 'mode', sort: false, title: '润滑方式',width: 150},
  554. {field: 'points', sort: false, title: '润滑点数',width: 100},
  555. {field: 'dosage', sort: false, title: '用量',width: 100},
  556. {field: 'sGroupName', sort: false, title: '部门',width: 150},
  557. {field: 'accountName', sort: false, title: '责任人',width: 150},
  558. {field: 'createdTime', sort: false, title: '创建时间',width: 180},
  559. {align: 'center', title: '操作',width: 120,
  560. templet: function () {
  561. return setSmoothOperation();
  562. }
  563. }
  564. ]]
  565. });
  566. }
  567. function setSmoothOperation() {
  568. var html = '';
  569. html +='<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editSmooth">编辑</a>';
  570. html +='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delSmooth">删除</a>';
  571. return html;
  572. }
  573. function setRepairOperation() {
  574. var html = '';
  575. html +='<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editRepair">编辑</a>';
  576. html +='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delRepair">删除</a>';
  577. return html;
  578. }
  579. //维修记录表格刷新
  580. function renderRepairTable() {
  581. insTb = table.render({
  582. elem: '#repairRecordTable',
  583. url: uParas.baseUrl + '/ent/deviceRepairRecord/query',
  584. where :{"deviceId":deviceId},
  585. page: true,
  586. toolbar: true,
  587. cellMinWidth: 100,
  588. cols: [[
  589. {type: 'numbers'},
  590. {field: 'repairType', sort: false, title: '维修类型',width: 100,
  591. templet:function (d) {
  592. var repairType = d.repairType
  593. if (repairType == '1'){
  594. return "大修";
  595. }else if (repairType == '2'){
  596. return "中修";
  597. }else if (repairType == '3'){
  598. return "小修";
  599. }else if (repairType == '4'){
  600. return "日常维修";
  601. }else if (repairType == '5'){
  602. return "纠正性维护";
  603. }
  604. }
  605. },
  606. {field: 'repairName', sort: false, title: '维修名称',width: 150},
  607. {field: 'repairContent', sort: false, title: '维修描述'},
  608. {field: 'sGroupName', sort: false, title: '维修部门',width: 150},
  609. {field: 'accountName', sort: false, title: '维修人员'},
  610. {field: 'createdTime', sort: false, title: '提交时间',width: 180},
  611. {align: 'center', title: '操作',width: 120,
  612. templet: function () {
  613. return setRepairOperation();
  614. }
  615. }
  616. ]]
  617. });
  618. }
  619. // 工具条点击事件
  620. table.on('tool(smoothRecordTable)', function (obj) {
  621. var data = obj.data;
  622. var layEvent = obj.event;
  623. if (layEvent == 'delSmooth') {
  624. // 删除润滑记录
  625. delSmooth(data);
  626. } else if(layEvent == 'editSmooth'){
  627. // 编辑润滑记录
  628. editSmooth(data);
  629. }
  630. });
  631. // 工具条点击事件
  632. table.on('tool(changeRecordTable)', function (obj) {
  633. var data = obj.data;
  634. var layEvent = obj.event;
  635. if (layEvent == 'delChange') {
  636. // 删除变动记录
  637. delChange(data);
  638. } else if(layEvent == 'editChange'){
  639. // 编辑变动记录
  640. showEditChangeModel(data);
  641. }
  642. });
  643. table.on('tool(repairRecordTable)', function (obj) {
  644. var data = obj.data;
  645. var layEvent = obj.event;
  646. if (layEvent == 'delRepair') {
  647. // 删除维修记录
  648. delRepair(data);
  649. } else if(layEvent == 'editRepair'){
  650. // 编辑维修记录
  651. editRepair(data);
  652. }
  653. });
  654. // 删除维修记录
  655. function delRepair(data) {
  656. layer.confirm('确定要删除维修记录吗?', {
  657. skin: 'layui-layer-admin',
  658. shade: .1
  659. }
  660. , function (i) {
  661. layer.close(i);
  662. layer.load();
  663. admin.req(uParas.baseUrl + '/ent/deviceRepairRecord/delete/' + data.recordId, {}, function (res) {
  664. layer.closeAll('loading');
  665. if (res.code == 1) {
  666. layer.msg(res.msg);
  667. insTb.reload({}, 'data');
  668. } else {
  669. layer.msg(res.msg);
  670. }
  671. }, 'GET');
  672. });
  673. }
  674. // 添加维修记录
  675. $('#btnAddRepair').click(function () {
  676. admin.open({
  677. type: 1,
  678. title: "新增维修记录",
  679. offset: 'auto',
  680. area:'500px',
  681. content: $('#modelRepairTpl').html(),
  682. success: function (layero, dIndex) {
  683. var groupVal = "";
  684. var changeGroup = {
  685. reload: function (data) {
  686. groupVal = data.where.gId;
  687. //责任人
  688. uParas.initFormSelects("repairUser", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  689. form.render('select');
  690. }
  691. };
  692. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree3", changeGroup, "menuContent3", "repairGroupName", "repairGroup");
  693. form.render();
  694. $("#repairDeviceId").val(deviceId);
  695. //上传照片
  696. upload.render({
  697. elem: '#uploadImg', //绑定元素
  698. url: uParas.baseUrl+'/admin/uploadImage', //上传接口
  699. acceptMime: 'image/jpg,image/png,image/gif,image/jpeg,image/bmp,image/tga,image/fpx,image/raw,', //(只显示 jpg 和 png 文件)
  700. size:30720,//设置文件最大可允许上传的大小,单位 KB。不支持ie8/9
  701. done: function(res){
  702. //上传完毕回调
  703. var html = "";
  704. html += '<div style="float: left;padding-top: 5px;padding-right: 10px;">';
  705. html += '<input value="'+res.data.path+'" name="imgInp" hidden/>';
  706. html += '<img src="'+res.data.path+'" style="width:100px;height: 100px;"/><br>';
  707. html += '<a style="margin-left: 37px;" onclick="deleteImg(this)">删除</a>';
  708. html += '</div>';
  709. $("#imges").append(html).show();
  710. //$("#imges").show();
  711. }
  712. ,error: function(){
  713. //请求异常回调
  714. }
  715. });
  716. var url = uParas.baseUrl + '/ent/deviceRepairRecord/save';
  717. //保存处理
  718. form.on('submit(modelRepairSubmit)', function (data) {
  719. layer.load();
  720. var imgInp = $('input[name="imgInp"]');
  721. if (imgInp != undefined && imgInp != null && imgInp.length > 0){
  722. var imgArr = [];
  723. imgInp.each(function () {
  724. imgArr.push($(this).val());
  725. });
  726. data.field.imgs = imgArr.join(",");
  727. }
  728. admin.req(url, data.field, function (resp) {
  729. layer.closeAll('loading');
  730. if (resp.code == 1) {
  731. layer.close(dIndex);
  732. layer.msg(resp.msg);
  733. insTb.reload({}, 'data');
  734. } else {
  735. layer.msg(resp.msg);
  736. }
  737. }, 'POST');
  738. return false;
  739. });
  740. }
  741. });
  742. });
  743. //维修
  744. function editRepair(data){
  745. admin.open({
  746. type: 1,
  747. title: "编辑维修记录",
  748. offset: 'auto',
  749. area:'500px',
  750. content: $('#modelRepairTpl').html(),
  751. success: function (layero, dIndex) {
  752. var url = uParas.baseUrl + '/ent/deviceRepairRecord/get/'+data.recordId;
  753. admin.req(url, null, function(resp) {
  754. layer.closeAll('loading');
  755. if (resp.code == 1) {
  756. var repairRecord = resp.data;
  757. form.val('modelRepairForm', repairRecord); // 回显数据
  758. var groupVal = "";
  759. var changeGroup = {
  760. reload: function (data) {
  761. groupVal = data.where.gId;
  762. //责任人
  763. uParas.initFormSelects("repairUser", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  764. form.render();
  765. }
  766. };
  767. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree3", changeGroup, "menuContent3", "repairGroupName", "repairGroup",repairRecord.repairGroup);
  768. uParas.initFormSelects("repairUser", "/admin/common/getUsersAllByGId?gId=" + repairRecord.repairGroup, "accountRealName", "aId",repairRecord.repairUser);
  769. form.render();
  770. var imgPaths = repairRecord.revers2;
  771. if (imgPaths != null && imgPaths != ''){
  772. var imgPathArr = imgPaths.split(',');
  773. var html = "";
  774. $.each(imgPathArr,function (index,item){
  775. html += '<div style="float: left;padding-top: 5px;padding-right: 10px;">';
  776. html += '<input value="'+item+'" name="imgInp" hidden/>';
  777. html += '<img src="'+item+'" style="width:100px;height: 100px;"/><br>';
  778. html += '<a style="margin-left: 37px;" onclick="deleteImg(this)">删除</a>';
  779. html += '</div>';
  780. });
  781. $("#imges").append(html).show();
  782. }
  783. //上传照片
  784. upload.render({
  785. elem: '#uploadImg', //绑定元素
  786. url: uParas.baseUrl+'/admin/uploadImage', //上传接口
  787. acceptMime: 'image/jpg,image/png,image/gif,image/jpeg,image/bmp,image/tga,image/fpx,image/raw,', //(只显示 jpg 和 png 文件)
  788. size:30720,//设置文件最大可允许上传的大小,单位 KB。不支持ie8/9
  789. done: function(res){
  790. //上传完毕回调
  791. //var res = eval('(' + responseObject.response + ')');
  792. //<img src="" style="display:none;width:100px;height: 100px;"/><br>
  793. //<a style="display:none; margin-left: 37px;" id="deleteImg">删除</a>
  794. var html = "";
  795. html += '<div style="float: left;padding-top: 5px;padding-right: 10px;">';
  796. html += '<input value="'+res.data.path+'" name="imgInp" hidden/>';
  797. html += '<img src="'+res.data.path+'" style="width:100px;height: 100px;"/><br>';
  798. html += '<a style="margin-left: 37px;" onclick="deleteImg(this)">删除</a>';
  799. html += '</div>';
  800. $("#imges").append(html).show();
  801. //$("#imges").show();
  802. }
  803. ,error: function(){
  804. //请求异常回调
  805. }
  806. });
  807. var url = uParas.baseUrl + '/ent/deviceRepairRecord/update';
  808. //保存处理
  809. form.on('submit(modelRepairSubmit)', function(data) {
  810. layer.load();
  811. var imgInp = $('input[name="imgInp"]');
  812. if (imgInp != undefined && imgInp != null && imgInp.length > 0){
  813. var imgArr = [];
  814. imgInp.each(function () {
  815. imgArr.push($(this).val());
  816. });
  817. data.field.imgs = imgArr.join(",");
  818. }
  819. admin.req(url, data.field, function(resp) {
  820. layer.closeAll('loading');
  821. if (resp.code == 1) {
  822. layer.close(dIndex);
  823. layer.msg(resp.msg);
  824. insTb.reload({}, 'data');
  825. } else {
  826. layer.msg(resp.msg);
  827. }
  828. },'POST');
  829. return false;
  830. });
  831. } else {
  832. layer.msg(resp.msg);
  833. }
  834. },'GET');
  835. }
  836. });
  837. }
  838. //一些事件监听
  839. element.on('tab(detailsTab)', function(data){
  840. if (data.index == 0){
  841. eleIndex = 0;
  842. renderChangeTable();
  843. } else if(data.index == 1){
  844. eleIndex = 1;
  845. renderSmoothTable();
  846. }else{
  847. eleIndex = 2;
  848. renderRepairTable();
  849. }
  850. });
  851. $('#catMenuList').on('click','li',function(){
  852. $(".left-menu>ul>li").removeClass('menu-active');
  853. $(this).addClass('menu-active');
  854. deviceId = $(this).attr("data-id");
  855. insTb.reload({where:{'deviceId':deviceId}}, 'data');
  856. });
  857. // 添加变动记录
  858. $('#btnAddChange').click(function () {
  859. showAddChangeModel();
  860. });
  861. //添加变动记录方法
  862. function showAddChangeModel(){
  863. admin.open({
  864. type: 1,
  865. title: "新增变动记录",
  866. offset: 'auto',
  867. area:'500px',
  868. content: $('#modelChangeTpl').html(),
  869. success: function (layero, dIndex) {
  870. var groupVal = "";
  871. var changeGroup = {
  872. reload: function (data) {
  873. groupVal = data.where.gId;
  874. //责任人
  875. uParas.initFormSelects("responsible1", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  876. form.render('select');
  877. }
  878. };
  879. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree1", changeGroup, "menuContent1", "useGroupName", "useGroup1");
  880. form.render();
  881. $("#changeDeviceId").val(deviceId);
  882. var url = uParas.baseUrl + '/ent/deviceChangeRecord/save';
  883. //保存处理
  884. form.on('submit(modelChangeSubmit)', function (data) {
  885. layer.load();
  886. admin.req(url, data.field, function (resp) {
  887. layer.closeAll('loading');
  888. if (resp.code == 1) {
  889. layer.close(dIndex);
  890. layer.msg(resp.msg);
  891. insTb.reload({}, 'data');
  892. } else {
  893. layer.msg(resp.msg);
  894. }
  895. }, 'POST');
  896. return false;
  897. });
  898. }
  899. });
  900. }
  901. //编辑变动记录
  902. function showEditChangeModel(data){
  903. admin.open({
  904. type: 1,
  905. title: "编辑变动记录",
  906. offset: 'auto',
  907. area:'500px',
  908. content: $('#modelChangeTpl').html(),
  909. success: function (layero, dIndex) {
  910. form.render();
  911. //获取详情
  912. var url = uParas.baseUrl + '/ent/deviceChangeRecord/get/'+data.id;
  913. admin.req(url, null, function(resp) {
  914. layer.closeAll('loading');
  915. if (resp.code == 1) {
  916. var changeRecord = resp.data;
  917. form.val('modelChangeForm', changeRecord); // 回显数据
  918. var groupVal = "";
  919. var changeGroup = {
  920. reload: function (data) {
  921. groupVal = data.where.gId;
  922. //责任人
  923. uParas.initFormSelects("responsible1", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  924. form.render();
  925. }
  926. };
  927. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree1", changeGroup, "menuContent1", "useGroupName", "useGroup1",changeRecord.useGroup);
  928. uParas.initFormSelects("responsible1", "/admin/common/getUsersAllByGId?gId=" + changeRecord.gId, "accountRealName", "aId",changeRecord.responsible);
  929. form.render();
  930. var url = uParas.baseUrl + '/ent/deviceChangeRecord/update';
  931. //保存处理
  932. form.on('submit(modelChangeSubmit)', function(data) {
  933. layer.load();
  934. admin.req(url, data.field, function(resp) {
  935. layer.closeAll('loading');
  936. if (resp.code == 1) {
  937. layer.close(dIndex);
  938. layer.msg(resp.msg);
  939. insTb.reload({}, 'data');
  940. } else {
  941. layer.msg(resp.msg);
  942. }
  943. },'POST');
  944. return false;
  945. });
  946. } else {
  947. layer.msg(resp.msg);
  948. }
  949. },'GET');
  950. }
  951. });
  952. }
  953. // 删除变动记录
  954. function delChange(data) {
  955. layer.confirm('确定要删除变动记录吗?', {
  956. skin: 'layui-layer-admin',
  957. shade: .1
  958. }
  959. , function (i) {
  960. layer.close(i);
  961. layer.load();
  962. admin.req(uParas.baseUrl + '/ent/deviceChangeRecord/delete/' + data.id, {}, function (res) {
  963. layer.closeAll('loading');
  964. if (res.code == 1) {
  965. layer.msg(res.msg);
  966. insTb.reload({}, 'data');
  967. } else {
  968. layer.msg(res.msg);
  969. }
  970. }, 'GET');
  971. });
  972. }
  973. // 添加润滑记录
  974. $('#btnAddSmooth').click(function () {
  975. showAddSmoothModel();
  976. });
  977. //新增润滑记录具体方法
  978. function showAddSmoothModel() {
  979. admin.open({
  980. type: 1,
  981. title: "新增润滑记录",
  982. offset: '5px',
  983. area:'500px',
  984. content: $('#modelSmoothTpl').html(),
  985. success: function (layero, dIndex) {
  986. var groupVal = "";
  987. var changeGroup = {
  988. reload: function (data) {
  989. groupVal = data.where.gId;
  990. //责任人
  991. uParas.initFormSelects("responsible", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  992. form.render();
  993. }
  994. };
  995. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree2", changeGroup, "menuContent2", "riskCheckGroupName", "useGroup");
  996. form.render();
  997. $("#smoothDeviceId").val(deviceId);
  998. var url = uParas.baseUrl + '/ent/deviceSmoothRecord/save';
  999. //保存处理
  1000. form.on('submit(modelSmoothSubmit)', function (data) {
  1001. layer.load();
  1002. admin.req(url, data.field, function (resp) {
  1003. layer.closeAll('loading');
  1004. if (resp.code == 1) {
  1005. layer.close(dIndex);
  1006. layer.msg(resp.msg);
  1007. insTb.reload({}, 'data');
  1008. } else {
  1009. layer.msg(resp.msg);
  1010. }
  1011. }, 'POST');
  1012. return false;
  1013. });
  1014. }
  1015. });
  1016. }
  1017. //修改润滑记录具体方法
  1018. function editSmooth(data) {
  1019. admin.open({
  1020. type: 1,
  1021. title: '修改润滑记录',
  1022. offset: '5px',
  1023. area: '500px',
  1024. content: $('#modelSmoothTpl').html(),
  1025. success: function (layero, dIndex) {
  1026. form.render();
  1027. //获取详情
  1028. var url = uParas.baseUrl + '/ent/deviceSmoothRecord/get/'+data.id;
  1029. admin.req(url, null, function(resp) {
  1030. layer.closeAll('loading');
  1031. if (resp.code == 1) {
  1032. var deviceSmoothRecord = resp.data;
  1033. form.val('modelSmoothForm', deviceSmoothRecord); // 回显数据
  1034. var groupVal = "";
  1035. var changeGroup = {
  1036. reload: function (data) {
  1037. groupVal = data.where.gId;
  1038. //责任人
  1039. uParas.initFormSelects("responsible", "/admin/common/getUsersAllByGId?gId=" + groupVal, "accountRealName", "aId");
  1040. form.render();
  1041. }
  1042. };
  1043. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree2", changeGroup, "menuContent2", "riskCheckGroupName", "useGroup",deviceSmoothRecord.gId);
  1044. uParas.initFormSelects("responsible", "/admin/common/getUsersAllByGId?gId=" + deviceSmoothRecord.gId, "accountRealName", "aId",deviceSmoothRecord.responsible);
  1045. form.render();
  1046. var url = uParas.baseUrl + '/ent/deviceSmoothRecord/update';
  1047. //保存处理
  1048. form.on('submit(modelSmoothSubmit)', function(data) {
  1049. layer.load();
  1050. admin.req(url, data.field, function(resp) {
  1051. layer.closeAll('loading');
  1052. if (resp.code == 1) {
  1053. layer.close(dIndex);
  1054. layer.msg(resp.msg);
  1055. insTb.reload({}, 'data');
  1056. } else {
  1057. layer.msg(resp.msg);
  1058. }
  1059. },'POST');
  1060. return false;
  1061. });
  1062. } else {
  1063. layer.msg(resp.msg);
  1064. }
  1065. },'GET');
  1066. }
  1067. });
  1068. }
  1069. // 删除润滑记录
  1070. function delSmooth(data) {
  1071. layer.confirm('确定要删除润滑记录吗?', {
  1072. skin: 'layui-layer-admin',
  1073. shade: .1
  1074. }
  1075. , function (i) {
  1076. layer.close(i);
  1077. layer.load();
  1078. admin.req(uParas.baseUrl + '/ent/deviceInfo/delete/' + data.id, {}, function (res) {
  1079. layer.closeAll('loading');
  1080. if (res.code == 1) {
  1081. layer.msg(res.msg);
  1082. insTb.reload({}, 'data');
  1083. } else {
  1084. layer.msg(res.msg);
  1085. }
  1086. }, 'GET');
  1087. });
  1088. }
  1089. // 搜索
  1090. form.on('submit(formSubSearch)', function (data) {
  1091. insTb.reload({where: data.field}, 'data');
  1092. });
  1093. });
  1094. function deleteImg(obj) {
  1095. $(obj).parent().remove();
  1096. }
  1097. </script>
  1098. </body>
  1099. </html>