new_searchTool.html 61 KB

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