customer.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'qingdongams/dingding/customer/index',
  8. del_url : 'qingdongams/dingding/customer/del',
  9. table: 'customer',
  10. }
  11. });
  12. var table = $("#table");
  13. // 初始化表格
  14. table.bootstrapTable({
  15. url : $.fn.bootstrapTable.defaults.extend.index_url,
  16. sortName : 'id',
  17. columns : [
  18. [
  19. {checkbox: true},
  20. {field : 'name', title : __('客户名称')},
  21. {field : 'address', title : __('地址')},
  22. {field : 'address_detail', title : __('详细地址'),operate:false},
  23. {field : 'source', title : __('来源')},
  24. {field : 'remark', title : __('备注'),operate:false},
  25. {field : 'ownerstaff.name', title : __('负责人'),operate:false},
  26. {field: 'status', title: __('状态'), formatter: Table.api.formatter.status, searchList: {0: __('未同步'), 1: __('已同步')}, operate: false},
  27. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
  28. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  29. ]
  30. ],
  31. search:false,
  32. //启用普通表单搜索
  33. commonSearch : true,
  34. searchFormVisible : false,
  35. onLoadSuccess:function(){
  36. // 这里就是数据渲染结束后的回调函数
  37. $('.btn-editone').html('编辑');
  38. $('.fa-pencil').remove();
  39. $('.btn-delone').html('删除');
  40. $('.fa-trash').remove();
  41. $('.btn-editone').removeClass('btn-success')
  42. $('.btn-editone').removeClass('btn')
  43. $('.btn-delone').removeClass('btn')
  44. $('.btn-delone').removeClass('btn-danger')
  45. }
  46. });
  47. //获取钉钉数据
  48. $(document).on("click", ".batch", function () {
  49. var ids = Table.api.selectedids(table);
  50. var page = table.bootstrapTable('getData');
  51. var all = table.bootstrapTable('getOptions').totalRows;
  52. Layer.confirm("请确认是否同步", {
  53. title : '批量同步',
  54. btn : ["是","否"],
  55. success : function (layero, index) {
  56. $(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
  57. }
  58. , yes : function (index, layero) {
  59. var dindex = layer.load();
  60. $.post('qingdongams/dingding/dingding/customer', {}, function (res) {
  61. Layer.alert(res.msg);
  62. Layer.close(index);
  63. Layer.close(dindex);
  64. table.bootstrapTable('refresh');
  65. }, 'json');
  66. }
  67. ,
  68. btn2 : function (index, layero) {
  69. Layer.close(index);
  70. }
  71. })
  72. });
  73. //同步到CRM中
  74. $(document).on("click", ".batchall", function () {
  75. var ids = Table.api.selectedids(table);
  76. var page = table.bootstrapTable('getData');
  77. var all = table.bootstrapTable('getOptions').totalRows;
  78. Layer.confirm("请确认是否同步", {
  79. title : '批量同步',
  80. btn : [ "是","否"],
  81. success : function (layero, index) {
  82. $(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
  83. }
  84. , yes : function (index, layero) {
  85. var dindex = layer.load();
  86. $.post('qingdongams/dingding/customer/batch', {}, function (res) {
  87. Layer.alert(res.msg);
  88. Layer.close(index);
  89. Layer.close(dindex);
  90. table.bootstrapTable('refresh');
  91. }, 'json');
  92. }
  93. ,
  94. btn2 : function (index, layero) {
  95. Layer.close(index);
  96. }
  97. })
  98. });
  99. // 为表格绑定事件
  100. Table.api.bindevent(table);
  101. },
  102. edit: function () {
  103. Controller.api.bindevent();
  104. },
  105. api: {
  106. bindevent: function () {
  107. Form.api.bindevent($("form[role=form]"));
  108. },
  109. formatter: {
  110. title: function (value, row, index) {
  111. value = value.toString().replace(/(&|&)nbsp;/g, ' ');
  112. return value;
  113. },
  114. },
  115. }
  116. };
  117. return Controller;
  118. });