UUSettingWin.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. Ext.define('saas.view.document.uusetting.UUSettingWin', {
  2. extend: 'Ext.window.Window',
  3. xtype: 'uusettingwin',
  4. title: '设置企业UU',
  5. width: 680,
  6. cls: 'x-window-dbfind',
  7. closlayout: 'fit',
  8. modal: true,
  9. resizable: false,
  10. bodyPadding: 20,
  11. etc: {
  12. vendorkind: {
  13. uuName: 've_uu',
  14. getUUUrl: '/api/document/vendor/getVendorUU',
  15. saveUrl: '/api/document/vendor/save',
  16. formItems: [{
  17. xtype: 'hidden',
  18. name: 'id',
  19. bind: '{id}',
  20. fieldLabel: 'id'
  21. }, {
  22. xtype: 'textfield',
  23. name: 've_code',
  24. bind: '{ve_code}',
  25. fieldLabel: '供应商编号'
  26. }, {
  27. xtype: 'textfield',
  28. name: 've_name',
  29. bind: '{ve_name}',
  30. fieldLabel: '供应商名称',
  31. hidden: false
  32. }, {
  33. xtype: 'textfield',
  34. name: 've_shortname',
  35. bind: '{ve_shortname}',
  36. fieldLabel: '供应商简称'
  37. }, {
  38. xtype: 'hidden',
  39. name: 've_status',
  40. bind: '{ve_status}',
  41. fieldLabel: '状态'
  42. }, {
  43. xtype: 'hidden',
  44. name: 've_statuscode',
  45. bind: '{ve_statuscode}',
  46. fieldLabel: '状态码'
  47. }, {
  48. xtype: "textfield",
  49. name: "ve_type",
  50. bind: '{ve_type}',
  51. fieldLabel: "供应商类型"
  52. }, {
  53. xtype: "datefield",
  54. name: "ve_begindate",
  55. format: 'Y-m-d H:i:s',
  56. bind: '{ve_begindate}',
  57. fieldLabel: "期初日期"
  58. }, {
  59. xtype: "textfield",
  60. name: "ve_currency",
  61. bind: '{ve_currency}',
  62. fieldLabel: "币别"
  63. }, {
  64. xtype: "numberfield",
  65. name: "ve_taxrate",
  66. bind: '{ve_taxrate}',
  67. fieldLabel: "税率(%)"
  68. },{
  69. xtype: "numberfield",
  70. name: "ve_beginapamount",
  71. bind: '{ve_beginapamount}',
  72. fieldLabel: "期初应付(元)"
  73. }, {
  74. xtype: "numberfield",
  75. hideTrigger: true,
  76. name: "ve_beginprepayamount",
  77. bind: '{ve_beginprepayamount}',
  78. fieldLabel: "期初预付(元)"
  79. }, {
  80. xtype: "numberfield",
  81. name: "ve_leftamount",
  82. bind: '{ve_leftamount}',
  83. fieldLabel: "应付余额(元)",
  84. }, {
  85. xtype: "numberfield",
  86. name: "ve_promisedays",
  87. bind: '{ve_promisedays}',
  88. fieldLabel: "结算天数",
  89. }, {
  90. xtype: "textfield",
  91. name: "ve_nsrzh",
  92. bind: '{ve_nsrzh}',
  93. fieldLabel: "纳税人识别号"
  94. }, {
  95. xtype: "textfield",
  96. name: "ve_bankcode",
  97. bind: '{ve_bankcode}',
  98. fieldLabel: "开户银行"
  99. }, {
  100. xtype: "textfield",
  101. name: "ve_bankaccount",
  102. bind: '{ve_bankaccount}',
  103. fieldLabel: "银行账户"
  104. }, {
  105. xtype: "hidden",
  106. name: "ve_buyercode",
  107. bind: '{ve_buyercode}',
  108. fieldLabel: "采购员编号"
  109. }, {
  110. xtype: "textfield",
  111. name: "ve_buyername",
  112. bind: '{ve_buyername}',
  113. fieldLabel: "采购员"
  114. }, {
  115. xtype: "hidden",
  116. name: "ve_buyerid",
  117. bind: '{ve_buyerid}',
  118. fieldLabel: "采购员ID"
  119. }, {
  120. xtype: "textfield",
  121. name: "ve_address",
  122. bind: '{ve_address}',
  123. fieldLabel: "公司地址"
  124. }, {
  125. fieldLabel: "备注",
  126. xtype: 'textfield',
  127. bind: '{ve_remark}',
  128. name: "ve_remark"
  129. }, {
  130. xtype: "textfield",
  131. name: "ve_text1",
  132. bind: '{ve_text1}',
  133. fieldLabel: "自定义字段1"
  134. }, {
  135. xtype: "textfield",
  136. name: "ve_text2",
  137. bind: '{ve_text2}',
  138. fieldLabel: "自定义字段2"
  139. }, {
  140. xtype: "textfield",
  141. name: "ve_text3",
  142. bind: '{ve_text3}',
  143. fieldLabel: "自定义字段3"
  144. }, {
  145. xtype: "textfield",
  146. name: "ve_text4",
  147. bind: '{ve_text4}',
  148. fieldLabel: "自定义字段4"
  149. }, {
  150. xtype: "textfield",
  151. name: "ve_text5",
  152. bind: '{ve_text5}',
  153. fieldLabel: "自定义字段5"
  154. }, {
  155. xtype: 'textfield',
  156. fieldLabel: '企业UU',
  157. name: 've_uu',
  158. bind: '{ve_uu}',
  159. hidden: false,
  160. allowBlank: false,
  161. readOnly: true,
  162. beforeLabelTextTpl: "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>"
  163. }]
  164. },
  165. customerkind: {
  166. uuName: 'cu_uu',
  167. getUUUrl: '/api/document/customer/getCustomerUU',
  168. saveUrl: '/api/document/customer/save',
  169. formItems: [{
  170. xtype: 'hidden',
  171. name: 'id',
  172. bind: '{id}',
  173. fieldLabel: 'id'
  174. }, {
  175. xtype: 'textfield',
  176. name: 'cu_code',
  177. bind: '{cu_code}',
  178. fieldLabel: '客户编号'
  179. }, {
  180. xtype: 'textfield',
  181. name: 'cu_name',
  182. bind: '{cu_name}',
  183. fieldLabel: '客户名称',
  184. hidden: false
  185. }, {
  186. xtype: 'textfield',
  187. name: 'cu_shortname',
  188. bind: '{cu_shortname}',
  189. fieldLabel: '客户简称'
  190. }, {
  191. xtype: "textfield",
  192. name: "cu_type",
  193. bind: '{cu_type}',
  194. fieldLabel: "客户类型"
  195. }, {
  196. xtype: 'hidden',
  197. name: 'cu_status',
  198. bind: '{cu_status}',
  199. fieldLabel: '状态'
  200. }, {
  201. xtype: 'hidden',
  202. name: 'cu_statuscode',
  203. bind: '{cu_statuscode}',
  204. fieldLabel: '状态码'
  205. }, {
  206. xtype: "datefield",
  207. name: "cu_begindate",
  208. format: 'Y-m-d H:i:s',
  209. bind: '{cu_begindate}',
  210. fieldLabel: "期初日期"
  211. }, {
  212. xtype: "textfield",
  213. name: "cu_currency",
  214. bind: '{cu_currency}',
  215. fieldLabel: "币别"
  216. }, {
  217. xtype: "numberfield",
  218. name: "cu_taxrate",
  219. bind: '{cu_taxrate}',
  220. fieldLabel: "税率(%)"
  221. },{
  222. xtype: "numberfield",
  223. hideTrigger: true,
  224. name: "cu_beginaramount",
  225. bind: '{cu_beginaramount}',
  226. fieldLabel: "期初应收(元)"
  227. }, {
  228. xtype: "numberfield",
  229. name: "cu_beginprerecamount",
  230. bind: '{cu_beginprerecamount}',
  231. fieldLabel: "期初预收(元)"
  232. }, {
  233. xtype: 'textfield',
  234. name: "cu_leftamount",
  235. bind: '{cu_leftamount}',
  236. fieldLabel: "应收余额(元)"
  237. }, {
  238. xtype: "numberfield",
  239. name: "cu_promisedays",
  240. bind: '{cu_promisedays}',
  241. fieldLabel: "结算天数"
  242. }, {
  243. xtype: "hidden",
  244. name: "cu_sellerid",
  245. bind: '{cu_sellerid}',
  246. fieldLabel: "业务员id"
  247. }, {
  248. xtype: "hidden",
  249. name: "cu_sellercode",
  250. bind: '{cu_sellercode}',
  251. fieldLabel: "业务员code"
  252. }, {
  253. xtype: "textfield",
  254. name: "cu_sellername",
  255. bind: '{cu_sellername}',
  256. fieldLabel: "业务员"
  257. }, {
  258. xtype: "hidden",
  259. name: "cu_nsrzh",
  260. bind: '{cu_nsrzh}',
  261. fieldLabel: "纳税人识别号"
  262. }, {
  263. xtype: "hidden",
  264. name: "cu_bankaccount",
  265. bind: '{cu_bankaccount}',
  266. fieldLabel: "开户银行"
  267. }, {
  268. xtype: "hidden",
  269. name: "cu_bankcode",
  270. bind: '{cu_bankcode}',
  271. fieldLabel: "银行账户"
  272. }, {
  273. xtype: 'textfield',
  274. name: "cu_uu",
  275. bind: '{cu_uu}',
  276. fieldLabel: "企业UU",
  277. hidden: false,
  278. allowBlank: false,
  279. readOnly: true,
  280. beforeLabelTextTpl: "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>"
  281. }, {
  282. fieldLabel: "备注",
  283. xtype: 'textfield',
  284. name: "cu_remark",
  285. bind: '{cu_remark}'
  286. }, {
  287. xtype: "textfield",
  288. name: "cu_text1",
  289. bind: '{cu_text1}',
  290. fieldLabel: "自定义字段1"
  291. }, {
  292. xtype: "textfield",
  293. name: "cu_text2",
  294. bind: '{cu_text2}',
  295. fieldLabel: "自定义字段2"
  296. }, {
  297. xtype: "textfield",
  298. name: "cu_text3",
  299. bind: '{cu_text3}',
  300. fieldLabel: "自定义字段3"
  301. }, {
  302. xtype: "textfield",
  303. name: "cu_text4",
  304. bind: '{cu_text4}',
  305. fieldLabel: "自定义字段4"
  306. }, {
  307. xtype: "textfield",
  308. name: "cu_text5",
  309. bind: '{cu_text5}',
  310. fieldLabel: "自定义字段5"
  311. }]
  312. }
  313. },
  314. initComponent: function () {
  315. var me = this;
  316. var kind = me.kind;
  317. me.uuName = me.etc[kind].uuName;
  318. me.getUUUrl = me.etc[kind].getUUUrl;
  319. me.saveUrl = me.etc[kind].saveUrl;
  320. var items = Ext.Array.merge(me.etc[kind].formItems, [{
  321. xtype: 'detailGridField',
  322. detnoColumn: null,
  323. minHeight: 145,
  324. emptyRows: 3,
  325. showCount: false,
  326. width: 280,
  327. editable: false,
  328. emptyText: '<span style="color: red;">没有查找到匹配的企业,请确认该企业已注册优软商务平台</span>',
  329. store: Ext.create('Ext.data.Store', {
  330. fields: [{
  331. name: 'name',
  332. type: 'string'
  333. }, {
  334. name: 'uu',
  335. type: 'string'
  336. }],
  337. data: []
  338. }),
  339. columns: [{
  340. text: '企业名称',
  341. dataIndex: 'name',
  342. width: 200
  343. }, {
  344. text: 'UU',
  345. dataIndex: 'uu'
  346. }, {
  347. xtype:'actioncolumn',
  348. text:'操作',
  349. align: 'center',
  350. items: [{
  351. xtype: 'button',
  352. tooltip: '选择此项填入',
  353. iconCls: 'x-sa sa-edit',
  354. handler: function(tableView, rowIdx, colIdx, btn, e, record, tr) {
  355. var form = tableView.up('form');
  356. var uuField = form.query('[name=' + me.uuName + ']')[0];
  357. uuField.setValue(record.data.uu);
  358. }
  359. }]
  360. }]
  361. }]);
  362. Ext.apply(me, {
  363. items: [{
  364. xtype: 'form',
  365. layout: 'column',
  366. fieldDefaults: {
  367. hidden: true,
  368. margin: '0 0 10 0',
  369. labelAlign: 'right',
  370. labelWidth: 90,
  371. columnWidth: 0.5,
  372. },
  373. items: items
  374. }],
  375. buttonAlign: 'center',
  376. buttons: [{
  377. text: '确定',
  378. formBind: true,
  379. handler: function () {
  380. var win = this.up('window'),
  381. form = win.down('form');
  382. var uuField = form.query('[name=' + win.uuName + ']')[0];
  383. if (form.isValid()) {
  384. var values = form.getValues();
  385. me.onSave(values);
  386. } else {
  387. saas.util.BaseUtil.showErrorToast('表单校验失败,请检查字段是否合法');
  388. }
  389. }
  390. }, {
  391. text: '取消',
  392. handler: function () {
  393. me.close();
  394. }
  395. }]
  396. });
  397. me.callParent(arguments);
  398. },
  399. listeners: {
  400. boxready: function (win) {
  401. win.setLoading(true);
  402. var name = win.cname;
  403. saas.util.BaseUtil.request({
  404. url: win.getUUUrl,
  405. method: 'GET',
  406. params: {
  407. name: name
  408. }
  409. }).then(function (res) {
  410. var resData = res.data;
  411. var data = [];
  412. if (!Ext.Object.isEmpty(resData) && resData[name]) {
  413. data.push({
  414. name: name,
  415. uu: resData[name].uu
  416. });
  417. }
  418. win.setLoading(false);
  419. var grid = win.down('grid');
  420. var store = grid.store;
  421. store.loadData(data);
  422. }).catch(function (e) {
  423. win.setLoading(false);
  424. });
  425. }
  426. },
  427. onSave: function (values) {
  428. var view = this;
  429. var kind = view.kind;
  430. var main = values;
  431. var params = {
  432. codeModified: false,
  433. main: main,
  434. items: [],
  435. items1: [],
  436. items2: []
  437. };
  438. view.setLoading(true);
  439. saas.util.BaseUtil.request({
  440. url: view.saveUrl,
  441. params: JSON.stringify(params),
  442. method: 'POST'
  443. }).then(function (res) {
  444. view.setLoading(false);
  445. saas.util.BaseUtil.showSuccessToast('修改UU号成功');
  446. view.close();
  447. view.listView.refresh();
  448. }).catch(function (e) {
  449. view.setLoading(false);
  450. saas.util.BaseUtil.showErrorToast('修改UU号失败: ' + e.message);
  451. });
  452. },
  453. });