Нет описания

askForList.html 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="../Script/Common/huayi.load.js"></script>
  6. <script src="../Script/Common/huayi.config.js"></script>
  7. <link rel="stylesheet" href="../js/layui/css/layui.css">
  8. <link rel="stylesheet" href="./css/jquery.pagination.min.css" />
  9. <link rel="stylesheet" href="../css/init.css" />
  10. <link rel="stylesheet" href="./css/knowledgeList.css" />
  11. <title>知识库主界面</title>
  12. </head>
  13. <body class="gray-bg">
  14. <div class="container-fluid wrapper-content animated fadeInRight">
  15. <div class="daoHang clearfix">
  16. <div class="dhLeft">
  17. <sapn><i class="syIcon"></i>位置:
  18. <a id="ReIndex">首页</a>&gt;
  19. <a href="javaScript:;">知识库</a>&gt;
  20. <a href="" class="nowPosition">知识答复</a>
  21. </sapn>
  22. </div>
  23. <div class="dhRight">
  24. <a href="" title="刷新"><i class="fa fa-refresh"></i></a>
  25. </div>
  26. </div>
  27. <div class="toolBar clearfix">
  28. <ul class="nav nav-pills">
  29. <li role="presentation" class="active" index="1">
  30. <a href="#">普通检索</a>
  31. </li>
  32. <li role="presentation" index="2">
  33. <a href="#">高级检索</a>
  34. </li>
  35. </ul>
  36. <div class="universalSearch" style="display: block;">
  37. <div class="input-group">
  38. <span class="input-group-btn reflectCategory-wrapper">
  39. <input type="text" id="reflectCategoryLabel" placeholder="请选择分类" class="form-control reflectCategory" autocomplete="off" />
  40. <input type="hidden" id="key" />
  41. <span class="CleansReactionCategoryLabel Cleans">×</span>
  42. <div class="reflectCategoryList-wrapper">
  43. <ul id="reflectCategoryList">
  44. </ul>
  45. </div>
  46. </span>
  47. <input type="text" id="searCon" class="form-control" placeholder="请输入关键字">
  48. </div>
  49. </div>
  50. <div class="advancedSearch">
  51. <div class="form-group">
  52. <label for="name">关键字</label>
  53. <input type="text" class="form-control" id="searCon2" placeholder="请输入关键字">
  54. </div>
  55. <div class="form-group">
  56. <label for="name">内容</label>
  57. <input type="text" class="form-control" id="searCon3" placeholder="请输入">
  58. </div>
  59. <div class="form-group">
  60. <label for="name">创建时间</label>
  61. <input id="starttime" class="photo x-color laydate-icon" type="text" autocomplete="off" style="height: 35px;width: 170px;" />-<input id="endtime" class="photo x-color laydate-icon" type="text" autocomplete="off" style="height: 35px;width: 170px;" />
  62. </div>
  63. <div class="form-group">
  64. <label for="name">分类</label>
  65. <div class="reflectCategory-wrapper" style="width: 345px">
  66. <input type="text" id="reflectCategoryLabel2" placeholder="请选择分类" class="form-control reflectCategory" autocomplete="off" />
  67. <input type="hidden" id="key2" />
  68. <span class="CleansReactionCategoryLabel2 Cleans">×</span>
  69. <div class="reflectCategoryList-wrapper">
  70. <ul id="reflectCategoryList">
  71. </ul>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <div class="searchBtn">
  77. <button class="btns" id="resetBtn">重置</button>
  78. <button class="btns" id="serchBtn">搜索</button>
  79. </div>
  80. <button class="addAskFor layui-btn layui-btn-sm layui-btn-primary layui-border-green" hidden="hidden" id="addAskButton">添加索要</button>
  81. <button class="addKnowlage layui-btn layui-btn-sm layui-btn-primary layui-border-blue">添加知识</button>
  82. </div>
  83. <div class="tableList">
  84. <div class="content">
  85. <div class="list knowledgeList">
  86. <ul>
  87. </ul>
  88. <div class="noMsg" style="display: none; text-align: center;">暂无数据</div>
  89. </div>
  90. <div class="page knowledgePage">
  91. <div class="pagination" id="pagination"></div>
  92. </div>
  93. </div>
  94. </div>
  95. <input type="hidden" id="keyidLabel" value="" />
  96. <input type="hidden" id="keyidLabel2" value="" />
  97. </body>
  98. <script src="../css/laydate/laydate.js"></script>
  99. <script src="../js/kindeditor/kindeditor-all-min.js"></script>
  100. <script src="../js/kindeditor/lang/zh-CN.js"></script>
  101. <script src="../js/layui/layui.js"></script>
  102. <!--<script src="./js/jquery.pagination.js"></script>-->
  103. <script src="./js/askForEvents.js"></script>
  104. <script>
  105. var dataParams = {
  106. page: 1,
  107. pagesize: 10,
  108. token: $.cookie("token"),
  109. }
  110. var roleCode = $.cookie("code");
  111. var dataSearchIndex = '1'
  112. var laypage;
  113. $(document).ready(function() {
  114. layui.use('laypage', function(){
  115. laypage = layui.laypage;
  116. // laypage.render({
  117. // limit: dataParams.pagesize,
  118. // elem: 'pagination', //注意,这里的 test1 是 ID,不用加 # 号
  119. //// count: data.total, //数据总数,从服务端得到
  120. //// jump: function(obj, first) {
  121. //// console.log(obj.curr, 'obj.curr')
  122. //// if(!first){
  123. //// dataParams.page = obj.curr;
  124. //// getListData(dataParams);
  125. //// }
  126. //// }
  127. // });
  128. });
  129. if(['WLDW', 'EJWLDW'].includes(roleCode)) {
  130. $('.addAskFor').show();
  131. }
  132. if(['GLY'].includes(roleCode)) {
  133. $('.addAskFor').show();
  134. $('#addAskButton').show();
  135. }
  136. laydate.skin('blue');
  137. laydate({
  138. elem: '#starttime',
  139. event: 'focus',
  140. istime: true,
  141. format: 'YYYY-MM-DD hh:mm:ss'
  142. });
  143. laydate({
  144. elem: '#endtime',
  145. event: 'focus',
  146. istime: true,
  147. format: 'YYYY-MM-DD hh:mm:ss'
  148. });
  149. getListData()
  150. getReactionCategoryLabel() //多级下拉获取数据
  151. })
  152. $("#serchBtn").click(function() {
  153. dataParams.page = 1;
  154. getListData()
  155. })
  156. $("#resetBtn").click(function() {
  157. cleanSearch()
  158. })
  159. // tab切换事件
  160. $(".nav-pills li").click(function() {
  161. $(".nav-pills li").removeClass("active")
  162. $(this).addClass("active")
  163. $(".universalSearch").hide()
  164. $(".advancedSearch").hide()
  165. $(".universalSearch").hide()
  166. if($(this).attr("index") === '1') {
  167. $(".universalSearch").show()
  168. dataSearchIndex = '1'
  169. } else {
  170. dataSearchIndex = '2'
  171. $(".advancedSearch").show()
  172. }
  173. })
  174. // tab切换事件结束
  175. function getListData() {
  176. $(".knowledgeList ul").empty();
  177. if(dataSearchIndex === '1') {
  178. dataParams.key = $("#key").val()
  179. dataParams.title = $("#searCon").val()
  180. } else if(dataSearchIndex === '2') {
  181. dataParams.title = $("#searCon2").val()
  182. dataParams.content = $("#searCon3").val()
  183. dataParams.starttime = $("#starttime").val()
  184. dataParams.endtime = $("#endtime").val()
  185. dataParams.key = $('#key2').val()
  186. }
  187. if(['WLDW'].includes(roleCode)) {
  188. dataParams.deptid = $.cookie('deptid');
  189. }
  190. if (['EJWLDW'].includes(roleCode)) {
  191. dataParams.ejdeptid = $.cookie('deptid');
  192. }
  193. $.ajax({
  194. type: "get",
  195. url: huayi.config.callcenter_url + "kinfoQuestions/GetKinfoList",
  196. async: true,
  197. dataType: 'json',
  198. data: dataParams,
  199. success: function(data) {
  200. if(data.rows && data.rows.length > 0) {
  201. var dataRows = data.rows
  202. //执行一个laypage实例
  203. laypage.render({
  204. limit: dataParams.pagesize,
  205. elem: 'pagination', //注意,这里的 test1 是 ID,不用加 # 号
  206. count: data.total, //数据总数,从服务端得到
  207. curr: dataParams.page,
  208. jump: function(obj, first) {
  209. console.log(obj.curr, 'obj.curr')
  210. if(!first){
  211. dataParams.page = obj.curr;
  212. getListData(dataParams);
  213. }
  214. }
  215. });
  216. $(dataRows).each(function(i, n) {
  217. var html = '<li><div class="title"><span class="contentIcon"><img src="../img/iconTitle.png"></span>';
  218. // 标签
  219. // <span class="layui-badge layui-bg-orange">橙</span>
  220. if(n.F_KnowledgeState === 0) html += '&nbsp;&nbsp;<span class="layui-badge layui-bg-orange">待交办</span>&nbsp;&nbsp;';
  221. if(n.F_KnowledgeState === 1) html += '&nbsp;&nbsp;<span class="layui-badge">待答复</span>&nbsp;&nbsp;';
  222. if(n.F_KnowledgeState === 2) html += '&nbsp;&nbsp;<span class="layui-badge layui-bg-gray">待审核</span>&nbsp;&nbsp;';
  223. if(n.F_KnowledgeState === 3) html += '&nbsp;&nbsp;<span class="layui-badge layui-bg-blue">待审核</span>&nbsp;&nbsp;';
  224. if(n.F_KnowledgeState === 5) html += '&nbsp;&nbsp;<span class="layui-badge layui-bg-blue">待审核</span>&nbsp;&nbsp;';
  225. var isAuto = false;
  226. if (n.KINFO_KNAME && n.ReKINFO_KNAME) {
  227. html += '<a onclick="goDetail(' + n.F_ID+ ')">' + n.KINFO_KNAME + '</a>';
  228. html += '<span>&nbsp;&nbsp;&nbsp;&nbsp;(' + n.ReKINFO_KNAME + ')</span>'
  229. } else if (n.KINFO_KNAME) {
  230. html += '<a onclick="goDetail(' + n.F_ID + ')">' + n.KINFO_KNAME + '</a>';
  231. } else if (n.ReKINFO_KNAME) {
  232. isAuto = true;
  233. html += '<a onclick="goDetail(' + n.F_ID + ')">' + n.ReKINFO_KNAME + '</a>';
  234. }
  235. html += '</div>';
  236. if(n.KINFO_KCONTENT) {
  237. html += '<span class="text">提问内容:' + n.KINFO_KCONTENT + '</span>';
  238. }
  239. if(n.ReKINFO_KCONTENT) {
  240. html += '<span class="text">答复内容:' + n.ReKINFO_KCONTENT + '</span>';
  241. }
  242. // 交办意见
  243. if (n.F_KnowledgeState === 1 && n.F_AssignOperation) {
  244. html += '<span class="text">交办意见:' + n.F_AssignOperation + '</span>';
  245. }
  246. html += '<div class="time">';
  247. if (n.keyname) {
  248. html += '<span class="field">分类</span><span class="label">' + n.keyname + '</span><span class="field"></span>';
  249. html += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
  250. }
  251. if(n.DeptName) {
  252. // 判断是否有三级单位,如果有三级单位显示三级单位名称
  253. var deptName = n.DeptName;
  254. var timeLimit = n.F_TimeLimit;
  255. if(n.F_EJDeptid) {
  256. deptName = n.EJDeptName;
  257. timeLimit = n.F_EJTimeLimit;
  258. }
  259. if (isAuto) {
  260. html += '<span class="field">来源于</span><span>' + deptName + '</span><span class="field"></span>';
  261. } else {
  262. if(n.F_TimeLimit) {
  263. html += '<span class="field">要求</span><span>' + deptName + '</span><span class="field">于</span><span>' + n.F_TimeLimit + '</span><span class="field">前答复</span>'
  264. } else {
  265. html += '<span class="field">要求</span><span>' + deptName + '</span><span class="field">答复</span>'
  266. }
  267. }
  268. html += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
  269. }
  270. // 答复时间
  271. if(n.F_ReplyTime) {
  272. html += '<span class="contentIcon"><img src="../img/iconTime.png"/></span><span>' + n.F_ReplyTime + '</span>';
  273. }
  274. if ([2, 3, 5, 6].includes(n.F_KnowledgeState)) {
  275. var reason = '';
  276. if (n.KINFO_REASON) reason = n.KINFO_REASON;
  277. if (n.F_BackReason) reason = n.F_BackReason;
  278. html += '<span style="color:red;float: right;margin-right: 15px;">'+ reason || '' +'</span>';
  279. }
  280. html += '</div><div class="button">';
  281. // 显示异常信息
  282. //1 = 二级单位待处理
  283. //2 = 二级单位退回待审核
  284. //3 = 二级单位回复待审核
  285. //4 =审核通过
  286. // 操作按钮
  287. if(n.F_KnowledgeState === 0) {
  288. if(['GLY'].includes(roleCode)) {
  289. html += '<a onclick="editAskFor(' + n.F_ID + ')">编辑</a><a onclick="delAskFor(' + n.F_ID + ')">删除</a>';
  290. }
  291. }
  292. if(n.F_KnowledgeState === 1) {
  293. if(['GLY'].includes(roleCode) && !n.F_EJDeptid) {
  294. html += '<a onclick="recallAskFor(' + n.F_ID + ')">撤回</a>';
  295. }
  296. if(['WLDW'].includes(roleCode)) {
  297. if(n.F_EJDeptid > 0) {
  298. html += '<a onclick="recallAskFor(' + n.F_ID + ', 2)">撤回</a>';
  299. } else {
  300. html += '<a onclick="replayAskFor(' + n.F_ID + ')">答复</a><a onclick="sendBackAskFor(' + n.F_ID + ')">退回</a><a onclick="assignAskFor(' + n.F_ID + ')">交办</a>';
  301. }
  302. }
  303. if(['EJWLDW'].includes(roleCode)) {
  304. html += '<a onclick="replayAskFor(' + n.F_ID + ')">答复</a><a onclick="sendBackAskFor(' + n.F_ID + ', 3)">退回</a>';
  305. }
  306. }
  307. if(n.F_KnowledgeState === 2) {
  308. if(['GLY'].includes(roleCode)) {
  309. html += '<a onclick="sendBackAudit(' + n.F_ID + ')">退回审核</a>';
  310. }
  311. }
  312. if(n.F_KnowledgeState === 3) {
  313. if(['GLY'].includes(roleCode)) {
  314. if (isAuto) {
  315. html += '<a onclick="autoSubmitAudit(' + n.F_ID + ')">知识审核</a>';
  316. } else {
  317. html += '<a onclick="submitAudit(' + n.F_ID + ')">答复审核</a>';
  318. }
  319. }
  320. }
  321. if(n.F_KnowledgeState === 5) {
  322. if(['WLDW'].includes(roleCode) && n.EJDeptName) {
  323. if (isAuto) {
  324. html += '<a onclick="autoSubmitAudit(' + n.F_ID + ')">知识审核</a>';
  325. } else {
  326. html += '<a onclick="submitAudit(' + n.F_ID + ')">答复审核</a>';
  327. }
  328. }
  329. }
  330. if(n.F_KnowledgeState === 6) {
  331. if(['WLDW'].includes(roleCode)) {
  332. html += '<a onclick="sendBackAudit(' + n.F_ID + ')">退回审核</a>';
  333. }
  334. }
  335. //
  336. // WLDW 二级网络单位 EJWLDW 三级网络单位
  337. html += '</div></li>';
  338. $(html).appendTo($('.knowledgeList ul'))
  339. })
  340. } else {
  341. $(".knowledgeList ul").hide()
  342. $(".knowledgeList .noMsg").show()
  343. }
  344. }
  345. });
  346. }
  347. function cleanSearch() {
  348. $("#searCon").val('')
  349. $("#keyidLabel").val('')
  350. $("#reflectCategoryLabel").val('')
  351. $("#searCon2").val('')
  352. $("#keyidLabel2").val('')
  353. $("#reflectCategoryLabel2").val('')
  354. $("#isPass").val('')
  355. $("#isSub").val('')
  356. }
  357. // 多级下拉开始
  358. $(".Cleans").click(function() {
  359. $(".Cleans").hide()
  360. $("#reflectCategoryLabel").val("");
  361. $("#keyidLabel").val("");
  362. $("#reflectCategoryLabel2").val("");
  363. $("#keyidLabel2").val("");
  364. });
  365. $(".reflectCategory").focus(function() {
  366. $(".Cleans").show()
  367. });
  368. $(".reflectCategory").blur(function() {
  369. if($("#reflectCategoryLabel").val() === '') {
  370. $(".CleansReactionCategoryLabel").hide()
  371. } else if($("#reflectCategoryLabel2").val() === '') {
  372. $(".CleansReactionCategoryLabel2").hide()
  373. }
  374. });
  375. function getReactionCategoryLabel(pid = 38) {
  376. $.get(
  377. huayi.config.callcenter_url + "Dictionary/GetKnowledgeZTree", {
  378. token: $.cookie("token"),
  379. pid: 38,
  380. },
  381. function(result) {
  382. // result = $.parseJSON(result);
  383. // var content = result.data
  384. // selectMultiple(getTreeData(content),"reflectCategoryLabel","#keyidLabel","CleansReactionCategoryLabel")
  385. // selectMultiple(getTreeData(content),"reflectCategoryLabel2","#keyidLabel2","CleansReactionCategoryLabel2")
  386. result = $.parseJSON(result);
  387. var content = JSON.parse(result.data);
  388. layui.use("dropdown", function() {
  389. var dropdown = layui.dropdown;
  390. dropdown.render({
  391. elem: "#reflectCategoryLabel", //可绑定在任意元素中,此处以上述按钮为例
  392. data: content,
  393. id: "reflectCategoryLabel",
  394. //菜单被点击的事件
  395. click: function(obj) {
  396. $("#reflectCategoryLabel").val(obj.title)
  397. $("#key").val(obj.id)
  398. },
  399. });
  400. dropdown.render({
  401. elem: "#reflectCategoryLabel2", //可绑定在任意元素中,此处以上述按钮为例
  402. data: content,
  403. id: "reflectCategoryLabel2",
  404. //菜单被点击的事件
  405. click: function(obj) {
  406. $("#reflectCategoryLabel2").val(obj.title)
  407. $("#key2").val(obj.id)
  408. },
  409. });
  410. });
  411. }
  412. );
  413. }
  414. function selectMultiple(data, ID, keyId, cleansClass) {
  415. layui.use("dropdown", function() {
  416. var dropdown = layui.dropdown;
  417. dropdown.render({
  418. elem: "#" + ID, //可绑定在任意元素中,此处以上述按钮为例
  419. data: data,
  420. id: ID,
  421. isclickparent: true,
  422. //菜单被点击的事件
  423. click: function(obj) {
  424. $("#" + ID).val(obj.title);
  425. $(keyId).val(obj.id);
  426. $(cleansClass).show()
  427. },
  428. });
  429. });
  430. }
  431. function getTreeData(data) {
  432. var newData = []
  433. data.forEach(function(ele) {
  434. newData.push({
  435. id: ele.id,
  436. title: ele.text,
  437. child: (ele.children && ele.children.length > 0) ? getTreeData(ele.children) : []
  438. })
  439. })
  440. return newData
  441. }
  442. // 多级下拉结束
  443. </script>
  444. </html>