new_searchTool.html 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513
  1. <!doctype html>
  2. <html lang="zh">
  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.0">
  7. <title>afaa</title>
  8. <link rel="stylesheet" type="text/css" href="css/normalize.css"/>
  9. <link rel="stylesheet" href="css/style.css">
  10. <link href="http://cdn.bootcss.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
  11. <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
  12. <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
  13. <link rel="stylesheet" type="text/css" href="css/default.css">
  14. <link href="css/toastr.min.css" rel="stylesheet">
  15. <script src="https://npmcdn.com/tether@1.2.4/dist/js/tether.min.js"></script>
  16. <script src="js/jquery.min.js"></script>
  17. <script src="js/toastr.min.js"></script>
  18. <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  19. <script src="js/jquery_cookie_min.js"></script>
  20. <script src="js/scripts.js"></script>
  21. <script src="js/jqhttpsdk.js"></script>
  22. <script src="js/jkcor.js"></script>
  23. <script src="js/pages.js"></script>
  24. <script src="js/datachange.js"></script>
  25. <style>
  26. html {
  27. font-family: sans-serif;
  28. line-height: 1.15;
  29. -ms-text-size-adjust: 100%;
  30. -webk_idit-text-size-adjust: 100%;
  31. background-color: #ffffff;
  32. }
  33. td {
  34. white-space: nowrap;
  35. }
  36. #in_button:hover{
  37. background: #000000;
  38. color: #ffffff;
  39. }
  40. body {
  41. font-family :-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  42. }
  43. </style>
  44. </head>
  45. <body>
  46. <div class="clear-backend">
  47. <div class="avatar">
  48. <div>
  49. <a href="javascript:void(0);" target="_blank">
  50. <img src="img/admin.png" alt="">
  51. </a>
  52. </div>
  53. </div>
  54. <!-- tab-menu -->
  55. <div id="zosi" class="menu">
  56. <input type="radio" class="tab-1" name="tab" onclick="location.href='index.html'">
  57. <span>APP</span><i class="fa fa-home"></i>
  58. </div>
  59. <div id="avss" class="menu">
  60. <input type="radio" class="tab-5" name="tab" onclick="location.href='avss_index.html'">
  61. <span>AVSS</span><i class="fa fa-language"></i>
  62. </div>
  63. <div id="zosi_link" class="menu">
  64. <input type="radio" class="tab-6" name="tab" onclick="location.href='zosi_link_index.html'">
  65. <span>Zosi Link</span><i class="fa fa-language"></i>
  66. </div>
  67. <div class="menu">
  68. <input type="radio" class="tab-7" name="tab" checked="checked">
  69. <span> New Search Tool</span><i class="fa fa-language"></i>
  70. </div>
  71. <div class="menu">
  72. <input type="radio" class="tab-8" name="tab" onclick="location.href='old_searchTool.html'">
  73. <span>Old Search Tool</span><i class="fa fa-language"></i>
  74. </div>
  75. <div class="menu">
  76. <input type="radio" class="tab-2" name="tab" onclick="location.href='langTab.html'">
  77. <span>Lang</span><i class="fa fa-medium"></i>
  78. </div>
  79. <div class="menu">
  80. <input type="radio" class="tab-3" name="tab" onclick="location.href='userTab.html'">
  81. <span>Users</span><i class="fa fa-user"></i>
  82. </div>
  83. <div class="menu">
  84. <input type="radio" class="tab-4" name="tab" onclick="location.href='imgTab.html'">
  85. <span>Azimg</span><i class="fa fa-image"></i>
  86. </div>
  87. <center class="top-bar" style="display: flex; justify-content: space-around;">
  88. <div style="color: red; font-size: 11px; width: 598px; display: inline-flex; flex-direction: column; word-break: break-all; text-align: left; line-height: normal; align-self: center;">
  89. <span>红色/白色代表是研发最开始填入的,如果翻译人员觉得翻译有误,更改后,会变成蓝色</span>
  90. <span>如果翻译人员觉得翻译无误,点击编辑按钮后,直接点确认,也会变成蓝色所以最终的效果,是所有都会变成蓝色</span>
  91. </div>
  92. <input id="in_button" type="button" value="reset" style="border: 1px solid #e6cdcd; height: 60px; width: 100px;" onclick="onReset()">
  93. <ul>
  94. <li>
  95. <a href="login.html" title="Log Out">
  96. <i class="fa fa-sign-out"></i>
  97. </a>
  98. </li>
  99. </ul>
  100. </center>
  101. <!-- tab-content -->
  102. <div class="tab-content" style="overflow: auto">
  103. <section class="tab-item-1" style="height: 100%;width: 100%;display: block">
  104. <ul id="myTab" class="nav nav-tabs">
  105. <li id="li1">
  106. <a href="#context" data-toggle="tab">context</a>
  107. </li>
  108. <li id="li2"><a href="#key" data-toggle="tab">key</a></li>
  109. <li id="li3"><a href="#location" data-toggle="tab">location</a></li>
  110. <li id="li4"><a href="#translation" data-toggle="tab">translation</a></li>
  111. </ul>
  112. <div class="tab-pane fade" id="context">
  113. <div class="container-fluid">
  114. <div class="row">
  115. <div id="contextsearchCheckBox" class="col-md-8"></div>
  116. <div class="col-md-4">
  117. <input type="text" class="form-group form-control" id="contextsearchInput"
  118. style="width: 300px;display: inline"/>
  119. <button class="btn btn-danger form-inline" style="margin-bottom: 5px"
  120. id="searchContextAction">搜索
  121. </button>
  122. </div>
  123. </div>
  124. </div>
  125. <div class="container-fluid">
  126. <div class="row">
  127. <!--add-->
  128. <div class="col-md-12">
  129. <table class="table table-bordered table-hover">
  130. <thead id="contextHead"></thead>
  131. <tbody id="contextBody"></tbody>
  132. </table>
  133. </div>
  134. </div>
  135. <div id="contextpagination"></div>
  136. </div>
  137. </div>
  138. <div class="tab-pane fade" id="key">
  139. <div class="container-fluid">
  140. <div class="row">
  141. <div id="keysearchCheckBox" class="col-md-8"></div>
  142. <div class="col-md-4">
  143. <input type="text" class="form-group form-control" id="keysearchInput"
  144. style="width: 300px;display: inline"/>
  145. <button class="btn btn-danger form-inline" style="margin-bottom: 5px"
  146. id='searchKeyAction'>搜索
  147. </button>
  148. </div>
  149. </div>
  150. </div>
  151. <div class="container-fluid">
  152. <div class="row">
  153. <!--add-->
  154. <div class="col-md-12">
  155. <table class="table table-bordered table-hover">
  156. <thead id="keyHead"></thead>
  157. <tbody id="keyBody"></tbody>
  158. </table>
  159. </div>
  160. </div>
  161. <div id="keypagination"></div>
  162. </div>
  163. </div>
  164. <div class="tab-pane fade" id="location">
  165. <div class="container-fluid">
  166. <div class="row">
  167. <div id="locationsearchCheckBox" class="col-md-8"></div>
  168. <div class="col-md-4">
  169. <input type="text" class="form-group form-control" id="locationsearchInput"
  170. style="width: 300px;display: inline"/>
  171. <button class="btn btn-danger form-inline" style="margin-bottom: 5px"
  172. id='searchLocationAction'>搜索
  173. </button>
  174. </div>
  175. </div>
  176. </div>
  177. <div class="container-fluid">
  178. <div class="row">
  179. <!--add-->
  180. <div class="col-md-12">
  181. <table class="table table-bordered table-hover">
  182. <thead id="locationHead"></thead>
  183. <tbody id="locationBody"></tbody>
  184. </table>
  185. </div>
  186. </div>
  187. <div id="locationpagination"></div>
  188. </div>
  189. </div>
  190. <div class="tab-pane fade" id="translation">
  191. <div class="container-fluid">
  192. <div class="row">
  193. <div id="translationsearchCheckBox" class="col-md-8"></div>
  194. <div class="col-md-4">
  195. <input type="text" class="form-group form-control" id="translationsearchInput"
  196. style="width: 300px;display: inline"/>
  197. <button class="btn btn-danger form-inline" style="margin-bottom: 5px"
  198. id='searchTranslationAction'>搜索
  199. </button>
  200. </div>
  201. </div>
  202. </div>
  203. <div class="container-fluid">
  204. <div class="row">
  205. <!--add-->
  206. <div class="col-md-12">
  207. <table class="table table-bordered table-hover">
  208. <thead id="translationHead"></thead>
  209. <tbody id="translationBody"></tbody>
  210. </table>
  211. </div>
  212. </div>
  213. <div id="translationpagination"></div>
  214. </div>
  215. </div>
  216. <!---->
  217. <div class="container-fluid">
  218. <div class="row">
  219. <div class="col-md-12">
  220. <div class="modal fade" id="modal-container-593541" role="dialog" aria-labelledby="myModalLabel"
  221. aria-hidden="true">
  222. <div class="modal-dialog" role="document">
  223. <div class="modal-content">
  224. <div class="modal-header">
  225. <h5 class="modal-title" id="myModalLabel">
  226. EDIT
  227. </h5>
  228. <button type="button" class="close" data-dismiss="modal">
  229. <span aria-hidden="true">×</span>
  230. </button>
  231. </div>
  232. <div class="modal-body">
  233. <div class="form-group" id="edit_model_form">
  234. <!--<label for="InputLangArea">-->
  235. <!--langArea-->
  236. <!--</label>-->
  237. <!--<input type="text" class="form-control" id="InputLangArea"/>-->
  238. </div>
  239. </div>
  240. <div class="modal-footer">
  241. <button type="button" class="btn btn-primary editRowSaveBtn"
  242. onclick="editRow(this);return false;">
  243. Save changes
  244. </button>
  245. <button type="button" class="btn btn-secondary" data-dismiss="modal">
  246. Close
  247. </button>
  248. </div>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. </div>
  255. <div class="container-fluid">
  256. <div class="row">
  257. <div class="col-md-12">
  258. <div class="modal fade" id="key_Modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  259. <div class="modal-dialog" role="document">
  260. <div class="modal-content">
  261. <div class="modal-header">
  262. <h5 class="modal-title" id="roleTitle">word_key内容增加/修改</h5>
  263. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  264. <span aria-hidden="true">&times;</span>
  265. </button>
  266. </div>
  267. <div class="modal-body">
  268. <div class="form-group">
  269. <label for="name">模块名</label>
  270. <select id ="queryDevice" class="selectpicker" style="width: 70%"></select>
  271. </div>
  272. <div class="form-group">
  273. <label for="name">word_key</label>
  274. <input type="text" class="form-control" id="word_key" name ="word_key"/>
  275. </div>
  276. </div>
  277. <div class="modal-footer" id = "footerbutton">
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. </div>
  283. </div>
  284. </div>
  285. <div class="container-fluid">
  286. <div class="row">
  287. <div class="col-md-12">
  288. <div class="modal fade" id="location_Modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  289. <div class="modal-dialog" role="document">
  290. <div class="modal-content">
  291. <div class="modal-header">
  292. <h5 class="modal-title" id="roleTitle">location内容增加/修改</h5>
  293. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  294. <span aria-hidden="true">&times;</span>
  295. </button>
  296. </div>
  297. <div class="modal-body">
  298. <div class="form-group">
  299. <label for="name">word_key</label>
  300. <select id ="locationqueryDevice" class="selectpicker" style="width: 70%"></select>
  301. </div>
  302. <div class="form-group">
  303. <label for="name">filename</label>
  304. <input type="text" class="form-control" id="filename" name ="filename"/>
  305. <label for="name">line</label>
  306. <input type="text" class="form-control" id="line" name ="line"/>
  307. </div>
  308. </div>
  309. <div class="modal-footer" id = "locationfooterbutton">
  310. </div>
  311. </div>
  312. </div>
  313. </div>
  314. </div>
  315. </div>
  316. </div>
  317. <div class="container-fluid">
  318. <div class="row">
  319. <div class="col-md-12">
  320. <div class="modal fade" id="translation_Modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  321. <div class="modal-dialog" role="document">
  322. <div class="modal-content">
  323. <div class="modal-header">
  324. <h5 class="modal-title" id="roleTitle">translation内容增加/修改</h5>
  325. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  326. <span aria-hidden="true">&times;</span>
  327. </button>
  328. </div>
  329. <div class="modal-body">
  330. <div class="form-group">
  331. <label for="name">word_key</label>
  332. <select id ="translationqueryDevice" class="selectpicker" style="width: 70%"></select>
  333. </div>
  334. <div class="form-group" id ="translationinput">
  335. </div>
  336. </div>
  337. <div class="modal-footer" id = "translationfooterbutton">
  338. </div>
  339. </div>
  340. </div>
  341. </div>
  342. </div>
  343. </div>
  344. </div>
  345. </section>
  346. </div>
  347. </div>
  348. <script type="text/javascript">
  349. var orderByupdate = 0
  350. var page = 1
  351. var line = 10
  352. var initData
  353. var IndexFlat = 0
  354. var queryUrl ;
  355. var tagTableHead ;
  356. var tagTableBody ;
  357. let searchKey ;
  358. let searchVal ;
  359. var optionsRadios ;
  360. var searchCheckBox ;
  361. var bodykey ;
  362. var tagpagination;
  363. var searchtype = "0" ;
  364. var project_id = 4 ;
  365. $(function(){
  366. var username = $.cookie("username");
  367. $("li").hide();
  368. if(username =="admin"){
  369. $("li").show();
  370. $("#li1").addClass("active");
  371. $("#context").addClass(" in active");
  372. }else {
  373. $("#li4").show();
  374. $("#li4").addClass("active");
  375. $("#translation").tab("show");
  376. var $tabs = $('#myTab').children( 'li' );
  377. $tabs.removeClass("active");
  378. $tabs.each( function(i, n) {
  379. var $tab = $( this );
  380. if($tab[0].innerText=="translation"){
  381. $tab.addClass("active");
  382. $("#translation").addClass(" in active");
  383. }
  384. });
  385. }
  386. initQueryUrl();
  387. initTagTable();
  388. $("#myTab a").click(function(e){
  389. e.preventDefault();
  390. $(this).tab("show");
  391. initQueryUrl();
  392. initTagTable();
  393. let post_data = {
  394. 'token': $.cookie('access_token'),
  395. 'page': 1,
  396. 'line': line,
  397. 'orderByupdate': orderByupdate,
  398. 'type': searchtype,
  399. 'project_id' : project_id
  400. };
  401. InitIndex(post_data=post_data,is_search = 1);
  402. //IndexTable();
  403. });
  404. })
  405. function initQueryUrl(){
  406. var tabtext = getCurrentTabText();
  407. queryUrl = "searchtool/query_"+tabtext;
  408. }
  409. function initTagTable(){
  410. var tabtext = getCurrentTabText();
  411. $(".tab-pane").hide();
  412. IndexFlat = 0;
  413. tagTableHead = $("#" + tabtext + "Head");
  414. tagTableBody = $("#" + tabtext + "Body");
  415. optionsRadios= tabtext+"optionsRadios";
  416. searchKey = $('input[name="'+optionsRadios+'"]:checked')[0];
  417. searchVal = $("#" + tabtext + "searchInput").val(null);
  418. bodykey = tabtext+"key";
  419. searchCheckBox = $("#" + tabtext + "searchCheckBox");
  420. tagpagination = $("#" + tabtext + "pagination");
  421. $("#" + tabtext + "").show();
  422. }
  423. function getsearch(){
  424. var tabtext = getCurrentTabText();
  425. searchKey = $('input[name="'+optionsRadios+'"]:checked').val();
  426. searchVal = $("#" + tabtext + "searchInput").val();
  427. }
  428. $(function () {
  429. toastr.options = {
  430. "closeButton": true,
  431. "debug": false,
  432. "newestOnTop": false,
  433. "progressBar": true,
  434. "positionClass": "toast-top-right",
  435. "preventDuplicates": false,
  436. "onclick": null,
  437. "showDuration": "300",
  438. "hideDuration": "500",
  439. "timeOut": "5000",
  440. "extendedTimeOut": "1000",
  441. "showEasing": "swing",
  442. "hideEasing": "linear",
  443. "showMethod": "fadeIn",
  444. "hideMethod": "fadeOut"
  445. }
  446. var page = GetUrlParam('page')
  447. if (!page) {
  448. page = 1
  449. }
  450. let post_data = {
  451. 'token': $.cookie('access_token'),
  452. 'page': page,
  453. 'line': line,
  454. 'orderByupdate': orderByupdate,
  455. 'type': searchtype,
  456. 'project_id' : project_id
  457. };
  458. InitIndex(post_data)
  459. });
  460. function orderByUpdateTimeFunc(status) {
  461. if (status === 1) {
  462. orderByupdate = 0
  463. } else {
  464. orderByupdate = 1
  465. }
  466. var page = GetUrlParam('page')
  467. if (!page) {
  468. page = 1
  469. }
  470. let post_data = {
  471. 'token': $.cookie('access_token'),
  472. 'page': page,
  473. 'line': 10,
  474. 'orderByupdate': orderByupdate,
  475. 'type': searchtype,
  476. 'project_id' : project_id
  477. };
  478. InitIndex(post_data)
  479. }
  480. function InitIndex(post_data, is_search = 0) {
  481. $.postJSON(
  482. http_ip_prot + queryUrl, JSON.stringify(post_data),
  483. function (data) {
  484. if (data['code'] == 0) {
  485. // console.log(data['res'])
  486. console.log(data)
  487. addTable(data['res'])
  488. let count_page = Math.ceil(data['res']['count'] / line)
  489. var current_page = GetUrlParam('page');
  490. if(is_search === 1){
  491. current_page = 1;
  492. }
  493. tagpagination.pagination({
  494. pages: count_page, //总页数
  495. // pages: 10000, //总页数
  496. edges: 2,
  497. cssStyle: 'pagination', //按纽大小pagination-lg或写入自定义css
  498. displayedPages: 5, //显示几个
  499. currentPage: current_page,
  500. onPageClick: function (pageNumber, event) {
  501. //点击时调用
  502. // alert(pageNumber);
  503. queryData(pageNumber)
  504. },
  505. onInit: function (getid) {
  506. //刷新时或初始化调用
  507. // alert(getid);
  508. }
  509. });
  510. } else {
  511. window.location.href = "http://" + domain + ":7724/web/login.html";
  512. alert(data['msg'])
  513. }
  514. }
  515. );
  516. $.postJSON(
  517. http_ip_prot + 'user/init', JSON.stringify(post_data),
  518. function (data) {
  519. if (data['code'] == 0) {
  520. console.log('initData__start')
  521. console.log(data)
  522. console.log('initData__end')
  523. initData = data['res']
  524. } else {
  525. window.location.href = "http://" + domain + ":7724/web/login.html";
  526. alert(data['msg'])
  527. }
  528. }
  529. );
  530. }
  531. let la_list
  532. let lw_data
  533. function queryData(page) {
  534. var post_data = {}
  535. getsearch();
  536. if (searchVal) {
  537. post_data = {
  538. 'token': $.cookie('access_token'),
  539. 'page': page,
  540. 'line': 10,
  541. 'orderByupdate': orderByupdate,
  542. 'searchKey': searchKey,
  543. 'searchVal': searchVal,
  544. 'type': searchtype,
  545. 'project_id' : project_id
  546. };
  547. } else {
  548. post_data = {
  549. 'token': $.cookie('access_token'),
  550. 'page': page,
  551. 'line': 10,
  552. 'orderByupdate': orderByupdate,
  553. 'type': searchtype,
  554. 'project_id' : project_id
  555. };
  556. }
  557. $.postJSON(
  558. http_ip_prot + queryUrl, JSON.stringify(post_data),
  559. function (data) {
  560. if (data['code'] == 0) {
  561. // console.log(data['res'])
  562. console.log(data)
  563. addTable(data['res'])
  564. } else {
  565. alert(data['msg'])
  566. }
  567. }
  568. );
  569. }
  570. function addTable(data) {
  571. // body部详细语言
  572. let body_data = data['la_list'];
  573. lw_data = body_data
  574. let search_tab = '' ;
  575. let head_html ;
  576. //头部标签添加
  577. var tabtext = getCurrentTabText();
  578. var headkey = ["位置","行数","来源","翻译"];
  579. var headval = ["location","line","source","translation"];
  580. if(tabtext == "context"){
  581. head_html = '<tr><th width="180px"><a href="javascript:void(0);" onclick="addRow()">add</a></th>';
  582. head_html += ('<th>name</th>')
  583. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="name" checked>name</label></th>'
  584. }
  585. if(tabtext == "key"){
  586. headkey = ["word_key"];
  587. headval = ["word_key"];
  588. head_html = '<tr><td width="180px"><button class="btn btn-primary btn-sm" data-toggle="modal" onclick="saveOrEditKeyFrom()"> add</button></td>'
  589. head_html += ('<th>模块名</th>')
  590. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="bk_name" checked>模块名</label>'
  591. for(var i=0;i<headval.length;i++){
  592. head_html += ('<th>' + headkey[i] + '</th>')
  593. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="' + headval[i] + '">' + headkey[i] + '</label>'
  594. }
  595. }
  596. if(tabtext == "location"){
  597. headkey = ["word_key", "filename", "line"];
  598. headval = ["word_key", "filename", "line"];
  599. head_html = '<tr><td width="180px"><button class="btn btn-primary btn-sm" data-toggle="modal" onclick="saveOrEditLocationFrom()"> add</button></td>'
  600. //head_html += ('<th>模块名</th>')
  601. //search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="bk_name" checked>模块名</label>'
  602. for(var i=0;i<headval.length;i++){
  603. head_html += ('<th>' + headkey[i] + '</th>')
  604. if(i==0){
  605. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="' + headval[i] + '" checked>' + headkey[i] + '</label>'
  606. }else {
  607. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="' + headval[i] + '">' + headkey[i] + '</label>'
  608. }
  609. }
  610. }
  611. if(tabtext == "translation"){
  612. head_data = data['la_list'];
  613. la_list = head_data
  614. // body部详细语言
  615. body_data = data['lw_dict'];
  616. lw_data = body_data
  617. head_html = '<tr><th width="180px"><a href="javascript:void(0);" )"></a></th><th>key</th>';
  618. search_tab = '<label><input type="radio" name='+optionsRadios+' value="key" checked>key</label>'
  619. // = '<tr><th width="180px"><a href="javascript:void(0);" )"></a></th><th>key</th>';
  620. //head_html = '<tr><td width="180px"><button class="btn btn-primary btn-sm" data-toggle="modal" onclick="saveOrEditTranslationFrom()"> add</button></td>'
  621. //search_tab = '<label><input type="radio" name='+optionsRadios+' value="key" checked>key</label>'
  622. //头部标签添加
  623. $.each(head_data.reverse(), function (idx, obj) {
  624. head_html += ('<th>' + obj['lang'] + '</th>')
  625. search_tab += '&nbsp;&nbsp;&nbsp;<label><input type="radio" name='+optionsRadios+' value="'+ obj['lang'] + '">' + obj['lang'] + '</label>'
  626. });
  627. }
  628. if(tabtext != "location"){
  629. head_html += ('<th><a href="javascript:void(0);" onclick="orderByUpdateTimeFunc(' + orderByupdate + ')">udpateTime &nbsp;<i class="fa ' + (orderByupdate == 1 ? 'fa-arrow-up' : 'fa-arrow-down') + '" aria-hidden="true"></i></a></td></tr>');
  630. }
  631. // search_tab += '<td width="180px"><button class="btn-primary btn">搜索</button></td></tr>';
  632. if (IndexFlat == 0) {
  633. searchCheckBox.html(search_tab)
  634. IndexFlat = 1
  635. }
  636. let body_html = '';
  637. console.log('----------------------body加载--------------------------------------------');
  638. $.each(body_data, function (idx, obj) {
  639. if(tabtext == "context"){
  640. let edit_btn = '<a href="javascript:void(0);" title="Edit" onclick="editFunc(this)"><i class="fa fa-edit"></i></a>';
  641. let del_btn = '<a href="javascript:void(0);" title="Delete" onclick="deleteFunc(this)"><i class="fa fa-ban"></i></a>';
  642. body_html += '<tr><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  643. body_html += ('<td >' + obj['name'] + '</td>');
  644. body_html += ('<td style="display:none" >' + obj['id'] + '</td>');
  645. }
  646. if(tabtext == "key"){
  647. let edit_btn = '<a href="javascript:void(0);" title="Edit" onclick="saveOrEditKeyFrom('+idx+')"><i class="fa fa-edit"></i></a>';
  648. let del_btn = '<a href="javascript:void(0);" title="Delete" onclick="deleteKey('+idx+')"><i class="fa fa-ban"></i></a>';
  649. body_html += '<tr><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  650. body_html += ('<td >' + obj['name'] + '</td>');
  651. for(var i=0;i<headval.length;i++){
  652. body_html += ('<td >' + obj[headval[i]] + '</td>');
  653. }
  654. body_html += ('<td style="display:none" >' + obj['id'] + '</td>');
  655. }
  656. if(tabtext == "location"){
  657. let edit_btn = '<a href="javascript:void(0);" title="Edit" onclick="saveOrEditLocationFrom('+idx+')"><i class="fa fa-edit"></i></a>';
  658. let del_btn = '<a href="javascript:void(0);" title="Delete" onclick="deleteKey('+idx+')"><i class="fa fa-ban"></i></a>';
  659. body_html += '<tr><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  660. for(var i=0;i<headval.length;i++){
  661. body_html += ('<td >' + obj[headval[i]] + '</td>');
  662. }
  663. body_html += ('<td style="display:none" >' + obj['id'] + '</td>');
  664. }
  665. if(tabtext == "translation"){
  666. let edit_btn = '<a href="javascript:void(0);" title="Edit" onclick="saveOrEditTranslationFrom('+idx+')"><i class="fa fa-edit"></i></a>';
  667. //let del_btn = '<a href="javascript:void(0);" title="Delete" onclick="deleteTranslation('+idx+')"><i class="fa fa-ban"></i></a>';
  668. let del_btn = "";
  669. // let del_btn = '';
  670. if(obj['status'] == 1){
  671. body_html += '<tr style="background: red; color: white"><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  672. }else if(obj['status'] == 2){
  673. body_html += '<tr style="background: blue; color: white"><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  674. }else{
  675. body_html += '<tr><td>' + edit_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td>';
  676. }
  677. body_html += ('<td id="key">' + obj.word_key + '</td>');
  678. $.each(la_list, function (x, y) {
  679. if (obj[y['lang']]) {
  680. body_html += ('<td>' + obj[y['lang']] + '</td>')
  681. } else {
  682. body_html += ('<td></td>')
  683. }
  684. });
  685. }
  686. if(tabtext != "location"){
  687. let updTime = $.DateChange.UnixToDate(obj['updTime'], true, 8);
  688. body_html += ('<td>' + updTime + '<span class="arrow dsc"></td></tr>');
  689. }
  690. });
  691. tagTableHead.empty().html(head_html);
  692. tagTableBody.empty().html(body_html);
  693. addDelFunc()
  694. }
  695. function addRow() {
  696. let save_btn = '<a href="javascript:void(0);" title="Save" class="save_row"><i class="fa fa-check-circle-o"></i></a>';
  697. let del_btn = '<a href="javascript:void(0);" title="Delete" class="del_row"><i class="fa fa-ban"></i></a>';
  698. let newRow = '<tr><td>' + save_btn + '&nbsp;&nbsp;&nbsp;' + del_btn + '</td><td><input class="form-control" type="text" id="newRow_name"></td>'
  699. newRow += '<td></td></tr>'
  700. tagTableBody.prepend(newRow)
  701. addDelFunc()
  702. addSaveFunc()
  703. }
  704. function saveOrEditKeyFrom(keyid = null) {
  705. let post_data = {
  706. 'token': $.cookie('access_token')
  707. }
  708. post_data['keyid'] = keyid
  709. post_data['type'] = searchtype
  710. $.postJSON(
  711. http_ip_prot + 'searchtool/query_saveOrEditKeyFrom', JSON.stringify(post_data),
  712. function (data) {
  713. if (data['code'] == 0) {
  714. var key_list = data['res']['la_list'];
  715. var context_list = data['res']['lw_dict'];
  716. if (key_list) {
  717. $.each(key_list, function (idx, obj) {
  718. var deviceStr="" ;
  719. for(var i=0; i<context_list.length; i++){
  720. if (obj.bk_id == context_list[i].id ){
  721. deviceStr+='<option value="'+context_list[i].id+'" selected>'+context_list[i].name+'</option>';
  722. }else {
  723. deviceStr+='<option value="'+context_list[i].id+'" >'+context_list[i].name+'</option>';
  724. }
  725. }
  726. $("#queryDevice").html("");
  727. $('#queryDevice').append(deviceStr);
  728. $('#key_Modal').modal('show')
  729. $('#word_key').val(obj.word_key);
  730. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitKey('+idx+');">保存</button>';
  731. $("#footerbutton").html("");
  732. $('#footerbutton').append(buttonstr);
  733. $('#key_Modal').modal('show')
  734. })
  735. }else {
  736. var deviceStr="" ;
  737. for(var i=0; i<context_list.length; i++){
  738. deviceStr+='<option value="'+context_list[i].id+'" >'+context_list[i].name+'</option>';
  739. }
  740. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitKey();">保存</button>';
  741. $("#footerbutton").html("");
  742. $('#footerbutton').append(buttonstr);
  743. $("#queryDevice").html("");
  744. $('#queryDevice').append(deviceStr);
  745. $('#key_Modal').modal('show')
  746. }
  747. } else {
  748. alert(data['msg'])
  749. }
  750. }
  751. )
  752. }
  753. function saveOrEditLocationFrom(locationid = null) {
  754. let post_data = {
  755. 'token': $.cookie('access_token')
  756. }
  757. post_data['project_id'] = project_id
  758. post_data['type'] = searchtype
  759. post_data['locationid'] = locationid
  760. $.postJSON(
  761. http_ip_prot + 'searchtool/query_saveOrEditLocationFrom', JSON.stringify(post_data),
  762. function (data) {
  763. if (data['code'] == 0) {
  764. var location_list = data['res']['la_list'];
  765. var key_list = data['res']['lw_dict'];
  766. if (location_list) {
  767. $.each(location_list, function (idx, obj) {
  768. var deviceStr="" ;
  769. for(var i=0; i<key_list.length; i++){
  770. if (obj.lk_id == key_list[i].id ){
  771. deviceStr+='<option value="'+key_list[i].id+'" selected>'+key_list[i].word_key+'</option>';
  772. }else {
  773. deviceStr+='<option value="'+key_list[i].id+'" >'+key_list[i].word_key+'</option>';
  774. }
  775. }
  776. $("#locationqueryDevice").html("");
  777. $('#locationqueryDevice').append(deviceStr);
  778. $('#location_Modal').modal('show')
  779. $('#filename').val(obj.filename);
  780. $('#line').val(obj.line);
  781. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitLocation('+idx+');">保存</button>';
  782. $("#locationfooterbutton").html("");
  783. $('#locationfooterbutton').append(buttonstr);
  784. $('#location_Modal').modal('show')
  785. })
  786. }else {
  787. var deviceStr="" ;
  788. for(var i=0; i<key_list.length; i++){
  789. deviceStr+='<option value="'+key_list[i].id+'" >'+key_list[i].word_key+'</option>';
  790. }
  791. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitLocation();">保存</button>';
  792. $("#locationfooterbutton").html("");
  793. $('#locationfooterbutton').append(buttonstr);
  794. $("#locationqueryDevice").html("");
  795. $('#locationqueryDevice').append(deviceStr);
  796. $('#location_Modal').modal('show')
  797. }
  798. } else {
  799. alert(data['msg'])
  800. }
  801. }
  802. )
  803. }
  804. function saveOrEditTranslationFrom(valueid = null) {
  805. let post_data = {
  806. 'token': $.cookie('access_token'),
  807. 'page': page,
  808. 'line': line,
  809. 'orderByupdate': orderByupdate,
  810. 'type': searchtype,
  811. 'project_id' : project_id,
  812. 'valueid' : valueid
  813. }
  814. $.postJSON(
  815. http_ip_prot + 'searchtool/query_saveOrEditTranslationFrom', JSON.stringify(post_data),
  816. function (data) {
  817. if (data['code'] == 0) {
  818. var value_list = data['res']['la_list'];
  819. var lw_dict = data['res']['lw_dict'];
  820. var key_list = data['res']['lk_dict'];
  821. if (value_list) {
  822. $.each(value_list, function (idx, obj) {
  823. var deviceStr="" ;
  824. for(var i=0; i<key_list.length; i++){
  825. if (valueid == key_list[i].id ){
  826. deviceStr+='<option value="'+key_list[i].id+'" selected>'+key_list[i].word_key+'</option>';
  827. }else {
  828. //deviceStr+='<option value="'+key_list[i].id+'" >'+key_list[i].word_key+'</option>';
  829. }
  830. }
  831. html_per = ""
  832. $.each(value_list, function (idx, obj) {
  833. let lang_perm_ls = initData['lang_perm_ls']
  834. let check_perm_flag = $.inArray(obj['lang'], lang_perm_ls)
  835. if (check_perm_flag >= 0) {
  836. var inputAttr = ''
  837. } else {
  838. var inputAttr = 'disabled="disabled"'
  839. }
  840. //console.log(obj);
  841. try {
  842. html_per += ('<label for="InputLangArea">' + obj['lang'] + ':</label>' +
  843. '<textarea type="text" ' + inputAttr + ' class="form-control disabled" name="'+obj['id']+'" lang="' + obj['lang'] + '">' + (lw_dict[valueid][obj['lang']] ? lw_dict[valueid][obj['lang']] : '') + '</textarea>')
  844. }catch {
  845. html_per += ('<label for="InputLangArea">' + obj['lang'] + ':</label>' +
  846. '<textarea type="text" ' + inputAttr + ' class="form-control disabled" name="'+obj['id']+'" lang="' + obj['lang'] + '"></textarea>')
  847. }
  848. });
  849. $('#translationinput').html("")
  850. $('#translationinput').append(html_per)
  851. $("#translationqueryDevice").html("");
  852. $('#translationqueryDevice').append(deviceStr);
  853. $('#translation_Modal').modal('show')
  854. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitTranslation('+idx+');">保存</button>';
  855. $("#translationfooterbutton").html("");
  856. $('#translationfooterbutton').append(buttonstr);
  857. $('#translation_Modal').modal('show')
  858. })
  859. }else {
  860. var deviceStr="" ;
  861. for(var i=0; i<key_list.length; i++){
  862. if (valueid == key_list[i].id ){
  863. deviceStr+='<option value="'+key_list[i].id+'" selected>'+key_list[i].word_key+'</option>';
  864. }else {
  865. deviceStr+='<option value="'+key_list[i].id+'" >'+key_list[i].word_key+'</option>';
  866. }
  867. }
  868. html_per = ""
  869. $.each(la_list, function (idx, obj) {
  870. let lang_perm_ls = initData['lang_perm_ls']
  871. let check_perm_flag = $.inArray(obj['lang'], lang_perm_ls)
  872. if (check_perm_flag >= 0) {
  873. var inputAttr = ''
  874. } else {
  875. var inputAttr = 'disabled="disabled"'
  876. }
  877. //console.log(obj);
  878. html_per += ('<label for="InputLangArea">' + obj['lang'] + ':</label>' +
  879. '<textarea type="text" ' + inputAttr + ' class="form-control disabled" name = "'+obj['id']+'" lang="' + obj['lang'] + '"></textarea>')
  880. //html_per += ('<label for="InputLangArea">' + obj['lang'] + ':</label>' +
  881. // '<input type="text" ' + inputAttr + ' class="form-control disabled" lang="' + obj['lang'] + '" value="' + (lw_data[langKey][obj['lang']] ? lw_data[langKey][obj['lang']] : '') + '"/>')
  882. });
  883. $('#translationinput').html("")
  884. $('#translationinput').append(html_per)
  885. var buttonstr = '<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary" onclick="saveOrExitTranslation();">保存</button>';
  886. $("#translationfooterbutton").html("");
  887. $('#translationfooterbutton').append(buttonstr);
  888. $("#translationqueryDevice").html("");
  889. $('#translationqueryDevice').append(deviceStr);
  890. $('#translation_Modal').modal('show')
  891. }
  892. } else {
  893. alert(data['msg'])
  894. }
  895. }
  896. )
  897. }
  898. function addDelFunc() {
  899. $(".del_row").bind("click", function () {
  900. let trRow = $(this).parent().parent()
  901. trRow.remove()
  902. });
  903. }
  904. function addSaveFunc() {
  905. $(".save_row").bind("click", function () {
  906. let post_data = {
  907. 'token': $.cookie('access_token')
  908. }
  909. trRow = $(this)
  910. post_data['name'] = $('#newRow_name').val()
  911. post_data['type'] = searchtype
  912. console.log(post_data)
  913. $.postJSON(
  914. http_ip_prot + 'searchtool/add', JSON.stringify(post_data),
  915. function (data) {
  916. if (data['code'] == 0) {
  917. // console.log(data['res'])
  918. window.location.reload();
  919. console.log(data)
  920. } else {
  921. alert(data['msg'])
  922. }
  923. }
  924. )
  925. })
  926. }
  927. function saveOrExitKey(keyid = null) {
  928. var selectedvar = $('#queryDevice').find('option:selected').val();
  929. var id =keyid;
  930. let post_data = {
  931. 'token': $.cookie('access_token')
  932. }
  933. post_data['bk_id'] = selectedvar
  934. post_data['word_key'] = $('#word_key').val()
  935. post_data['type'] = searchtype
  936. post_data['id'] = id
  937. post_data['project_id'] = project_id
  938. console.log(post_data)
  939. $.postJSON(
  940. http_ip_prot + 'searchtool/saveOrExitKey', JSON.stringify(post_data),
  941. function (data) {
  942. if (data['code'] == 0) {
  943. // console.log(data['res'])
  944. let post_data = {
  945. 'token': $.cookie('access_token'),
  946. 'page': 1,
  947. 'line': line,
  948. 'orderByupdate': orderByupdate,
  949. 'type': searchtype
  950. };
  951. if (id) {
  952. $('#key_Modal').modal('hide')
  953. }
  954. toastr["success"](data['msg'])
  955. $('#modal-container-593541').modal('hide')
  956. IndexTable()
  957. //alert(data['msg']);
  958. //InitIndex(post_data=post_data,is_search = 1);
  959. } else {
  960. alert(data['msg'])
  961. }
  962. }
  963. )
  964. }
  965. function saveOrExitLocation(locationid = null) {
  966. var selectedvar = $('#locationqueryDevice').find('option:selected').val();
  967. var id =locationid;
  968. let post_data = {
  969. 'token': $.cookie('access_token')
  970. }
  971. post_data['lk_id'] = selectedvar
  972. post_data['filename'] = $('#filename').val()
  973. post_data['line'] = $('#line').val()
  974. post_data['id'] = id
  975. console.log(post_data)
  976. $.postJSON(
  977. http_ip_prot + 'searchtool/saveOrExitLocation', JSON.stringify(post_data),
  978. function (data) {
  979. if (data['code'] == 0) {
  980. // console.log(data['res'])
  981. let post_data = {
  982. 'token': $.cookie('access_token'),
  983. 'page': 1,
  984. 'line': line,
  985. 'orderByupdate': orderByupdate,
  986. 'project_id' : project_id,
  987. 'type' : searchtype
  988. };
  989. if (id) {
  990. $('#location_Modal').modal('hide')
  991. }
  992. toastr["success"](data['msg'])
  993. $('#modal-container-593541').modal('hide')
  994. IndexTable()
  995. //alert(data['msg']);
  996. //InitIndex(post_data=post_data,is_search = 1);
  997. } else {
  998. alert(data['msg'])
  999. }
  1000. }
  1001. )
  1002. }
  1003. function saveOrExitTranslation(valueid = null) {
  1004. var selectedvar = $('#translationqueryDevice').find('option:selected').val();
  1005. var id =valueid;
  1006. let post_data = {
  1007. 'token': $.cookie('access_token')
  1008. }
  1009. post_data['lk_id'] = selectedvar
  1010. post_data['id'] = id
  1011. let post_list = []
  1012. $("#translationinput").find("textarea").each(function(idx,obj){
  1013. post_list.push({'la_id': obj.name, 'val': obj.value})
  1014. });
  1015. post_data['word_arr'] = post_list
  1016. //$("#translationinput textarea").each(function (e) {
  1017. // alert(e.value())
  1018. // })
  1019. $.postJSON(
  1020. http_ip_prot + 'searchtool/saveOrExitTranslation', JSON.stringify(post_data),
  1021. function (data) {
  1022. if (data['code'] == 0) {
  1023. // console.log(data['res'])
  1024. let post_data = {
  1025. 'token': $.cookie('access_token'),
  1026. 'page': 1,
  1027. 'line': line,
  1028. 'orderByupdate': orderByupdate,
  1029. 'project_id' : project_id,
  1030. 'type': searchtype
  1031. };
  1032. if (id) {
  1033. $('#translation_Modal').modal('hide')
  1034. }
  1035. toastr["success"](data['msg'])
  1036. $('#modal-container-593541').modal('hide')
  1037. IndexTable()
  1038. //alert(data['msg']);
  1039. //InitIndex(post_data=post_data,is_search = 1);
  1040. } else {
  1041. alert(data['msg'])
  1042. }
  1043. }
  1044. )
  1045. }
  1046. // 编辑模态框
  1047. function editFunc($this) {
  1048. var contextname = $($this).parent().parent().children().eq(1).text()
  1049. var contextid = $($this).parent().parent().children().eq(2).text()
  1050. $('#modal-container-593541').modal('show')
  1051. let html_per = '<label for="lang_key_edit">模块名</label><div id="contextid" style="display:none">'+contextid+'</div><input class="form-control" type="text" id="contextname_edit" oldkey="' + contextname + '" value="' + contextname + '"> '
  1052. $('#edit_model_form').html(html_per)
  1053. }
  1054. function deleteFunc($this) {
  1055. var contextid = $($this).parent().parent().children().eq(2).text()
  1056. var r = confirm("Press a button")
  1057. if (r) {
  1058. let post_data = {
  1059. 'token': $.cookie('access_token'),
  1060. 'id': contextid
  1061. }
  1062. console.log(post_data)
  1063. $.postJSON(
  1064. http_ip_prot + 'searchtool/delete', JSON.stringify(post_data),
  1065. function (data) {
  1066. if (data['code'] == 0) {
  1067. // console.log(data['res'])
  1068. console.log(data);
  1069. IndexTable()
  1070. //alert(data['msg']);
  1071. window.location.reload();
  1072. } else {
  1073. alert(data['msg'])
  1074. }
  1075. }
  1076. )
  1077. }
  1078. }
  1079. function deleteKey(keyid = null) {
  1080. var r = confirm("Press a button")
  1081. if (r) {
  1082. let post_data = {
  1083. 'token': $.cookie('access_token'),
  1084. 'id': keyid
  1085. }
  1086. console.log(post_data)
  1087. $.postJSON(
  1088. http_ip_prot + 'searchtool/deleteKey', JSON.stringify(post_data),
  1089. function (data) {
  1090. if (data['code'] == 0) {
  1091. // console.log(data['res'])
  1092. console.log(data);
  1093. alert(data['msg']);
  1094. // console.log(data['res'])
  1095. let post_data = {
  1096. 'token': $.cookie('access_token'),
  1097. 'page': 1,
  1098. 'line': line,
  1099. 'orderByupdate': orderByupdate,
  1100. 'type': searchtype
  1101. };
  1102. //InitIndex(post_data=post_data,is_search = 1);
  1103. } else {
  1104. alert(data['msg'])
  1105. }
  1106. }
  1107. )
  1108. }
  1109. }
  1110. function editRow($this) {
  1111. let post_data = {
  1112. 'token': $.cookie('access_token')
  1113. }
  1114. post_data['name'] = $('#contextname_edit').val()
  1115. post_data['type'] = searchtype
  1116. post_data['id'] = $('#contextid').text();
  1117. $.postJSON(
  1118. http_ip_prot + 'searchtool/update', JSON.stringify(post_data),
  1119. function (data) {
  1120. if (data['code'] == 0) {
  1121. // console.log(data['res'])
  1122. console.log(data)
  1123. toastr["success"](data['msg'])
  1124. $('#modal-container-593541').modal('hide')
  1125. IndexTable()
  1126. //window.location.reload();
  1127. } else {
  1128. alert(data['msg'])
  1129. }
  1130. }
  1131. )
  1132. // $('.editRowSaveBtn').bind('click', function () {
  1133. // console.log('adjslkfjsdalkfj')
  1134. // })
  1135. }
  1136. function IndexTable() {
  1137. var page = GetUrlParam('page')
  1138. if (!page) {
  1139. page = 1
  1140. }
  1141. let post_data = {
  1142. 'token': $.cookie('access_token'),
  1143. 'page': page,
  1144. 'line': line,
  1145. 'orderByupdate': orderByupdate,
  1146. 'type': searchtype
  1147. };
  1148. $.postJSON(
  1149. http_ip_prot + queryUrl, JSON.stringify(post_data),
  1150. function (data) {
  1151. if (data['code'] == 0) {
  1152. // console.log(data['res'])
  1153. console.log(data)
  1154. addTable(data['res'])
  1155. let count_page = Math.ceil(data['res']['count'] / line)
  1156. queryData(page)
  1157. } else {
  1158. alert(data['msg'])
  1159. }
  1160. }
  1161. );
  1162. }
  1163. $("#searchContextAction").click(function(e){
  1164. /*var page = GetUrlParam('page')
  1165. if (!page) {
  1166. page = 1
  1167. }*/
  1168. getsearch();
  1169. let page = 1
  1170. console.log('-------------------------------')
  1171. console.log(searchKey)
  1172. console.log(searchVal)
  1173. console.log('-------------------------------')
  1174. let post_data = {}
  1175. if (searchVal && searchKey) {
  1176. post_data = {
  1177. 'token': $.cookie('access_token'),
  1178. 'page': page,
  1179. 'line': 10,
  1180. 'searchKey': searchKey,
  1181. 'searchVal': searchVal,
  1182. 'type': searchtype
  1183. };
  1184. } else {
  1185. post_data = {
  1186. 'token': $.cookie('access_token'),
  1187. 'page': page,
  1188. 'line': 10,
  1189. 'type': searchtype
  1190. };
  1191. }
  1192. InitIndex(post_data, 1)
  1193. })
  1194. $("#searchKeyAction").click(function(e){
  1195. /*var page = GetUrlParam('page')
  1196. if (!page) {
  1197. page = 1
  1198. }*/
  1199. getsearch();
  1200. let page = 1
  1201. console.log('-------------------------------')
  1202. console.log(searchKey)
  1203. console.log(searchVal)
  1204. console.log('-------------------------------')
  1205. let post_data = {}
  1206. if (searchVal && searchKey) {
  1207. post_data = {
  1208. 'token': $.cookie('access_token'),
  1209. 'page': page,
  1210. 'line': 10,
  1211. 'searchKey': searchKey,
  1212. 'searchVal': searchVal,
  1213. 'type': searchtype
  1214. };
  1215. } else {
  1216. post_data = {
  1217. 'token': $.cookie('access_token'),
  1218. 'page': page,
  1219. 'line': 10,
  1220. 'type': searchtype
  1221. };
  1222. }
  1223. InitIndex(post_data, 1)
  1224. })
  1225. $("#searchLocationAction").click(function(e){
  1226. /*var page = GetUrlParam('page')
  1227. if (!page) {
  1228. page = 1
  1229. }*/
  1230. getsearch();
  1231. let page = 1
  1232. console.log('-------------------------------')
  1233. console.log(searchKey)
  1234. console.log(searchVal)
  1235. console.log('-------------------------------')
  1236. let post_data = {}
  1237. if (searchVal && searchKey) {
  1238. post_data = {
  1239. 'token': $.cookie('access_token'),
  1240. 'page': page,
  1241. 'line': 10,
  1242. 'searchKey': searchKey,
  1243. 'searchVal': searchVal,
  1244. 'type': searchtype,
  1245. 'project_id' : project_id
  1246. };
  1247. } else {
  1248. post_data = {
  1249. 'token': $.cookie('access_token'),
  1250. 'page': page,
  1251. 'line': 10,
  1252. 'type': searchtype,
  1253. 'project_id' : project_id
  1254. };
  1255. }
  1256. InitIndex(post_data, 1)
  1257. })
  1258. $("#searchTranslationAction").click(function(e){
  1259. /*var page = GetUrlParam('page')
  1260. if (!page) {
  1261. page = 1
  1262. }*/
  1263. getsearch();
  1264. let page = 1
  1265. console.log('-------------------------------')
  1266. console.log(searchKey)
  1267. console.log(searchVal)
  1268. console.log('-------------------------------')
  1269. let post_data = {}
  1270. if (searchVal && searchKey) {
  1271. post_data = {
  1272. 'token': $.cookie('access_token'),
  1273. 'page': page,
  1274. 'line': 10,
  1275. 'searchKey': searchKey,
  1276. 'searchVal': searchVal,
  1277. 'type': searchtype,
  1278. 'project_id' : project_id
  1279. };
  1280. } else {
  1281. post_data = {
  1282. 'token': $.cookie('access_token'),
  1283. 'page': page,
  1284. 'line': 10,
  1285. 'type': searchtype,
  1286. 'project_id' : project_id
  1287. };
  1288. }
  1289. InitIndex(post_data, 1)
  1290. })
  1291. function onReset() {
  1292. let role = $.cookie('role');
  1293. if(role == 1){
  1294. if(!confirm("如果你重置了语言状态,别的翻译者将无法查看到语言的相应状态!")){
  1295. return;
  1296. }
  1297. }
  1298. let post_data = {}
  1299. var word_key = '';
  1300. let table = tagTableBody.find('tr').each(function () {
  1301. var value = $(this).find('td:eq(1)').text();
  1302. word_key += value;
  1303. word_key += ',';
  1304. })
  1305. word_key = word_key.substr(0, word_key.length - 1);
  1306. post_data['word_key'] = word_key;
  1307. post_data['token'] = $.cookie('access_token');
  1308. $.postJSON(
  1309. http_ip_prot + 'langWord/reset', JSON.stringify(post_data),
  1310. function (data) {
  1311. if (data['code'] == 0) {
  1312. // console.log(data['res'])
  1313. console.log(data)
  1314. toastr["success"](data['msg'])
  1315. IndexTable()
  1316. //window.location.reload();
  1317. } else {
  1318. toastr["error"](data['msg'])
  1319. }
  1320. }
  1321. )
  1322. }
  1323. function getCurrentTabText(){
  1324. var $tabs = $('#myTab').children( 'li' );
  1325. var text;
  1326. $tabs.each( function() {
  1327. var $tab = $( this );
  1328. if($tab.hasClass('active')){
  1329. text = $tab[0].innerText;
  1330. return false;
  1331. }
  1332. } );
  1333. return text;
  1334. }
  1335. /*function keyclose(){
  1336. $('#word_key').val(null);
  1337. $("#queryDevice").html("");
  1338. $('#key_Modal').modal('hide')
  1339. }*/
  1340. $('#key_Modal').on('hide.bs.modal', function () {
  1341. $('#word_key').val(null);
  1342. $("#queryDevice").html("");
  1343. });
  1344. $('#location_Modal').on('hide.bs.modal', function () {
  1345. $('#filename').val(null);
  1346. $('#line').val(null);
  1347. $("#locationqueryDevice").html("");
  1348. });
  1349. </script>
  1350. </body>
  1351. </html>