/** * 贴息开票申请-提交 */ import ApiModel from '@/utils/core/apiModel' // 表单信息 const formList = [ { type: 'input', label: '发票申请编号', value: '', name: 'invoiceSerialno', attrs: ['readonly'] }, // { // type: 'input', // label: '开票申请主题', // value: '', // name: 'invoiceTheMes', // rules: [{ required: true }] // }, { type: 'input', label: '开票申请说明', value: '', name: 'invoiceApplyState' }, { type: 'customer', label: '合作商名称', value: '', name: 'enterpriseName', rules: ['required'] }, // { // type: 'customer', // label: '选择合作商', // value: '', // name: 'enterprise', // attrs: ['readonly'] // }, { type: 'select', label: '开票类型', value: '', name: 'invoiceType', rules: ['required'], descName: 'invoiceTypeDesc' }, { type: 'input', label: '发票销售方', value: '', name: 'invoiceSeller', rules: ['required'] }, { type: 'input', label: '发票购买方', value: '', name: 'invoiceBuyer', rules: ['required'] }, { type: 'input', label: '发票购买方地址', value: '', name: 'taxpayerAddress' }, { type: 'input', label: '发票购买方电话', value: '', name: 'taxpayerPhone' }, // { // type: 'input', // label: '发票邮寄地址', // value: '', // name: 'mailingAddress' // }, // { // type: 'select', // label: '发票邮寄方式', // value: '', // name: 'orderWay', // rules: ['required'], // descName: 'orderWayDesc' // }, // { // type: 'input', // label: '发票联系人', // value: '', // name: 'contactsName' // }, { type: 'select', label: '发票购买方开户银行', value: '', name: 'taxpayerBankCode', descName: 'taxpayerBankName' }, { type: 'input', label: '发票购买方银行账户', value: '', name: 'taxpayerAccount' }, { type: 'input', label: '发票购买方纳税识别号', value: '', name: 'taxpayerIdentifier', rules: ['required'] }, { type: 'input', label: '发票购买方联系电话', value: '', name: 'contactsPhone' }, { type: 'input', label: '发票接受邮箱', value: '', name: 'email' }, // { // type: 'input', // label: '纳税人地址', // value: '', // name: 'taxpayerAddress' // }, { type: 'input', label: '开票申请金额', value: '', name: 'applyMoney', attrs: ['readonly'], isMoney: true } ] // 详情表单信息 const detailList = [ { type: 'input', label: '发票代码', value: '', name: 'orderCode', rules: ['required'] }, { type: 'input', label: '发票金额', value: '', name: 'orderMoney', rules: ['required'], isMoney: true }, { type: 'date', label: '开票日期', value: '', name: 'createDate', rules: ['required'] }, { type: 'input', label: '已关联贴息金额', value: '', name: 'relativeAmount', attrs: ['readonly'], isMoney: true }, { type: 'input', label: '未关联贴息金额', value: '', name: 'unRelativeAmount', attrs: ['readonly'], isMoney: true } ] // 100 申请贴息开票,101 贴息开票受理,102 财务贴息开票,103 贴息开票明细查询, export default (options = {}) => { // 接口地址: required const api = 'server/submitDiscountInvoice' const { pageId, transCode } = options let temp = [...formList] let readonlyKeys = [] let noRequiredKeys = [] if (pageId === '101') { readonlyKeys = ['enterpriseName'] noRequiredKeys = ['invoiceType'] } if (pageId === '102') { // 贴息开票调整 const arr = transCode === 'DI0003' ? ['orderCode', 'orderMoney', 'createDate'] : [] readonlyKeys = [...arr, ...formList.map(({ name }) => name)] temp = [...formList, ...detailList] } temp = temp.map(item => { const { name, type } = item if (readonlyKeys.includes(name)) { return { ...item, type: type === 'customer' ? 'input' : type, attrs: ['readonly'], rules: [] } } if (noRequiredKeys.includes(item.name)) { return { ...item, attrs: [], rules: [] } } return { ...item } }) return new ApiModel({ api, formList: temp, request(body) { return this.post(body) } }) }