jiaxing.zhou

feat(reportingData): 添加申报日志功能

- 在申报数据列表中增加日志按钮
- 实现查询总申报日志的 API 接口
- 添加日志弹窗组件,用于展示申报日志
- 优化表格列的对齐方式
......@@ -113,6 +113,18 @@ export function getWayBillReceipt(data) {
}
/**
* 查询总申报日志
* @param data id---->申报id
*/
export function getDeclarationLog(data){
return request({
url: '/bus-customer/declareData/getDeclarationLog/' + data,
method: 'get',
params: data,
})
}
/**
* 导出回执数据
* @param {*} data
* @returns
......
......@@ -320,13 +320,35 @@
</TablePopover>
</template>
<template slot="optionColumn">
<el-table-column align="left" label="操作" width="100">
<el-table-column align="center" label="操作" width="150">
<template slot-scope="scope">
<el-button type="text" @click="update(scope.row)"> 修改 </el-button>
<el-button type="text" @click="showTotalLog(scope.row)">日志</el-button>
</template>
</el-table-column>
</template>
</Table>
<template>
<TablePopover
ref="allLogDataReceiptStatusPopover"
dataKey="allLogDataReceiptStatus"
idKey="declareId"
:parentDom="$refs.entryTable"
:receiptDataHead="logDataHead"
:rowData="selectedLogRow"
:tableData="tableData"
@popoverChange="popoverChange"
@popoverClose="popoverClose"
>
<div slot="title">
<span style="font-weight: 700; color: #515a6e">订单编号:</span>
{{ selectedLogRow.orderno }}
</div>
<div slot="buttonLabel">
{{ selectedLogRow.allLogDataReceiptStatusPopoverType }}
</div>
</TablePopover>
</template>
<DialogVue
:outerVisible="outerVisible"
@dwonloadModelFile="dwonloadModelFile"
......@@ -364,6 +386,7 @@ import {
getListReceipt,
getTotalReceipt,
getLogisticsReceipt,
getDeclarationLog,
exportDeclareData
} from "@/api/declareData-api.js";
import { getDictData } from '@/api/system/dict-api.js'
......@@ -372,8 +395,14 @@ import RevokeDialog from "./revokeDialog.vue";
import TemplateDownloadDialog from "./templateDownloadDialog.vue";
import ExportDialog from "./exportDialog.vue";
import BatchModify from "./batchModify.vue";
import TablePopover from "@/components/TablePopover/index.vue";
export default {
name: "ReportingData",
computed: {
TablePopover() {
return TablePopover
}
},
components: {
DialogVue,
RevokeDialog,
......@@ -383,6 +412,8 @@ export default {
},
data() {
return {
allLogDataReceiptStatusPopoverType: false, // 控制日志弹窗的显示和隐藏
selectedLogRow: {}, // 存储选中的日志数据
sreachFormData: {
billNo: "",
logisticsNo: "",
......@@ -492,6 +523,32 @@ export default {
},
],
selected: [],
logDataHead: [
{
name: "回执类型",
value: "receiptType",
width: "",
align: "left",
},
{
name: "回执状态",
value: "receiptStatus",
width: "",
align: "left",
},
{
name: "状态时间",
value: "statusTime",
width: "",
align: "left",
},
{
name: "回执描述",
value: "receiptDescription",
width: "",
align: "left",
},
],
// dictData: {
// logisticsNo: [],
// receiptStatus: [],
......@@ -560,6 +617,8 @@ export default {
item.wayBillReceiptPopoverType = false;
item.totalSplitOrderStatusPopoverType = false;
item.logisticsReceiptStatusPopoverType = false;
item.allLogDataReceiptStatusPopoverType = false;
// item.logLoading = false;
item.popoverData = [];
});
} else {
......@@ -730,7 +789,6 @@ export default {
this.$forceUpdate()
},
popoverChange(val) {
console.log(val);
this.tableData = val.tableData;
this.receiptApi(val.data.declareId, val.status)
.then((res) => {
......@@ -749,6 +807,7 @@ export default {
this.$refs.listReceiptStatusPopover.tableLoading = false;
this.$refs.totalSplitOrderStatusPopover.tableLoading = false;
this.$refs.logisticsReceiptStatusPopover.tableLoading = false;
this.$refs.allLogDataReceiptStatusPopover.tableLoading = false;
});
});
},
......@@ -823,6 +882,20 @@ export default {
reject();
});
}
else if (type == "allLogDataReceiptStatus") {
getDeclarationLog(id)
.then((res) => {
if (res.code === "200") {
resolve(res.data);
} else {
reject();
}
})
.catch((err) => {
console.log(err);
reject();
});
}
});
},
popoverClose(val) {
......@@ -832,6 +905,7 @@ export default {
item.wayBillReceiptPopoverType = false;
item.totalSplitOrderStatusPopoverType = false;
item.logisticsReceiptStatusPopoverType = false;
item.allLogDataReceiptStatusPopoverType = false;
item.popoverData = [];
});
this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
......@@ -878,6 +952,24 @@ export default {
params: { data: val },
});
},
//申报日志
showTotalLog(row) {
this.selectedLogRow = row;
this.$set(row, 'logLoading', true);
this.receiptApi(row.declareId, "allLogDataReceiptStatus")
.then((logData) => {
this.$set(row, 'popoverData', logData);
// 手动触发状态更新
this.$nextTick(() => {
// 强制设置弹窗状态为true
row.allLogDataReceiptStatusPopoverType = !row.allLogDataReceiptStatusPopoverType;
// 强制更新表格
this.tableData = [...this.tableData];
});
})
},
cancelDownload(){
this.loadings.dwonloadModelLoading = false;
this.templateDownloadVisible = false
......