备货单 添加 加价 将内勤专属 移到打印查看里面

This commit is contained in:
浅念
2025-10-24 14:45:15 +08:00
parent cd1bbca4a6
commit 631ca4ec30
11 changed files with 544 additions and 129 deletions
+15 -2
View File
@@ -86,7 +86,12 @@
<ElForm ref="formRef" :model="poForm" :rules="poRules" label-width="120px" class="form">
<ElFormItem label="PI号" prop="pi_no">
<ElSelect v-model="poForm.pi_no" placeholder="请选择PI号" style="width: 100%">
<ElOption v-for="pi in piOptions" :key="pi.pi_no" :value="pi.pi_no" />
<ElOption
v-for="pi in piOptions"
:key="pi.pi_no"
:value="pi.pi_no"
:label="pi.pi_nosnapshot"
/>
</ElSelect>
</ElFormItem>
@@ -366,7 +371,15 @@
const loadOptions = async () => {
try {
const res = await purchaseService.purchaseorderpredata({ scene: 'pi_no' })
piOptions.value = res || []
const list = Array.isArray(res) ? res : []
if (Array.isArray(list)) {
list.forEach((item: any) => {
item.pi_nosnapshot = item.pi_no + '(' + item.salesperson_snapshot + ')'
})
piOptions.value = list
} else {
piOptions.value = res
}
} catch {
piOptions.value = []
}
+22 -7
View File
@@ -85,14 +85,14 @@
>
<i class="iconfont-sys">&#xe728;</i> 查看审批
</el-link>
<el-link
<!-- <el-link
type="primary"
underline="never"
@click="handleViewnq(scope.row)"
style="margin-right: 8px;color: #750AF8"
>
<i class="iconfont-sys">&#xe76c;</i> 内勤专用
</el-link>
</el-link> -->
</ElRow>
</template>
</ElTableColumn>
@@ -135,7 +135,7 @@
top="40px"
:close-on-click-modal="false"
>
<div style="max-height: 70vh; display: flex; flex-direction: column; gap: 12px">
<div style="max-height: 50vh; display: flex; flex-direction: column; gap: 12px">
<div style="display: flex; justify-content: flex-end; gap: 8px">
<el-button @click="download" v-if="isFinites">下载</el-button>
</div>
@@ -157,6 +157,13 @@
style="flex: 1; width: 100%; border: 1px solid #eee; border-radius: 6px;"
/>
</div>
<div class="inter-view">
<InternalStaffViews
v-model:visible="pdf.visible"
:vehicle-data="nqData"
:default-currency="nqCurrency"
/>
</div>
</el-dialog>
<el-dialog
v-model="timelineDialogVisible"
@@ -172,11 +179,11 @@
</div>
</el-dialog>
<!-- 内勤查看弹窗 -->
<InternalStaffView
<!-- <InternalStaffView
v-model:visible="nqDialogVisible"
:vehicle-data="nqData"
:default-currency="nqCurrency"
/>
/> -->
</div>
</template>
@@ -190,7 +197,8 @@
import type { OrderData } from '@/composables/useOrderDetailDialog'
import { usePdfPreview } from '@/composables/usePdfPreview'
import FilePreview from '@/components/custom/FilePreview.vue'
import InternalStaffView from '@/components/custom/InternalStaffView.vue'
// import InternalStaffView from '@/components/custom/InternalStaffView.vue'
import InternalStaffViews from '@/components/custom/InternalStaffViews.vue'
const timelineDialogVisible = ref(false)
const approvalRecords = ref<any[]>([])
const isFinites = ref(false)
@@ -274,6 +282,7 @@
} else {
isFinites.value = false
}
handleViewnq(row)
manageService
.printStock({ id: row.id })
.then((res) => {
@@ -315,7 +324,7 @@
port_fee_currency: it.port_misc_fee?.currency || it.port_fee_currency,
model: it.model_snapshot
}))
nqDialogVisible.value = true
// nqDialogVisible.value = true
}
// 文件数据
const contractFiles = ref<Array<{ name: string; url: string; file_name: string }>>([])
@@ -547,4 +556,10 @@
font-size: 48px;
color: #ddd;
}
.inter-view {
margin-top: 10px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 10px;
}
</style>
+21 -14
View File
@@ -93,14 +93,6 @@
>
<i class="iconfont-sys">&#xe728;</i> 查看审批
</el-link>
<el-link
type="primary"
underline="never"
@click="handleViewnq(scope.row)"
style="margin-right: 8px;color: #750AF8;"
>
<i class="iconfont-sys">&#xe76c;</i> 内勤专用
</el-link>
</ElRow>
</template>
</ElTableColumn>
@@ -116,7 +108,7 @@
top="40px"
:close-on-click-modal="false"
>
<div style="max-height: 70vh; display: flex; flex-direction: column; gap: 12px">
<div style="max-height: 50vh; display: flex; flex-direction: column; gap: 12px">
<div style="display: flex; justify-content: flex-end; gap: 8px;">
<el-button @click="download" v-if="isFinites">下载</el-button>
</div>
@@ -138,6 +130,13 @@
style="flex: 1; width: 100%; border: 1px solid #eee; border-radius: 6px;"
/>
</div>
<div class="inter-view">
<InternalStaffViews
v-model:visible="pdf.visible"
:vehicle-data="nqData"
:default-currency="nqCurrency"
/>
</div>
</el-dialog>
<!-- 订单详情弹窗(使用公共内容组件) -->
<el-dialog
@@ -181,11 +180,11 @@
</div>
</el-dialog>
<!-- 内勤查看弹窗 -->
<InternalStaffView
<!-- <InternalStaffView
v-model:visible="nqDialogVisible"
:vehicle-data="nqData"
:default-currency="nqCurrency"
/>
/> -->
</div>
</template>
@@ -196,10 +195,11 @@
import ApprovalTimeline from '@/components/custom/ApprovalTimeline.vue'
import type { OrderData } from '@/composables/useOrderDetailDialog'
import FilePreview from '@/components/custom/FilePreview.vue'
import InternalStaffView from '@/components/custom/InternalStaffView.vue'
// import InternalStaffView from '@/components/custom/InternalStaffView.vue'
import InternalStaffViews from '@/components/custom/InternalStaffViews.vue'
const timelineDialogVisible = ref(false)
const approvalRecords = ref<any[]>([])
const nqDialogVisible = ref(false)
// const nqDialogVisible = ref(false)
const nqCurrency = ref('')
const nqData = ref<any[]>([])
const isFinites = ref(false)
@@ -466,6 +466,7 @@
} else {
isFinites.value = false
}
handleViewnq(row)
manageService
.printStock({ id: row.id })
.then((res) => {
@@ -530,7 +531,7 @@
port_fee_currency: it.port_misc_fee?.currency || it.port_fee_currency,
model: it.model_snapshot
}))
nqDialogVisible.value = true
// nqDialogVisible.value = true
}
</script>
@@ -667,5 +668,11 @@
word-break: break-all;
max-width: 100%;
}
.inter-view {
margin-top: 10px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 10px;
}
</style>