list.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <title>收文管理</title>
  7. <link href="../../AFrontEnd/css/animate.css" rel="stylesheet" />
  8. <link href="../../AFrontEnd/css/fontawesome/css/font-awesome.css" rel="stylesheet" />
  9. <link href="../../AFrontEnd/css/bootstrap.css" rel="stylesheet" />
  10. <link href="../../AFrontEnd/css/style.css" rel="stylesheet" />
  11. <script>document.write("<link href='../../AFrontEnd/css/special.css?time=" + new Date().getTime() + "' rel='stylesheet'>");</script>
  12. <style>
  13. span.sp-color-red {
  14. position: relative;
  15. animation: move 0.5s infinite;
  16. }
  17. @keyframes move {
  18. /*开始状态*/
  19. 0% {
  20. top: -3px;
  21. }
  22. /*过渡状态*/
  23. 50% {
  24. top: -5px;
  25. }
  26. /*结束状态*/
  27. 100% {
  28. top: -3px;
  29. }
  30. }
  31. .lcItem {
  32. background-color: #fff;
  33. height: 100px;
  34. text-align: center;
  35. padding: 5px 0;
  36. margin: 10px 0;
  37. border-radius: 5px;
  38. border: 1px solid #E1E6EB;
  39. box-shadow: 0px 2px 5px #E1E6EB;
  40. position: relative;
  41. cursor: pointer;
  42. }
  43. .cbd {
  44. float: right;
  45. position: absolute;
  46. top: 1px;
  47. right: 1px;
  48. }
  49. .activeLC {
  50. background: #4678ec;
  51. }
  52. </style>
  53. </head>
  54. <body>
  55. <div ng-controller="listCtrl as ctl" ng-cloak>
  56. <div class="loading" ng-if="ctl.loading">
  57. <div class="loading-msg">
  58. <h3>数据加载中,请等待</h3>
  59. <div class="spinner">
  60. <div class="bounce1"></div>
  61. <div class="bounce2"></div>
  62. <div class="bounce3"></div>
  63. </div>
  64. </div>
  65. </div>
  66. <div class="wrapper wrapper-content">
  67. <div class="row">
  68. <div class="col-md-12">
  69. <div class="ibox float-e-margins">
  70. <div class="ibox-content">
  71. <div class="row">
  72. <div class="col-md-12">
  73. <div class="sp-page-tab">
  74. <span ng-class="{'pageTabActive':ctl.type=='todo'}" style="font-weight: 900; " ng-click="ctl.changeType('todo')"><img src="../flowchart_app_imgcss/img/db-black.png" width="20" ng-if="ctl.type!='todo'" style="position:relative;left:-10px" /><img src="../flowchart_app_imgcss/img/db-blue.png" width="20" ng-if="ctl.type=='todo'" style="position:relative;left:-10px" /> 待&nbsp;办</span>
  75. <span ng-class="{'pageTabActive':ctl.type=='done'}" style="font-weight: 900; " ng-click="ctl.changeType('done')"><img src="../flowchart_app_imgcss/img/yb-black.png" width="20" ng-if="ctl.type!='done'" style="position:relative;left:-10px" /><img src="../flowchart_app_imgcss/img/yb-blue.png" width="20" ng-if="ctl.type=='done'" style="position:relative;left:-10px" /> 已&nbsp;办</span>
  76. <span ng-class="{'pageTabActive':ctl.type=='finish'}" style="font-weight: 900; " ng-click="ctl.changeType('finish')"><img src="../flowchart_app_imgcss/img/gd-black.png" width="20" ng-if="ctl.type!='finish'" style="position:relative;left:-10px" /><img src="../flowchart_app_imgcss/img/gd-blue.png" width="20" ng-if="ctl.type=='finish'" style="position:relative;left:-10px" /> 办&nbsp;结</span>
  77. <div class="sp-pull-right">
  78. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-click="ctl.printEXCEL()">
  79. <i class="fa fa-sign-out sp-mr-5"></i>导出Excel
  80. </a>
  81. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-click="ctl.refresh()">
  82. <i class="fa fa-refresh sp-mr-5"></i>刷 新
  83. </a>
  84. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-if="ctl.lcList.length>0" ng-click="ctl.addLC()">
  85. <i class="fa fa-plus sp-mr-5"></i>新 建
  86. </a>
  87. <a class="sp-pull-right sp-btn-gray" ng-click="ctl.openLayer()">
  88. <i class="fa fa-search sp-mr-5"></i>筛 选
  89. </a>
  90. </div>
  91. </div>
  92. <div class="sp-page">
  93. <table class="sp-table sp-mt-10">
  94. <thead>
  95. <tr>
  96. <th>
  97. <div style="width:83px">
  98. <img src="../flowchart_app_imgcss/img/deng.png" title="控制灯" />
  99. </div>
  100. </th>
  101. <th>序号</th>
  102. <th><span class="pointer" ng-click="ctl.sortFiled('JJCD')">紧急程度<i class="fa fa-sort"></i></span></th>
  103. <th><span class="pointer" ng-click="ctl.sortFiled('FLOWNAME')">收文类别<i class="fa fa-sort"></i></span></th>
  104. <th><span class="pointer" ng-click="ctl.sortFiled('SWBH')">收文编号<i class="fa fa-sort"></i></span></th>
  105. <th><span class="pointer" ng-click="ctl.sortFiled('TITLE')">标题<i class="fa fa-sort"></i></span></th>
  106. <th ng-hide="ctl.deviceType=='pad'"><span class="pointer" ng-click="ctl.sortFiled('LWDW')">来文单位<i class="fa fa-sort"></i></span></th>
  107. <th ng-hide="ctl.deviceType=='pad'"><span class="pointer" ng-click="ctl.sortFiled('LWWH')">来文文号<i class="fa fa-sort"></i></span></th>
  108. <th ng-hide="ctl.deviceType=='pad'"><span class="pointer" ng-click="ctl.sortFiled('LWRQ')">来文日期<i class="fa fa-sort"></i></span></th>
  109. <th ng-hide="ctl.deviceType=='pad'"><span class="pointer" ng-click="ctl.sortFiled('DBSX')">督办时限<i class="fa fa-sort"></i></span></th>
  110. <th ng-hide="ctl.deviceType=='pad'"><span class="pointer" ng-click="ctl.sortFiled('RECEIVEDATE')">上一节点转办时间<i class="fa fa-sort"></i></span></th>
  111. <th class="sp-text-center" style="width: 180px;">操 作</th>
  112. </tr>
  113. </thead>
  114. <tbody>
  115. <tr dir-paginate="item in ctl.list|itemsPerPage:ctl.itemsPerPage" total-items="ctl.total_count">
  116. <td style="position:relative">
  117. <img src="../flowchart_app_imgcss/img/yibanD.png" height="30" style="position: absolute; left: 0; top: 0" ng-if="item.DBLX=='C01'&&item.CODETABLE=='SW_ZJWWJCBD'" />
  118. <img src="../flowchart_app_imgcss/img/zhongdianD.png" height="30" style="position: absolute; left: 0; top: 0" ng-if="item.DBLX=='C02'" />
  119. <img src="../flowchart_app_imgcss/img/purple.png" style="position: absolute; left: 35px; top: 10px; " ng-if="item.DENG=='BLACK'" />
  120. <img src="../flowchart_app_imgcss/img/red.png" style="position: absolute; left: 35px; top: 10px; " ng-if="item.DENG=='RED'" />
  121. <img src="../flowchart_app_imgcss/img/yellow.png" style="position: absolute; left: 35px; top: 10px; " ng-if="item.DENG=='YELLOW'" />
  122. <img src="../flowchart_app_imgcss/img/green.png" style="position: absolute; left: 35px; top: 10px; " ng-if="item.DENG=='GREEN'" />
  123. <img src="../flowchart_app_imgcss/img/yan.png" style="float:right" ng-if="item.DBSX!=''&&ctl.type=='todo'" />
  124. <i class="fa fa-lock sp-color-blue sp-ml-15" ng-if="item.PASSWORD==1" ng-click="ctl.setPassword(item)"></i>
  125. <i class="fa fa-unlock sp-color-blue sp-ml-15" ng-if="item.PASSWORD==0" ng-click="ctl.RePassword(item)"></i>
  126. <!--<span ng-if="item.MARKDELAY!=''" style="width: 22px; height: 22px; border: 1px solid #FF0000; border-radius: 15px; color: #FF0000; cursor: pointer; display: inline-block; font-size: 12px; line-height: 18px">延</span>-->
  127. <!--<span ng-if="item.MARKSTOP!=''" style="width: 22px; height: 22px; border: 1px solid #FF0000; border-radius: 15px; color: #FF0000; cursor: pointer; display: inline-block; font-size: 12px; line-height: 18px">停</span>-->
  128. </td>
  129. <td ng-bind="(ctl.pageno-1)*ctl.itemsPerPage+$index+1"></td>
  130. <td ng-class="{'sp-color-red':item.JJCD!='C01'}" ng-bind="item.JJCD1"></td>
  131. <td ng-bind="item.FLOWNAME"></td>
  132. <td ng-bind="item.SWBH"></td>
  133. <td>
  134. <i class="fa fa-star sp-color-red" ng-if="item.SWBH.indexOf('S')>-1"></i>
  135. <a ng-click="ctl.goUrl(item)" title="{{item.TITLE}}"
  136. ng-bind="item.TITLE" class="sp-color-blue"></a>
  137. <span class="sp-color-red" style="display:inline-block;" ng-if="item.STATUS==1">未读</span>
  138. </td>
  139. <td ng-hide="ctl.deviceType=='pad'" ng-bind="item.LWDW"></td>
  140. <td ng-hide="ctl.deviceType=='pad'" ng-bind="item.LWWH"></td>
  141. <td ng-hide="ctl.deviceType=='pad'" ng-bind="item.LWRQ"></td>
  142. <td ng-hide="ctl.deviceType=='pad'" ng-bind="item.DBSX"></td>
  143. <td ng-hide="ctl.deviceType=='pad'" ng-bind="item.RECEIVEDATE"></td>
  144. <td class="sp-text-center">
  145. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)" ng-if="ctl.type=='todo'">办&nbsp;理</button>
  146. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)" ng-if="ctl.type!='todo'">查&nbsp;看</button>
  147. <button class="sp-btn-red sp-btn-sm sp-radius" ng-click="ctl.btnDel(item)" ng-if="item.STATUS=='0'">删&nbsp;除</button>
  148. <button class="sp-btn-red sp-btn-sm sp-radius" ng-click="ctl.btnRecall(item.USERS[0].ROUTEID,'0')" ng-if="(item.DMANS>0&&item.DMANSHADDONE==0)&&ctl.type=='done'">撤&nbsp;回</button>
  149. <button class="sp-btn-red sp-btn-sm sp-radius" ng-click="ctl.btnRecall(item.ROUTEID,'1')" ng-if="(item.DMANS==0&&item.STATUS=='4')&&ctl.type=='done'">撤回已阅</button>
  150. </td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. <div class="sp-table-tip ng-hide" ng-show="ctl.noDataTip == 0">
  155. <i class="fa fa-exclamation-circle sp-mr-10"></i>您好,暂未查询到相关信息!
  156. </div>
  157. <div class="sp-page" ng-show="ctl.noDataTip != 0">
  158. <div class="sp-page-col sp-pull-right">
  159. <div class="sp-lh-34">
  160. 每页 <select ng-model="ctl.itemsPerPage" ng-options="x for x in ctl.pageOptions"
  161. ng-init="ctl.itemsPerPage=ctl.pageOptions[0]"></select> 条
  162. </div>
  163. </div>
  164. <div class="sp-page-col sp-pull-right">
  165. <dir-pagination-controls max-size="8" direction-links="true" boundary-links="true"
  166. on-page-change="ctl.getData(newPageNumber)">
  167. </dir-pagination-controls>
  168. </div>
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="sp-layer" id="addLC" style="width: 1020px;">
  179. <div class="sp-layer-head" style="background:#2176d6">
  180. <div class="sp-page sp-text-center sp-font16">
  181. 新建流程
  182. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  183. ×
  184. </div>
  185. </div>
  186. </div>
  187. <div class="sp-layer-body">
  188. <div class="sp-page" style="max-height:500px;overflow:auto">
  189. <div ng-repeat="item in ctl.lcList" class="sp-col-25" ng-click="ctl.goAddUrl(item)">
  190. <div class="lcItem">
  191. <div class="sp-page" style="width:30%;padding:5px">
  192. <img src="../flowchart_app_imgcss/img/addLC.png" width="45" />
  193. <div class="sp-page sp-mt-10">
  194. <span class="sp-btn-blue-outline" style="padding:2px 5px;margin:0" ng-click="ctl.seeLCT(item,$event)">流程图</span>
  195. </div>
  196. </div>
  197. <div class="sp-page" style="width:70%">
  198. <img class="cbd" src="../flowchart_app_imgcss/img/cbd.png" />
  199. <div class="sp-box" style="width:90%">
  200. {{item.FLOWNAME}}
  201. </div>
  202. <div class="sp-line-gray"></div>
  203. <div class="sp-page sp-color-gray sp-fs-12" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis" title="{{item.FLOWNAME}}">
  204. 介绍:{{item.FLOWNAME}}
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <!--<div class="sp-page sp-text-center sp-mt-20">
  211. <a class="sp-btn-blue sp-radius" ng-click="ctl.goAddUrl()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  212. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  213. </div>-->
  214. </div>
  215. </div>
  216. <div class="sp-layer" id="Search" style="width: 550px;">
  217. <div class="sp-layer-head" style="background:#2176d6">
  218. <div class="sp-page sp-text-center sp-font16">
  219. 筛选
  220. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  221. ×
  222. </div>
  223. </div>
  224. </div>
  225. <div class="sp-layer-body">
  226. <table class="sp-grid-job">
  227. <tbody>
  228. <tr>
  229. <td style="width:120px;">流程名称</td>
  230. <td colspan="2">
  231. <label class="sp-col-25 sp-text-left" title="{{item.NAME}}" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer" ng-repeat="item in ctl.flowids">
  232. <input type="checkbox" ng-model="item.checked" />&nbsp;{{item.NAME}}
  233. </label>
  234. </td>
  235. </tr>
  236. <tr>
  237. <td style="width:120px;">标题</td>
  238. <td colspan="2">
  239. <input type="text" class="sp-input" placeholder="请输入标题" ng-model="ctl.search.TITLE" />
  240. </td>
  241. </tr>
  242. <tr>
  243. <td style="width:120px;">紧急程度</td>
  244. <td colspan="2">
  245. <label class="sp-col-25 sp-text-left" title="{{item.CNAME}}" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer" ng-repeat="item in ctl.JJQK">
  246. <input type="checkbox" ng-model="item.checked" />&nbsp;{{item.CNAME}}
  247. </label>
  248. </td>
  249. </tr>
  250. <tr>
  251. <td style="width:120px;">收文编号</td>
  252. <td colspan="2">
  253. <input type="text" class="sp-input" placeholder="请输入收文编号" ng-model="ctl.search.SWBH" />
  254. </td>
  255. </tr>
  256. <tr>
  257. <td style="width:120px;">来文单位</td>
  258. <td colspan="2">
  259. <input type="text" class="sp-input" placeholder="请输入来文单位" ng-model="ctl.search.LWDW" />
  260. </td>
  261. </tr>
  262. <tr>
  263. <td style="width:120px;">来文文号</td>
  264. <td colspan="2">
  265. <input type="text" class="sp-input" placeholder="请输入来文文号" ng-model="ctl.search.LWWH" />
  266. </td>
  267. </tr>
  268. <tr>
  269. <td style="width:120px;">来文日期</td>
  270. <td>
  271. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入开始时间" ng-model="ctl.search.LWRQ1" />
  272. </td>
  273. <td>
  274. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入结束时间" ng-model="ctl.search.LWRQ2" />
  275. </td>
  276. </tr>
  277. <tr>
  278. <td style="width:120px;">督办时限</td>
  279. <td>
  280. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入开始时间" ng-model="ctl.search.DBSX1" />
  281. </td>
  282. <td>
  283. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入结束时间" ng-model="ctl.search.DBSX2" />
  284. </td>
  285. </tr>
  286. <tr>
  287. <td style="width:120px;">时间</td>
  288. <td>
  289. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入开始时间" ng-model="ctl.search.DATE1" />
  290. </td>
  291. <td>
  292. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入结束时间" ng-model="ctl.search.DATE2" />
  293. </td>
  294. </tr>
  295. </tbody>
  296. </table>
  297. <div class="sp-page sp-text-center sp-mt-20">
  298. <a class="sp-btn-blue sp-radius" ng-click="ctl.doSearch()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  299. <a class="sp-btn-blue sp-radius" ng-click="ctl.cancal()"><i class="fa fa-refresh sp-mr-5"></i>重 置</a>
  300. </div>
  301. </div>
  302. </div>
  303. <div class="sp-layer" id="RePassword" style="width: 450px;">
  304. <div class="sp-layer-head" style="background:#2176d6">
  305. <div class="sp-page sp-text-center sp-font16">
  306. 密码设置
  307. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  308. ×
  309. </div>
  310. </div>
  311. </div>
  312. <div class="sp-layer-body">
  313. <input type="password" class="sp-input" placeholder="请输入旧密码" ng-model="ctl.RePasswordObj.oldpassword" ng-if="ctl.RePasswordObj.type==1" />
  314. <input type="password" class="sp-input" placeholder="请输入新密码" ng-model="ctl.RePasswordObj.newpassword" ng-if="ctl.RePasswordObj.type==1" />
  315. <input type="password" class="sp-input" placeholder="请再次输入新密码" ng-model="ctl.RePasswordObj.newpassword1" ng-if="ctl.RePasswordObj.type==1" />
  316. <input type="password" class="sp-input" placeholder="请输入密码" ng-model="ctl.RePasswordObj.password" ng-if="ctl.RePasswordObj.type==2" />
  317. <center>
  318. <label class="sp-pr-10"><input type="radio" name="type" ng-model="ctl.RePasswordObj.type" value="1" />重置密码</label>
  319. <label class="sp-pl-10"><input type="radio" name="type" ng-model="ctl.RePasswordObj.type" value="2" />清除密码</label>
  320. </center>
  321. <p ng-bind="ctl.RePasswordObj.warning"></p>
  322. <div class="sp-page sp-text-center sp-mt-20">
  323. <a class="sp-btn-blue sp-radius" ng-click="ctl.subRePassword()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  324. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  325. </div>
  326. </div>
  327. </div>
  328. <div class="sp-layer" id="todolist" style="width: 750px;">
  329. <div class="sp-layer-head" style="background:#2176d6">
  330. <div class="sp-page sp-text-center sp-font16">
  331. {{ctl.todoTitle}}
  332. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  333. ×
  334. </div>
  335. </div>
  336. </div>
  337. <div class="sp-layer-body">
  338. <div class="sp-box" style="max-height:500px;overflow:auto">
  339. <table class="sp-table">
  340. <thead>
  341. <tr>
  342. <th>来自节点</th>
  343. <th>我的位置</th>
  344. <th>最近时间</th>
  345. <th>操作</th>
  346. </tr>
  347. </thead>
  348. <tbody>
  349. <tr ng-repeat="item in ctl.todoList">
  350. <td>{{item.STARTNODENAME}}<br />{{item.USERNAMEFROM}}</td>
  351. <td ng-bind="item.ENDNODENAME"></td>
  352. <td ng-bind="item.RECEIVEDATE"></td>
  353. <td>
  354. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)">办&nbsp;理</button>
  355. </td>
  356. </tr>
  357. </tbody>
  358. </table>
  359. </div>
  360. <div class="sp-page sp-text-center sp-mt-20">
  361. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>关 闭</a>
  362. </div>
  363. </div>
  364. </div>
  365. </div>
  366. <script src="../../AFrontEnd/js/jquery/jquery-2.1.4.min.js"></script>
  367. <script src="../../AFrontEnd/js/laydate/laydate.js"></script>
  368. <script src="../../AFrontEnd/js/angularjs/angular.js"></script>
  369. <script src="../../AFrontEnd/js/angularjs/dirPagination.js"></script>
  370. <script src="../../apiurljs.js"></script>
  371. <script src="../../js/sm4.js"></script>
  372. <script src="../../js/excelJs.js"></script>
  373. <script>document.write('<scri' + 'pt src="../../AFrontEnd/js/special/special.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  374. <script>document.write('<scri' + 'pt src="js/list.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  375. <script src="../../AFrontEnd/js/special/spng.js"></script>
  376. <script src="../../AFrontEnd/js/special/spngvld.js"></script>
  377. </body>
  378. </html>