reissueCert.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Cache-Control" content="no-store"/>
  6. <meta http-equiv="Pragma" content="no-cache"/>
  7. <meta http-equiv="Expires" content="-1"/>
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  10. <title>补发纸证管理</title>
  11. <script type="text/javascript" src="../../scripts/jquery-1.8.3.js"></script>
  12. <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
  13. <script type="text/javascript" src="../../scripts/jquery.easyui.js"></script>
  14. <script type="text/javascript" src="../../scripts/easyui-lang-zh_CN.js"></script>
  15. <script type="text/javascript" src="../../scripts/jquery.validate.rules.generate.js"></script>
  16. <script type="text/javascript" src="../../scripts/config.js"></script>
  17. <script type="text/javascript" src="../../scripts/comment.js"></script>
  18. <script type="text/javascript" src="../../scripts/utils.js"></script>
  19. <script type="text/javascript" src="../../scripts/init.js"></script>
  20. <script type="text/javascript" src="../../scripts/Base64.js"></script>
  21. <script type="text/javascript" src="../../scripts/jquery.edatagrid.js"></script>
  22. <script type="text/javascript" src="../../scripts/managerjstool.js"></script>
  23. <style>
  24. .dialogstyle form table th {
  25. text-align: right
  26. }
  27. .dialogstyle form table td {
  28. text-align: left
  29. }
  30. .dialogtitle a {
  31. color: blue;
  32. }
  33. .dialogtitle a:hover {
  34. color: rebeccapurple;
  35. }
  36. .dialogtitle a:visited {
  37. color: blue;
  38. }
  39. .dialogitem {
  40. padding-left: 100px;
  41. font-size: 16px;
  42. }
  43. .info .dialogitem{
  44. padding: 10px 0 10px 36px;
  45. line-height: 28px;
  46. }
  47. #info1Mark .dialogitem{
  48. padding-left: 0;
  49. }
  50. #postModifyInput, postInput{
  51. font-size: 16px;
  52. font-weight: bold;
  53. }
  54. .paddingLeft{
  55. padding-left: 60px;
  56. font-size: 14px;
  57. font-weight: 400;
  58. line-height: 28px;
  59. }
  60. .btn-sm{
  61. }
  62. </style>
  63. </head>
  64. <body>
  65. <script type="text/javascript">
  66. //准备加载本地和远程数据
  67. </script>
  68. <table id="dg" style="width:98%;height:512px"
  69. toolbar="#toolbar" pagination="true" idField="id"
  70. rownumbers="true" fitColumns="false" singleSelect="true">
  71. <thead>
  72. <tr>
  73. <th field="ck" data-options="checkbox:true" width="5"></th>
  74. <!-- 生成的数据库代码段 -->
  75. <th field="notaryNumber" align="left" data-options="" sortable="true" width="200">公证申请编号</th>
  76. <th field="userId" align="left" data-options="formatter:formatOrigin()" sortable="true" width="150">申请来源</th>
  77. <th field="transferorName" align="left" data-options="" sortable="true" width="180">转让人</th>
  78. <th field="assigneeName" align="left" data-options="" sortable="true" width="180">受让人</th>
  79. <th field="applyNotary" align="left" data-options="formatter:formatNotary()" sortable="true" width="150">受理公证处</th>
  80. <th field="auditor" align="left" data-options="formatter:formatAuditor()" sortable="true" width="100">受理公证员</th>
  81. <th field="notaryFileTime" align="left" data-options="" sortable="true" width="150">电子证发放时间</th>
  82. <th field="option" align="left" data-options="formatter:formatFile()" sortable="" width="80">电子公证书</th>
  83. <th field="option2" align="left" data-options="formatter:formatPost()" sortable="" width="80">操作</th>
  84. <th field="reissueCertState" align="left" data-options="formatter:dataFmt('reissueCertState')" sortable="true" width="100">补发状态</th>
  85. <th field="reissueCertRejectInfo" align="left" data-options="" sortable="" width="100">拒绝补发原因</th>
  86. <th field="updateTime" align="left" data-options="" sortable="true" width="150">操作时间</th>
  87. </tr>
  88. </thead>
  89. </table>
  90. <div id="toolbar">
  91. <!-- 生成的条件查询代码段 -->
  92. <span>开始时间:</span><input id="startTime" style="line-height:20px;border:1px solid #ccc" class="easyui-datetimebox"/>
  93. <span>结束时间:</span><input id="endTime" style="line-height:20px;border:1px solid #ccc" class="easyui-datetimebox"/>
  94. <!--<span>关键词:</span><input id="keyWord" style="line-height:20px;width:160px;border:1px solid #ccc"/>-->
  95. <span>补发状态:</span>
  96. <input id="status1" class="easyui-combobox"
  97. name="language"
  98. data-options="
  99. data:getListData('reissueCertState'),
  100. valueField:'id',
  101. textField:'text',
  102. width:'95px',
  103. panelHeight:'auto',
  104. required:false,
  105. editable:false
  106. ">
  107. <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onclick="doSearch(0)">查询</a>
  108. <a href="#" class="easyui-linkbutton" iconCls="icon-excel" plain="true" onclick="doSearch(1)">导出</a>
  109. </div>
  110. <div id="reissueInput" iconCls="icon-edit" class="easyui-dialog" title="纸件补发" style="width: 410px; height: 295px; padding: 10px; align: 'center'; top: 120px;"
  111. closed="true" data-options="
  112. buttons:[{
  113. text:'确定',
  114. iconCls:'icon-ok',
  115. handler:function(){submitReissue();}
  116. },{
  117. text:'取消',
  118. iconCls:'icon-undo',
  119. handler:function(){$('#reissueInput').dialog('close');}
  120. }]">
  121. <div class="paddingLeft"><span>收件人:</span>
  122. <span id='name'></span>
  123. </div>
  124. <div class="paddingLeft"><span>联系电话:</span>
  125. <span id='tel'></span>
  126. </div>
  127. <div class="paddingLeft"><span>收件地址:</span>
  128. <span id="address"></span>
  129. </div>
  130. <div class="paddingLeft" style="margin-top: 20px"><span>操作:</span>
  131. <select id="reissue" style="line-height:20px;border:1px solid #ccc;left:100px;" onchange="changeInput()">
  132. <option value ="1">补发</option>
  133. <option value ="2">拒绝补发</option>
  134. </select>
  135. </div>
  136. <div id="success" style="display: block">
  137. <div class="paddingLeft"><span>快递公司:</span>
  138. <input id="PostCompany" style="line-height:20px;border:1px solid #ccc;left:100px;"/>
  139. </div>
  140. <div class="paddingLeft"><span>快递单号:</span>
  141. <input id="PostNo" style="line-height:20px;border:1px solid #ccc;left:100px;"/>
  142. </div>
  143. </div>
  144. <div id="refuse" class="paddingLeft" style="display:none"><span>拒绝补发原因:</span>
  145. <input id="reissueCertRejectInfo" type="text" style="line-height:20px;border:1px solid #ccc;left:100px;"/>
  146. </div>
  147. </div>
  148. <div id="postModifyInput" iconCls="icon-edit" class="easyui-dialog" title="修改快递信息" style="width: 410px; height: 295px; padding: 10px; align: 'center'; top: 120px;"
  149. style="width:300px;height:180px;" data-options="modal:true,closed:true">
  150. 当前快递信息
  151. <div class="paddingLeft"><span>快递公司:</span>
  152. <span id='oldPostCom'></span>
  153. </div>
  154. <div class="paddingLeft"><span>快递单号:</span>
  155. <span id='oldPostOrder'></span>
  156. </div>
  157. 新的快递信息
  158. <div class="paddingLeft"><span>快递公司:</span>
  159. <input id="newPostCompany" style="line-height:20px;border:1px solid #ccc;left:100px;"/>
  160. </div>
  161. <div class="paddingLeft"><span>快递单号:</span>
  162. <input id="newPostNo" style="line-height:20px;border:1px solid #ccc;left:100px;"/>
  163. </div>
  164. <div style="padding: 5px; text-align: center;">
  165. <a href="#" class="easyui-linkbutton" icon="icon-ok"
  166. onclick="javascript:{goModifyPostExec();}">确定</a> <a href="#"
  167. class="easyui-linkbutton" icon="icon-cancel"
  168. onclick="javascript:{closeModifyPostInput();}">取消</a>
  169. </div>
  170. </div>
  171. <!-- 生成的大字段的详细查询字段 -->
  172. <script type="text/javascript">
  173. function hideTextarea(){
  174. let checkStatus = $('#checkStatus option:selected').val();
  175. if(checkStatus == 4){
  176. $('#checkStatus').parent().next().hide();
  177. }else{
  178. $('#checkStatus').parent().next().show();
  179. }
  180. }
  181. deptInfo = new MapUtils();
  182. statusChangeMap = new MapUtils();
  183. statusMap = new MapUtils();
  184. var rows = '';
  185. // $('#keyWord').textbox({
  186. // icons: [{
  187. // iconCls: 'icon-clear',
  188. // handler: function (e) {
  189. // $(e.data.target).textbox('clear');
  190. // }
  191. // }]
  192. // });
  193. //页面加载调用
  194. $(function () {
  195. hideTextarea();
  196. syncAjaxCall("GENERALD01", "rows=-1", function (data) {
  197. let rows = data.rows;
  198. let len = data.rows.length;
  199. if(len != 0){
  200. for(let i = 0; i < len; i++){
  201. deptInfo.put(rows[i].deptCode, rows[i].deptName);
  202. }
  203. }
  204. });
  205. //生成的初始化日期时间代码段
  206. var myDate = new Date()
  207. myDate.setDate(myDate.getDate() - 92)//三个月之前
  208. $('#startTime').datetimebox('setValue', formatterDate(myDate) + " 00:00:00");
  209. $('#endTime').datetimebox('setValue', formatterDate(new Date()) + " 23:59:59");
  210. $('#status1').combobox('setValue','0');
  211. doSearch();
  212. });
  213. function changeInput() {
  214. var reissue = $('#reissue').val();
  215. var success = document.getElementById("success");
  216. var refuse = document.getElementById("refuse");
  217. if(reissue == '1'){
  218. success.style.display = "block";
  219. refuse.style.display = "none";
  220. }else{
  221. success.style.display = "none";
  222. refuse.style.display = "block";
  223. }
  224. }
  225. function formatAuditor() {
  226. return function (value, rowdata, index) {
  227. if ((rowdata.auditor == '9999')) {
  228. return "";
  229. } else {
  230. return rowdata.auditor
  231. }
  232. }
  233. }
  234. function formatNotary() {
  235. return function (value, rowdata, index) {
  236. if ((rowdata.applyNotary == '' || rowdata.auditor == null)) {
  237. return rowdata.applyNotary;
  238. } else {
  239. let deptName = deptInfo.get(rowdata.applyNotary);
  240. return deptName;
  241. }
  242. }
  243. }
  244. function formatOrigin() {
  245. return function (value, rowdata, index) {
  246. if (rowdata.userId == '5f06c8bc77234f969d13e160b54c27e3') {
  247. return '公正链APP'
  248. } else if (rowdata.userId == '093ee86e09f640fa9de68428fd53840b') {
  249. return '权大师'
  250. } else {
  251. return rowdata.userId
  252. }
  253. }
  254. }
  255. function formatPost() {
  256. return function (value, rowdata, index) {
  257. var loginId = localStorage.getItem("userid");
  258. if(loginId == rowdata.auditor){
  259. if (rowdata.reissueCertState == "0" && rowdata.postNotary && rowdata.notaryFile) {
  260. return '<button class="btn-sm" type="button" onclick="goPost(' + index + ')"> ' + '补发' + '</button>';
  261. }else if (rowdata.reissueCertState == "1") {
  262. return '<button class="btn-sm" type="button" onclick="modifyPost(' + index + ')"> ' + '改物流' + '</button>';
  263. }
  264. }
  265. }
  266. }
  267. function formatFile() {
  268. return function (value, rowdata, index) {
  269. if (rowdata.notaryFile) {
  270. return '<a id="'+ rowdata.notaryFile +'" href="' +fileServerUrl + ' + '+ rowdata.notaryFile +'">'+'点击下载'+'</a>';
  271. }
  272. }
  273. }
  274. function getOperateList(id) {
  275. $('#optionDlg').empty();//清空子元素
  276. var params = "proNames=id&id=" + id + "&orderBy=change_time desc";
  277. syncAjaxCall("ORDERINF01", params, function (data) {
  278. loadFilterError(data);
  279. if (data.total > 0) {
  280. for (i = 0; i < data.rows.length; ++i) {
  281. if (data.rows[i].status > 5 && data.rows[i].status < 12) {
  282. var item = "<div class=\"dialogitem\" >" +
  283. "<sapn>" + statusChangeMap.get(parseInt(data.rows[i].status) - 1) + "</sapn>" +
  284. "<sapn style='padding-left: 10px'>操作时间: " + data.rows[i].changeTime + "</sapn>" +
  285. "<sapn style='padding-left: 10px'>操作人员: " + data.rows[i].userId + "</sapn>" +
  286. "</div>";
  287. $('#optionDlg').append(item);
  288. }
  289. }
  290. }
  291. });
  292. }
  293. function doSearch(download) {
  294. //TODO 多条件查询 用户名的时候, 可以直接用视图, 但是更新的时候,需要userid
  295. //生成获取查询条件变量
  296. // var keyWord = $('#keyWord').val() == undefined ? "" : $('#keyWord').val();
  297. var startTime = $('#startTime').datetimebox('getValue') + ".000";
  298. var endTime = $('#endTime').datetimebox('getValue') + ".999";
  299. var statusFilter = $('#status1').combobox("getValue");
  300. var params = "";
  301. //生成获取查询发送URL
  302. // if (keyWord != '') {
  303. // if (params == '') {
  304. // params = params + "proNames=trademarkNames";
  305. // } else {
  306. // params = params + ",trademarkNames";
  307. // }
  308. // }
  309. if (startTime != '') {
  310. if (params == '') {
  311. params = params + "proNames=createTime";
  312. } else {
  313. params = params + ",createTime";
  314. }
  315. }
  316. if (statusFilter != ''){//如果是空,则状态是全部
  317. if (params == '') {
  318. params = params + "proNames=reissueCertState";
  319. } else {
  320. params = params + ",reissueCertState";
  321. }
  322. }
  323. if (true) {
  324. if (params == '') {
  325. params = params + "proNames=applyStatus,auditor";
  326. } else {
  327. params = params + ",applyStatus,auditor";
  328. }
  329. }
  330. // if (keyWord != '') {
  331. // if (params == '') {
  332. // params = "trademarkNames=$" + keyWord + "$";
  333. // } else {
  334. // params = params + "&trademarkNames=$" + keyWord + "$";
  335. // }
  336. // }
  337. if (startTime != '') {
  338. if (params == '') {
  339. params = "createTime=" + startTime + "";
  340. params = params + "&createTime=" + endTime + "";
  341. } else {
  342. params = params + "&createTime=" + startTime + "";
  343. params = params + "&createTime=" + endTime + "";
  344. }
  345. }
  346. var loginId = localStorage.getItem("userid");
  347. if (statusFilter == '' || statusFilter == 3){//如果是空,则状态是全部
  348. if(loginId != 'administrator') {// 如果不是管理员,这里有个问题,很难同时查出待领取和审查员是自己的数据 TODO
  349. if (params == '') {// 例行空判断
  350. params="auditor="+loginId+"&applyStatus=6"+"&reissueCertState=0"+"";
  351. params=params + "&reissueCertState=2" + "";
  352. }else{
  353. params=params+"&auditor="+loginId+"&applyStatus=6"+"&reissueCertState=0"+"";
  354. params=params + "&reissueCertState=2" + "";
  355. }
  356. } else {//如果是管理员,可以看到所有,故无需再加判断
  357. if (params == '') {// 例行空判断
  358. params="applyStatus=6"+"&reissueCertState=0"+"";
  359. params=params + "&reissueCertState=2" + "";
  360. }else{
  361. params=params+"&applyStatus=6"+"&reissueCertState=0"+"";
  362. params=params + "&reissueCertState=2" + "";
  363. }
  364. }
  365. } else {//如果筛选的是待领取(9999),那么筛选状态为2,且auditor=9999表示未领取默认id的数据
  366. if(loginId != 'administrator') {// 如果不是管理员
  367. if (params == '') {//例行空判断
  368. params = "applyStatus=" + "6" + "&auditor=" + loginId + "&reissueCertState=" + statusFilter;
  369. } else {
  370. params = params + "&applyStatus=" + "6" + "&auditor=" + loginId + "&reissueCertState=" + statusFilter;
  371. }
  372. } else {//如果是管理员,可以看到所有,故无需再加判断
  373. if (params == '') {//例行空判断
  374. params = "applyStatus=" + "6" + "&reissueCertState=" + statusFilter;
  375. } else {
  376. params = params + "&applyStatus=" + "6" + "&reissueCertState=" + statusFilter;
  377. }
  378. }
  379. }
  380. params = params + "&channelNo=service&orderBy=create_time desc";
  381. //保存修改删除URL
  382. var paramsUpdate = "proNames=id";
  383. paramsUpdate = paramsUpdate + "&channelNo=service&orderBy=create_time desc";
  384. //区别于查询还是下载
  385. if (download == 1) {
  386. downloadExcel('#dg', '商标转让公证查询', 'TRADEMAR01', params);
  387. } else {
  388. $('#dg').edatagrid({
  389. url: getUrl('TRADEMAR01', params),
  390. //updateUrl: getUrl('ORDERS03',paramsUpdate),
  391. striped: true,
  392. pagination: true,
  393. pageSize: 15,//每页显示的记录条数,默认为20
  394. pageList: [10, 15, 25, 50, 100],//可以设置每页记录条数的列表
  395. loadFilter: function (data) {
  396. loadFilterError(data);
  397. var res = data.rows.length;
  398. for (i = 0; i < res; i++) {
  399. }
  400. //需要处理可操作的按钮,详情等
  401. return data;
  402. }
  403. });
  404. }
  405. }
  406. //生成的大字段的详细查询函数
  407. function goPost(index) {
  408. $('#dg').datagrid('selectRow', index);
  409. rows = $('#dg').datagrid('getSelected');
  410. $('#reissueInput').dialog('open').dialog('center').dialog('setTitle', '纸件补发');
  411. $('#name').html(rows.postName);
  412. $('#tel').html(rows.postTel);
  413. $('#address').html(rows.postAddress);
  414. $('#reissue').val('');
  415. $('#PostCompany').val('');
  416. $('#PostNo').val('');
  417. }
  418. function modifyPost(index) {
  419. $('#dg').datagrid('selectRow', index);
  420. rows = $('#dg').datagrid('getSelected');
  421. $('#postModifyInput').dialog('open').dialog('center').dialog('setTitle', '修改快递信息');
  422. $('#oldPostCom').html(rows.postCompany);
  423. $('#oldPostOrder').html(rows.postOrder);
  424. $('#newPostCompany').val('');
  425. $('#newPostNo').val('');
  426. }
  427. function closeModifyPostInput(index) {
  428. $('#postModifyInput').dialog('close');
  429. }
  430. //修改物流,并且关闭窗体
  431. function goModifyPostExec(){
  432. rows = $('#dg').datagrid('getSelected');
  433. var postCompany = $('#newPostCompany').val();
  434. var postOrder = $('#newPostNo').val();
  435. // exit action;
  436. para = "proNames=id"+"&id=" + rows.id + "&postCompany="+postCompany+"&postOrder=" + postOrder;
  437. syncAjaxCall("TRADEMAR03", para, function (data) {
  438. loadFilterError(data);
  439. //只有当修改框显示的时候才执行二次操作
  440. if (!$('#optionDlg').is(':hidden')) {
  441. getOperateList(rows.id);
  442. $('#option').empty();
  443. op = statusChangeMap.get(parseInt(rows.status) + 1);
  444. if (op == undefined || op == "") {
  445. op = "--";
  446. } else {
  447. op = '<button class="btn-sm btn-primary" type="button" onclick="goCheck()"> ' + op + '</button>';
  448. ;
  449. }
  450. $('#option').append(op);
  451. }
  452. $('#dg').datagrid('reload');
  453. });
  454. closeModifyPostInput();
  455. }
  456. //补发质证,并且关闭窗体
  457. function submitReissue(){
  458. rows = $('#dg').datagrid('getSelected');
  459. var reissue = $('#reissue').val();
  460. var postCompany = $('#PostCompany').val();
  461. var postOrder = $('#PostNo').val();
  462. var reissueCertRejectInfo = $('#reissueCertRejectInfo').val();
  463. para = "proNames=id"+"&id=" + rows.id + "&postCompany="+postCompany+"&postOrder=" + postOrder + "&reissueCertState=" + reissue +"&reissueCertRejectInfo="+reissueCertRejectInfo;
  464. syncAjaxCall("TRADEMAR03", para, function (data) {
  465. loadFilterError(data);
  466. $('#reissueInput').dialog('close');
  467. $('#dg').datagrid('reload');
  468. });
  469. }
  470. //数值小于10时前面加零校验
  471. function inspectionTime(num){
  472. num = num < 10 ? '0' + num : num;
  473. return num;
  474. }
  475. //转换时间格式为YYYY-MM-DD hh:mm:ss
  476. function convertTimeFormat(date){
  477. var Y = inspectionTime(date.getFullYear());
  478. var M = inspectionTime(date.getMonth() + 1);
  479. var D = inspectionTime(date.getDate());
  480. var h = inspectionTime(date.getHours());
  481. var m = inspectionTime(date.getMinutes());
  482. var s = inspectionTime(date.getSeconds());
  483. return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
  484. }
  485. //获取YYYY-MM-DD hh:mm:ss格式的当前北京时间
  486. function getNowTime(){
  487. var timezone = 8; //目标时区时间,东八区
  488. var offset_GMT = new Date().getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
  489. var nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
  490. var date = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
  491. return convertTimeFormat(date);
  492. }
  493. </script>
  494. </body>
  495. </html>