old_searchTool.html 61 KB

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