cuscontract.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index : function () {
  4. // 初始化表格参数配置
  5. Table.api.init();
  6. //绑定事件
  7. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  8. var panel = $($(this).attr("href"));
  9. if (panel.length > 0) {
  10. Controller.table[panel.attr("id")].call(this);
  11. $(this).on('click', function (e) {
  12. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  13. });
  14. }
  15. //移除绑定的事件
  16. $(this).unbind('shown.bs.tab');
  17. });
  18. //必须默认触发shown.bs.tab事件
  19. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  20. },
  21. tableinfo:{
  22. url : '',
  23. toolbar: '#toolbar',
  24. pk : 'id',
  25. sortName : 'id',
  26. fixedColumns : true,
  27. fixedNumber : 1,
  28. fixedRightNumber : 1,
  29. columns : [
  30. [
  31. {
  32. field : 'num', title : '合同编号', fixedColumns : true, formatter : function (value, row, index) {
  33. if(value ==''){
  34. value = '无';
  35. }
  36. return "<a href='javascript:void(0);' data-id='" + row.id + "' class='show-detail'>" + value + "</a>";
  37. },operate:'like'
  38. },
  39. {
  40. field : 'name', title : '合同名称', fixedColumns : true, formatter : function (value, row, index) {
  41. if(value ==''){
  42. value = '无';
  43. }
  44. return value;
  45. },operate:false
  46. },
  47. {field : 'customer', title : '客户名称', formatter : function (value, row, index) {
  48. if(row.customer){
  49. return "<a href='javascript:void(0);' data-id='" + row.customer_id + "' class='show-customer'>" + row.customer.name + "</a>";
  50. }
  51. return '';
  52. },operate:false},
  53. {field : 'contract_remark', title : '备注', formatter : function (value, row, index) {
  54. if(row.contract_remark){
  55. return row.contract_remark;
  56. }
  57. return '';
  58. },operate:false},
  59. // {field : 'customer_id', title : '客户名称', visible: false, addClass: "selectpage", extend: "data-source='qingdong/customer/customer/index' data-field='name'"},
  60. {field : 'remark', title : '备注',operate:false},
  61. {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  62. ]
  63. ],
  64. pagination : true,
  65. search : false,
  66. commonSearch : true,
  67. searchFormVisible : true,
  68. //显示导出按钮
  69. showExport: false,
  70. onLoadSuccess:function(row){
  71. var role = row.role;
  72. // 根据 role 值动态修改 columns 配置
  73. var table = $("#table");
  74. // 这里就是数据渲染结束后的回调函数
  75. $(".btn-add").data("area",["80%","80%"]);
  76. $(".btn-edit").data("area",["80%","80%"]);
  77. }
  78. },
  79. table: {
  80. first: function () {
  81. // 初始化表格参数配置
  82. Table.api.init({
  83. // extend : {
  84. // add_url : 'qingdong/customer/contract/add',
  85. // detail_url : 'qingdong/customer/contract/detail',
  86. // table : 'contract',
  87. // }
  88. });
  89. if(Config.fields !='[]'){
  90. if (Config.fields && Object.keys(Config.fields).length > 0) {
  91. var fields = JSON.parse(Config.fields);
  92. var start = Controller.tableinfo.columns[0].length-2;
  93. for (var i = 0; i < fields.length; i++) {
  94. if (fields[i].hasOwnProperty('formatter'))
  95. fields[i].formatter = eval(fields[i].formatter);
  96. if (fields[i].hasOwnProperty('events'))
  97. fields[i].events = eval(fields[i].events);
  98. if (fields[i].hasOwnProperty('searchList'))
  99. fields[i].searchList = JSON.parse(fields[i].searchList);
  100. Controller.tableinfo.columns[0].splice(start + i, 0, fields[i]);
  101. }
  102. }
  103. }
  104. const q = {};
  105. location.search.replace(/([^?&=]+)=([^&]+)/g,function(_,k,v){q[k]=v});
  106. var table = $("#table");
  107. Controller.tableinfo.url=location.href+'&type=0';
  108. Controller.tableinfo.toolbar='#toolbar';
  109. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length-1].table=table;
  110. if (q.isselect == 1) {
  111. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length - 1].visible = false;
  112. } else {
  113. Controller.tableinfo.columns[0][Controller.tableinfo.columns[0].length - 2].visible = false;
  114. }
  115. // 初始化表格
  116. table.bootstrapTable(Controller.tableinfo);
  117. // 为表格绑定事件
  118. Table.api.bindevent(table);
  119. },
  120. },
  121. };
  122. return Controller;
  123. });