index.html 56 KB

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