examine.js 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. $.post("qingdong/customer/need/get_need_number",function (data){
  3. top.window.Backend.api.sidebar({
  4. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  5. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  6. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  7. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  8. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  9. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  10. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  11. });
  12. },'json');
  13. var Controller = {
  14. index : function () {
  15. // 初始化表格参数配置
  16. Table.api.init();
  17. //绑定事件
  18. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  19. var panel = $($(this).attr("href"));
  20. if (panel.length > 0) {
  21. Controller.table[panel.attr("id")].call(this);
  22. $(this).on('click', function (e) {
  23. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  24. });
  25. }
  26. //移除绑定的事件
  27. $(this).unbind('shown.bs.tab');
  28. });
  29. //必须默认触发shown.bs.tab事件
  30. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  31. },
  32. table: {
  33. first: function () {
  34. // 初始化表格参数配置
  35. Table.api.init({
  36. extend: {
  37. index_url: 'qingdong/examine/examine/index?status=0',
  38. table: 'contact'
  39. }
  40. });
  41. // 合同
  42. var table1 = $("#table");
  43. table1.bootstrapTable({
  44. url: $.fn.bootstrapTable.defaults.extend.index_url,
  45. toolbar: '#toolbar',
  46. sortName: 'id',
  47. search: false,
  48. columns: [
  49. [
  50. {field: 'state', checkbox: true, },
  51. {field : 'contract.owner_staff.name', title : __('提交人'), operate: false},
  52. {
  53. field : 'contract.name', title : '合同名称', fixedColumns : true, formatter : function (value, row, index) {
  54. if(row.contract){
  55. return "<a href='javascript:void(0);' data-id='" + row.contract.id + "' class='show-contract'>" + value + "</a>";
  56. }
  57. return '';
  58. },operate:false
  59. },
  60. {field: 'contract.name', title: '合同名称', operate: false},
  61. {field: 'check_staff.name', title: __('审批人'), operate: false},
  62. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  63. {field: 'content', title: __('审批内容')},
  64. {field: 'check_time', title: __('审批时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  65. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  66. {field: 'operate', title: __('Operate'), table: table1, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  67. buttons: [
  68. {
  69. name: 'success',
  70. text: __('通过'),
  71. title: __('通过'),
  72. classname: 'records btn-dialog',
  73. area:'',
  74. refresh:true,
  75. url: 'qingdong/examine/examine_record/examine?relation_type=contract&relation_id={relation_id}&status=1',
  76. visible: function (row) {
  77. //返回true时按钮显示,返回false隐藏
  78. return true;
  79. },
  80. success:function(data){
  81. $.post("qingdong/customer/need/get_need_number",function (data){
  82. top.window.Backend.api.sidebar({
  83. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  84. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  85. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  86. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  87. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  88. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  89. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  90. });
  91. },'json');
  92. $(".btn-refresh").trigger("click");
  93. }
  94. },
  95. {
  96. name: 'error',
  97. text: __('拒绝'),
  98. title: __('拒绝'),
  99. classname: 'records btn-dialog',
  100. extend: ' data-area=\'\'',
  101. refresh:true,
  102. url: 'qingdong/examine/examine_record/examine?relation_type=contract&relation_id={relation_id}&status=2',
  103. error: function (data, ret) {
  104. console.log(data, ret);
  105. Layer.alert(ret.msg);
  106. return false;
  107. },
  108. success:function(data){
  109. $.post("qingdong/customer/need/get_need_number",function (data){
  110. top.window.Backend.api.sidebar({
  111. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  112. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  113. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  114. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  115. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  116. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  117. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  118. });
  119. },'json');
  120. $(".btn-refresh").trigger("click");
  121. }
  122. },
  123. ]
  124. }
  125. ]
  126. ],
  127. //启用普通表单搜索
  128. commonSearch: true,
  129. searchFormVisible: true,
  130. });
  131. $(document).on('click', '.show-contract', function (data) {
  132. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  133. var options = {
  134. shadeClose : false,
  135. shade : [0.3, '#393D49'],
  136. area : area,
  137. end : function (value) {
  138. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  139. // $(".btn-refresh").trigger("click");
  140. }
  141. };
  142. Fast.api.open("qingdong/customer/contract/detail?ids=" + $(this).data('id'), '合同', options);
  143. });
  144. // 为表格1绑定事件
  145. Table.api.bindevent(table1);
  146. },
  147. second: function () {
  148. // 初始化表格参数配置
  149. Table.api.init({
  150. extend: {
  151. index_url: 'qingdong/examine/examine/index?status=1',
  152. table: 'contact'
  153. }
  154. });
  155. // 合同
  156. var table1 = $("#table1");
  157. table1.bootstrapTable({
  158. url: $.fn.bootstrapTable.defaults.extend.index_url,
  159. toolbar: '#toolbar1',
  160. sortName: 'id',
  161. search: false,
  162. columns: [
  163. [
  164. {field: 'state', checkbox: true, },
  165. {field : 'contract.owner_staff.name', title : __('提交人'), operate: false},
  166. {
  167. field : 'contract.name', title : '合同名称', fixedColumns : true, formatter : function (value, row, index) {
  168. if(row.contract){
  169. return "<a href='javascript:void(0);' data-id='" + row.contract.id + "' class='show-contract'>" + value + "</a>";
  170. }
  171. return '';
  172. },operate:false
  173. },
  174. {field: 'contract.name', title: '合同名称', operate: false},
  175. {field: 'check_staff.name', title: __('审批人'), operate: false},
  176. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  177. {field: 'content', title: __('审批内容')},
  178. {field: 'check_time', title: __('审批时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  179. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  180. ]
  181. ],
  182. //启用普通表单搜索
  183. commonSearch: true,
  184. searchFormVisible: true,
  185. });
  186. // 为表格1绑定事件
  187. Table.api.bindevent(table1);
  188. },
  189. third: function () {
  190. // 初始化表格参数配置
  191. Table.api.init({
  192. extend: {
  193. index_url: 'qingdong/examine/examine/consume?status=0',
  194. table: 'consume'
  195. }
  196. });
  197. // 费用
  198. var table2 = $("#table");
  199. table2.bootstrapTable({
  200. url: $.fn.bootstrapTable.defaults.extend.index_url,
  201. toolbar: '#toolbar',
  202. sortName: 'id',
  203. search: false,
  204. columns: [
  205. [
  206. {field : 'consume.staff.name', title : __('提交人'), operate: false},
  207. {
  208. field : 'consume.consume_type', title : '消费方式', fixedColumns : true, formatter : function (value, row, index) {
  209. if(row.consume){
  210. return "<a href='javascript:void(0);' data-id='" + row.relation_id + "' class='show-consume'>" + row.consume.consume_type + "</a>";
  211. }
  212. return '';
  213. },operate:false
  214. },
  215. {field: 'consume.consume_type', title: '消费方式', operate: false},
  216. {field: 'consume.consume_time', title: '消费日期', operate: false},
  217. {field: 'consume.money', title: '消费金额', operate: false},
  218. {field: 'check_staff.name', title: __('审批人'), operate: false},
  219. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  220. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  221. {field: 'operate', title: __('Operate'), table: table2, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  222. buttons: [
  223. {
  224. name: 'success',
  225. text: __('通过'),
  226. title: __('通过'),
  227. classname: 'records btn-dialog',
  228. area:'',
  229. refresh:true,
  230. icon: 'fa fa-check',
  231. url: 'qingdong/examine/examine_record/examine?relation_type=consume&relation_id={relation_id}&status=1',
  232. visible: function (row) {
  233. //返回true时按钮显示,返回false隐藏
  234. return true;
  235. },
  236. success:function(data){
  237. $.post("qingdong/customer/need/get_need_number",function (data){
  238. top.window.Backend.api.sidebar({
  239. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  240. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  241. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  242. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  243. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  244. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  245. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  246. });
  247. },'json');
  248. $(".btn-refresh").trigger("click");
  249. }
  250. },
  251. {
  252. name: 'error',
  253. text: __('拒绝'),
  254. title: __('拒绝'),
  255. classname: 'records btn-dialog',
  256. extend: ' data-area=\'\'',
  257. refresh:true,
  258. icon: 'fa fa-close',
  259. url: 'qingdong/examine/examine_record/examine?relation_type=consume&relation_id={relation_id}&status=2',
  260. error: function (data, ret) {
  261. console.log(data, ret);
  262. Layer.alert(ret.msg);
  263. return false;
  264. },
  265. success:function(data){
  266. $.post("qingdong/customer/need/get_need_number",function (data){
  267. top.window.Backend.api.sidebar({
  268. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  269. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  270. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  271. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  272. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  273. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  274. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  275. });
  276. },'json');
  277. $(".btn-refresh").trigger("click");
  278. }
  279. },
  280. ]
  281. }
  282. ]
  283. ],
  284. //启用普通表单搜索
  285. commonSearch: true,
  286. searchFormVisible: true,
  287. });
  288. $(document).on('click', '.show-consume', function (data) {
  289. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  290. var options = {
  291. shadeClose : false,
  292. shade : [0.3, '#393D49'],
  293. area : area,
  294. end : function (value) {
  295. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  296. console.log(value);
  297. $(".btn-refresh").trigger("click");
  298. }
  299. };
  300. Fast.api.open("qingdong/customer/consume/detail?ids=" + $(this).data('id'), '费用详情', options);
  301. });
  302. // 为表格2绑定事件
  303. Table.api.bindevent(table2);
  304. },
  305. four: function () {
  306. // 初始化表格参数配置
  307. Table.api.init({
  308. extend: {
  309. index_url: 'qingdong/examine/examine/consume?status=1',
  310. table: 'consume'
  311. }
  312. });
  313. // 费用
  314. var table2 = $("#table1");
  315. table2.bootstrapTable({
  316. url: $.fn.bootstrapTable.defaults.extend.index_url,
  317. toolbar: '#toolbar1',
  318. sortName: 'id',
  319. search: false,
  320. columns: [
  321. [
  322. {field : 'consume.staff.name', title : __('提交人'), operate: false},
  323. {
  324. field : 'consume.consume_type', title : '消费方式', fixedColumns : true, formatter : function (value, row, index) {
  325. if(row.consume){
  326. return "<a href='javascript:void(0);' data-id='" + row.relation_id + "' class='show-consume'>" + row.consume.consume_type + "</a>";
  327. }
  328. return '';
  329. },operate:false
  330. },
  331. {field: 'consume.consume_type', title: '消费方式', operate: false},
  332. {field: 'consume.consume_time', title: '消费日期', operate: false},
  333. {field: 'consume.money', title: '消费金额', operate: false},
  334. {field: 'check_staff.name', title: __('审批人'), operate: false},
  335. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  336. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  337. ]
  338. ],
  339. //启用普通表单搜索
  340. commonSearch: true,
  341. searchFormVisible: true,
  342. });
  343. // 为表格2绑定事件
  344. Table.api.bindevent(table2);
  345. },
  346. five: function () {
  347. // 初始化表格参数配置
  348. Table.api.init({
  349. extend: {
  350. index_url: 'qingdong/examine/examine/achievement?status=0',
  351. table: 'achievement'
  352. }
  353. });
  354. // 业绩目标
  355. var table4 = $("#table");
  356. table4.bootstrapTable({
  357. url: $.fn.bootstrapTable.defaults.extend.index_url,
  358. toolbar: '#toolbar',
  359. sortName: 'id',
  360. fixedColumns : true,
  361. fixedRightNumber : 1,
  362. search: false,
  363. columns: [
  364. [
  365. {field : 'achievement.create_staff.name', title : __('提交人'), operate: false},
  366. {field: 'achievement.status', title: '业绩目标类型', operate: false, formatter : Table.api.formatter.status, searchList :{1: '合同金额', 2: '回款金额'}},
  367. {field: 'achievement.year', title: '业绩目标年份', operate: false},
  368. {field: 'achievement.yeartarget', title: '年目标', operate: false},
  369. {field : 'achievement.january', title : __('一月'), operate: false},
  370. {field : 'achievement.february', title : __('二月'), operate: false},
  371. {field : 'achievement.march', title : __('三月'), operate: false},
  372. {field : 'achievement.april', title : __('四月'), operate: false},
  373. {field : 'achievement.may', title : __('五月'), operate: false},
  374. {field : 'achievement.june', title : __('六月'), operate: false},
  375. {field : 'achievement.july', title : __('七月'), operate: false},
  376. {field : 'achievement.august', title : __('八月'), operate: false},
  377. {field : 'achievement.september', title : __('九月'), operate: false},
  378. {field : 'achievement.october', title : __('十月'), operate: false},
  379. {field : 'achievement.november', title : __('十一月'), operate: false},
  380. {field : 'achievement.december', title : __('十二月'), operate: false},
  381. {field: 'check_staff.name', title: __('审批人'), operate: false},
  382. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  383. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  384. {field: 'operate', title: __('Operate'),width:150, table: table4, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  385. buttons: [
  386. {
  387. name: 'success',
  388. text: __('通过'),
  389. title: __('通过'),
  390. classname: 'records btn-dialog',
  391. extend: ' data-area=\'\'',
  392. refresh:true,
  393. url: 'qingdong/examine/examine_record/examine?relation_type=achievement&relation_id={relation_id}&status=1',
  394. visible: function (row) {
  395. //返回true时按钮显示,返回false隐藏
  396. return true;
  397. },
  398. success:function(data){
  399. $.post("qingdong/customer/need/get_need_number",function (data){
  400. top.window.Backend.api.sidebar({
  401. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  402. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  403. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  404. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  405. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  406. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  407. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  408. });
  409. },'json');
  410. $(".btn-refresh").trigger("click");
  411. }
  412. },
  413. {
  414. name: 'error',
  415. text: __('拒绝'),
  416. title: __('拒绝'),
  417. classname: 'records btn-dialog',
  418. extend: ' data-area=\'\'',
  419. refresh:true,
  420. url: 'qingdong/examine/examine_record/examine?relation_type=achievement&relation_id={relation_id}&status=2',
  421. error: function (data, ret) {
  422. console.log(data, ret);
  423. Layer.alert(ret.msg);
  424. return false;
  425. },
  426. success:function(data){
  427. $.post("qingdong/customer/need/get_need_number",function (data){
  428. top.window.Backend.api.sidebar({
  429. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  430. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  431. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  432. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  433. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  434. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  435. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  436. });
  437. },'json');
  438. $(".btn-refresh").trigger("click");
  439. }
  440. },
  441. ]
  442. }
  443. ]
  444. ],
  445. //启用普通表单搜索
  446. commonSearch: true,
  447. searchFormVisible: true,
  448. });
  449. // 为表格2绑定事件
  450. Table.api.bindevent(table4);
  451. },
  452. six: function () {
  453. // 初始化表格参数配置
  454. Table.api.init({
  455. extend: {
  456. index_url: 'qingdong/examine/examine/achievement?status=1',
  457. table: 'achievement'
  458. }
  459. });
  460. // 业绩目标
  461. var table4 = $("#table1");
  462. table4.bootstrapTable({
  463. url: $.fn.bootstrapTable.defaults.extend.index_url,
  464. toolbar: '#toolbar1',
  465. sortName: 'id',
  466. fixedColumns : true,
  467. fixedRightNumber : 1,
  468. search: false,
  469. columns: [
  470. [
  471. {field : 'achievement.create_staff.name', title : __('提交人'), operate: false},
  472. {field: 'achievement.status', title: '业绩目标类型', operate: false, formatter : Table.api.formatter.status, searchList :{1: '合同金额', 2: '回款金额'}},
  473. {field: 'achievement.year', title: '业绩目标年份', operate: false},
  474. {field: 'achievement.yeartarget', title: '年目标', operate: false},
  475. {field : 'achievement.january', title : __('一月'), operate: false},
  476. {field : 'achievement.february', title : __('二月'), operate: false},
  477. {field : 'achievement.march', title : __('三月'), operate: false},
  478. {field : 'achievement.april', title : __('四月'), operate: false},
  479. {field : 'achievement.may', title : __('五月'), operate: false},
  480. {field : 'achievement.june', title : __('六月'), operate: false},
  481. {field : 'achievement.july', title : __('七月'), operate: false},
  482. {field : 'achievement.august', title : __('八月'), operate: false},
  483. {field : 'achievement.september', title : __('九月'), operate: false},
  484. {field : 'achievement.october', title : __('十月'), operate: false},
  485. {field : 'achievement.november', title : __('十一月'), operate: false},
  486. {field : 'achievement.december', title : __('十二月'), operate: false},
  487. {field: 'check_staff.name', title: __('审批人'), operate: false},
  488. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  489. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  490. ]
  491. ],
  492. //启用普通表单搜索
  493. commonSearch: true,
  494. searchFormVisible: true,
  495. });
  496. // 为表格2绑定事件
  497. Table.api.bindevent(table4);
  498. },
  499. seven: function () {
  500. // 初始化表格参数配置
  501. Table.api.init({
  502. extend: {
  503. index_url: 'qingdong/examine/examine/receivables?status=0',
  504. table: 'receivables'
  505. }
  506. });
  507. // 回款
  508. var table3 = $("#table");
  509. table3.bootstrapTable({
  510. url: $.fn.bootstrapTable.defaults.extend.index_url,
  511. toolbar: '#toolbar',
  512. sortName: 'id',
  513. search: false,
  514. columns: [
  515. [
  516. {field : 'receivables.create_staff.name', title : __('提交人'), operate: false},
  517. {
  518. field : 'receivables.number', title : '回款编号', fixedColumns : true, formatter : function (value, row, index) {
  519. if(row.receivables){
  520. return "<a href='javascript:void(0);' data-id='" + row.relation_id + "' class='show-receivables'>" + row.receivables.number + "</a>";
  521. }
  522. return '';
  523. },operate:false
  524. },
  525. {field: 'receivables.return_type', title: '回款方式', operate: false},
  526. {field: 'receivables.return_time', title: '回款日期', operate: false},
  527. {field: 'receivables.money', title: '回款金额', operate: false},
  528. {field: 'check_staff.name', title: __('审批人'), operate: false},
  529. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  530. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  531. {field: 'operate', title: __('Operate'), table: table3, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  532. buttons: [
  533. {
  534. name: 'success',
  535. text: __('通过'),
  536. title: __('通过'),
  537. classname: 'records btn-dialog',
  538. extend: ' data-area=\'\'',
  539. refresh:true,
  540. url: 'qingdong/examine/examine_record/examine?relation_type=receivables&relation_id={relation_id}&status=1',
  541. visible: function (row) {
  542. //返回true时按钮显示,返回false隐藏
  543. return true;
  544. },
  545. success:function(data){
  546. $.post("qingdong/customer/need/get_need_number",function (data){
  547. top.window.Backend.api.sidebar({
  548. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  549. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  550. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  551. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  552. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  553. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  554. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  555. });
  556. },'json');
  557. $(".btn-refresh").trigger("click");
  558. }
  559. },
  560. {
  561. name: 'error',
  562. text: __('拒绝'),
  563. title: __('拒绝'),
  564. classname: 'records btn-dialog',
  565. extend: ' data-area=\'\'',
  566. refresh:true,
  567. url: 'qingdong/examine/examine_record/examine?relation_type=receivables&relation_id={relation_id}&status=2',
  568. error: function (data, ret) {
  569. console.log(data, ret);
  570. Layer.alert(ret.msg);
  571. return false;
  572. },
  573. success:function(data){
  574. $.post("qingdong/customer/need/get_need_number",function (data){
  575. top.window.Backend.api.sidebar({
  576. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  577. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  578. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  579. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  580. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  581. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  582. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  583. });
  584. },'json');
  585. $(".btn-refresh").trigger("click");
  586. }
  587. },
  588. ]
  589. }
  590. ]
  591. ],
  592. //启用普通表单搜索
  593. commonSearch: true,
  594. searchFormVisible: true,
  595. });
  596. $(document).on('click', '.show-receivables', function (data) {
  597. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  598. var options = {
  599. shadeClose : false,
  600. shade : [0.3, '#393D49'],
  601. area : area,
  602. end : function (value) {
  603. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  604. // $(".btn-refresh").trigger("click");
  605. }
  606. };
  607. Fast.api.open("qingdong/customer/receivables/detail?ids=" + $(this).data('id'), '回款详情', options);
  608. });
  609. // 为表格2绑定事件
  610. Table.api.bindevent(table3);
  611. },
  612. eight: function () {
  613. // 初始化表格参数配置
  614. Table.api.init({
  615. extend: {
  616. index_url: 'qingdong/examine/examine/receivables?status=1',
  617. table: 'receivables'
  618. }
  619. });
  620. // 回款
  621. var table3 = $("#table1");
  622. table3.bootstrapTable({
  623. url: $.fn.bootstrapTable.defaults.extend.index_url,
  624. toolbar: '#toolbar1',
  625. sortName: 'id',
  626. search: false,
  627. columns: [
  628. [
  629. {field : 'receivables.create_staff.name', title : __('提交人'), operate: false},
  630. {
  631. field : 'receivables.number', title : '回款编号', fixedColumns : true, formatter : function (value, row, index) {
  632. if(row.receivables){
  633. return "<a href='javascript:void(0);' data-id='" + row.relation_id + "' class='show-receivables'>" + row.receivables.number + "</a>";
  634. }
  635. return '';
  636. },operate:false
  637. },
  638. {field: 'receivables.return_type', title: '回款方式', operate: false},
  639. {field: 'receivables.return_time', title: '回款日期', operate: false},
  640. {field: 'receivables.money', title: '回款金额', operate: false},
  641. {field: 'check_staff.name', title: __('审批人'), operate: false},
  642. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  643. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  644. ]
  645. ],
  646. //启用普通表单搜索
  647. commonSearch: true,
  648. searchFormVisible: true,
  649. });
  650. // 为表格2绑定事件
  651. Table.api.bindevent(table3);
  652. },
  653. nine: function () {
  654. // 初始化表格参数配置
  655. Table.api.init({
  656. extend: {
  657. index_url: 'qingdong/examine/examine/work?status=0',
  658. table: 'work'
  659. }
  660. });
  661. // 办公审批
  662. var table3 = $("#table");
  663. table3.bootstrapTable({
  664. url: $.fn.bootstrapTable.defaults.extend.index_url,
  665. toolbar: '#toolbar',
  666. sortName: 'id',
  667. search: false,
  668. columns: [
  669. [
  670. {field: 'approval_name', title: __('审批类型'), operate: false},
  671. {field : 'approval.create_staff.name', title : __('提交人'), operate: false},
  672. {field: 'check_staff.name', title: __('审批人'), operate: false},
  673. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  674. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  675. {field: 'operate', title: __('Operate'), table: table3, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  676. buttons: [
  677. {
  678. name: 'detail',
  679. text: __('详情'),
  680. classname: 'records btn-dialog',
  681. url: function (row) {
  682. return 'qingdong/work/approval/detail?ids=' + row.approval.id;
  683. },
  684. extend: "data-area='[\"80%\", \"80%\"]'",
  685. callback: function (data) {
  686. Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
  687. $(".btn-refresh").trigger("click");
  688. }
  689. },
  690. {
  691. name: 'success',
  692. text: __('通过'),
  693. title: __('通过'),
  694. classname: 'records btn-dialog',
  695. extend: ' data-area=\'\'',
  696. refresh:true,
  697. url: 'qingdong/examine/examine_record/examine?relation_type=approval&relation_id={relation_id}&status=1',
  698. visible: function (row) {
  699. //返回true时按钮显示,返回false隐藏
  700. return true;
  701. },
  702. success:function(data){
  703. $.post("qingdong/customer/need/get_need_number",function (data){
  704. top.window.Backend.api.sidebar({
  705. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  706. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  707. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  708. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  709. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  710. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  711. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  712. });
  713. },'json');
  714. $(".btn-refresh").trigger("click");
  715. }
  716. },
  717. {
  718. name: 'error',
  719. text: __('拒绝'),
  720. title: __('拒绝'),
  721. classname: 'records btn-dialog',
  722. extend: ' data-area=\'\'',
  723. refresh:true,
  724. url: 'qingdong/examine/examine_record/examine?relation_type=approval&relation_id={relation_id}&status=2',
  725. error: function (data, ret) {
  726. console.log(data, ret);
  727. Layer.alert(ret.msg);
  728. return false;
  729. },
  730. success:function(data){
  731. $.post("qingdong/customer/need/get_need_number",function (data){
  732. top.window.Backend.api.sidebar({
  733. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  734. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  735. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  736. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  737. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  738. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  739. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  740. });
  741. },'json');
  742. $(".btn-refresh").trigger("click");
  743. }
  744. },
  745. ]
  746. }
  747. ]
  748. ],
  749. //启用普通表单搜索
  750. commonSearch: true,
  751. searchFormVisible: true,
  752. });
  753. $(document).on('click', '.show-receivables', function (data) {
  754. var area = [$(window).width() > 1200 ? '1200px' : '95%', $(window).height() > 800 ? '800px' : '95%'];
  755. var options = {
  756. shadeClose : false,
  757. shade : [0.3, '#393D49'],
  758. area : area,
  759. end : function (value) {
  760. //在回调函数里可以调用你的业务代码实现前端的各种逻辑和效果
  761. // $(".btn-refresh").trigger("click");
  762. }
  763. };
  764. Fast.api.open("qingdong/customer/receivables/detail?ids=" + $(this).data('id'), '回款详情', options);
  765. });
  766. // 为表格2绑定事件
  767. Table.api.bindevent(table3);
  768. },
  769. ten: function () {
  770. // 初始化表格参数配置
  771. Table.api.init({
  772. extend: {
  773. index_url: 'qingdong/examine/examine/work?status=1',
  774. table: 'work'
  775. }
  776. });
  777. // 办公审批
  778. var table3 = $("#table1");
  779. table3.bootstrapTable({
  780. url: $.fn.bootstrapTable.defaults.extend.index_url,
  781. toolbar: '#toolbar1',
  782. sortName: 'id',
  783. search: false,
  784. columns: [
  785. [
  786. {field: 'approval_name', title: __('审批类型'), operate: false},
  787. {field : 'approval.create_staff.name', title : __('提交人'), operate: false},
  788. {field: 'check_staff.name', title: __('审批人'), operate: false},
  789. {field: 'status', title: __('审批状态'), operate: false, formatter: Table.api.formatter.status, searchList: {0: __('待审批'), 1: __('审批通过'), 2: __('审批拒绝'), 3: __('撤销')}},
  790. {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange'},
  791. {field: 'operate', title: __('Operate'), table: table3, events: Table.api.events.operate, formatter: Table.api.formatter.buttons,
  792. buttons: [
  793. {
  794. name: 'detail',
  795. text: __('详情'),
  796. classname: 'records btn-dialog',
  797. url: function (row) {
  798. return 'qingdong/work/approval/detail?ids=' + row.approval.id;
  799. },
  800. extend: "data-area='[\"80%\", \"80%\"]'",
  801. callback: function (data) {
  802. Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
  803. $(".btn-refresh").trigger("click");
  804. }
  805. },
  806. {
  807. name: 'success',
  808. text: __('通过'),
  809. title: __('通过'),
  810. classname: 'records btn-dialog',
  811. extend: ' data-area=\'\'',
  812. refresh:true,
  813. url: 'qingdong/examine/examine_record/examine?relation_type=approval&relation_id={relation_id}&status=1',
  814. visible: function (row) {
  815. //返回true时按钮显示,返回false隐藏
  816. return true;
  817. },
  818. success:function(data){
  819. $.post("qingdong/customer/need/get_need_number",function (data){
  820. top.window.Backend.api.sidebar({
  821. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  822. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  823. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  824. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  825. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  826. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  827. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  828. });
  829. },'json');
  830. $(".btn-refresh").trigger("click");
  831. }
  832. },
  833. {
  834. name: 'error',
  835. text: __('拒绝'),
  836. title: __('拒绝'),
  837. classname: 'records btn-dialog',
  838. extend: ' data-area=\'\'',
  839. refresh:true,
  840. url: 'qingdong/examine/examine_record/examine?relation_type=approval&relation_id={relation_id}&status=2',
  841. error: function (data, ret) {
  842. console.log(data, ret);
  843. Layer.alert(ret.msg);
  844. return false;
  845. },
  846. success:function(data){
  847. $.post("qingdong/customer/need/get_need_number",function (data){
  848. top.window.Backend.api.sidebar({
  849. 'qingdong/customer/need/index':[data.data.number, 'red', 'badge'],
  850. 'qingdong/examine/examine/index':[data.data.examine, 'red', 'badge'], //合同
  851. 'qingdong/examine/examine/consume':[data.data.consume, 'red', 'badge'],
  852. 'qingdong/examine/examine/receivables':[data.data.receivables, 'red', 'badge'],
  853. 'qingdong/examine/examine/achievement':[data.data.achievement, 'red', 'badge'],
  854. 'qingdong/examine/examine/work':[data.data.approval, 'red', 'badge'],
  855. 'qingdong/canlendar/canlendar':[data.data.eventOne, 'red', 'badge'],
  856. });
  857. },'json');
  858. $(".btn-refresh").trigger("click");
  859. }
  860. },
  861. ]
  862. }
  863. ]
  864. ],
  865. //启用普通表单搜索
  866. commonSearch: true,
  867. searchFormVisible: true,
  868. });
  869. // 为表格2绑定事件
  870. Table.api.bindevent(table3);
  871. },
  872. },
  873. consume : function () {
  874. // 初始化表格参数配置
  875. Table.api.init();
  876. //绑定事件
  877. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  878. var panel = $($(this).attr("href"));
  879. if (panel.length > 0) {
  880. Controller.table[panel.attr("id")].call(this);
  881. $(this).on('click', function (e) {
  882. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  883. });
  884. }
  885. //移除绑定的事件
  886. $(this).unbind('shown.bs.tab');
  887. });
  888. //必须默认触发shown.bs.tab事件
  889. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  890. },
  891. receivables : function () {
  892. // 初始化表格参数配置
  893. Table.api.init();
  894. //绑定事件
  895. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  896. var panel = $($(this).attr("href"));
  897. if (panel.length > 0) {
  898. Controller.table[panel.attr("id")].call(this);
  899. $(this).on('click', function (e) {
  900. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  901. });
  902. }
  903. //移除绑定的事件
  904. $(this).unbind('shown.bs.tab');
  905. });
  906. //必须默认触发shown.bs.tab事件
  907. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  908. },
  909. achievement : function () {
  910. // 初始化表格参数配置
  911. Table.api.init();
  912. //绑定事件
  913. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  914. var panel = $($(this).attr("href"));
  915. if (panel.length > 0) {
  916. Controller.table[panel.attr("id")].call(this);
  917. $(this).on('click', function (e) {
  918. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  919. });
  920. }
  921. //移除绑定的事件
  922. $(this).unbind('shown.bs.tab');
  923. });
  924. //必须默认触发shown.bs.tab事件
  925. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  926. },
  927. work : function () {
  928. // 初始化表格参数配置
  929. Table.api.init();
  930. //绑定事件
  931. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  932. var panel = $($(this).attr("href"));
  933. if (panel.length > 0) {
  934. Controller.table[panel.attr("id")].call(this);
  935. $(this).on('click', function (e) {
  936. $($(this).attr("href")).find(".btn-refresh").trigger("click");
  937. });
  938. }
  939. //移除绑定的事件
  940. $(this).unbind('shown.bs.tab');
  941. });
  942. //必须默认触发shown.bs.tab事件
  943. $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
  944. },
  945. add: function () {
  946. Controller.api.bindevent();
  947. },
  948. edit: function () {
  949. Controller.api.bindevent();
  950. },
  951. api: {
  952. bindevent: function () {
  953. Form.api.bindevent($("form[role=form]"));
  954. },
  955. }
  956. };
  957. return Controller;
  958. });