Commit 027da0f0 authored by 何远江's avatar 何远江

添加查询条件

parent 651822a1
...@@ -156,7 +156,7 @@ const setAreaTitle = () => { ...@@ -156,7 +156,7 @@ const setAreaTitle = () => {
const [sc, ec] = sheet.luckysheet_select_save[0].column const [sc, ec] = sheet.luckysheet_select_save[0].column
const rangeData = luckysheet.getRangeValue() const rangeData = luckysheet.getRangeValue()
const titles = isPublic const titles = isPublic
? handleRangeCell(rangeData) ? handleRangeTitle(rangeData)
: handleRangeTitle(rangeData).map((item) => { : handleRangeTitle(rangeData).map((item) => {
Reflect.set(item, 'numTitle', '') Reflect.set(item, 'numTitle', '')
Reflect.set(item, 'numFlag', 'N') Reflect.set(item, 'numFlag', 'N')
......
...@@ -156,7 +156,7 @@ const setAreaTitle = () => { ...@@ -156,7 +156,7 @@ const setAreaTitle = () => {
const [sc, ec] = sheet.luckysheet_select_save[0].column const [sc, ec] = sheet.luckysheet_select_save[0].column
const rangeData = luckysheet.getRangeValue() const rangeData = luckysheet.getRangeValue()
const titles = isPublic const titles = isPublic
? handleRangeCell(rangeData) ? handleRangeTitle(rangeData)
: handleRangeTitle(rangeData).map((item) => { : handleRangeTitle(rangeData).map((item) => {
Reflect.set(item, 'numTitle', '') Reflect.set(item, 'numTitle', '')
Reflect.set(item, 'numFlag', 'N') Reflect.set(item, 'numFlag', 'N')
......
...@@ -2,8 +2,21 @@ ...@@ -2,8 +2,21 @@
<div class="w-full h-full bg-white p-4"> <div class="w-full h-full bg-white p-4">
<p class="font-bold text-lg leading-10 border-b-2">订单项次列表</p> <p class="font-bold text-lg leading-10 border-b-2">订单项次列表</p>
<el-form class="pt-4" :inline="true" :model="formState"> <el-form class="pt-4" :inline="true" :model="formState">
<el-form-item label="产品编码">
<el-input v-model="formState.productCode" placeholder="产品编码"></el-input>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="formState.customerName" placeholder="客户名称"></el-input>
</el-form-item>
<el-form-item label="订单编码">
<el-input v-model="formState.orderCode" placeholder="订单编码"></el-input>
</el-form-item>
<el-form-item label="订单项次">
<el-input v-model="formState.orderItemNo" placeholder="订单项次"></el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onQuery">查询</el-button> <el-button type="primary" @click="onQuery">查询</el-button>
<el-button type="info" @click="onReset">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -20,12 +33,7 @@ ...@@ -20,12 +33,7 @@
<template #default>尺码信息</template> <template #default>尺码信息</template>
<template #content="{ row }"> <template #content="{ row }">
<div style="padding: 10px"> <div style="padding: 10px">
<vxe-table <vxe-table :data="row.sizeList" size="mini" max-height="300px" style="width: 300px">
:data="row.sizeList"
size="mini"
max-height="300px"
style="width: 300px"
>
<vxe-column field="size" title="尺码"></vxe-column> <vxe-column field="size" title="尺码"></vxe-column>
<vxe-column field="num" title="尺码数量"></vxe-column> <vxe-column field="num" title="尺码数量"></vxe-column>
</vxe-table> </vxe-table>
...@@ -35,34 +43,14 @@ ...@@ -35,34 +43,14 @@
<vxe-column field="orderNo" title="订单编码" width="120"></vxe-column> <vxe-column field="orderNo" title="订单编码" width="120"></vxe-column>
<vxe-column field="rowNo" title="项次行" width="120"></vxe-column> <vxe-column field="rowNo" title="项次行" width="120"></vxe-column>
<vxe-column field="brandName" title="品牌名称" width="180"></vxe-column> <vxe-column field="brandName" title="品牌名称" width="180"></vxe-column>
<vxe-column <vxe-column field="customerName" title="客户名称" width="240"></vxe-column>
field="customerName" <vxe-column field="productType" title="产品类型" width="120"></vxe-column>
title="客户名称" <vxe-column field="productCode" title="产品编码" width="120"></vxe-column>
width="240" <vxe-column field="productName" title="产品名称" width="240"></vxe-column>
></vxe-column>
<vxe-column
field="productType"
title="产品类型"
width="120"
></vxe-column>
<vxe-column
field="productCode"
title="产品编码"
width="120"
></vxe-column>
<vxe-column
field="productName"
title="产品名称"
width="240"
></vxe-column>
<vxe-column title="操作" width="240"> <vxe-column title="操作" width="240">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="text" size="small" @click="handleImportVar(row)" <el-button type="text" size="small" @click="handleImportVar(row)">上传变量</el-button>
>上传变量</el-button <el-button type="text" size="small" @click="handleShowVarRun(row)">查看解析</el-button>
>
<el-button type="text" size="small" @click="handleShowVarRun(row)"
>查看解析</el-button
>
</template> </template>
</vxe-column> </vxe-column>
</vxe-table> </vxe-table>
...@@ -74,14 +62,7 @@ ...@@ -74,14 +62,7 @@
v-model:page-size="formState.pageSize" v-model:page-size="formState.pageSize"
:total="formState.total" :total="formState.total"
@page-change="onQuery" @page-change="onQuery"
:layouts="[ :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'Sizes', 'FullJump', 'Total']"
'PrevPage',
'JumpNumber',
'NextPage',
'Sizes',
'FullJump',
'Total',
]"
> >
</vxe-pager> </vxe-pager>
</div> </div>
...@@ -114,9 +95,7 @@ ...@@ -114,9 +95,7 @@
> >
<el-button type="primary">上传文件</el-button> <el-button type="primary">上传文件</el-button>
<template #tip> <template #tip>
<div class="el-upload__tip"> <div class="el-upload__tip">选择你要上传的excel文件,仅支持xlsx、xls格式</div>
选择你要上传的excel文件,仅支持xlsx、xls格式
</div>
</template> </template>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
...@@ -132,117 +111,128 @@ ...@@ -132,117 +111,128 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { nextTick, onMounted, reactive, ref } from "vue"; import { nextTick, onMounted, reactive, ref } from 'vue'
import { import {
apiOrderVarPage, apiOrderVarPage,
apiOrderVarGetVars, apiOrderVarGetVars,
apiOrderVarGetNewVars, apiOrderVarGetNewVars,
apiOrderVarSaveUpload, apiOrderVarSaveUpload,
apiOrderVarRun, apiOrderVarRun
} from "@/api/var"; } from '@/api/var'
import type { VxeTableInstance } from "vxe-table"; import type { VxeTableInstance } from 'vxe-table'
import TemplateVariable from "./components/TemplateVariable.vue"; import TemplateVariable from './components/TemplateVariable.vue'
import { filterRunData2 } from "@/utils/excel"; import { filterRunData2 } from '@/utils/excel'
import { uploadFile } from "@/api/excel"; import { uploadFile } from '@/api/excel'
import { ElMessage } from "element-plus"; import { ElMessage } from 'element-plus'
const loading = ref(false); const loading = ref(false)
const formState = reactive({ const formState = reactive({
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
productCode: '',
customerName: '',
orderCode: '',
orderItemNo: ''
// column: 'createTime', // column: 'createTime',
// order: 'desc' // order: 'desc'
}); })
const xTable = ref<VxeTableInstance>(); const xTable = ref<VxeTableInstance>()
const tableData = ref([]); const tableData = ref([])
const tempVisible = ref(false); const tempVisible = ref(false)
const detailVariable = ref({ const detailVariable = ref({
title: "变量文件解析", title: '变量文件解析',
titles: [], titles: [],
data: [], data: []
}); })
const handleShowVarRun = async (row: any) => { const handleShowVarRun = async (row: any) => {
const {data} = await apiOrderVarGetNewVars(row.orderItemId); const { data } = await apiOrderVarGetNewVars(row.orderItemId)
const { res, titles } = filterRunData2(data.result || [], false); const { res, titles } = filterRunData2(data.result || [], false)
detailVariable.value.titles = titles; detailVariable.value.titles = titles
detailVariable.value.data = res; detailVariable.value.data = res
tempVisible.value = true; tempVisible.value = true
}; }
const importVisible = ref(false); const importVisible = ref(false)
const importForm = ref({ const importForm = ref({
customerName: "", customerName: '',
productName: "", productName: '',
productCode: "", productCode: '',
customerId: "", customerId: '',
orderItemId: "", orderItemId: '',
filePaths: [], filePaths: []
}); })
const handleImportVar = async (row) => { const handleImportVar = async (row) => {
importForm.value.customerName = row.customerName; importForm.value.customerName = row.customerName
importForm.value.productName = row.productName; importForm.value.productName = row.productName
importForm.value.customerId = row.customerId; importForm.value.customerId = row.customerId
importForm.value.productCode = row.productCode; importForm.value.productCode = row.productCode
importForm.value.orderItemId = row.orderItemId; importForm.value.orderItemId = row.orderItemId
importVisible.value = true; importVisible.value = true
}; }
const imporModalHide = () => { const imporModalHide = () => {
importForm.value.filePaths = []; importForm.value.filePaths = []
}; }
const handleRemove = (file) => { const handleRemove = (file) => {
importForm.value.filePaths = importForm.value.filePaths.filter( importForm.value.filePaths = importForm.value.filePaths.filter((item) => item.uid !== file.uid)
(item) => item.uid !== file.uid }
); const handleExceed = () => {}
};
const handleExceed = () => {};
const changeUpload = (file: any) => { const changeUpload = (file: any) => {
const formData = new FormData(); const formData = new FormData()
formData.append("file", file.raw); formData.append('file', file.raw)
console.log(file, "file"); console.log(file, 'file')
uploadFile(formData).then(({ data }) => { uploadFile(formData).then(({ data }) => {
if (data?.code === 200) { if (data?.code === 200) {
importForm.value.filePaths.push({ uid: file.uid, path: data.message }); importForm.value.filePaths.push({ uid: file.uid, path: data.message })
} else { } else {
return ElMessage.error("上传失败!"); return ElMessage.error('上传失败!')
} }
}); })
}; }
const submitImport = async () => { const submitImport = async () => {
const params = { const params = {
...importForm.value, ...importForm.value,
filePaths: importForm.value.filePaths.map((item) => item.path), filePaths: importForm.value.filePaths.map((item) => item.path)
}; }
await apiOrderVarSaveUpload(params); await apiOrderVarSaveUpload(params)
const { data } = await apiOrderVarRun(importForm.value.orderItemId); const { data } = await apiOrderVarRun(importForm.value.orderItemId)
if (data?.code == "200") { if (data?.code == '200') {
ElMessage.success(data.message || "解析成功!"); ElMessage.success(data.message || '解析成功!')
importVisible.value = false; importVisible.value = false
onQuery(); onQuery()
nextTick(() => { nextTick(() => {
handleShowVarRun(importForm.value); handleShowVarRun(importForm.value)
}); })
} else { } else {
ElMessage.error(data.message || "解析失败!"); ElMessage.error(data.message || '解析失败!')
} }
}; }
const onReset = () => {
formState.currentPage = 1
formState.productCode = ''
formState.customerName = ''
formState.orderCode = ''
formState.orderItemNo = ''
onQuery()
}
const onQuery = async () => { const onQuery = async () => {
loading.value = true; loading.value = true
try { try {
const { data } = await apiOrderVarPage(formState); const { data } = await apiOrderVarPage(formState)
tableData.value = data.result.records; tableData.value = data.result.records
formState.total = +data.result.total; formState.total = +data.result.total
} catch {} } catch {}
loading.value = false; loading.value = false
}; }
onMounted(() => { onMounted(() => {
onQuery(); onQuery()
}); })
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>
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