index_feedback.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  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. </head>
  12. <body>
  13. <!-- 页面加载loading -->
  14. <div class="page-loading">
  15. <div class="ball-loader">
  16. <span></span><span></span><span></span><span></span>
  17. </div>
  18. </div>
  19. <!-- 正文开始 -->
  20. <div class="layui-fluid">
  21. <div class="layui-row layui-col-space15">
  22. <!-- 集团、企业树 -->
  23. <div class="layui-col-sm12 layui-col-md1 layui-col-lg2">
  24. <div class="layui-card">
  25. <div class="layui-card-body mini-bar zTree" id="treeTbTree">
  26. <ul id="comTree" class="ztree"></ul>
  27. </div>
  28. </div>
  29. </div>
  30. <!-- 问题反馈列表 -->
  31. <div class="layui-col-sm12 layui-col-md11 layui-col-lg10">
  32. <div class="layui-card">
  33. <div class="layui-card-body">
  34. <div class="layui-tab" lay-filter="tabChange">
  35. <ul class="layui-tab-title">
  36. <li class="layui-this">未处理</li>
  37. <li>已处理</li>
  38. </ul>
  39. </div>
  40. <div class="layui-inline pull-right">
  41. <button id="addFeedback" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-normal"
  42. style="position: relative;
  43. top: 15px;"><i
  44. class="layui-icon">&#xe654;</i>新增问题
  45. </button>
  46. </div>
  47. <form class="layui-form m-top10px m-bottom10px" lay-filter="queryForm" id="queryForm">
  48. <input type="hidden" name="cIds" id="cIds">
  49. <div class="layui-form toolbar pull-right">
  50. <div class="layui-form-item">
  51. <div class="text-right layui-inline">
  52. <div class="layui-inline">
  53. <label class="layui-form-label w-auto">搜索:</label>
  54. <div class="layui-input-inline mr0">
  55. <input name="keyword" id="keyword" class="layui-input" type="text"
  56. placeholder="输入关键字"/>
  57. </div>
  58. </div>
  59. <div class="layui-inline">
  60. <button class="layui-btn icon-btn" lay-filter="formSubSearch" lay-submit
  61. style="background-color: #007DDB;">
  62. <i class="layui-icon">&#xe615;</i>搜索
  63. </button>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. </form>
  69. <table class="layui-table" id="dangerTable" lay-filter="dangerTable"></table>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. <!-- js部分 -->
  76. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  77. <script type="text/javascript" src="../../../assets/js/common.js?v=313"></script>
  78. <script type="text/html" id="modelTpl">
  79. <form id="modelForm" lay-filter="modelForm" class="layui-form model-form">
  80. <input name="feedbackId" id="feedbackId" class="layui-input" type="hidden"/>
  81. <div class="layui-form-item">
  82. <label class="layui-form-label">下发企业:</label>
  83. <div class="layui-input-block">
  84. <select id="companyId" name="companyId" lay-filter="companyId"
  85. class="layui-input-block">
  86. </select>
  87. </div>
  88. </div>
  89. <div class="layui-form-item text-right">
  90. <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
  91. <button class="layui-btn" lay-filter="modelSubmit" lay-submit>下发</button>
  92. </div>
  93. </form>
  94. </script>
  95. <script type="text/html" id="modelTpl1">
  96. <form id="modelForm1" lay-filter="modelForm1" class="layui-form model-form">
  97. <div class="layui-form-item">
  98. <label class="layui-form-label">问题企业:</label>
  99. <div class="layui-input-block">
  100. <select id="companyId1" name="companyId1" lay-filter="companyId1"
  101. class="layui-input-block" lay-verify="required">
  102. </select>
  103. </div>
  104. </div>
  105. <div class="layui-form-item">
  106. <label class="layui-form-label">问题描述:</label>
  107. <div class="layui-input-block">
  108. <textarea name="spotRemark" id="spotRemark" placeholder="请输入问题描述" type="text" class="layui-textarea"
  109. lay-verType="tips" lay-verify="required" required/>
  110. </div>
  111. </div>
  112. <div class="layui-form-item text-right">
  113. <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
  114. <button class="layui-btn" lay-filter="modelSubmit1" lay-submit>保存</button>
  115. </div>
  116. </form>
  117. </script>
  118. <script>
  119. layui.use(['layer', 'element', 'form', 'admin',
  120. 'uParas', 'util', 'zTree', 'table', 'element'], function () {
  121. var $ = layui.jquery;
  122. var layer = layui.layer;
  123. var form = layui.form;
  124. var admin = layui.admin;
  125. var uParas = layui.uParas;
  126. var table = layui.table;
  127. var util = layui.util;
  128. var element = layui.element;
  129. var insTb;
  130. var resultValue = 0;
  131. //tab切换监听
  132. element.on('tab(tabChange)', function (data) {
  133. if (data.index == 0) {
  134. resultValue = 0;
  135. } else if (data.index == 1) {
  136. resultValue = 1;
  137. }
  138. renderTable();
  139. });
  140. // ------------------------------------------------------隐患列表start--------------------------------------------
  141. /**隐患等级过滤*/
  142. uParas.initSimpleSelect("hdangerLevel", "queryForm", "/admin/common/getHdangerLevelList", "keyName", "keyValue");
  143. // 渲染表格数据
  144. function renderTable(cId) {
  145. insTb = table.render({
  146. elem: '#dangerTable',
  147. url: uParas.baseUrl + '/ent/feedback/queryPage',
  148. where: {"cId": cId, "resultValue": resultValue},
  149. // height: 687,
  150. page: true,
  151. toolbar: true,
  152. title: '问题反馈',
  153. cellMinWidth: 100,
  154. cols: [[
  155. {type: 'numbers', title: '序号', width: 80},
  156. {field: 'spotRemark', sort: false, title: '问题描述'},
  157. {field: 'executorGroupName', sort: false, title: '问题所在部门'},
  158. {
  159. field: 'resultValue', sort: false, title: '处理结果', width: 100,
  160. templet: function (d) {
  161. return setResultValue(d);
  162. }
  163. },
  164. {field: 'disposeName', sort: false, width: 110, title: '处理人员'},
  165. {field: 'executorName', sort: false, width: 110, title: '反馈人员'},
  166. {field: 'createdTime', sort: false, width: 150, title: '提交时间'},
  167. {
  168. align: 'center', title: '操作', width: 150,
  169. templet: function (d) {
  170. return setOperation(d);
  171. }
  172. }
  173. ]]
  174. });
  175. }
  176. //状态
  177. function setResultValue(row) {
  178. if (row.resultValue == 0) {
  179. return "未处理";
  180. } else {
  181. return "已处理";
  182. }
  183. }
  184. //操作
  185. function setOperation(row) {
  186. var html = '';
  187. if (row.resultValue == 0) {
  188. html += '<a class="layui-btn layui-btn-xs bg-c-orange" lay-event="handle">处理</a>';
  189. html += '<a class="layui-btn layui-btn-xs bg-c-green" lay-event="Issued">下发</a>';
  190. } else {
  191. html += '<a class="layui-btn layui-btn-xs bg-c-add" lay-event="detail" >详情</a>';
  192. html += '<a class="layui-btn layui-btn-xs bg-c-add" lay-event="hdDetail" >隐患追踪</a>';
  193. }
  194. return html;
  195. }
  196. // 工具条点击事件
  197. table.on('tool(dangerTable)', function (obj) {
  198. var data = obj.data;
  199. var layEvent = obj.event;
  200. if (layEvent == 'handle') { // 处理
  201. goDetail(data);
  202. } else if (layEvent == 'detail') { // 详情
  203. goDetail(data);
  204. } else if (layEvent == 'Issued') { //下发
  205. Issued(data);
  206. } else if (layEvent == 'hdDetail') { //隐患追踪
  207. detail(data);
  208. }
  209. });
  210. function goDetail(data) {
  211. location.href = "./detail_feedback.html?feedbackId=" + data.feedbackId;
  212. }
  213. // 搜索
  214. form.on('submit(formSubSearch)', function (data) {
  215. insTb.reload({where: data.field}, 'data');
  216. });
  217. // 清空
  218. form.on('submit(formSubEmpty)', function (data) {
  219. $("#keyword").val("");
  220. insTb.reload({where: data.field}, 'data');
  221. });
  222. //详情
  223. function detail(data) {
  224. location.href = "./details.html?hdangerId=" + data.feedbackId;
  225. }
  226. //下发
  227. function Issued(data) {
  228. admin.open({
  229. type: 1,
  230. title: '问题下发',
  231. area: ["600px", "300px"],
  232. content: $('#modelTpl').html(),
  233. success: function (layero, dIndex) {
  234. uParas.initSimpleSelect("companyId", "modelForm", "/gent/company/comTreeList", "companyName", "cId");
  235. $('#feedbackId').val(data.feedbackId);
  236. var url = uParas.baseUrl + '/ent/feedback/update';
  237. // 保存处理
  238. form.on('submit(modelSubmit)', function (data) {
  239. layer.load();
  240. admin.req(url, data.field, function (resp) {
  241. layer.closeAll('loading');
  242. if (resp.code == 1) {
  243. layer.msg("发送成功");
  244. layer.close(dIndex);
  245. location.href = "./index_feedback.html";
  246. } else {
  247. layer.msg(resp.msg)
  248. }
  249. }, 'POST');
  250. return false;
  251. });
  252. }
  253. });
  254. }
  255. $('#addFeedback').click(function () {
  256. addFeedback();
  257. });
  258. //问题添加
  259. function addFeedback(data) {
  260. admin.open({
  261. type: 1,
  262. title: '新增问题',
  263. area: ["600px", "300px"],
  264. content: $('#modelTpl1').html(),
  265. success: function (layero, dIndex) {
  266. uParas.initSimpleSelect("companyId1", "modelForm1", "/gent/company/comTreeList", "companyName", "cId");
  267. var url = uParas.baseUrl + '/ent/feedback/save';
  268. // 保存处理
  269. form.on('submit(modelSubmit1)', function (data) {
  270. layer.load();
  271. admin.req(url, data.field, function (resp) {
  272. layer.closeAll('loading');
  273. if (resp.code == 1) {
  274. layer.msg("发送成功");
  275. layer.close(dIndex);
  276. location.href = "./index_feedback.html";
  277. } else {
  278. layer.msg(resp.msg)
  279. }
  280. }, 'POST');
  281. return false;
  282. });
  283. }
  284. });
  285. }
  286. // ------------------------------------------------------隐患列表end--------------------------------------------
  287. // ------------------------------------------------------集团、企业树start----------------------------------------
  288. // 左树设置
  289. var leftgroupTreeSetting = {
  290. data: {
  291. simpleData: {
  292. enable: true,
  293. idKey: "cId",
  294. pIdKey: "companyParentId",
  295. rootPId: 0,
  296. },
  297. key: {
  298. name: "qymc",
  299. title: "qymc"
  300. }
  301. },
  302. callback: {
  303. onClick: leftNodeClick
  304. }
  305. };
  306. //树结点click
  307. function leftNodeClick(e, treeId, treeNode) {
  308. var cId = treeNode.cId;
  309. // console.info(cId);
  310. $('#queryForm #cIds').val(cId);
  311. insTb.reload({where: {"cIds": cId}}, 'data');
  312. }
  313. //选择节点
  314. function selectNode() {
  315. var treeObj = $.fn.zTree.getZTreeObj("comTree");
  316. var nodes = treeObj.getNodes();
  317. if (nodes.length > 0) {
  318. $('#queryForm #cId').val(nodes[0].cId);
  319. renderTable(nodes[0].cId);
  320. treeObj.selectNode(nodes[0]);
  321. treeObj.expandNode(nodes[0], true, false, false);
  322. }
  323. }
  324. // 初始化集团、企业树
  325. admin.req(uParas.baseUrl + '/gent/company/comTreeList', {}, function (resp) {
  326. if (resp.code == 1) {
  327. var zNodes = resp.data;
  328. // console.info(resp.data);
  329. $.fn.zTree.init($('#comTree'), leftgroupTreeSetting, zNodes);
  330. selectNode();
  331. layer.closeAll('loading');
  332. } else {
  333. layer.msg(resp.msg);
  334. }
  335. }, 'GET');
  336. // ------------------------------------------------------集团、企业树end------------------------------------------
  337. });
  338. </script>
  339. </body>
  340. </html>