FormPanel.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  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:basePath+'ducument/vendor/read/',
  14. _saveUrl:basePath+'ducument/vendor/save',
  15. _openUrl:basePath+'ducument/vendor/open',
  16. _closeUrl:basePath+'ducument/vendor/close',
  17. _deleteUrl:basePath+'ducument/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. xtype : "remotecombo",
  51. storeUrl:basePath + 'document/vendorkind/getCombo',
  52. name : "ve_type",
  53. fieldLabel : "供应商类型",
  54. allowBlank : true,
  55. queryMode: 'local',
  56. displayField: 'display',
  57. valueField: 'value',
  58. columnWidth : 0.25,
  59. etc:{
  60. vendorkind:{
  61. keyField:'id',
  62. dataField:'vk_name',
  63. reqUrl:basePath + 'document/vendorkind/save',
  64. delUrl:basePath + 'document/vendorkind/delete'
  65. }
  66. },
  67. addHandler:function(b){
  68. var form = this.ownerCmp.ownerCt;
  69. this.dialog = form.getController().getView().add({
  70. xtype: 'document-kind-childwin',
  71. bind: {
  72. title: '新增供应商类型'
  73. },
  74. dataKind:'vendorkind',
  75. belong:this.ownerCmp.etc['vendorkind'],
  76. _parent:form,
  77. record:null,
  78. session: true
  79. });
  80. this.dialog.show();
  81. }
  82. },{
  83. format : "Y-m-d",
  84. xtype : "datefield",
  85. name : "createTime",
  86. fieldLabel : "创建时间",
  87. allowBlank : true,
  88. columnWidth : 0.25
  89. },{
  90. format : "Y-m-d",
  91. xtype : "datefield",
  92. name : "ve_begindate",
  93. fieldLabel : "期初日期",
  94. allowBlank : true,
  95. columnWidth : 0.25
  96. },{
  97. xtype : "numberfield",
  98. hideTrigger:true,
  99. name : "ve_beginaramount",
  100. fieldLabel : "期初应收",
  101. allowBlank : true,
  102. columnWidth : 0.25
  103. },{
  104. xtype : "numberfield",
  105. hideTrigger:true,
  106. name : "ve_beginprerecamount",
  107. fieldLabel : "期初预收",
  108. allowBlank : true,
  109. columnWidth : 0.25
  110. },{
  111. xtype : "numberfield",
  112. hideTrigger:true,
  113. name : "ve_promisedays",
  114. fieldLabel : "承付天数",
  115. allowBlank : true,
  116. columnWidth : 0.25
  117. },{
  118. xtype : "numberfield",
  119. name : "ve_taxrate",
  120. fieldLabel : "税率",
  121. allowBlank : true,
  122. columnWidth : 0.25
  123. },{
  124. xtype : "numberfield",
  125. name : "ve_ta",
  126. fieldLabel : "应收款余额",
  127. allowBlank : true,
  128. readOnly:true,
  129. editable:false,
  130. columnWidth : 0.25
  131. },{
  132. xtype:'textfield',
  133. name : "ve_uu",
  134. fieldLabel : "供应商UU",
  135. allowBlank : true,
  136. columnWidth : 0.25
  137. },{
  138. format : "Y-m-d",
  139. xtype : "datefield",
  140. name : "updateTime",
  141. fieldLabel : "更新时间",
  142. allowBlank : true,
  143. columnWidth : 0.25
  144. }, {
  145. xtype : "detailGridField",
  146. detnoColumn: 'vc_detno',
  147. storeModel:'saas.model.document.vendorcontact',
  148. deleteDetailUrl:basePath+'ducument/vendor/deleteContact/',
  149. columns : [
  150. {
  151. text : "ID",
  152. dataIndex : "id",
  153. width : 0,
  154. xtype : "numbercolumn"
  155. },
  156. {
  157. text : "关联ID",
  158. dataIndex : "vc_veid",
  159. width : 0,
  160. xtype : "numbercolumn"
  161. },
  162. {
  163. text : "联系人",
  164. editor : {
  165. xtype : "textfield"
  166. },
  167. dataIndex : "vc_name",
  168. width : 120.0,
  169. xtype : "",
  170. },
  171. {
  172. text : "电话",
  173. editor : {
  174. xtype : "textfield"
  175. },
  176. dataIndex : "vc_tel",
  177. width : 120.0,
  178. xtype : "",
  179. },
  180. {
  181. text : "微信/QQ",
  182. editor : {
  183. xtype : "textfield"
  184. },
  185. dataIndex : "vc_qq",
  186. width : 120.0,
  187. xtype : "",
  188. },
  189. {
  190. text : "邮箱",
  191. editor : {
  192. xtype : "textfield"
  193. },
  194. dataIndex : "vc_email",
  195. width : 120.0,
  196. xtype : "",
  197. },
  198. {
  199. editor : {
  200. displayField : "display",
  201. editable : true,
  202. format : "",
  203. hideTrigger : false,
  204. maxLength : 100.0,
  205. minValue : null,
  206. positiveNum : false,
  207. queryMode : "local",
  208. valueField : "value",
  209. xtype : "combo",
  210. store:{
  211. fields: ['display', 'value'],
  212. data : [
  213. {"display":"是", "value":'1'},
  214. {"display":"否", "value":'0'}
  215. ]
  216. }
  217. },
  218. text : "是否默认联系人",
  219. width : 200.0,
  220. dataIndex : "vc_default",
  221. xtype : "",
  222. renderer: function (v, m, r) {
  223. if(v=='0'){
  224. return '';
  225. }else if(v=='1'){
  226. return '是';
  227. }
  228. return v;
  229. }
  230. }]
  231. }
  232. ],
  233. /**
  234. * 一些初始化viewModel的方法
  235. */
  236. initViewModel: function() {
  237. var me = this,
  238. codeField = me._codeField,
  239. statusField = me._statusField,
  240. statusCodeField = me._statusCodeField,
  241. viewModel = me.getViewModel();
  242. viewModel.set(codeField, '');
  243. viewModel.set('createTime', new Date());
  244. viewModel.set('updateTime', new Date());
  245. if(statusCodeField) {
  246. var o = {};
  247. o['auditBtnText'] = {
  248. bind: '{' + statusCodeField + '}',
  249. get: function(value) {
  250. viewModel.set(statusField, value == 'OPEN' ? '启用' : '禁用');
  251. return value == 'OPEN' ? '禁用' : '启用'
  252. }
  253. };
  254. viewModel.setFormulas(o);
  255. viewModel.set(statusCodeField, "OPEN");
  256. }else {
  257. viewModel.set('auditBtnText', "禁用");
  258. }
  259. }
  260. });