Commit f2b9c528 authored by tanghao's avatar tanghao

订单转换分段走

parent 22b96f0c
...@@ -107,6 +107,15 @@ export const getConfByExcelOrderId = (excelOrderId: string) => { ...@@ -107,6 +107,15 @@ export const getConfByExcelOrderId = (excelOrderId: string) => {
}) })
} }
/** 根据订单文件获取订单字段配置 */
export const listSaleOrdersByExcelId = (excelOrderId: string) => {
return axios.get('/api/excelFileOrder/listSaleOrdersByExcelId', {
params: { excelOrderId },
headers: formHeader
})
}
/** 转换订单记录 */ /** 转换订单记录 */
export const convertOrderPage = (params: any) => { export const convertOrderPage = (params: any) => {
return axios.get('/api/convertOrder/page', { return axios.get('/api/convertOrder/page', {
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<vxe-column field="status_dictText" title="订单状态" width="120"></vxe-column> <vxe-column field="status_dictText" title="订单状态" width="120"></vxe-column>
<vxe-column field="createTime" title="创建时间" width="180"></vxe-column> <vxe-column field="createTime" title="创建时间" width="180"></vxe-column>
<vxe-column field="createBy_dictText" title="创建人" width="180"></vxe-column> <vxe-column field="createBy_dictText" title="创建人" width="180"></vxe-column>
<vxe-column field="action" title="操作" width="140"> <vxe-column field="action" title="操作" width="280">
<template #default="{ row }"> <template #default="{ row }">
<el-link style="font-size: 12px" type="primary" @click="toDetail(row)">查看</el-link> <el-link style="font-size: 12px" type="primary" @click="toDetail(row)">查看</el-link>
<el-link <el-link
...@@ -115,6 +115,11 @@ ...@@ -115,6 +115,11 @@
<el-link class="ml-1" style="font-size: 12px" type="primary" @click="exportTmp(row)" <el-link class="ml-1" style="font-size: 12px" type="primary" @click="exportTmp(row)"
>导出</el-link >导出</el-link
> >
<el-link class="ml-1" style="font-size: 12px" type="primary" @click="toSaleOrderDetail(row)"
>转换后</el-link
>
</template> </template>
</vxe-column> </vxe-column>
</vxe-table> </vxe-table>
...@@ -252,6 +257,33 @@ ...@@ -252,6 +257,33 @@
</template> </template>
</vxe-modal> </vxe-modal>
<vxe-modal esc-closable v-model="convertVisible" title="解析后的订单" width="80%" show-footer>
<vxe-table
border
size="mini"
height="500"
show-overflow="tooltip"
show-header-overflow="tooltip"
:data="convertData"
>
<vxe-column
width="160"
v-for="item in convertTableTitle"
:title="item"
:key="item"
:field="item"
/>
</vxe-table>
<template #footer>
<el-button @click="convertVisible = false">关闭</el-button>
</template>
</vxe-modal>
<CustomerModal v-model:visible="visible" @confirm="confirmCustomer" /> <CustomerModal v-model:visible="visible" @confirm="confirmCustomer" />
<UserModal v-model:visible="visibleUserModal" @confirm="confirmUser" /> <UserModal v-model:visible="visibleUserModal" @confirm="confirmUser" />
</template> </template>
...@@ -267,6 +299,7 @@ import { ...@@ -267,6 +299,7 @@ import {
getExcelFileOrderPage, getExcelFileOrderPage,
unconvertExcelFileOrder, unconvertExcelFileOrder,
getConfByExcelOrderId, getConfByExcelOrderId,
listSaleOrdersByExcelId,
saveConfExcelFileOrderPage, saveConfExcelFileOrderPage,
excelFileOrderExportExcel, excelFileOrderExportExcel,
excelFileOrderImportExcel excelFileOrderImportExcel
...@@ -300,6 +333,11 @@ const importVisible = ref(false) ...@@ -300,6 +333,11 @@ const importVisible = ref(false)
const excelChangeStore = useExcelChangeStore() const excelChangeStore = useExcelChangeStore()
const { getAllMapConfigs } = storeToRefs(excelChangeStore) const { getAllMapConfigs } = storeToRefs(excelChangeStore)
const { copyInfo, isCopying, handleCopy } = useOrderChangeCopy() const { copyInfo, isCopying, handleCopy } = useOrderChangeCopy()
const convertTableTitle = ref([])
const convertData = ref([])
/**查询参数 */ /**查询参数 */
const queryParams = reactive({ const queryParams = reactive({
status: '', status: '',
...@@ -342,6 +380,8 @@ const detailTable = ref<Recordable[]>([]) ...@@ -342,6 +380,8 @@ const detailTable = ref<Recordable[]>([])
/**表格title */ /**表格title */
const tableTitle = ref<string[]>([]) const tableTitle = ref<string[]>([])
const convertVisible = ref(false)
const statusOptions = ref([]) const statusOptions = ref([])
const queryDict = async (code: string) => { const queryDict = async (code: string) => {
...@@ -481,10 +521,11 @@ const confirmChange = async (row) => { ...@@ -481,10 +521,11 @@ const confirmChange = async (row) => {
const toDetail = async (row: any) => { const toDetail = async (row: any) => {
Object.assign(currentRow, row) Object.assign(currentRow, row)
const { res, titles, configs } = filterRunData(row.orders, true)
const { data } = await getConfByExcelOrderId(row.excelOrderId) const { data } = await getConfByExcelOrderId(row.excelOrderId)
data.result?.forEach((item: any) => { const { res, titles, configs } = filterRunData(data.result.orders, true)
data.result.confs?.forEach((item: any) => {
configs[item.title] = item configs[item.title] = item
}) })
// 排除通过循环不显示的column // 排除通过循环不显示的column
...@@ -504,6 +545,44 @@ const toDetail = async (row: any) => { ...@@ -504,6 +545,44 @@ const toDetail = async (row: any) => {
excelChangeStore.setAllMapConfigs(configs) excelChangeStore.setAllMapConfigs(configs)
} }
const toSaleOrderDetail = async (row: any) => {
const titles: string[] = []
const { data } = await listSaleOrdersByExcelId(row.excelOrderId)
let flatdatas: any = null
const record = data.result[0]
// 获取表头
for (const key in record) {
if (key == 'productProperties') {
if (record[key].length) {
flatdatas = {}
record[key].forEach((v) => {
titles.push(v.productPropertiesTitle)
flatdatas[v.productPropertiesTitle] = v.productPropertiesValue
})
}
} else {
titles.push(key)
}
}
convertTableTitle.value = titles
convertData.value = data.result?.map((item) => {
return {
...item,
...flatdatas
}
})
// 打开弹窗
convertVisible.value = true
}
/**批量删除行 */ /**批量删除行 */
const removeRows = async () => { const removeRows = async () => {
const list = xTable.value?.getCheckboxRecords() const list = xTable.value?.getCheckboxRecords()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment