1
This commit is contained in:
@@ -11,6 +11,14 @@ export function listJDOrders(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 快捷录单页:型号及该型号最近一次订单的付款/后返 */
|
||||||
|
export function listQuickRecordModelOptions() {
|
||||||
|
return request({
|
||||||
|
url: '/system/jdorder/quickRecord/modelOptions',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// JD订单详情
|
// JD订单详情
|
||||||
export function getJDOrder(id) {
|
export function getJDOrder(id) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -14,7 +14,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="型号" required>
|
<el-form-item label="型号" required>
|
||||||
<el-input v-model="form.model" placeholder="必填" clearable />
|
<el-select
|
||||||
|
v-model="form.model"
|
||||||
|
class="model-select-full"
|
||||||
|
filterable
|
||||||
|
allow-create
|
||||||
|
default-first-option
|
||||||
|
clearable
|
||||||
|
placeholder="必选或输入新型号;从历史单选时将带出最近一单付款 / 后返"
|
||||||
|
@change="onModelChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in modelOptions"
|
||||||
|
:key="item.modelNumber"
|
||||||
|
:label="modelOptionLabel(item)"
|
||||||
|
:value="item.modelNumber"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="下单地址" required>
|
<el-form-item label="下单地址" required>
|
||||||
<el-input
|
<el-input
|
||||||
@@ -90,6 +106,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { executeInstruction, executeInstructionWithForce } from '@/api/system/instruction'
|
import { executeInstruction, executeInstructionWithForce } from '@/api/system/instruction'
|
||||||
|
import { listQuickRecordModelOptions } from '@/api/system/jdorder'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'FadanQuickRecord',
|
name: 'FadanQuickRecord',
|
||||||
@@ -121,9 +138,13 @@ export default {
|
|||||||
verifyInput: '',
|
verifyInput: '',
|
||||||
verifyMessage: '',
|
verifyMessage: '',
|
||||||
verifyLoading: false,
|
verifyLoading: false,
|
||||||
pendingCommand: ''
|
pendingCommand: '',
|
||||||
|
modelOptions: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
this.loadModelOptions()
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
dialogWidth() {
|
dialogWidth() {
|
||||||
return this.isMobile ? '92%' : '480px'
|
return this.isMobile ? '92%' : '480px'
|
||||||
@@ -151,6 +172,40 @@ export default {
|
|||||||
normalizeAddressField() {
|
normalizeAddressField() {
|
||||||
this.form.address = this.compressAddressOneLine(this.form.address)
|
this.form.address = this.compressAddressOneLine(this.form.address)
|
||||||
},
|
},
|
||||||
|
formatMoneyText(v) {
|
||||||
|
if (v == null || v === '') return ''
|
||||||
|
const n = Number(v)
|
||||||
|
if (!Number.isFinite(n)) return ''
|
||||||
|
return n.toFixed(2)
|
||||||
|
},
|
||||||
|
modelOptionLabel(row) {
|
||||||
|
if (!row || !row.modelNumber) return ''
|
||||||
|
const p = this.formatMoneyText(row.lastPaymentAmount)
|
||||||
|
const r = this.formatMoneyText(row.lastRebateAmount)
|
||||||
|
if (!p && !r) return row.modelNumber
|
||||||
|
return `${row.modelNumber}(付款 ${p || '—'} / 后返 ${r || '—'})`
|
||||||
|
},
|
||||||
|
async loadModelOptions() {
|
||||||
|
try {
|
||||||
|
const res = await listQuickRecordModelOptions()
|
||||||
|
if (!(res && (res.code === 200 || res.msg === '操作成功'))) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.modelOptions = Array.isArray(res.data) ? res.data : []
|
||||||
|
} catch (e) {
|
||||||
|
// 静默失败,不影响手输型号
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onModelChange(val) {
|
||||||
|
const key = (val != null ? String(val) : '').trim()
|
||||||
|
if (!key) return
|
||||||
|
const hit = this.modelOptions.find(o => o && String(o.modelNumber || '').trim() === key)
|
||||||
|
if (!hit) return
|
||||||
|
const payRaw = hit.lastPaymentAmount
|
||||||
|
const rebateRaw = hit.lastRebateAmount
|
||||||
|
this.form.paymentText = payRaw != null && payRaw !== '' ? this.formatMoneyText(payRaw) : ''
|
||||||
|
this.form.rebateText = rebateRaw != null && rebateRaw !== '' ? this.formatMoneyText(rebateRaw) : ''
|
||||||
|
},
|
||||||
buildCommand() {
|
buildCommand() {
|
||||||
const mark = this.buildDistributionMark()
|
const mark = this.buildDistributionMark()
|
||||||
const model = (this.form.model || '').trim()
|
const model = (this.form.model || '').trim()
|
||||||
@@ -444,6 +499,15 @@ export default {
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.model-select-full {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.model-select-full ::v-deep .el-input__inner,
|
||||||
|
.model-select-full ::v-deep .el-input__prefix {
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-row {
|
.btn-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|||||||
Reference in New Issue
Block a user