list.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  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. .sp-page-tab span {
  14. width:120px
  15. }
  16. span.sp-color-red {
  17. position: relative;
  18. animation: move 0.5s infinite;
  19. }
  20. @keyframes move {
  21. /*开始状态*/
  22. 0% {
  23. top: 0;
  24. }
  25. /*过渡状态*/
  26. 50% {
  27. top: -2px;
  28. }
  29. /*结束状态*/
  30. 100% {
  31. top: 0;
  32. }
  33. }
  34. .lcItem {
  35. background-color: #fff;
  36. height: 100px;
  37. text-align: center;
  38. padding: 5px 0;
  39. margin: 10px 0;
  40. border-radius: 5px;
  41. border: 1px solid #E1E6EB;
  42. box-shadow: 0px 2px 5px #E1E6EB;
  43. position: relative;
  44. cursor: pointer;
  45. }
  46. .cbd {
  47. float: right;
  48. position: absolute;
  49. top: 1px;
  50. right: 1px;
  51. }
  52. .activeLC {
  53. background: #4678ec;
  54. }
  55. </style>
  56. </head>
  57. <body>
  58. <div ng-controller="listCtrl as ctl" ng-cloak>
  59. <div class="loading" ng-if="ctl.loading">
  60. <div class="loading-msg">
  61. <h3>数据加载中,请等待</h3>
  62. <div class="spinner">
  63. <div class="bounce1"></div>
  64. <div class="bounce2"></div>
  65. <div class="bounce3"></div>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="wrapper wrapper-content">
  70. <div class="row">
  71. <div class="col-md-12">
  72. <div class="ibox float-e-margins">
  73. <div class="ibox-content">
  74. <div class="row">
  75. <div class="col-md-12">
  76. <div class="sp-page-tab">
  77. <span ng-class="{'pageTabActive':ctl.type=='todo'}" style="font-weight: 900; " ng-click="ctl.changeType('todo')">
  78. <img src="../flowchart_app_imgcss/img/db-black.png" width="20" ng-if="ctl.type!='todo'" style="position:relative;left:-10px" />
  79. <img src="../flowchart_app_imgcss/img/db-blue.png" width="20" ng-if="ctl.type=='todo'" style="position:relative;left:-10px" /> 待&nbsp;办
  80. <b ng-if="ctl.type=='todo'">({{ctl.total_count}})</b>
  81. </span>
  82. <span ng-class="{'pageTabActive':ctl.type=='done'}" style="font-weight: 900; " ng-click="ctl.changeType('done')">
  83. <img src="../flowchart_app_imgcss/img/yb-black.png" width="20" ng-if="ctl.type!='done'" style="position:relative;left:-10px" />
  84. <img src="../flowchart_app_imgcss/img/yb-blue.png" width="20" ng-if="ctl.type=='done'" style="position:relative;left:-10px" /> 已&nbsp;办
  85. <b ng-if="ctl.type=='done'">({{ctl.total_count}})</b>
  86. </span>
  87. <span ng-class="{'pageTabActive':ctl.type=='finish'}" style="font-weight: 900; " ng-click="ctl.changeType('finish')">
  88. <img src="../flowchart_app_imgcss/img/gd-black.png" width="20" ng-if="ctl.type!='finish'" style="position:relative;left:-10px" />
  89. <img src="../flowchart_app_imgcss/img/gd-blue.png" width="20" ng-if="ctl.type=='finish'" style="position:relative;left:-10px" /> 办&nbsp;结
  90. <b ng-if="ctl.type=='finish'">({{ctl.total_count}})</b>
  91. </span>
  92. <span ng-class="{'pageTabActive':ctl.type=='yifa'}" ng-ig="ctl.userId==''" style="font-weight: 900; " ng-click="ctl.changeType('yifa')">
  93. <img src="../flowchart_app_imgcss/img/yifa-black.png" width="20" ng-if="ctl.type!='yifa'" style="position:relative;left:-10px" />
  94. <img src="../flowchart_app_imgcss/img/yifa-blue.png" width="20" ng-if="ctl.type=='yifa'" style="position:relative;left:-10px" /> 已&nbsp;发
  95. <b ng-if="ctl.type=='yifa'">({{ctl.total_count}})</b>
  96. </span>
  97. <span ng-class="{'pageTabActive':ctl.type=='daifa'}" ng-ig="ctl.userId==''" style="font-weight: 900; " ng-click="ctl.changeType('daifa')">
  98. <img src="../flowchart_app_imgcss/img/daifa-black.png" width="20" ng-if="ctl.type!='daifa'" style="position:relative;left:-10px" />
  99. <img src="../flowchart_app_imgcss/img/daifa-blue.png" width="20" ng-if="ctl.type=='daifa'" style="position:relative;left:-10px" /> 待&nbsp;发
  100. <b ng-if="ctl.type=='daifa'">({{ctl.total_count}})</b>
  101. </span>
  102. <div class="sp-pull-right">
  103. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-click="ctl.printEXCEL()">
  104. <i class="fa fa-sign-out sp-mr-5"></i>导出Excel
  105. </a>
  106. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-click="ctl.refresh()">
  107. <i class="fa fa-refresh sp-mr-5"></i>刷 新
  108. </a>
  109. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-if="ctl.lcList.length>0" ng-click="ctl.addLC()">
  110. <i class="fa fa-plus sp-mr-5"></i>新 建
  111. </a>
  112. <a class="sp-pull-right sp-btn-gray sp-btn-radius" ng-click="ctl.openLayer()">
  113. <i class="fa fa-search sp-mr-5"></i>筛 选
  114. </a>
  115. </div>
  116. </div>
  117. <div class="sp-page">
  118. <table class="sp-table sp-mt-10">
  119. <thead>
  120. <tr>
  121. <th style="width: 50px;">
  122. <img src="../flowchart_app_imgcss/img/deng.png" title="控制灯" />
  123. </th>
  124. <th><span class="pointer" ng-click="ctl.sortFiled('LAIYUAN')">来源<i class="fa fa-sort"></i></span></th>
  125. <th><span class="pointer" ng-click="ctl.sortFiled('BIANHAO')">编号<i class="fa fa-sort"></i></span></th>
  126. <th><span class="pointer" ng-click="ctl.sortFiled('TITLE')">名称<i class="fa fa-sort"></i></span></th>
  127. <th width="550" ng-if="ctl.type!='daifa'">申请公开描述</th>
  128. <th><span class="pointer" ng-click="ctl.sortFiled('SQRQ')">申请时间<i class="fa fa-sort"></i></span></th>
  129. <!--<th>承办部门</th>-->
  130. <th>联系电话</th>
  131. <th>实际办结日期</th>
  132. <th>公开属性类别</th>
  133. <!--<th>领导批示</th>-->
  134. <th ng-if="ctl.type=='todo'">转发人</th>
  135. <th ng-if="ctl.type=='done'">当前办理人</th>
  136. <th ng-if="ctl.type=='yifa'">上一节点办理人</th>
  137. <th ng-if="ctl.type=='daifa'">撤销原因</th>
  138. <th>当前节点</th>
  139. <th ng-if="ctl.type!='yifa'&&ctl.type!='daifa'" width="150">接收时间</th>
  140. <th ng-if="ctl.type=='daifa'" width="150">撤销时间</th>
  141. <th class="sp-text-center" style="width: 230px;">操 作</th>
  142. </tr>
  143. </thead>
  144. <tbody>
  145. <tr dir-paginate="item in ctl.list|itemsPerPage:ctl.itemsPerPage" total-items="ctl.total_count">
  146. <td>
  147. <img src="../flowchart_app_imgcss/img/purple.png" ng-if="item.DENG=='BLACK'" />
  148. <img src="../flowchart_app_imgcss/img/red.png" ng-if="item.DENG=='RED'" />
  149. <img src="../flowchart_app_imgcss/img/yellow.png" ng-if="item.DENG=='YELLOW'" />
  150. <img src="../flowchart_app_imgcss/img/green.png" ng-if="item.DENG=='GREEN'" />
  151. <!--<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>-->
  152. <!--<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>-->
  153. </td>
  154. <td ng-bind="item.LAIYUAN"></td>
  155. <td ng-bind="item.BIANHAO"></td>
  156. <td>
  157. <a ng-click="ctl.goUrl(item)" title="{{item.TITLE}}"
  158. ng-bind="item.TITLE" class="sp-color-blue"></a>
  159. <span class="sp-color-red" ng-if="item.STATUS==1">未读</span>
  160. </td>
  161. <td ng-if="ctl.type!='daifa'"><div class="sp-page" style="max-width:534px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis" ng-bind="item.SQGKNRMS" title="{{item.SQGKNRMS}}"></div></td>
  162. <td ng-bind="item.SQRQ"></td>
  163. <!--<td ng-bind="item.SQRQ"></td>-->
  164. <td ng-bind="item.LXDH"></td>
  165. <td ng-bind="item.SJBJRQ"></td>
  166. <td ng-bind="item.GKSXLB"></td>
  167. <!--<td ng-bind="item.SQRQ"></td>-->
  168. <td ng-if="ctl.type=='done'" ng-bind="item.USERSNAME"></td>
  169. <td ng-if="ctl.type=='todo'||ctl.type=='yifa'" ng-bind="item.USERNAMEFROM"></td>
  170. <td ng-if="ctl.type=='daifa'" ng-bind="item.UNCANCELCONTENT"></td>
  171. <td ng-if="ctl.type!='done'" ng-bind="item.ENDNODENAME"></td>
  172. <td ng-if="ctl.type=='done'" ng-bind="item.ENDNODESNAME"></td>
  173. <td ng-if="ctl.type!='yifa'&&ctl.type!='daifa'" ng-bind="item.RECEIVEDATE"></td>
  174. <td ng-if="ctl.type=='daifa'" ng-bind="item.UNCANCELCDATE"></td>
  175. <td class="sp-text-center">
  176. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)" ng-if="ctl.type=='todo'">办&nbsp;理</button>
  177. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)" ng-if="ctl.type!='todo'">查&nbsp;看</button>
  178. <button class="sp-btn-red sp-btn-sm sp-radius" ng-click="ctl.btnDel(item)" ng-if="item.STATUS=='0'">删&nbsp;除</button>
  179. <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>
  180. <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>
  181. <button class="sp-btn-red sp-btn-sm sp-radius" ng-click="ctl.btnCX(item)" ng-if="ctl.type=='yifa'">撤销流程</button>
  182. </td>
  183. </tr>
  184. </tbody>
  185. </table>
  186. <div class="sp-table-tip ng-hide" ng-show="ctl.noDataTip == 0">
  187. <i class="fa fa-exclamation-circle sp-mr-10"></i>您好,暂未查询到相关信息!
  188. </div>
  189. <div class="sp-page" ng-show="ctl.noDataTip != 0">
  190. <div class="sp-page-col sp-pull-right">
  191. <div class="sp-lh-34">
  192. 每页 <select ng-model="ctl.itemsPerPage" ng-options="x for x in ctl.pageOptions"
  193. ng-init="ctl.itemsPerPage=ctl.pageOptions[0]"></select> 条
  194. </div>
  195. </div>
  196. <div class="sp-page-col sp-pull-right">
  197. <dir-pagination-controls max-size="8" direction-links="true" boundary-links="true"
  198. on-page-change="ctl.getData(newPageNumber)">
  199. </dir-pagination-controls>
  200. </div>
  201. </div>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <div class="sp-layer" id="addLC" style="width: 1020px;">
  211. <div class="sp-layer-head" style="background:#2176d6">
  212. <div class="sp-page sp-text-center sp-font16">
  213. 新建流程
  214. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  215. ×
  216. </div>
  217. </div>
  218. </div>
  219. <div class="sp-layer-body">
  220. <div class="sp-page" style="max-height:500px;overflow:auto">
  221. <div ng-repeat="item in ctl.lcList" class="sp-col-25" ng-class="{'activeLC':ctl.activeLC.FLOWID==item.FLOWID}" ng-click="ctl.activeLC=item">
  222. <div class="lcItem">
  223. <div class="sp-page" style="width:30%;padding:5px">
  224. <img src="../flowchart_app_imgcss/img/addLC.png" width="45" />
  225. <div class="sp-page sp-mt-10">
  226. <span class="sp-btn-blue-outline" style="padding:2px 5px;margin:0" ng-click="ctl.seeLCT(item,$event)">流程图</span>
  227. </div>
  228. </div>
  229. <div class="sp-page" style="width:70%">
  230. <img class="cbd" src="../flowchart_app_imgcss/img/cbd.png" />
  231. <div class="sp-box" style="width:90%">
  232. {{item.FLOWNAME}}
  233. </div>
  234. <div class="sp-line-gray"></div>
  235. <div class="sp-page sp-color-gray sp-fs-12" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis" title="{{item.FLOWNAME}}">
  236. 介绍:{{item.FLOWNAME}}
  237. </div>
  238. </div>
  239. </div>
  240. </div>
  241. </div>
  242. <div class="sp-page sp-text-center sp-mt-20">
  243. <a class="sp-btn-blue sp-radius" ng-click="ctl.goAddUrl()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  244. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  245. </div>
  246. </div>
  247. </div>
  248. <div class="sp-layer" id="chexiao" style="width: 800px;">
  249. <div class="sp-layer-head" style="background:#2176d6">
  250. <div class="sp-page sp-text-center sp-font16">
  251. 撤销
  252. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  253. ×
  254. </div>
  255. </div>
  256. </div>
  257. <div class="sp-layer-body">
  258. 撤销原因
  259. <div class="sp-page">
  260. <textarea class="sp-textarea"rows="10" style="resize:none" ng-model="ctl.cxObj.CONTENT"></textarea>
  261. </div>
  262. <div class="sp-page sp-text-center sp-mt-20">
  263. <a class="sp-btn-blue sp-radius" ng-click="ctl.cxSubmit()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  264. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  265. </div>
  266. </div>
  267. </div>
  268. <div class="sp-layer" id="Search" style="width: 750px;">
  269. <div class="sp-layer-head" style="background:#2176d6">
  270. <div class="sp-page sp-text-center sp-font16">
  271. 筛选
  272. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  273. ×
  274. </div>
  275. </div>
  276. </div>
  277. <div class="sp-layer-body">
  278. <table class="sp-grid-job">
  279. <tbody>
  280. <tr>
  281. <td style="width:120px;">来源</td>
  282. <td colspan="2">
  283. <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.LAIYUAN">
  284. <input type="checkbox" ng-model="item.checked" />&nbsp;{{item.CNAME}}
  285. </label>
  286. </td>
  287. </tr>
  288. <tr>
  289. <td style="width:120px;">编号</td>
  290. <td colspan="2">
  291. <input type="text" class="sp-input" placeholder="请输入编号" ng-model="ctl.search.BIANHAO" />
  292. </td>
  293. </tr>
  294. <tr>
  295. <td style="width:120px;">名称</td>
  296. <td colspan="2">
  297. <input type="text" class="sp-input" placeholder="请输入名称" ng-model="ctl.search.BT" />
  298. </td>
  299. </tr>
  300. <tr>
  301. <td style="width:120px;">联系电话</td>
  302. <td colspan="2">
  303. <input type="text" class="sp-input" placeholder="请输入电话号码" ng-model="ctl.search.LXDH" />
  304. </td>
  305. </tr>
  306. <tr>
  307. <td style="width:120px;">内容</td>
  308. <td colspan="2">
  309. <input type="text" class="sp-input" placeholder="请输入关键字" ng-model="ctl.search.SQGKNRMS" />
  310. </td>
  311. </tr>
  312. <tr>
  313. <td style="width:120px;">公开属性类别</td>
  314. <td colspan="2">
  315. <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.GKSXLB">
  316. <input type="checkbox" ng-model="item.checked" />&nbsp;{{item.CNAME}}
  317. </label>
  318. </td>
  319. </tr>
  320. <tr>
  321. <td style="width:120px;">申请时间</td>
  322. <td>
  323. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入开始时间" ng-model="ctl.search.DATE1" />
  324. </td>
  325. <td>
  326. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入结束时间" ng-model="ctl.search.DATE2" />
  327. </td>
  328. </tr>
  329. <tr>
  330. <td style="width:120px;">实际办结日期</td>
  331. <td>
  332. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入开始时间" ng-model="ctl.search.SJBJRQ1" />
  333. </td>
  334. <td>
  335. <input type="text" class="sp-input laydate-logo" sp-laydate placeholder="请输入结束时间" ng-model="ctl.search.SJBJRQ2" />
  336. </td>
  337. </tr>
  338. </tbody>
  339. </table>
  340. <div class="sp-page sp-text-center sp-mt-20">
  341. <a class="sp-btn-blue sp-radius" ng-click="ctl.doSearch()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  342. <a class="sp-btn-blue sp-radius" ng-click="ctl.cancal()"><i class="fa fa-refresh sp-mr-5"></i>重 置</a>
  343. </div>
  344. </div>
  345. </div>
  346. <div class="sp-layer" id="todolist" style="width: 750px;">
  347. <div class="sp-layer-head" style="background:#2176d6">
  348. <div class="sp-page sp-text-center sp-font16">
  349. {{ctl.todoTitle}}
  350. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  351. ×
  352. </div>
  353. </div>
  354. </div>
  355. <div class="sp-layer-body">
  356. <div class="sp-box" style="max-height:500px;overflow:auto">
  357. <table class="sp-table">
  358. <thead>
  359. <tr>
  360. <th>来自节点</th>
  361. <th>我的位置</th>
  362. <th>最近时间</th>
  363. <th>操作</th>
  364. </tr>
  365. </thead>
  366. <tbody>
  367. <tr ng-repeat="item in ctl.todoList">
  368. <td>{{item.STARTNODENAME}}<br />{{item.USERNAMEFROM}}</td>
  369. <td ng-bind="item.ENDNODENAME"></td>
  370. <td ng-bind="item.RECEIVEDATE"></td>
  371. <td>
  372. <button class="sp-btn-blue sp-btn-sm sp-radius" ng-click="ctl.goUrl(item)">办&nbsp;理</button>
  373. </td>
  374. </tr>
  375. </tbody>
  376. </table>
  377. </div>
  378. <div class="sp-page sp-text-center sp-mt-20">
  379. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>关 闭</a>
  380. </div>
  381. </div>
  382. </div>
  383. </div>
  384. <script src="../../AFrontEnd/js/jquery/jquery-2.1.4.min.js"></script>
  385. <script src="../../AFrontEnd/js/laydate/laydate.js"></script>
  386. <script src="../../AFrontEnd/js/angularjs/angular.js"></script>
  387. <script src="../../AFrontEnd/js/angularjs/dirPagination.js"></script>
  388. <script src="../../apiurljs.js"></script>
  389. <script src="../../js/sm4.js"></script>
  390. <script src="../../js/excelJs.js"></script>
  391. <script>document.write('<scri' + 'pt src="../../AFrontEnd/js/special/special.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  392. <script>document.write('<scri' + 'pt src="js/list.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  393. <script src="../../AFrontEnd/js/special/spng.js"></script>
  394. <script src="../../AFrontEnd/js/special/spngvld.js"></script>
  395. </body>
  396. </html>