index.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="app">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta http-equiv="Pragma" content="no-cache" />
  6. <meta http-equiv="Cache-Control" content="no-cache" />
  7. <meta http-equiv="Expires" content="0" />
  8. <title>成员管理</title>
  9. <link href="../../AFrontEnd/css/bootstrap.css" rel="stylesheet" />
  10. <link href="../../AFrontEnd/css/style.css" rel="stylesheet" />
  11. <script>document.write("<link rel='stylesheet' href='../../AFrontEnd/css/special.css?time=" + new Date().getTime() + "'>");</script>
  12. <link href="../../AFrontEnd/css/fontawesome/css/font-awesome.css" rel="stylesheet" />
  13. <link href="css/index.css?v=20200601171211" rel="stylesheet" />
  14. </head>
  15. <body>
  16. <div class="wrapper wrapper-content" ng-controller="appCtrl as ctl" ng-cloak>
  17. <div class="loading" ng-if="ctl.loading">
  18. <div class="loading-msg">
  19. <h3>数据加载中,请等待</h3>
  20. <div class="spinner">
  21. <div class="bounce1"></div>
  22. <div class="bounce2"></div>
  23. <div class="bounce3"></div>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="row">
  28. <div class="col-md-3">
  29. <div class="ibox float-e-margins">
  30. <div class="ibox-content">
  31. <div class="row">
  32. <div class="sp-page">
  33. <div class="sp-page-col">
  34. <div class="sp-lh-26">选择机构: </div>
  35. </div>
  36. <div class="sp-page-col sp-ml-15">
  37. <select ng-model="ctl.unit" ng-change="ctl.changeUnit()" class="sp-select">
  38. <option ng-repeat="item in ctl.unitList" ng-init="ctl.unit=ctl.unitList[0].CODE" value="{{item.CODE}}">{{item.SECTION}}</option>
  39. </select>
  40. </div>
  41. </div>
  42. <div class="menu-list" style="overflow-y:auto;" tree-view tree-data="ctl.rows.C_H_I_L_D" text-field="SECTION" item-clicked="ctl.itemClicked($item)"
  43. item-edit="ctl.itemEdit($item,$event)">
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="col-md-9">
  50. <div class="ibox float-e-margins">
  51. <div class="ibox-content">
  52. <div class="row">
  53. <div class="sp-page">
  54. <div class="sp-page-col">
  55. <span class="sp-page-title">用户信息</span>
  56. </div>
  57. <div class="sp-page-col sp-pull-right" ng-if="ctl.userTypeEng!='SECADMIN'">
  58. <span class="sp-btn-blue sp-btn-radius" ng-click="ctl.openSearchLayer()">
  59. <i class="fa fa-search sp-mr-5"></i>筛 选
  60. </span>
  61. <button ng-disabled="!ctl.thisItem" class="sp-btn-blue sp-btn-radius" ng-click="ctl.openAddLayer()">
  62. <i class="fa fa-plus sp-mr-5"></i>新增用户
  63. </button>
  64. </div>
  65. </div>
  66. <div class="sp-line-gray"></div>
  67. <div class="sp-page">
  68. <table class="sp-table">
  69. <thead class="sp-color-black">
  70. <tr>
  71. <th style="width:60px;">序号</th>
  72. <th>登录名称</th>
  73. <th>用户名称</th>
  74. <th>用户状态</th>
  75. <th>所属部门</th>
  76. <th>职务</th>
  77. <th>所属角色</th>
  78. <th width="290">操作</th>
  79. </tr>
  80. </thead>
  81. <tbody>
  82. <tr dir-paginate="item in ctl.getPerson|itemsPerPage:ctl.itemsPerPage" total-items="ctl.total_count">
  83. <td ng-bind="$index+1"></td>
  84. <td ng-bind="item.uinputname"></td>
  85. <td ng-bind="item.ushowname"></td>
  86. <td ng-bind="item.ukind" ng-class="{'sp-color-green':item.ukind=='正常'}"></td>
  87. <td ng-bind="item.section" class="sp-text-left"></td>
  88. <td ng-bind="item.dutyname" class="sp-text-left"></td>
  89. <td ng-bind="item.zum" class="sp-text-left"></td>
  90. <td class="sp-text-center">
  91. <span class="sp-new-logo-edit sp-ml-10" ng-click="ctl.btnEdit(item)" ng-if="ctl.userTypeEng!='SECADMIN'" title="编辑"></span>
  92. <span class="sp-new-logo-delete sp-ml-10" ng-click="ctl.btnDelete(item)" ng-if="ctl.userTypeEng!='SECADMIN'" title="删除"></span>
  93. <span class="sp-new-logo-jinYong sp-ml-10" ng-click="ctl.setUse(item,'禁用')" ng-if="item.ukind=='正常'&&ctl.userTypeEng!='SYSADMIN'" title="禁用"></span>
  94. <span class="sp-new-logo-qiYong sp-ml-10" ng-click="ctl.setUse(item,'启用')" ng-if="item.ukind!='正常'&&ctl.userTypeEng!='SYSADMIN'" title="启用"></span>
  95. <button class="sp-new-logo-up sp-ml-10" ng-click="ctl.btnSort($index,'上移')" ng-if="ctl.userTypeEng!='SYSADMIN'" ng-disabled="{{$index}}==0" title="上移"></button>
  96. <button class="sp-new-logo-down sp-ml-10" ng-click="ctl.btnSort($index,'下移')" ng-if="ctl.userTypeEng!='SYSADMIN'" ng-disabled="{{$index}}=={{ctl.getPerson.length-1}}" title="下移"></button>
  97. <span class="sp-new-logo-set-pwd sp-ml-10" ng-click="ctl.setPassword(item)" ng-if="ctl.userTypeEng!='SYSADMIN'" title="设置口令"></span>
  98. <span class="sp-new-logo-set sp-ml-10" ng-if="item.admin=='USER'&&ctl.userTypeEng!='SYSADMIN'" ng-click="ctl.setAdmin(item,'确认设置')" title="设置为管理员"></span>
  99. <span class="sp-new-logo-set-cancel sp-ml-10" ng-if="item.admin=='ADMIN'&&ctl.userTypeEng!='SYSADMIN'" ng-click="ctl.setAdmin(item,'取消设置')" title="取消设置管理员"></span>
  100. <span class="sp-new-logo-role sp-ml-10" ng-click="ctl.itemRole(item)" ng-if="ctl.userTypeEng!='SYSADMIN'" title="设置角色"></span>
  101. <span class="sp-new-logo-depart sp-ml-10" ng-click="ctl.itemDepart(item)" ng-if="ctl.userTypeEng!='SYSADMIN'&&ctl.thisItem.SECTION!='全部'&&ctl.thisItem.SECTION!=null" title="设置部门"></span>
  102. </td>
  103. </tr>
  104. </tbody>
  105. </table>
  106. <div class="sp-table-tip ng-hide" ng-show="ctl.noDataTip == 0">
  107. <i class="fa fa-exclamation-circle sp-mr-10"></i>您好,暂未查询到相关信息!
  108. </div>
  109. <div class="sp-page" ng-show="ctl.noDataTip != 0">
  110. <div class="sp-page-col sp-pull-right">
  111. <div class="sp-lh-34">
  112. 每页 <select ng-model="ctl.itemsPerPage" ng-options="x for x in ctl.pageOptions"
  113. ng-init="ctl.itemsPerPage=ctl.pageOptions[0]"></select> 条
  114. </div>
  115. </div>
  116. <div class="sp-page-col sp-pull-right">
  117. <dir-pagination-controls max-size="8" direction-links="true" boundary-links="true"
  118. on-page-change="ctl.getPersonData(newPageNumber)">
  119. </dir-pagination-controls>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. <div class="sp-layer" id="layer_addPerson" data-title="新建人员" style="width:500px;">
  129. <div class="sp-layer-body">
  130. <div class="sp-page">
  131. <table class="sp-grid-job">
  132. <tbody>
  133. <tr>
  134. <td style="width:80px;">用户账号</td>
  135. <td>
  136. <input type="text" class="sp-input" ng-model="ctl.add.uinputname" placeholder="请输入英文" sp-required />
  137. </td>
  138. </tr>
  139. <tr>
  140. <td>用户名称</td>
  141. <td>
  142. <input type="text" class="sp-input" ng-model="ctl.add.ushowname" placeholder="请输入中文姓名" sp-required />
  143. </td>
  144. </tr>
  145. <tr>
  146. <td>状态</td>
  147. <td>
  148. <select class="sp-select" ng-model="ctl.add.ukind">
  149. <option>正常</option>
  150. <option>禁用</option>
  151. </select>
  152. </td>
  153. </tr>
  154. <tr>
  155. <td>职务</td>
  156. <td>
  157. <input type="text" class="sp-input" ng-model="ctl.add.dutyname" sp-dutyname />
  158. </td>
  159. </tr>
  160. <tr>
  161. <td>手机号</td>
  162. <td>
  163. <input type="text" class="sp-input" ng-model="ctl.add.mobile" sp-phone />
  164. </td>
  165. </tr>
  166. <tr>
  167. <td>邮箱</td>
  168. <td>
  169. <input type="text" class="sp-input" ng-model="ctl.add.email" sp-email />
  170. </td>
  171. </tr>
  172. </tbody>
  173. </table>
  174. <div class="sp-page sp-text-center sp-mt-20">
  175. <button class="sp-btn-blue sp-btn-radius" ng-click="ctl.btnSubmitPerson()">
  176. <i class="fa fa-check sp-mr-5"></i>提 交</button>
  177. <button class="sp-btn-default sp-btn-radius" ng-click="ctl.btnCancel()">
  178. <i class="fa fa-close sp-mr-5"></i>取 消</button>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. <div class="sp-layer" id="layer_setPassword" data-title="设置口令" style="width:500px;">
  184. <div class="sp-layer-body">
  185. <div class="sp-page">
  186. <table class="sp-grid-job">
  187. <tbody>
  188. <tr>
  189. <td style="width:80px;">新口令</td>
  190. <td>
  191. <input type="password" ng-model="ctl.setpwd.newpassword" sp-required />
  192. </td>
  193. </tr>
  194. <tr>
  195. <td>口令复核</td>
  196. <td>
  197. <input type="password" ng-model="ctl.setpwd.newpassword_confirm" sp-required />
  198. </td>
  199. </tr>
  200. </tbody>
  201. </table>
  202. <div class="sp-lh-26 sp-hide sp-text-center sp-color-red" id="setPasswordTip"></div>
  203. <div class="sp-page sp-text-center sp-mt-20">
  204. <button class="sp-btn-blue sp-btn-radius" ng-click="ctl.submitPwd()">
  205. <i class="fa fa-check sp-mr-5"></i>提 交</button>
  206. <button class="sp-btn-default sp-btn-radius" ng-click="ctl.cancelPwd()">
  207. <i class="fa fa-close sp-mr-5"></i>取 消</button>
  208. </div>
  209. </div>
  210. </div>
  211. </div>
  212. <!-- 设置角色 start -->
  213. <div class="sp-layer" id="layer_rolePart" style="width:700px;">
  214. <div class="sp-layer-head" style="background:#2176d6">
  215. <div class="sp-page sp-text-center sp-font16">
  216. 设置角色(<span ng-bind="ctl.selectedItem.ushowname"></span>)
  217. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  218. ×
  219. </div>
  220. </div>
  221. </div>
  222. <div class="sp-layer-body">
  223. <div class="sp-page">
  224. <div class="sp-page">
  225. <div class="checkbox">
  226. <label>
  227. <input ng-change="ctl.selectAll()" ng-model="ctl.isSelectedAll" type="checkbox"> 全选(为方便查找,以下按第一个字拼音字母排列顺序)
  228. </label>
  229. </div>
  230. </div>
  231. <div class="checkbox checkbox-list" style="max-height:500px;overflow:auto;float:left" ng-repeat="item in ctl.roleList">
  232. <div class="sp-lh-30" ng-bind="item.section"></div>
  233. <label class="checkbox-inline col-md-3" ng-repeat="item2 in item.auths track by $index">
  234. <input type="checkbox" ng-change="ctl.isSelected()" ng-model="item2.check">{{item2.ZUM}}
  235. </label>
  236. </div>
  237. <div class="sp-lh-22 sp-color-red sp-text-center sp-hide" id="noSelectRole_tip">请先选择角色!</div>
  238. <div class="sp-page sp-text-center sp-mt-10">
  239. <span ng-click="ctl.saveRole()" class="sp-btn-blue sp-btn-radius"><i class="fa fa-check sp-mr-5"></i>提 交</span>
  240. <span class="sp-btn-default sp-btn-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>关 闭</span>
  241. </div>
  242. </div>
  243. </div>
  244. </div>
  245. <!-- 设置角色 end -->
  246. <!-- 设置部门 start -->
  247. <div class="sp-layer" id="layer_depart" style="width:800px;">
  248. <div class="sp-layer-head" style="background:#2176d6">
  249. <div class="sp-page sp-text-center sp-font16">
  250. 设置部门(<span ng-bind="ctl.selectedItem_depart.ushowname"></span>)
  251. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  252. ×
  253. </div>
  254. </div>
  255. </div>
  256. <div class="sp-layer-body">
  257. <div class="sp-page">
  258. <div class="sp-page" style="height:400px; overflow-y:auto;">
  259. <div class="sp-page" ng-repeat="item in ctl.depart_array_set.C_H_I_L_D" ng-if="item.SECTION!='全部'">
  260. <div class="sp-page sp-mb-15" ng-if="item.C_H_I_L_D.length < 1">
  261. <span class="sp-radio-tabs sp-color-blue" ng-click="ctl.isSelected_depart(item)" ng-class="{'sp-radio-tabs-active': item.CODE==ctl.depart_click_select_item.CODE}">{{item.SECTION}}</span>
  262. </div>
  263. <div class="sp-page sp-mb-15" ng-if="item.C_H_I_L_D.length > 0">
  264. <div class="sp-lh-30 sp-color-blue" ng-bind="item.SECTION"></div>
  265. <div ng-repeat="item2 in item.C_H_I_L_D" class="sp-radio-tabs" ng-class="{'sp-radio-tabs-active': item2.CODE==ctl.depart_click_select_item.CODE}" style="width:33.333%" ng-click="ctl.isSelected_depart(item2)" title="{{item2.SECTION}}" ng-bind="item2.SECTION"></div>
  266. </div>
  267. </div>
  268. </div>
  269. <div class="sp-lh-22 sp-color-red sp-text-center sp-hide" id="noSelectDepart_tip">请先选择部门!</div>
  270. <div class="sp-page sp-text-center sp-mt-10">
  271. <span ng-click="ctl.saveDepart()" class="sp-btn-blue sp-btn-radius"><i class="fa fa-check sp-mr-5"></i>提 交</span>
  272. <span class="sp-btn-default sp-btn-radius" onclick="sp.closeCenter('#layer_depart')"><i class="fa fa-close sp-mr-5"></i>关 闭</span>
  273. </div>
  274. </div>
  275. </div>
  276. </div>
  277. <!-- 设置部门 end -->
  278. <script type="text/ng-template" id="/treeView.html">
  279. <ul>
  280. <li ng-repeat="item in treeData" ng-include="'/treeItem.html'" ></li>
  281. </ul>
  282. </script>
  283. <script type="text/ng-template" id="/treeItem.html">
  284. <p ng-class="{'active': item.CODE == '{{ctl.departid}}'}">
  285. <i ng-click="itemExpended(item, $event);" class="{{getItemIcon(item)}}"></i>
  286. <span ng-click="warpCallback('itemClicked', item, $event);" class='text-field'>{{item[textField]}}</span>
  287. </p>
  288. <!--<ul ng-if="!isEnd(item)">
  289. <li ng-repeat="item in item.C_H_I_L_D" ng-include="'/treeItem.html'"></li>
  290. </ul>-->
  291. <ul ng-if="!isEnd(item)" ng-show="item.show">
  292. <li ng-repeat="item in item.C_H_I_L_D" ng-include="'/treeItem.html'"></li>
  293. </ul>
  294. </script>
  295. <div class="sp-layer" id="layer_Search" style="width: 550px;">
  296. <div class="sp-layer-head" style="background:#2176d6">
  297. <div class="sp-page sp-text-center sp-font16">
  298. 筛选
  299. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  300. ×
  301. </div>
  302. </div>
  303. </div>
  304. <div class="sp-layer-body">
  305. <table class="sp-grid-job">
  306. <tbody>
  307. <tr>
  308. <td style="width:120px;">用户名称</td>
  309. <td colspan="2">
  310. <input type="text" class="sp-input" placeholder="请输入用户名称" ng-model="ctl.search.ushowname" />
  311. </td>
  312. </tr>
  313. </tbody>
  314. </table>
  315. <div class="sp-page sp-text-center sp-mt-20">
  316. <a class="sp-btn-blue sp-radius" ng-click="ctl.doSearch()"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  317. <a class="sp-btn-blue sp-radius" ng-click="ctl.doSearch_cancal()"><i class="fa fa-close sp-mr-5"></i>重 置</a>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. <script src="../../AFrontEnd/js/jquery/jquery-2.1.4.min.js"></script>
  323. <script src="../../AFrontEnd/js/angularjs/angular.js"></script>
  324. <script src="../../AFrontEnd/js/angularjs/dirPagination.js"></script>
  325. <script src="../../apiurljs.js"></script>
  326. <script src="../../js/sm4.js"></script>
  327. <script>document.write('<scri' + 'pt src="../../AFrontEnd/js/special/special.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>');</script>
  328. <script>document.write('<scri' + 'pt src="js/index.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>');</script>
  329. <script src="../../AFrontEnd/js/special/spng.js"></script>
  330. <script src="../../AFrontEnd/js/special/spngvld.js"></script>
  331. </body>
  332. </html>