FormPanel.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. Ext.define('saas.view.document.vendor.FormPanel', {
  2. extend: 'saas.view.core.form.FormPanel',
  3. xtype: 'document-vendor-formpanel',
  4. controller: 'document-vendor-formpanel',
  5. viewModel: 'document-vendor-formpanel',
  6. caller:'Vendor',
  7. //字段属性
  8. _title:'供应商资料',
  9. _idField: 'id',
  10. _codeField: 've_code',
  11. _statusField: 've_status',
  12. _statusCodeField: 've_statuscode',
  13. _readUrl:'/api/document/vendor/read/',
  14. _saveUrl:'/api/document/vendor/save',
  15. _openUrl:'/api/document/vendor/open',
  16. _closeUrl:'/api/document/vendor/close',
  17. _deleteUrl:'/api/document/vendor/delete/',
  18. initId:0,
  19. defaultItems: [{
  20. xtype: 'hidden',
  21. name: 'id',
  22. fieldLabel: 'id',
  23. allowBlank: true,
  24. columnWidth: 0.25
  25. },{
  26. xtype: 'textfield',
  27. name: 've_name',
  28. fieldLabel: '供应商名称',
  29. allowBlank: false,
  30. columnWidth: 0.25
  31. },{
  32. xtype: 'textfield',
  33. name: 've_code',
  34. fieldLabel: '供应商编号',
  35. allowBlank: true,
  36. columnWidth: 0.25
  37. },{
  38. xtype: 'textfield',
  39. name: 've_status',
  40. fieldLabel: '状态',
  41. allowBlank: true,
  42. columnWidth: 0.25
  43. },{
  44. xtype: 'hidden',
  45. name: 've_statuscode',
  46. fieldLabel: '状态码',
  47. allowBlank: true,
  48. columnWidth: 0.25
  49. },{
  50. editable:false,
  51. xtype : "remotecombo",
  52. storeUrl:'/api/document/vendorkind/getCombo',
  53. name : "ve_type",
  54. fieldLabel : "供应商类型",
  55. allowBlank : false,
  56. columnWidth : 0.25,
  57. addHandler:function(b){
  58. var document = Ext.create('saas.view.document.kind.Kind',{});
  59. var form = this.ownerCmp.ownerCt;
  60. this.dialog = form.getController().getView().add({
  61. xtype: 'document-kind-childwin',
  62. bind: {
  63. title: '新增供应商类型'
  64. },
  65. dataKind:'vendorkind',
  66. belong:document.etc['vendorkind'],
  67. _parent:form,
  68. _combo:this.ownerCmp,
  69. record:null,
  70. session: true
  71. });
  72. this.dialog.show();
  73. }
  74. },{
  75. format : "Y-m-d",
  76. xtype : "datefield",
  77. name : "createTime",
  78. fieldLabel : "创建时间",
  79. allowBlank : true,
  80. columnWidth : 0.25
  81. },{
  82. format : "Y-m-d",
  83. xtype : "datefield",
  84. name : "ve_begindate",
  85. fieldLabel : "期初日期",
  86. allowBlank : true,
  87. columnWidth : 0.25
  88. },{
  89. xtype : "numberfield",
  90. hideTrigger:true,
  91. name : "ve_beginaramount",
  92. fieldLabel : "期初应收",
  93. allowBlank : true,
  94. columnWidth : 0.25
  95. },{
  96. xtype : "numberfield",
  97. hideTrigger:true,
  98. name : "ve_beginprerecamount",
  99. fieldLabel : "期初预收",
  100. allowBlank : true,
  101. columnWidth : 0.25
  102. },{
  103. xtype : "numberfield",
  104. hideTrigger:true,
  105. name : "ve_promisedays",
  106. fieldLabel : "承付天数",
  107. allowBlank : true,
  108. columnWidth : 0.25
  109. },{
  110. xtype : "numberfield",
  111. name : "ve_taxrate",
  112. fieldLabel : "税率",
  113. allowBlank : true,
  114. columnWidth : 0.25
  115. },{
  116. xtype : "numberfield",
  117. name : "ve_ta",
  118. fieldLabel : "应收款余额",
  119. allowBlank : true,
  120. readOnly:true,
  121. editable:false,
  122. columnWidth : 0.25
  123. },{
  124. xtype:'textfield',
  125. name : "ve_uu",
  126. fieldLabel : "供应商UU",
  127. allowBlank : true,
  128. columnWidth : 0.25
  129. },{
  130. format : "Y-m-d",
  131. xtype : "datefield",
  132. name : "updateTime",
  133. fieldLabel : "更新时间",
  134. allowBlank : true,
  135. columnWidth : 0.25
  136. }, {
  137. xtype : "detailGridField",
  138. detnoColumn: 'vc_detno',
  139. storeModel:'saas.model.document.vendorcontact',
  140. deleteDetailUrl:'/api/document/vendor/deleteContact/',
  141. columns : [
  142. {
  143. text : "ID",
  144. dataIndex : "id",
  145. width : 0,
  146. xtype : "numbercolumn"
  147. },
  148. {
  149. text : "关联ID",
  150. dataIndex : "vc_veid",
  151. width : 0,
  152. xtype : "numbercolumn"
  153. },
  154. {
  155. text : "联系人",
  156. editor : {
  157. xtype : "textfield"
  158. },
  159. dataIndex : "vc_name",
  160. width : 120.0,
  161. xtype : "",
  162. },
  163. {
  164. text : "电话",
  165. editor : {
  166. xtype : "textfield"
  167. },
  168. dataIndex : "vc_tel",
  169. width : 120.0,
  170. xtype : "",
  171. },
  172. {
  173. text : "微信/QQ",
  174. editor : {
  175. xtype : "textfield"
  176. },
  177. dataIndex : "vc_qq",
  178. width : 120.0,
  179. xtype : "",
  180. },
  181. {
  182. text : "邮箱",
  183. editor : {
  184. xtype : "textfield"
  185. },
  186. dataIndex : "vc_email",
  187. width : 120.0,
  188. xtype : "",
  189. },
  190. {
  191. editor : {
  192. displayField : "display",
  193. editable : true,
  194. format : "",
  195. hideTrigger : false,
  196. maxLength : 100.0,
  197. minValue : null,
  198. positiveNum : false,
  199. queryMode : "local",
  200. valueField : "value",
  201. xtype : "combo",
  202. store:{
  203. fields: ['display', 'value'],
  204. data : [
  205. {"display":"是", "value":'1'},
  206. {"display":"否", "value":'0'}
  207. ]
  208. }
  209. },
  210. text : "是否默认联系人",
  211. width : 200.0,
  212. dataIndex : "vc_default",
  213. xtype : "",
  214. renderer: function (v, m, r) {
  215. if(v=='0'){
  216. return '';
  217. }else if(v=='1'){
  218. return '是';
  219. }
  220. return v;
  221. }
  222. }]
  223. }
  224. ],
  225. /**
  226. * 一些初始化viewModel的方法
  227. */
  228. initViewModel: function() {
  229. var me = this,
  230. codeField = me._codeField,
  231. statusField = me._statusField,
  232. statusCodeField = me._statusCodeField,
  233. viewModel = me.getViewModel();
  234. viewModel.set(codeField, '');
  235. viewModel.set('createTime', new Date());
  236. viewModel.set('updateTime', new Date());
  237. if(statusCodeField) {
  238. var o = {};
  239. o['auditBtnText'] = {
  240. bind: '{' + statusCodeField + '}',
  241. get: function(value) {
  242. viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
  243. return value == 'OPEN' ? '禁用' : '启用'
  244. }
  245. };
  246. viewModel.setFormulas(o);
  247. viewModel.set(statusCodeField, "OPEN");
  248. }else {
  249. viewModel.set('auditBtnText', "禁用");
  250. }
  251. }
  252. });