Ext.define('saas.view.purchase.purchaseIn.FormPanel', { extend: 'saas.view.core.form.FormPanel', xtype: 'purchase-purchasein-formpanel', controller: 'purchase-purchasein-formpanel', viewModel: 'purchase-purchasein-formpanel', viewName: 'purchase-purchasein-formpanel', caller: 'PurchaseIn', //字段属性 _title: '采购验收单', _idField: 'id', _codeField: 'pi_inoutno', _statusField: 'pi_status', _statusCodeField: 'pi_statuscode', _auditmanField: 'pi_auditman', _auditdateField: 'pi_auditdate', _relationColumn: 'pd_piid', _readUrl: '/api/purchase/prodinout/read', _saveUrl: '/api/purchase/prodinout/save', _auditUrl: '/api/purchase/prodinout/audit', _unAuditUrl: '/api/purchase/prodinout/unAudit', _deleteUrl: '/api/purchase/prodinout/delete', _turnOutUrl: '/api/purchase/prodinout/turnProdOut', initId: 0, initComponent: function () { Ext.apply(this, { toolBtns: [{ xtype: 'button', text: '转采购验退单', hidden: true, bind: { hidden: '{turnHidden}' }, handler: 'turnOut' }], defaultItems: [{ xtype: 'hidden', name: 'id', fieldLabel: 'id', allowBlank: true, columnWidth: 0 }, { xtype: "hidden", name: "pi_class", fieldLabel: "单据类型", readOnly: true, allowBlank: true, columnWidth: 0.25 }, { xtype: "hidden", name: "pi_vendid", fieldLabel: "供应商ID", allowBlank: true, columnWidth: 0.0 }, { xtype: 'hidden', name: 'pi_vendcode', fieldLabel: '供应商编号' }, { xtype: 'vendorDbfindTrigger', name: 'pi_vendname', fieldLabel: '供应商名称', allowBlank: false, columnWidth: 0.5 }, { xtype: 'condbfindtrigger', fieldLabel: '币别汇率', allowBlank: false, dbType: 'currencyDbfindTrigger', dbfinds: [{ from: 'cr_name', to: 'pi_currency' }, { from: 'cr_rate', to: 'pi_rate' }], defaultValue: { pi_currency: 'RMB', pi_rate: 1 }, supFieldConfig: { xtype: 'numberfield', readOnly: false, defaultReadOnly: false, defaultValue: 1, decimalPrecision: 6, vtype: 'positiveNumber' }, }, { xtype: "datefield", name: "pi_date", fieldLabel: "单据日期", allowBlank: false, columnWidth: 0.25, defaultValue: new Date() },{ xtype: "hidden", name: "pi_puid", fieldLabel: "采购单id", allowBlank: true, columnWidth: 0.25 }, { xtype: "hidden", name: "pi_pucode", fieldLabel: "采购单号", allowBlank: true, columnWidth: 0.25 }, { name: "detailGridField", xtype: "detailGridField", storeModel: 'saas.model.purchase.ProdInDetail', deleteDetailUrl: '/api/purchase/prodinout/deleteDetail', detnoColumn: 'pd_pdno', columns: [{ text: "id", dataIndex: "id", xtype: "numbercolumn", hidden: true }, { text: "物料id", dataIndex: "pd_prodid", xtype: "numbercolumn", hidden: true }, { text: "物料编号", width: 150.0, dataIndex: "pd_prodcode", xtype: "", items: null, allowBlank: false, editor: { displayField: "display", editable: true, format: "", hideTrigger: false, maxLength: 100.0, minValue: null, positiveNum: false, queryMode: "local", store: null, valueField: "value", xtype: "productMultiDbfindTrigger" } }, { text: "品牌", width: 100.0, dataIndex: "pr_brand", ignore: true, renderer: function (v, m, r) { if (!v) { return r.data["productDTO"] ? r.data["productDTO"][m.column.dataIndex] : null; } return v; } }, { text: "物料名称", width: 150.0, dataIndex: "pr_detail", ignore: true, renderer: function (v, m, r) { if (!v) { return r.data["productDTO"] ? r.data["productDTO"][m.column.dataIndex] : null; } return v; } }, { text: "型号", width: 200.0, dataIndex: "pr_orispeccode", ignore: true, renderer: function (v, m, r) { if (!v) { return r.data["productDTO"] ? r.data["productDTO"][m.column.dataIndex] : null; } return v; } }, { text: "规格", width: 200, dataIndex: "pr_spec", ignore: true, renderer: function (v, m, r) { if (!v) { return r.data["productDTO"] ? r.data["productDTO"][m.column.dataIndex] : null; } return v; } }, { text: 'model映射需要', dataIndex: 'productDTO', hidden: true, }, { text: "仓库id", dataIndex: "pd_whid", xtype: "numbercolumn", hidden: true }, { text: "仓库编号", dataIndex: "pd_whcode", hidden: true }, { text: "仓库", dataIndex: "pd_whname", width: 110.0, allowBlank: false, editor: { displayField: "display", editable: true, format: "", hideTrigger: false, maxLength: 100.0, minValue: null, positiveNum: false, queryMode: "local", store: null, valueField: "value", xtype: "warehouseDbfindTrigger" } }, { text: "数量", dataIndex: "pd_inqty", xtype: 'numbercolumn', width: 110.0, allowBlank: false, editor: { xtype: "numberfield", decimalPrecision: 3, minValue: 0 }, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 3, false); }, summaryType: 'sum', summaryRenderer: function(v, d, f, m) { return saas.util.BaseUtil.numberFormat(v, 3, false); } }, { text: "单位", width: 65.0, dataIndex: "pr_unit", ignore: true, renderer: function (v, m, r) { if (!v) { return r.data["productDTO"] ? r.data["productDTO"][m.column.dataIndex] : null; } return v; } }, { text: "单价(元)", xtype: 'numbercolumn', width: 120, editor: { xtype: "numberfield", decimalPrecision: 4, minValue: 0 }, dataIndex: "pd_netprice", width: 120, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 4, true); }, }, { text: "含税单价(元)", xtype: 'numbercolumn', width: 120, editor: { xtype: "numberfield", decimalPrecision: 4, minValue: 0 }, dataIndex: "pd_orderprice", width: 120.0, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 4, true); }, listeners: { edit: function (value, grid) { var r = grid.getSelection()[0], pd_taxrate = r.get('pd_taxrate'); var v = value / (1 + pd_taxrate / 100); r.set('pd_netprice', Number(saas.util.BaseUtil.numberFormat(v, 4, false))); } } }, { text: "金额(元)", xtype: 'numbercolumn', dataIndex: "pd_nettotal", width: 120, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'sum', summaryRenderer: function(v, d, f, m) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { xtype: 'numbercolumn', text: "税率(%)", dataIndex: "pd_taxrate", width: 80, editor: { xtype: "numberfield", decimalPrecision: 0, minValue: 0, maxValue: 100 }, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 2, false); }, }, { text: "税额(元)", xtype: 'numbercolumn', dataIndex: "pd_taxamount", width: 120, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'sum', summaryRenderer: function(v, d, f, m) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { text: "价税合计(元)", xtype: 'numbercolumn', dataIndex: "pd_ordertotal", width: 120, renderer: function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'sum', summaryRenderer: function(v, d, f, m) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { text: "关联采购单号", dataIndex: "pd_ordercode", width: 150.0, ignore: true, }, { text: "备注", dataIndex: "pd_remark", width: 250, items: null, editor: { xtype: "textfield" } }, { dataIndex: "pd_text1", text: "自定义字段1", width: 100, hidden: true, initHidden: false, editor: { xtype: "textfield" }, }, { dataIndex: "pd_text2", text: "自定义字段2", width: 100, hidden: true, initHidden: false, editor: { xtype: "textfield" }, }, { dataIndex: "pd_text3", text: "自定义字段3", width: 100, hidden: true, initHidden: false, editor: { xtype: "textfield" }, }, { dataIndex: "pd_text4", text: "自定义字段4", width: 100, hidden: true, initHidden: false, editor: { xtype: "textfield" }, }, { dataIndex: "pd_text5", text: "自定义字段5", width: 100, hidden: true, initHidden: false, editor: { xtype: "textfield" }, }] }, { xtype: "textfield", name: "pi_remark", fieldLabel: "备注", columnWidth: 1 }, { xtype: "numberfield", name: "pi_nettotal", fieldLabel: "金额(元)", readOnly: true, thousandSeparator: ',', columnWidth: 0.25 }, { xtype: "numberfield", name: "pi_total", fieldLabel: "价税合计(元)", readOnly: true, thousandSeparator: ',', columnWidth: 0.25 }, { xtype: "hidden", name: "pi_buyercode", fieldLabel: "采购员编号" }, { xtype: "employeeDbfindTrigger", name: "pi_buyername", fieldLabel: "采购员", columnWidth: 0.25 }, { xtype: "hidden", name: "pi_buyerid", fieldLabel: "采购员ID" }, { xtype: "hidden", name: "creatorId", fieldLabel: "录入人ID", readOnly: true }, { xtype: "textfield", name: "creatorName", fieldLabel: "录入人", readOnly: true }, { xtype: "datefield", name: "createTime", fieldLabel: "录入日期", readOnly: true, defaultValue: new Date() }, { xtype: "hidden", name: "updaterId", fieldLabel: "更新人ID", readOnly: true }, { xtype: "hidden", name: "updaterName", fieldLabel: "更新人", readOnly: true }, { xtype: "hidden", name: "updateTime", fieldLabel: "更新日期", readOnly: true, defaultValue: new Date() }, { xtype: "textfield", name: "pi_auditman", fieldLabel: "审核人", readOnly: true }, { xtype: "datefield", name: "pi_auditdate", fieldLabel: "审核日期", readOnly: true }, { xtype: "textfield", name: "pi_text1", fieldLabel: "自定义字段1", hidden: true, initHidden: false }, { xtype: "textfield", name: "pi_text2", fieldLabel: "自定义字段2", hidden: true, initHidden: false }, { xtype: "textfield", name: "pi_text3", fieldLabel: "自定义字段3", hidden: true, initHidden: false }, { xtype: "textfield", name: "pi_text4", fieldLabel: "自定义字段4", hidden: true, initHidden: false }, { xtype: "textfield", name: "pi_text5", fieldLabel: "自定义字段5", hidden: true, initHidden: false }], }); this.callParent(arguments); }, beforeAudit: function () { var me = this, viewModel = me.getViewModel(), grid = me.down('detailGridField'), data = grid.getTrueData(); Ext.Array.each(data, function (item) { if (item.pd_orderprice == 0) { saas.util.BaseUtil.showErrorToast(item.pd_pdno + '行' + item.pd_prodcode + '物料单价为0'); } }); return true; } });