丽知中台报表更新

This commit is contained in:
hyt 2024-11-06 10:07:29 +08:00
parent 240ae5dd2e
commit ad7189b2b7
5 changed files with 188 additions and 159 deletions

View File

@ -1,100 +1,115 @@
import request from "@/utils/request"; import request from '@/utils/request'
export function authApi(tl,as,dj,url = '',data){ export function authApi(tl, as, dj, url = '', data) {
return request({ return request({
url: 'kangarooDataCenterV3/entranceController/option' + url, url: 'kangarooDataCenterV3/entranceController/option' + url,
headers: { headers: {
tl:tl, tl: tl,
as:as, as: as,
dj:dj, dj: dj
}, },
method: 'post', method: 'post',
data: data data: data
}) })
} }
//登录 //登录
export function loginToken(data) { export function loginToken(data) {
return request({ return request({
url: "/Api/Token/CreateToken", url: '/Api/Token/CreateToken',
method: "post", method: 'post',
data, data
}); })
}
export function downFilesBasedFileNameFileTypeAPI(data) {
return request({
url: `/kangarooDataCenterV3/entranceController/option/downFilesBasedFileNameFileType?filename=${data}`,
method: 'get',
responseType: 'blob' // 设置返回类型为 blob
})
} }
//token认证 //token认证
export function CheckToken(data) { export function CheckToken(data) {
return request({ return request({
url: "Api/Base/CheckToken", url: 'Api/Base/CheckToken',
method: "post", method: 'post',
data, data
}); })
} }
//组织机构列表 //组织机构列表
export function GetOrganTree(data) { export function GetOrganTree(data) {
return request({ return request({
url: "OrganManage/GetOrganTree", url: 'OrganManage/GetOrganTree',
method: "post", method: 'post',
data, data
}); })
} }
//上传文件管理器 //上传文件管理器
export function UploadFiles(data, onUploadProgress) { export function UploadFiles(data, onUploadProgress) {
return request({ return request({
url: "/Api/Attachments/UploadToMinio", url: '/Api/Attachments/UploadToMinio',
method: "post", method: 'post',
data, data,
onUploadProgress, onUploadProgress
}); })
} }
//上传服务器本地 //上传服务器本地
export function UploadFilesLocal(data, onUploadProgress) { export function UploadFilesLocal(data, onUploadProgress) {
return request({ return request({
url: "/api/Attachments/UploadFiles", url: '/api/Attachments/UploadFiles',
method: "post", method: 'post',
data, data,
onUploadProgress, onUploadProgress
}); })
} }
// 上传列表 // 上传列表
export function UploadList(data, onUploadProgress) { export function UploadList(data, onUploadProgress) {
return request({ return request({
url: "/api/Attachments/GetFileList", url: '/api/Attachments/GetFileList',
method: "post", method: 'post',
data, data,
onUploadProgress, onUploadProgress
}); })
} }
export function DownloadFiles(data) { export function DownloadFiles(data) {
return request({ return request({
url: "/Api/Attachments/DownloadFiles", url: '/Api/Attachments/DownloadFiles',
method: "post", method: 'post',
data, data,
responseType: "blob", responseType: 'blob'
}); })
} }
// 查看 // 查看
export function downloadFromMinio(data) { export function downloadFromMinio(data) {
return request({ return request({
url: "/api/Attachments/DownloadFromMinio", url: '/api/Attachments/DownloadFromMinio',
method: "post", method: 'post',
data, data,
responseType: "blob", responseType: 'blob'
}); })
} }
//获取token //获取token
export function getToken(data) { export function getToken(data) {
return request({ return request({
url: "/Api/Token/CreateToken", url: '/Api/Token/CreateToken',
method: "post", method: 'post',
data, data
}); })
} }
export function commonFun(url, data) { export function commonFun(url, data) {
return request({ return request({
url: url, url: url,
method: "post", method: 'post',
data, data
}); })
} }

View File

@ -5,47 +5,47 @@
<div class="search"> <div class="search">
<div class="datepickBox" style=""> <div class="datepickBox" style="">
<el-date-picker <el-date-picker
v-model="queryCriteria.businessDate_start" v-model="queryCriteria.businessDate_start"
type="date" type="date"
placeholder="出库日期-开始" placeholder="出库日期-开始"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
<div class="datepickBox" style=""> <div class="datepickBox" style="">
<el-date-picker <el-date-picker
v-model="queryCriteria.businessDate_end" v-model="queryCriteria.businessDate_end"
type="date" type="date"
placeholder="出库日期-结束" placeholder="出库日期-结束"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
<div class="datepickBox" style=""> <div class="datepickBox" style="">
<el-date-picker <el-date-picker
v-model="queryCriteria.successfulTradeDate_start" v-model="queryCriteria.successfulTradeDate_start"
type="date" type="date"
placeholder="交易成功开始时间" placeholder="交易成功开始时间"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
<div class="datepickBox" style=""> <div class="datepickBox" style="">
<el-date-picker <el-date-picker
v-model="queryCriteria.successfulTradeDate_end" v-model="queryCriteria.successfulTradeDate_end"
type="date" type="date"
placeholder="交易成功结束时间" placeholder="交易成功结束时间"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
<!-- TOB销售-库存 --> <!-- TOB销售-库存 -->
<div class="chunk"> <div class="chunk">
<el-date-picker <el-date-picker
v-model="queryCriteria.newPushDate" v-model="queryCriteria.newPushDate"
type="date" type="date"
placeholder="TOB库存推送时间" placeholder="TOB库存推送时间"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
@ -55,10 +55,10 @@
<div class="radio"> <div class="radio">
<el-select v-model="queryCriteria.newstate" placeholder="TOB出库同步成功"> <el-select v-model="queryCriteria.newstate" placeholder="TOB出库同步成功">
<el-option <el-option
v-for="item in stateOptions" v-for="item in stateOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
> >
</el-option> </el-option>
</el-select> </el-select>
@ -72,10 +72,10 @@
<!-- TOB销售-确认收入 --> <!-- TOB销售-确认收入 -->
<div class="chunk"> <div class="chunk">
<el-date-picker <el-date-picker
v-model="queryCriteria.def5" v-model="queryCriteria.def5"
type="date" type="date"
placeholder="TOB确认收入推送时间" placeholder="TOB确认收入推送时间"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
> >
</el-date-picker> </el-date-picker>
</div> </div>
@ -85,10 +85,10 @@
<div class="radio"> <div class="radio">
<el-select v-model="queryCriteria.newState4" placeholder="TOB确认收入交易成功-红"> <el-select v-model="queryCriteria.newState4" placeholder="TOB确认收入交易成功-红">
<el-option <el-option
v-for="item in stateOptions" v-for="item in stateOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
> >
</el-option> </el-option>
</el-select> </el-select>
@ -107,41 +107,41 @@
</div> </div>
<div> <div>
<el-button <el-button
type="primary" type="primary"
@click="query" @click="query"
:loading="loading" :loading="loading"
size="small" size="small"
style=" margin: 5px 5px" style=" margin: 5px 5px"
>查询 >查询
</el-button> </el-button>
<el-button
type="primary"
@click="downLoad"
:loading="loading"
size="small"
style=" margin: 5px 5px"
>excel导出
</el-button>
<el-button <el-button
type="warning" type="primary"
@click="reset" @click="downLoad"
:loading="loading" :loading="loading"
size="small" size="small"
style="margin: 5px 5px" style=" margin: 5px 5px"
>excel导出
</el-button>
<el-button
type="warning"
@click="reset"
:loading="loading"
size="small"
style="margin: 5px 5px"
>重置 >重置
</el-button> </el-button>
</div> </div>
<!-- 主体内容--> <!-- 主体内容-->
<div class="main"> <div class="main">
<baseNewTable <baseNewTable
:tableData="mainTableData" :tableData="mainTableData"
:tableColumn="mainTableColumn" :tableColumn="mainTableColumn"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableDataMergeList="tableDataMergeList" :tableDataMergeList="tableDataMergeList"
:pageModel="pageModel" :pageModel="pageModel"
@pageSizeChange="(val) => pageSizeChange(val, pageModel)" @pageSizeChange="(val) => pageSizeChange(val, pageModel)"
@pageChange="(val) => pageChange(val, pageModel)" @pageChange="(val) => pageChange(val, pageModel)"
exportEventName="ToB库存报表" exportEventName="ToB库存报表"
> >
</baseNewTable> </baseNewTable>
</div> </div>
@ -363,20 +363,21 @@ export default {
methods: { methods: {
async downLoad() { async downLoad() {
let params = { let params = {
...this.queryCriteria, ...this.queryCriteria
}; }
this.openLoading('detail') this.openLoading('detail')
const res = await authApi("tocofsSaleoutServiceImplReport", "tocofsSaleoutServiceImplReport", "exportToCSalesReportExcel", "", params); const res = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCSalesReportExcel', '', params)
if (res.status == 200) { if (res.status == 200) {
const response = await downFilesBasedFileNameFileTypeAPI(res.attribute) const response = await downFilesBasedFileNameFileTypeAPI(res.msg)
// console.log(res) const blob = new Blob([response]);
const url = window.URL.createObjectURL(new Blob([response]), {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}); const url = window.URL.createObjectURL(blob);
const link = document.createElement('a'); const link = document.createElement('a');
link.href = url; link.href = url;
link.setAttribute('download', 'TOB销售核对表.xlsx'); // link.setAttribute('download', 'TOB销售核对表.xlsx');
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();
window.URL.revokeObjectURL(url); //
} }
return return
@ -501,8 +502,8 @@ export default {
raw: true raw: true
} }
let grid = XLSX.utils.table_to_book( let grid = XLSX.utils.table_to_book(
document.querySelector(boxId), document.querySelector(boxId),
gatherData gatherData
) )
let workbook = XLSX.write(grid, { let workbook = XLSX.write(grid, {
bookType: 'xlsx', bookType: 'xlsx',
@ -511,10 +512,10 @@ export default {
}) })
try { try {
FileSaver.saveAs( FileSaver.saveAs(
new Blob([workbook], { new Blob([workbook], {
type: 'application/octet-stream' type: 'application/octet-stream'
}), }),
excelName + '.xlsx' excelName + '.xlsx'
) )
} catch (e) { } catch (e) {
if (typeof console !== 'undefined') console.log(e, workbook) if (typeof console !== 'undefined') console.log(e, workbook)
@ -541,8 +542,8 @@ export default {
item.newstate4 = this.dist_state[item.newstate4] item.newstate4 = this.dist_state[item.newstate4]
}) })
this.mainTableData = this.dataDispose( this.mainTableData = this.dataDispose(
res.attribute.list, res.attribute.list,
this.tableDataMergeList this.tableDataMergeList
) )
this.tableLoading = false this.tableLoading = false
}, },
@ -574,10 +575,10 @@ export default {
} }
}) })
Object.keys(sortObj) Object.keys(sortObj)
.sort() .sort()
.forEach((key) => { .forEach((key) => {
newArr = [...newArr, ...sortObj[key]] newArr = [...newArr, ...sortObj[key]]
}) })
// //
newArr.forEach((item) => { newArr.forEach((item) => {
transformedArray.forEach((key) => { transformedArray.forEach((key) => {
@ -596,7 +597,7 @@ export default {
}) })
// //
tempObj[keyValue][0][`${key[key.length - 1]}Length`] = tempObj[keyValue][0][`${key[key.length - 1]}Length`] =
tempObj[keyValue].length tempObj[keyValue].length
if (key.length === 1) { if (key.length === 1) {
result = [...tempObj[keyValue], ...result] result = [...tempObj[keyValue], ...result]

View File

@ -369,17 +369,24 @@ export default {
methods: { methods: {
async downLoad() { async downLoad() {
let params = { let params = {
...this.queryCriteria, ...this.queryCriteria
} }
this.openLoading('detail') this.openLoading('detail')
const response = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCSalesReportExcel', '', params) const res = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCReturnReportExcel', '', params)
const url = window.URL.createObjectURL(new Blob([response]), { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
const link = document.createElement('a') if (res.status == 200) {
link.href = url const response = await downFilesBasedFileNameFileTypeAPI(res.msg)
link.setAttribute('download', 'TOB销售核对报表.xlsx') // const blob = new Blob([response]);
document.body.appendChild(link) const url = window.URL.createObjectURL(blob);
link.click() const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'TOB退货核对表.xlsx');
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(url); //
}
return return
}, },
reset() { reset() {
this.pageModel.pageNum = 1 this.pageModel.pageNum = 1

View File

@ -404,20 +404,23 @@ export default {
methods: { methods: {
async downLoad() { async downLoad() {
let params = { let params = {
...this.queryCriteria, ...this.queryCriteria
...this.pageModel,
pageSize: 9999,
pageNum: 1
} }
this.openLoading('detail') this.openLoading('detail')
const response = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCReturnReportExcel', '', params) const res = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCSalesReportExcel', '', params)
const url = window.URL.createObjectURL(new Blob([response]), { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) if (res.status == 200) {
const link = document.createElement('a') const response = await downFilesBasedFileNameFileTypeAPI(res.msg)
link.href = url const blob = new Blob([response]);
link.setAttribute('download', 'TOC退货核对报表.xlsx') // const url = window.URL.createObjectURL(blob);
document.body.appendChild(link) const link = document.createElement('a');
link.click() link.href = url;
link.setAttribute('download', 'TOC销售核对表.xlsx');
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(url); //
}
return return
}, },
reset() { reset() {
this.pageModel.pageNum = 1 this.pageModel.pageNum = 1

View File

@ -402,20 +402,23 @@ export default {
methods: { methods: {
async downLoad() { async downLoad() {
let params = { let params = {
...this.queryCriteria, ...this.queryCriteria
...this.pageModel,
pageSize: 9999,
pageNum: 1
} }
this.openLoading('detail') this.openLoading('detail')
const response = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCSalesReportExcel', '', params) const res = await authApi('tocofsSaleoutServiceImplReport', 'tocofsSaleoutServiceImplReport', 'exportToCReturnReportExcel', '', params)
const url = window.URL.createObjectURL(new Blob([response]), { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) if (res.status == 200) {
const link = document.createElement('a') const response = await downFilesBasedFileNameFileTypeAPI(res.msg)
link.href = url const blob = new Blob([response]);
link.setAttribute('download', 'TOC销售核对报表.xlsx') // const url = window.URL.createObjectURL(blob);
document.body.appendChild(link) const link = document.createElement('a');
link.click() link.href = url;
link.setAttribute('download', 'TOC退货核对表.xlsx');
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(url); //
}
return return
}, },
reset() { reset() {
this.pageModel.pageNum = 1; this.pageModel.pageNum = 1;