Commit 56ef9dd2 authored by 何远江's avatar 何远江

添加模版文件页面

parent 3729680c
...@@ -11,6 +11,13 @@ export const getOrderFilePage = (params: any) => { ...@@ -11,6 +11,13 @@ export const getOrderFilePage = (params: any) => {
}) })
} }
export const getPageMarkFile = (params: any) => {
return axios.get('/api/excelOrderFile/pageMarkFile', {
params,
headers: formHeader
})
}
export const deleteOrderFiles = (ids: string) => { export const deleteOrderFiles = (ids: string) => {
return axios.get('/api/excelOrderFile/batchDeleteByIds', { return axios.get('/api/excelOrderFile/batchDeleteByIds', {
params: { ids }, params: { ids },
......
...@@ -51,6 +51,14 @@ export const routes = [ ...@@ -51,6 +51,14 @@ export const routes = [
title: '订单文件' title: '订单文件'
} }
}, },
{
path: '/order/temp',
name: 'OrderTemp',
component: () => import('@/views/order/orderList/OrderTempList.vue'),
meta: {
title: '模版文件'
}
},
{ {
path: '/order/change', path: '/order/change',
name: 'OrderChange', name: 'OrderChange',
......
<template>
<div class="w-full h-full bg-white p-4">
<p class="font-bold text-lg leading-10 border-b-2">模版文件管理</p>
<el-form class="pt-4" :inline="true" :model="formState">
<el-form-item label="原始文件地址">
<el-input v-model="formState.filePath" placeholder="" clearable />
</el-form-item>
<el-form-item label="标注文件地址">
<el-input v-model="formState.mergeFilePath" placeholder="" clearable />
</el-form-item>
<el-form-item>
<el-button type="default" @click="onReset">重置</el-button>
<el-button type="primary" @click="onQuery">查询</el-button>
</el-form-item>
</el-form>
<div class="">
<vxe-toolbar>
<template #buttons>
<el-button type="danger" @click="removeRows">删除</el-button>
</template>
</vxe-toolbar>
<vxe-table
ref="xTable"
size="small"
min-height="460"
border
:loading="loading"
:data="tableData"
>
<vxe-column type="checkbox" width="50"></vxe-column>
<vxe-column field="customerId_dictText" title="客户名称" width="120"></vxe-column>
<vxe-column title="原始文件地址">
<template #default="{ row }">
<el-link
v-for="item in row.filePath.split(';')"
:key="item"
target="_blank"
:href="'/preview-excel?filePath=' + item"
>{{ item }}</el-link
>
</template>
</vxe-column>
<vxe-column title="标注文件地址">
<template #default="{ row }">
<el-link target="_blank" :href="'/preview-excel?fileId=' + row.orderFileId">{{
row.mergeFilePath
}}</el-link>
</template>
</vxe-column>
<vxe-column field="createTime" title="创建时间" width="180"></vxe-column>
<vxe-column field="action" title="操作" width="80">
<template #default="{ row }">
<el-link
type="primary"
style="font-size: 12px"
:href="'/comment-excel?fileId=' + row.orderFileId"
target="_blank"
>查看</el-link
>
</template>
</vxe-column>
</vxe-table>
<vxe-pager
size="small"
background
v-model:current-page="formState.currentPage"
v-model:page-size="formState.pageSize"
:total="formState.total"
@page-change="onQuery"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'Sizes', 'FullJump', 'Total']"
>
</vxe-pager>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, reactive, ref } from 'vue'
import { getPageMarkFile, deleteOrderFiles } from '@/api/order'
import { ElMessage } from 'element-plus'
import type { VxeTableInstance } from 'vxe-table'
import { useRouter } from 'vue-router'
import { queryParamsFilter } from '@/utils/query'
const router = useRouter()
const loading = ref(false)
const formState = reactive({
filePath: '',
mergeFilePath: '',
currentPage: 1,
pageSize: 10,
total: 0,
column: 'createTime',
order: 'desc'
})
const xTable = ref<VxeTableInstance>()
const tableData = ref([])
const removeRows = async () => {
const list = xTable.value?.getCheckboxRecords()
if (list?.length) {
const ids = list.map((v) => v.orderFileId).join(',')
await deleteOrderFiles(ids)
ElMessage.success('删除成功')
onQuery()
}
}
const onReset = () => {
Object.assign(formState, {
filePath: '',
mergeFilePath: ''
})
}
const onQuery = async () => {
loading.value = true
try {
const { data } = await getPageMarkFile(queryParamsFilter(formState))
tableData.value = data.result.records
formState.total = +data.result.total
} catch {}
loading.value = false
}
onMounted(() => {
onQuery()
})
</script>
<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