Nav apraksta

userManage.js 9.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. $(document).ready(function() {
  2. $('.tool_bars').authorizeButton();
  3. helper.getDropList.getProlistDrop($('#sc_pro'));
  4. //角色下拉
  5. GetRoleName($('#roleid'));
  6. // .then(function() {
  7. // $('#sc_pro').on('change', function() {
  8. // $('#roleid').selectpicker('destroy');
  9. // //角色下拉
  10. // GetRoleName($('#roleid'), $(this).val());
  11. // });
  12. // });
  13. $('#sc_btns').click(function() {
  14. getSuggestionList()
  15. })
  16. getSuggestionList()
  17. });
  18. //获取意见建议列表
  19. function getSuggestionList() {
  20. //销毁表格
  21. $('#user_table').bootstrapTable('destroy');
  22. //初始化表格,动态从服务器加载数据
  23. $("#user_table").bootstrapTable({
  24. method: "get", //使用get请求到服务器获取数据
  25. url: huayi.config.callcenter_url + "signtokenapi/api/UserAccount/getlistsbypage", //获取数据的Servlet地址
  26. contentType: "application/x-www-form-urlencoded",
  27. striped: true, //表格显示条纹
  28. pagination: true, //启动分页
  29. pageSize: 10, //每页显示的记录数
  30. pageNumber: 1, //当前第几页
  31. pageList: [10, 20, 50, 100], //记录数可选列表
  32. // fixedColumns: true,
  33. // fixedNumber: 3,
  34. search: false, //是否启用查询
  35. showColumns: false, //显示下拉框勾选要显示的列
  36. showRefresh: false, //显示刷新按钮
  37. sidePagination: "server", //表示服务端请求
  38. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  39. //设置为limit可以获取limit, offset, search, sort, order
  40. queryParamsType: "undefined",
  41. queryParams: function queryParams(params) { //设置查询参数
  42. var param = {
  43. pageindex: params.pageNumber,
  44. pagesize: params.pageSize,
  45. // deptid: $('#deptid').val(), // 否 string 科室id
  46. roleid: $('#roleid').val(), // 否 string 角色id
  47. projectid: $('#sc_pro').val(), // 否 string 项目id
  48. keyword: $('#searCon').val() //否 string 模糊查询(名称)
  49. };
  50. return param;
  51. },
  52. responseHandler: function(res) {
  53. return {
  54. "total": res.data && res.data.total, //总页数
  55. "rows": res.data && res.data.rows //数据
  56. };
  57. },
  58. onLoadSuccess: function(data) { //加载成功时执行
  59. // layer.msg("加载成功");
  60. $('.table_con').popover();
  61. $('.tool_downs').authorizeOperateButton();
  62. },
  63. onLoadError: function() { //加载失败时执行
  64. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  65. }
  66. });
  67. }
  68. //格式化操作
  69. function formatterOperate(val, row) {
  70. var isBind = row.weixin;
  71. var str = '<ul class="tool_downs">' +
  72. //不含坐席
  73. // '<li><a class="aBtn" authorize="yes" id="HY_edit_' + row.id + '" onclick="btn_edit(\'' + row.id + '\')">编辑</a><li>' +
  74. //包含坐席
  75. '<li><a class="aBtn" authorize="yes" id="HY_userEdit_' + row.id + '" onclick="btn_userEdit(\'' + row.id + '\')">编辑</a><li>'
  76. if(!isBind){
  77. }else{
  78. str += '<li><a class="aBtn" authorize="yes" id="HY_unBind_' + row.id + '" onclick="btn_unBind(\'' + row.usercode + '\')">解绑</a><li>'
  79. }
  80. str += '<li><a class="aBtn" authorize="yes" id="HY_delete_' + row.id + '" onclick="btn_remove(\'' + row.id + '\')">删除</a><li>' +
  81. '</ul>'
  82. return str
  83. }
  84. function formatterTime(val, row) {
  85. var t = val.substr(0, 10);
  86. return t
  87. }
  88. //话务标志
  89. function formatterSeatFlag(val, row) {
  90. var str = ""
  91. if(val) {
  92. str = "是";
  93. } else {
  94. str = "否";
  95. }
  96. return str
  97. }
  98. //格式化 是否绑定微信
  99. function formatterWeiXin(val, row) {
  100. var stateClass = 'timeout_default';
  101. var stateTxt = '-';
  102. if(val) {
  103. stateClass = 'timeout_success';
  104. stateTxt = '已绑定';
  105. } else {
  106. stateClass = 'timeout_refuse';
  107. stateTxt = '未绑定';
  108. }
  109. return '<span class="' + stateClass + '">' + stateTxt + '</span>';
  110. }
  111. //类型
  112. function formatterType(val, row) {
  113. var str = ""
  114. switch(val + '') {
  115. case '0':
  116. str = "内部员工";
  117. break;
  118. case '1':
  119. str = "客户";
  120. break;
  121. case '2':
  122. str = "普通群众用户";
  123. break;
  124. default:
  125. str = "其他";
  126. }
  127. return str
  128. }
  129. //头像显示
  130. function formatterHeadImg(val, row) {
  131. if(val){
  132. return '<img src="' + val + '" alt="头像" width="50px" height="50px" />'
  133. }else{
  134. return '-';
  135. }
  136. }
  137. //格式化项目信息
  138. function formatterProjectname(val, row){
  139. val = val && val.split(',');
  140. if(val && val.length === 0){
  141. return '-'
  142. }
  143. if(val && val.length > 3){
  144. return '<span class="table_con" data-container="body" data-toggle="popover" data-placement="top" data-content="'+ val +'">'+ val.splice(0,3) +'...</span>';
  145. }else{
  146. return '<span>'+ val +'</span>';
  147. }
  148. }
  149. //绑定微信
  150. function btn_binding(ucode){
  151. $.ajax({
  152. type: "get",
  153. url: huayi.config.callcenter_url + "wechatapi/api/login/getqrcode",
  154. async: true,
  155. dataType: 'json',
  156. data: {
  157. usercode: ucode,// 是 string 用户账号
  158. },
  159. success: function(result) {
  160. if(result.state.toLowerCase() == "success") {
  161. var qrcodeUrl = result.data;
  162. if(qrcodeUrl){
  163. layer.open({
  164. type: 1,
  165. content: '<div class="text-center">'+
  166. '<img class="img-rounded wxQrCode" src="'+ qrcodeUrl +'" alt="二维码" title="扫描二维码绑定微信">'+
  167. '<p class="help-block text-warning">'+
  168. '扫描二维码绑定微信'+
  169. '</p>'+
  170. '</div>',
  171. title: '账号二维码',
  172. resize: false,
  173. area: ['400px', '370px'], //宽高
  174. end: function(index, layero){
  175. $('#user_table').bootstrapTable('refresh');
  176. },
  177. });
  178. }else{
  179. layer.confirm('二维码生成失败,请稍后再试。', {
  180. icon: 7,
  181. btn: ['确定'] //按钮
  182. });
  183. }
  184. }
  185. }
  186. });
  187. }
  188. //解除绑定
  189. function btn_unBind(ucode){
  190. $.ajax({
  191. type: "post",
  192. url: huayi.config.callcenter_url + "signtokenapi/api/Token/wechat_unbind",
  193. async: true,
  194. dataType: 'json',
  195. data: {
  196. usercode: ucode,// 是 string 用户账号
  197. },
  198. success: function(result) {
  199. if(result.state.toLowerCase() === "success") {
  200. layer.confirm('解绑成功', {
  201. icon: 6,
  202. btn: ['确定'], //按钮
  203. yes: function(index, layero){
  204. layer.close(index); //如果设定了yes回调,需进行手工关闭
  205. $('#user_table').bootstrapTable('refresh');
  206. },
  207. end: function(index, layero){
  208. $('#user_table').bootstrapTable('refresh');
  209. },
  210. });
  211. }else{
  212. layer.confirm('解绑失败', {
  213. icon: 5,
  214. btn: ['确定'] //按钮
  215. });
  216. }
  217. }
  218. });
  219. }
  220. //新增
  221. function btn_add() {
  222. layer.open({
  223. type: 2,
  224. content: "template/addUserManage.html",
  225. title: '新增用户信息',
  226. area: ['85%', '90%'], //宽高
  227. });
  228. }
  229. //新增坐席
  230. function btn_seatAdd() {
  231. layer.open({
  232. type: 2,
  233. content: "template/addOrEditUserManage.html",
  234. title: '新增用户信息',
  235. area: ['85%', '90%'], //宽高
  236. });
  237. }
  238. //编辑坐席
  239. function btn_userEdit(ids) {
  240. layer.open({
  241. type: 2,
  242. content: "template/addOrEditUserManage.html?ids=" + ids,
  243. title: '修改用户信息',
  244. area: ['85%', '90%'], //宽高
  245. });
  246. }
  247. /*批量删除提示*/
  248. function remove(id) {
  249. layer.confirm('确定删除当前记录?', {
  250. btn: ['是', '否'] //按钮
  251. }, function() {
  252. /*执行删除*/
  253. // var ids = $.map($('#list').bootstrapTable('getSelections'),
  254. // function(row) {
  255. // return row.id;
  256. // });
  257. /*发送请求*/
  258. $.ajax({
  259. type: "post",
  260. url: huayi.config.callcenter_url + "signtokenapi/api/UserAccount/delete",
  261. async: true,
  262. dataType: 'json',
  263. data: {
  264. ids: id
  265. },
  266. success: function(result) {
  267. if(result.state.toLowerCase() == "success") {
  268. layer.msg("删除成功");
  269. getSuggestionList();
  270. }
  271. }
  272. });
  273. });
  274. }
  275. /*删除内容*/
  276. function btn_delete() {
  277. var ids = $.map($('#user_table').bootstrapTable('getSelections'),
  278. function(row) {
  279. return row.id;
  280. });
  281. /*判断长度*/
  282. if(ids.length <= 0) {
  283. layer.confirm('没有可删除的选项?', {
  284. icon: 7,
  285. btn: ['确定'] //按钮
  286. });
  287. return;
  288. }
  289. remove(ids);
  290. }
  291. /*删除提示*/
  292. function btn_remove(id) {
  293. layer.confirm('确定删除当前记录?', {
  294. icon: 7,
  295. btn: ['是', '否'] //按钮
  296. }, function() {
  297. /*执行删除*/
  298. // var ids = $.map($('#list').bootstrapTable('getSelections'),
  299. // function(row) {
  300. // return row.id;
  301. // });
  302. if(id == '5aaa5a55b9c1893cb015df27') {
  303. layer.confirm('系统维护账户不允许删除!', {
  304. icon: 7,
  305. btn: ['确定']
  306. });
  307. return;
  308. }
  309. /*发送请求*/
  310. $.ajax({
  311. type: "post",
  312. url: huayi.config.callcenter_url + "signtokenapi/api/UserAccount/delete",
  313. async: true,
  314. dataType: 'json',
  315. data: {
  316. ids: id
  317. },
  318. success: function(result) {
  319. if(result.state.toLowerCase() == "success") {
  320. layer.msg("删除成功");
  321. getSuggestionList();
  322. }
  323. }
  324. });
  325. });
  326. }
  327. /*修改编辑*/
  328. function btn_edit(ids) {
  329. layer.open({
  330. type: 2,
  331. content: "template/addUserManage.html?ids=" + ids,
  332. title: '修改用户信息',
  333. area: ['85%', '90%'], //宽高
  334. });
  335. }
  336. //角色
  337. function GetRoleName(obj) {
  338. obj.empty();
  339. obj.append("<option value=''>请选择角色</option>");
  340. $.getJSON(huayi.config.callcenter_url + "configurationapi/api/RoleInfo/getlistdrop", function(data) {
  341. if(data.state.toLowerCase() == "success") {
  342. var content = data.data;
  343. $(content).each(function(i, n) {
  344. $("<option value='" + n.id + "'>" + n.role_name + "</option>").appendTo(obj);
  345. })
  346. obj.selectpicker('refresh');
  347. }
  348. })
  349. }
  350. //导入用户
  351. function btn_import() {
  352. layer.open({
  353. maxmin: true, //开启最大化最小化按钮
  354. type: 2,
  355. content: "template/importProMailList.html", //iframe的url,no代表不显示滚动条
  356. title: '导入项目通讯录',
  357. area: ['50%', '55%'], //宽高
  358. });
  359. }