From 2e5fe5427d6db393e0495598ff43d90a052f4791 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 28 四月 2024 14:06:42 +0800 Subject: [PATCH] 2024-04-28 --- src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx | 40 ++++++++++++++++++++++++++-------------- 1 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx b/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx index 9d2efd2..46c3243 100644 --- a/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx +++ b/src/tabviews/custom/components/module/invoice/invoiceTable/index.jsx @@ -32,6 +32,9 @@ if (['bill_count', 'unitprice', 'amount_line'].includes(key)) { line[key] = value || 0 + if (isNaN(line[key])) { + line[key] = 0 + } if (line[key]) { if (key === 'bill_count') { line[key] = Math.round(line[key] * 10000000000) / 10000000000 @@ -51,6 +54,8 @@ line.bill_count = Math.round(line.amount_line / line.unitprice * 10000000000) / 10000000000 } } + } else if (key === 'amount_line') { + line.bill_count = 0 } if (line.amount_line) { @@ -87,16 +92,16 @@ <Input defaultValue={line.unit || ''} onChange={(e) => this.onChange(e.target.value, 'unit')}/> </div> <div className="mk-td"> - <InputNumber value={bill_count} onChange={(val) => this.setState({bill_count: val})} onBlur={(e) => this.onChange(e.target.value, 'bill_count')}/> + <InputNumber value={bill_count} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} parser={value => value.replace(/,*/g, '')} onChange={(val) => this.setState({bill_count: val})} onBlur={() => this.onChange(bill_count, 'bill_count')}/> </div> <div className="mk-td"> - <InputNumber value={unitprice} onChange={(val) => this.setState({unitprice: val})} onBlur={(e) => this.onChange(e.target.value, 'unitprice')}/> + <InputNumber value={unitprice} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} parser={value => value.replace(/,*/g, '')} onChange={(val) => this.setState({unitprice: val})} onBlur={() => this.onChange(unitprice, 'unitprice')}/> </div> <div className="mk-td"> - <InputNumber value={amount_line} onChange={(val) => this.setState({amount_line: val})} onBlur={(e) => this.onChange(e.target.value, 'amount_line')}/> + <InputNumber value={amount_line} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} parser={value => value.replace(/,*/g, '')} onChange={(val) => this.setState({amount_line: val})} onBlur={() => this.onChange(amount_line, 'amount_line')}/> </div> <div className="mk-td mk-right">{line.tax_name}</div> - <div className="mk-td mk-right">{line.tax_amount.toFixed(2)} <span className="del-line" onClick={() => delLine(line.uuid)}></span> </div> + <div className="mk-td mk-right">{line.tax_amount.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',')} <span className="del-line" onClick={() => delLine(line.uuid)}></span> </div> </div> } } @@ -233,9 +238,12 @@ data.forEach(item => { if (!item.productcode) return - price += item.amount_line - tax += item.tax_amount + price += item.amount_line * 100 + tax += item.tax_amount * 100 }) + + price = price / 100 + tax = tax / 100 this.setState({total: {price, tax, sum: price, sumName: this.changeMoneyToChinese(price)}}) } @@ -314,6 +322,10 @@ item.tax_rate = prod.tax_rate || 0 item.tax_name = prod.tax_rate * 100 + '%' + if (prod.vat_special_management && prod.free_tax_mark === 'true') { + item.tax_name = prod.vat_special_management + } + item.productcode = prod.productcode item.Description = prod.Description item.tax_classify_code = prod.tax_classify_code @@ -363,14 +375,14 @@ } return <div className="mk-tr" key={item.uuid} onClick={() => this.checkLine(item.uuid)}> - <div className="mk-td mk-left">{item.productname || '**'}</div> + <div className="mk-td mk-left">{item.productname || ''}</div> <div className="mk-td mk-left">{item.spec || ''}</div> <div className="mk-td mk-left">{item.unit || ''}</div> - <div className="mk-td mk-right">{item.bill_count || ''}</div> - <div className="mk-td mk-right">{item.unitprice || ''}</div> - <div className="mk-td mk-right">{item.amount_line || ''}</div> + <div className="mk-td mk-right">{`${item.bill_count || ''}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> + <div className="mk-td mk-right">{`${item.unitprice || ''}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> + <div className="mk-td mk-right">{`${item.amount_line || ''}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> <div className="mk-td mk-right">{item.tax_name}</div> - <div className="mk-td mk-right">{item.tax_amount.toFixed(2)}</div> + <div className="mk-td mk-right">{item.tax_amount.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',')}<span className="del-line" onClick={() => this.delLine(item.uuid)}></span></div> </div> })} <div className="mk-total"> @@ -379,14 +391,14 @@ <div className="mk-td"></div> <div className="mk-td"></div> <div className="mk-td"></div> - <div className="mk-td">锟total.price}</div> + <div className="mk-td">锟`${total.price}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> <div className="mk-td"></div> - <div className="mk-td">锟total.tax}</div> + <div className="mk-td">锟`${total.tax}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> </div> <div className="mk-upcase"> <div className="mk-td">浠风◣鍚堣锛堝ぇ鍐欙級</div> <div className="mk-td">{total.sumName}</div> - <div className="mk-td">锛堝皬鍐欙級锟total.sum}</div> + <div className="mk-td">锛堝皬鍐欙級锟`${total.sum}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}</div> </div> <Modal title="鍟嗗搧淇℃伅" -- Gitblit v1.8.0