Commit 60bd2c30 authored by 何远江's avatar 何远江

订单变量导出修改

parent e1ccd40a
......@@ -136,6 +136,17 @@ export const apiOrderVarGetNewVars = (orderItemId: any) => {
});
};
/**
* 根据标量模板文件ID获取转换后变量
* @param orderItemId
* @returns
*/
export const apiOrderVarGetOrderNewVars = (orderItemId: any) => {
return axios.get("/api/orderVar/getOrderNewVars", {
params: { orderItemId }
});
};
/**
* 获取变量下拉数据
* @param orderItemId
......
......@@ -278,7 +278,7 @@ export function filterRunData(data: any, config: boolean = false) {
Reflect.set(rw, itm.title, itm.value)
titles.add(itm.title)
if (!Reflect.has(configs, itm.title) && config) {
configs[itm.title] = {...structuredClone(temConf), title: itm.title, }
configs[itm.title] = { ...structuredClone(temConf), title: itm.title }
}
})
// 是否有附加信息
......@@ -308,7 +308,6 @@ export function filterRunData(data: any, config: boolean = false) {
}
}
/**
* 解析后数据,处理表头和表格数据
* @param data
......@@ -331,7 +330,7 @@ export function filterRunData2(data: any, config: boolean = false) {
Reflect.set(rw, itm.title, itm.value)
titles.add(itm.title)
if (!Reflect.has(configs, itm.title) && config) {
configs[itm.title] = {...structuredClone(temConf), title: itm.title, }
configs[itm.title] = { ...structuredClone(temConf), title: itm.title }
}
})
......@@ -344,6 +343,51 @@ export function filterRunData2(data: any, config: boolean = false) {
}
}
export function filterVarData(data: any) {
const res: Recordable[] = []
const titles: Set<string> = new Set()
const baseFieldMap = {
imageName: '底图名称',
orderCodeNo: '销售单号+行项次',
orderNum: '参考数',
brandName: '品牌名称',
customerName: '客户名称',
quarter: '季度',
productCode: '产品编码'
}
titles
.add('底图名称')
.add('销售单号+行项次')
.add('参考数')
.add('品牌名称')
.add('客户名称')
.add('季度')
.add('产品编码')
data.forEach((row: any) => {
const rw: Recordable = {}
Reflect.set(rw, '底图名称', row['imageName'])
Reflect.set(rw, '销售单号+行项次', row['orderCodeNo'])
Reflect.set(rw, '参考数', row['orderNum'])
Reflect.set(rw, '品牌名称', row['brandName'])
Reflect.set(rw, '客户名称', row['customerName'])
Reflect.set(rw, '季度', row['quarter'])
Reflect.set(rw, '产品编码', row['productCode'])
// 变量信息
row.varOrder.order.forEach((itm: any) => {
Reflect.set(rw, itm.title, itm.value)
titles.add(itm.title)
})
res.push(rw)
})
return {
res,
titles: [...titles]
}
}
/**比较两个单元格是否是同一个 */
export function compareSameCell(c1, c2) {
return c1.sheet == c2.sheet && c1.row == c2.row && c1.colum == c2.colum
......
......@@ -122,13 +122,13 @@ import { nextTick, onMounted, reactive, ref } from 'vue'
import {
apiOrderVarPage,
apiOrderVarGetVars,
apiOrderVarGetNewVars,
apiOrderVarGetOrderNewVars,
apiOrderVarSaveUpload,
apiOrderVarRun
} from '@/api/var'
import type { VxeTableInstance } from 'vxe-table'
import TemplateVariable from './components/TemplateVariable.vue'
import { filterRunData2 } from '@/utils/excel'
import { filterVarData } from '@/utils/excel'
import { uploadFile } from '@/api/excel'
import { ElLoading, ElMessage } from 'element-plus'
import { exportExcel } from '@/utils/export-excel'
......@@ -159,8 +159,8 @@ const detailVariable = ref({
const currentRow = ref()
const handleShowVarRun = async (row: any) => {
currentRow.value = row
const { data } = await apiOrderVarGetNewVars(row.orderItemId)
const { res, titles } = filterRunData2(data.result || [], false)
const { data } = await apiOrderVarGetOrderNewVars(row.orderItemId)
const { res, titles } = filterVarData(data.result || [])
detailVariable.value.titles = titles
detailVariable.value.data = res
......
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