This commit is contained in:
van
2026-04-10 00:29:10 +08:00
parent 416a7d77f5
commit 5e7b213497
4 changed files with 338 additions and 61 deletions

View File

@@ -297,9 +297,21 @@
<span class="field-label">订单号</span>
<span class="field-value">{{ row.orderId }}</span>
</div>
<div class="field-row" v-if="row.thirdPartyOrderNo">
<div class="field-row field-row--third-party">
<span class="field-label">第三方单号</span>
<span class="field-value">{{ row.thirdPartyOrderNo }}</span>
<template v-if="row.thirdPartyOrderNo">
<span class="field-value">{{ row.thirdPartyOrderNo }}</span>
</template>
<div v-else class="field-value field-value--third-party-edit">
<el-input
v-model="row.thirdPartyOrderNo"
size="small"
clearable
placeholder="可粘贴,失焦或点保存写入"
@blur="onThirdPartyOrderNoBlur(row)"
/>
<el-button type="primary" size="mini" plain @click="onThirdPartyOrderNoSave(row)">保存</el-button>
</div>
</div>
<div class="field-row">
<span class="field-label">标记</span>
@@ -466,10 +478,20 @@
<!-- 核心信息列 -->
<el-table-column label="内部单号" prop="remark" width="120" sortable :fixed="isMobile ? false : 'left'"/>
<el-table-column label="订单号" prop="orderId" width="160"/>
<el-table-column label="第三方单号" prop="thirdPartyOrderNo" width="140">
<el-table-column label="第三方单号" prop="thirdPartyOrderNo" min-width="188">
<template slot-scope="scope">
<span v-if="scope.row.thirdPartyOrderNo">{{ scope.row.thirdPartyOrderNo }}</span>
<span v-else style="color: #999;">-</span>
<template v-if="scope.row.thirdPartyOrderNo">
<span>{{ scope.row.thirdPartyOrderNo }}</span>
</template>
<div v-else class="jd-third-party-empty">
<el-input
v-model="scope.row.thirdPartyOrderNo"
size="mini"
clearable
placeholder="粘贴后失焦保存"
@blur="onThirdPartyOrderNoBlur(scope.row)"
/>
</div>
</template>
</el-table-column>
@@ -1678,6 +1700,22 @@ export default {
this.getList()
})
},
/** 第三方单号为空时粘贴补录:去空白后写入 */
saveThirdPartyOrderNoIfFilled(row, successMsg) {
const v = row.thirdPartyOrderNo == null ? '' : String(row.thirdPartyOrderNo).trim().replace(/\s+/g, '')
if (!v) {
row.thirdPartyOrderNo = ''
return
}
row.thirdPartyOrderNo = v
this.persistOrderRow(row, successMsg)
},
onThirdPartyOrderNoBlur(row) {
this.saveThirdPartyOrderNoIfFilled(row)
},
onThirdPartyOrderNoSave(row) {
this.saveThirdPartyOrderNoIfFilled(row, '第三方单号已保存')
},
onOrderSellingPriceTypeChange(row) {
row.sellingPriceManual = 0
row.profitManual = 0
@@ -3944,6 +3982,31 @@ export default {
overflow-x: auto;
overflow-y: hidden;
}
/* 第三方单号为空:表格内粘贴补录 */
.jd-third-party-empty {
display: flex;
align-items: center;
gap: 6px;
width: 100%;
min-width: 0;
}
.jd-third-party-empty ::v-deep .el-input {
flex: 1;
min-width: 0;
}
/* 移动端卡片:第三方单号补录 */
.field-value--third-party-edit {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
width: 100%;
}
.field-value--third-party-edit ::v-deep .el-button {
align-self: flex-start;
}
</style>