This commit is contained in:
2026-10-14 12:14:29 +08:00
parent 0830d7a3a3
commit 6b30e35d07
2 changed files with 5 additions and 18 deletions
-16
View File
@@ -1,16 +0,0 @@
<!doctype html><meta charset="utf-8"><title>本地合箱接口验收</title>
<h1>本地合箱接口验收</h1><p>复用当前平台会话,只调用正式业务接口。</p>
<label>请求 JSON<textarea id="request" aria-label="请求 JSON" style="display:block;width:95%;height:200px"></textarea></label>
<button id="run">执行验收请求</button><pre id="result" style="white-space:pre-wrap"></pre>
<script type="module">
import {http} from '/src/shared/api/http.ts'
import {createPinia} from 'pinia'
import {useAuthStore} from '/src/core/auth/auth.ts'
const auth=useAuthStore(createPinia()); await auth.restoreSession()
document.querySelector('#run').onclick=async()=>{
const out=document.querySelector('#result');out.textContent='执行中';
try {const requests=JSON.parse(document.querySelector('#request').value);const results=[];
for(const request of Array.isArray(requests)?requests:[requests]) results.push(await http.request(request));
out.textContent=JSON.stringify(results,null,2)}catch(e){out.textContent=JSON.stringify({error:e.message,response:e.response?.data},null,2)}
}
</script>
@@ -182,9 +182,11 @@ const planCartonItemRows = computed(() => (planDetail.value?.completionCartons |
));
const planSourceRows = computed(() => (planDetail.value?.sources || []).flatMap(source => {
const original = source.originalItems?.length ? source.originalItems : source.items;
const existingTarget = planDetail.value?.status === 'COMPLETED' && planDetail.value.completionCartons?.some(carton => carton.cartonMark === source.cartonMark);
return original.map(item => {
const take = source.items.find(line => line.skuCode === item.skuCode)?.quantity || 0;
const take = existingTarget ? 0 : source.items.find(line => line.skuCode === item.skuCode)?.quantity || 0;
return { cartonMark: source.cartonMark, sourceReturnNo: source.sourceReturnNo, participation: source.participation,
role: existingTarget ? '目标原箱(保留)' : '取出来源',
skuCode: item.skuCode, originalQuantity: source.originalItems?.length ? item.quantity : null, take,
remaining: source.originalItems?.length ? item.quantity - take : null };
});
@@ -872,6 +874,7 @@ const tableColumns = computed(() =>
<el-table :data="planSourceRows" class="detail-items" empty-text="暂无来源箱明细">
<el-table-column prop="sourceReturnNo" label="来源退货单" min-width="210" />
<el-table-column prop="cartonMark" label="来源箱唛" min-width="230" />
<el-table-column prop="role" label="实际角色" min-width="140" />
<el-table-column label="参与方式" width="90"><template #default="{ row }">{{ row.participation === 'FULL' ? '整箱' : row.participation === 'PARTIAL' ? '部分' : '未留存' }}</template></el-table-column>
<el-table-column prop="skuCode" label="SKU" min-width="190" />
<el-table-column label="合箱前数量" width="110"><template #default="{ row }">{{ row.originalQuantity ?? '—' }}</template></el-table-column>
@@ -896,7 +899,7 @@ const tableColumns = computed(() =>
<el-table-column prop="quantity" label="数量" width="90" align="right" />
<el-table-column label="箱规 / 重量" min-width="190"><template #default="{ row }">{{ row.length ?? '—' }} × {{ row.width ?? '—' }} × {{ row.height ?? '—' }} cm / {{ row.weight ?? '—' }} kg</template></el-table-column>
<el-table-column label="合箱完成时间" min-width="170"><template #default>{{ planDetail.completedAt ? dayjs(planDetail.completedAt).format('YYYY-MM-DD HH:mm:ss') : '—' }}</template></el-table-column>
<el-table-column label="操作" width="100"><template #default="{ row }"><el-button class="density-action" data-tone="neutral" @click="printLabel(row.cartonMark)">打印箱唛</el-button></template></el-table-column>
<el-table-column label="操作" width="130"><template #default="{ row }"><el-button class="density-action" data-tone="neutral" :disabled="!planDetail.resultCartons?.some(carton => carton.cartonMark === row.cartonMark && carton.status !== 'MERGED' && carton.totalQuantity > 0)" @click="printLabel(row.cartonMark)">打印当前箱唛</el-button></template></el-table-column>
</el-table>
<el-table v-else :data="plannedItemRows" class="detail-items" empty-text="待 PDA 填写箱子明细">
<el-table-column prop="boxNo" label="箱序号" width="90" />