Keine Beschreibung

zhiShiKuManger.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. var token = $.cookie("token");
  2. var zNodes = [];
  3. var id; //当前节点id
  4. var pid; //当前父节点ID
  5. var name = ''; //选择的name
  6. var pidName; //父节点name
  7. var keyWord = $('.searCon').val(); //关键字
  8. var xlName; //添加下拉框节点name
  9. var table = $('#table1'); //右边表格
  10. //搜索按钮
  11. $('.searchGo').click(function() {
  12. keyWord = $('.searCon').val();
  13. //console.log(keyWord);
  14. //if(keyWord){
  15. initTable(token, id, keyWord);
  16. //}else{
  17. // layer.msg("请输入搜索内容!");
  18. //}
  19. })
  20. $('.searCon').bind('keypress', function (event) {
  21. if (event.keyCode == "13") {
  22. keyWord = $('.searCon').val();
  23. initTable(token, id, keyWord);
  24. return false;
  25. }
  26. });
  27. tree();
  28. function tree() {
  29. $.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
  30. "token": $.cookie("token"),
  31. "pid": pid
  32. }, function(result) {
  33. result = $.parseJSON(result);
  34. $.fn.zTree.init($("#treeDemo"), setting1, result.data); //实例化树形图
  35. });
  36. }
  37. var setting1 = {
  38. data: {
  39. key: {
  40. name: "text"
  41. },
  42. simpleData: {
  43. enable: true,
  44. idKey: "id",
  45. rootPId: 0
  46. }
  47. },
  48. callback: {
  49. onClick: zTreeOnClick
  50. }
  51. };
  52. function zTreeOnClick(event, treeId, treeNode) {
  53. id = treeNode.id;
  54. name = treeNode.text;
  55. var pidnode = treeNode.getParentNode();
  56. if(pidnode) {
  57. pidName = pidnode.text;
  58. pid = pidnode.id;
  59. //console.log(pid);
  60. } else {
  61. pidName = "顶级分类";
  62. pid == 0;
  63. //console.log(pid);
  64. }
  65. keyWord = $('.searCon').val();
  66. initTable(token, id, keyWord);
  67. };
  68. var setting2 = {
  69. data: {
  70. key: {
  71. name: "text"
  72. },
  73. simpleData: {
  74. enable: true,
  75. idKey: "id",
  76. rootPId: 0
  77. }
  78. },
  79. callback: {
  80. onClick: addTreeClick
  81. }
  82. };
  83. function addTreeClick(event, treeId, treeNode) {
  84. addPid = treeNode.id;
  85. //console.log(addPid);
  86. xlName = treeNode.text;
  87. $('.inps1').val(xlName);
  88. };
  89. //编辑器配置
  90. KindEditor.ready(function(K) {
  91. window.editor = K.create('#addEditor'); //添加弹出框编辑器
  92. window.changeEditor = K.create('#changeEditor'); //修改弹出框编辑器
  93. });
  94. function getTree() {
  95. $.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
  96. "token": $.cookie("token"),
  97. // "pid":pid
  98. }, function(result) {
  99. result = $.parseJSON(result);
  100. $.fn.zTree.init($("#addTreeDemo"), setting2, result.data); //实例化树形图
  101. });
  102. }
  103. //===============添加功能开始=============================
  104. // 清空输入框
  105. function emptyInput() {
  106. $('.addTitle').val('');
  107. $('.addKey').val('');
  108. editor.html('');
  109. // $('#addEditor').val('');
  110. }
  111. //添加按钮
  112. $('.add').click(function() {
  113. $('.addModel').css('display', 'block');
  114. // console.log(pidName);
  115. if(name) {
  116. $('.inps1').val(name);
  117. addPid = id;
  118. } else {
  119. $('.inps1').val("顶级分类");
  120. addPid = 0
  121. //console.log(addPid);
  122. }
  123. getTree();
  124. })
  125. $('.addBtr').click(function() {
  126. $('.addModel').css('display', 'none');
  127. emptyInput();
  128. })
  129. //添加内容下拉
  130. $('.inps1').focus(function() {
  131. $('.xlAdd').css('display', 'block');
  132. })
  133. $('.xl_one').click(function() {
  134. if($('.xlAdd').css('display') == 'block') {
  135. $('.xlAdd').css('display', 'none')
  136. } else {
  137. $('.xlAdd').css('display', 'block')
  138. }
  139. })
  140. $('.addTree').mouseleave(function() {
  141. $(this).css('display', 'none')
  142. })
  143. //保存添加按钮
  144. var addPid, addTitle, addKey, addCon, addDes;
  145. $('.addCun').click(function() {
  146. console.log(addPid);
  147. if($('.inps1').val() == "" || $('.addTitle').val() == "") {
  148. layer.confirm('标题不允许为空!', {
  149. btn: ['确定']
  150. });
  151. return;
  152. } else if (addPid === 0) {
  153. layer.confirm('请选择分类!', {
  154. btn: ['确定']
  155. });
  156. return;
  157. } else {
  158. addTitle = $('.addTitle').val();
  159. addKey = $('.addKey').val();
  160. addCon = encodeURIComponent(editor.html());
  161. $('.addModel').css('display', 'none');
  162. addCunTree(addPid, addTitle, addKey, addCon);
  163. }
  164. emptyInput();
  165. })
  166. function addCunTree(addPid, addTitle, addKey, addCon) {
  167. $.ajax({
  168. type: "post",
  169. url: huayi.config.callcenter_url + "Knowledge/AddInfo",
  170. dataType: 'json',
  171. async: true,
  172. data: {
  173. title: addTitle,
  174. key: addKey,
  175. con: addCon,
  176. pid: addPid,
  177. token: token
  178. },
  179. success: function(data) {
  180. console.log(data)
  181. console.log(data.state);
  182. if(data.state == "success") {
  183. layer.msg("添加成功!");
  184. // tree();
  185. getTree()
  186. initTable(token, id, keyWord);
  187. }
  188. }
  189. });
  190. }
  191. //***********************添加功能结束=============================
  192. //=======================修改功能开始==============================
  193. var chanId, //修改弹出框内 下拉框当前节点ID
  194. changeName, //修改弹出框内 下拉框当前节点name
  195. changeGetid,
  196. chanCunId;
  197. // JSON.stringify($table.bootstrapTable('getSelections'));
  198. $('.change').click(function() {
  199. var changes = $.map($('#table1').bootstrapTable('getSelections'), function(row) {
  200. return row.F_RepositoryId;
  201. });
  202. if(changes.length !== 1) {
  203. layer.confirm('请选择一行修改!', {
  204. btn: ['确定']
  205. });
  206. return;
  207. } else {
  208. $('.changeModel').css('display', 'block');
  209. }
  210. changeGetid = changes;
  211. getChangeTree();
  212. getChangeBox(changeGetid);
  213. })
  214. $('.changeBtr').click(function() {
  215. $('.changeModel').css('display', 'none');
  216. })
  217. $('.inps4').focus(function() {
  218. $('.xlChange').css('display', 'block')
  219. })
  220. //下拉按钮功能
  221. $('.xl_two').click(function() {
  222. if($('.xlChange').css('display') == 'block') {
  223. $('.xlChange').css('display', 'none')
  224. } else {
  225. $('.xlChange').css('display', 'block')
  226. }
  227. })
  228. //修改弹出框内 下拉树形图参数配置项
  229. var setting3 = {
  230. data: {
  231. key: {
  232. name: "text"
  233. },
  234. simpleData: {
  235. enable: true,
  236. idKey: "id",
  237. rootPId: 0
  238. }
  239. },
  240. callback: {
  241. onClick: changeTreeClick
  242. }
  243. }
  244. function changeTreeClick(event, treeId, treeNode) {
  245. chanId = treeNode.id;
  246. changeName = treeNode.text;
  247. $('.inps4').val(changeName);
  248. chanCunId = chanId;
  249. };
  250. function getChangeTree() {
  251. $.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
  252. "token": $.cookie("token"),
  253. "pid": pid
  254. }, function(result) {
  255. result = $.parseJSON(result);
  256. $.fn.zTree.init($("#changeTreeDemo"), setting3, result.data); //实例化树形图
  257. });
  258. }
  259. var cunId;
  260. function getChangeBox(changeGetid) {
  261. $.ajax({
  262. type: "post",
  263. url: huayi.config.callcenter_url + "Knowledge/GetInfo",
  264. async: true,
  265. dataType: 'json',
  266. data: {
  267. infoid: changeGetid,
  268. token: token
  269. },
  270. success: function(data) {
  271. var con = data.data;
  272. $('.inps4').val(con.F_Expand1);
  273. $('.changeTitle').val(con.F_Title);
  274. $('.changeKey').val(con.F_KeyWords);
  275. changeEditor.html(con.F_Content);
  276. cunId = con.F_CategoryId;
  277. chanCunId = cunId;
  278. }
  279. });
  280. }
  281. function changeBaoCunAjax(changeGetid, chanCunId) {
  282. $.ajax({
  283. type: "post",
  284. url: huayi.config.callcenter_url + "Knowledge/EditInfo",
  285. async: true,
  286. dataType: 'json',
  287. data: {
  288. infoid: changeGetid,
  289. title: $('.changeTitle').val(),
  290. key: $('.changeKey').val(),
  291. con: encodeURIComponent(changeEditor.html()), //内容
  292. pid: chanCunId,
  293. token: token
  294. },
  295. success: function(data) {
  296. if(data.state == "success") {
  297. layer.msg("修改成功!");
  298. initTable(token, id, keyWord);
  299. }
  300. }
  301. });
  302. }
  303. $('.changeCun').click(function() {
  304. console.log(chanCunId)
  305. changeBaoCunAjax(changeGetid, chanCunId);
  306. $('.changeModel').css('display', 'none');
  307. })
  308. //***********************修改功能结束=============================
  309. //=======================删除功能开始==============================
  310. var F_RepositoryId;
  311. $('.del').click(function() {
  312. var ids = $.map($('#table1').bootstrapTable('getSelections'), function(row) {
  313. return row.F_RepositoryId;
  314. });
  315. if(ids.length <= 0) {
  316. layer.confirm('请选择一行删除!', {
  317. btn: ['确定']
  318. });
  319. return;
  320. } else {
  321. $('.delModel').css('display', 'block');
  322. }
  323. console.log(ids);
  324. F_RepositoryId = ids;
  325. })
  326. //关闭按钮
  327. $('.delBtr').click(function() {
  328. $('.delModel').css('display', 'none');
  329. })
  330. //确定删除按钮
  331. $('.sure').click(function() {
  332. $.ajax({
  333. type: "post",
  334. url: huayi.config.callcenter_url + "Knowledge/DelInfos",
  335. async: true,
  336. dataType: 'json',
  337. data: {
  338. ids: F_RepositoryId,
  339. token: token
  340. },
  341. success: function(data) {
  342. if(data.state == "success") {
  343. layer.msg("删除成功!");
  344. initTable(token, id, keyWord);
  345. }
  346. }
  347. });
  348. $('.delModel').css('display', 'none');
  349. })
  350. //取消删除按钮
  351. $('.return').click(function() {
  352. $('.delModel').css('display', 'none');
  353. })
  354. //***********************删除功能结束==============================
  355. initTable(token, id, keyWord);
  356. function initTable(token, id, keyWord) {
  357. //先销毁表格
  358. table.bootstrapTable('destroy');
  359. //初始化表格,动态从服务器加载数据
  360. table.bootstrapTable({
  361. method: "get", //使用get请求到服务器获取数据
  362. url: huayi.config.callcenter_url + "Knowledge/GetList", //获取数据的Servlet地址
  363. contentType: 'application/x-www-form-urlencoded',
  364. striped: true, //表格显示条纹
  365. pagination: true, //启动分页
  366. pageSize: 10, //每页显示的记录数
  367. pageNumber: 1, //当前第几页
  368. pageList: [10, 15, 20, 50, 100], //记录数可选列表
  369. search: false, //是否启用查询
  370. showColumns: false, //显示下拉框勾选要显示的列
  371. showRefresh: false, //显示刷新按钮
  372. sidePagination: "server", //表示服务端请求
  373. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  374. //设置为limit可以获取limit, offset, search, sort, order
  375. queryParamsType: "undefined",
  376. queryParams: function queryParams(params) { //设置查询参数
  377. var param = {
  378. page: params.pageNumber,
  379. pagesize: params.pageSize,
  380. token: token,
  381. pid: id,
  382. keywords: keyWord
  383. };
  384. return param;
  385. },
  386. onLoadSuccess: function() { //加载成功时执行
  387. //layer.msg("加载成功");
  388. },
  389. onLoadError: function() { //加载失败时执行
  390. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  391. }
  392. });
  393. }
  394. function formatterTitle(val, row){
  395. if(val.length > 15){
  396. val = val.substring(0,15) + "...";
  397. }
  398. return '<div onclick="btn_detail('+ row.F_RepositoryId +')" class="content">' + val + '</div>'
  399. }
  400. function oper(val, row) {
  401. if(val.length > 20){
  402. val = val.substring(0,20) + "...";
  403. }
  404. return '<div onclick="btn_detail('+ row.F_RepositoryId +')" class="content">' + val + '</div>'
  405. }
  406. function formatterKey(val, row) {
  407. if(val.length > 10){
  408. val = val.substring(0,10) + "...";
  409. }
  410. return val;
  411. }
  412. function setCode(val, row, index) {
  413. var page = table.bootstrapTable("getPageCode");
  414. return page.pageSize * (page.pageNumber - 1) + index + 1;
  415. }
  416. //点击标题 内容查看详情
  417. function btn_detail(seeid) {
  418. layer.open({
  419. type: 2,
  420. title: '查看知识库',
  421. shadeClose: true, //是否开启点击遮罩关闭
  422. shade: 0.4, //遮罩
  423. maxmin: true, //开启最大化最小化按钮
  424. id: 'LAY_layuipro', //防止重复弹出
  425. moveType: 1, //拖拽类型 默认的拖拽风格正如你所见到的,会有个过度的透明框。但是如果你不喜欢,你可以设定moveType: 1切换到传统的拖拽模式
  426. moveOut: true, //拖拽到窗口外
  427. //resize: true,//是否允许拉伸
  428. area: ['70%', '50%'],
  429. content: 'addModel.html?changeGetid=' + seeid + ''
  430. });
  431. }