emis-frontend/src/views/emis/emisWaybillProblemInfo/problemEntry.vue
2024-09-11 23:41:00 +08:00

832 lines
30 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form ref="form" size="mini" :model="form" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="8">
<el-form-item label="扫描单号" prop="billCode" label-width="80px">
<span slot="label">
<span style="color: red">{{$t('扫描单号')}}</span>
</span>
<el-input v-model="form.billCode" clearable="" placeholder="单号输入后按回车" @keyup.enter.native="handleScanInput" >
<i slot="suffix" class="iconfont">&#xe656;</i>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('问题类型')" prop="problemType" label-width="80px">
<span slot="label">
<span style="color: red">{{$t('问题类型')}}</span>
</span>
<ProblemTypePicker v-model="form.problemId" @onChange="onproblemTypeSelect" ></ProblemTypePicker>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>
<el-col :span="8">
<el-form-item :label="$t('通知网点')" prop="notifySiteCode" label-width="80px">
<EmisSiteSimplePicker v-model="form.notifySiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
<!-- <el-select v-model="form.notifySiteCode" @change="onScanSiteSelect">
<el-option v-for="item in notifySiteDataSource" :key="item.notifySiteCode" :value="item.notifySiteCode" :label="item.notifySiteName" ></el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="问题原因" prop="remark" label-width="80px">
<span slot="label">
<span style="color: red">{{$t('问题原因')}}</span>
</span>
<el-input
v-model="form.remark"
type="textarea"
rows="3"
:placeholder="$t('请输入')"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="问题图片" prop="xxx" label-width="80px">
<ImageUpload v-model="form.picUrl" @input="handleInput" :isShowTip="false" ></ImageUpload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div>
</div>
<xd-table v-loading="loading"
border
size="small"
storageName="problemEntry_main"
:data="emisWaybillList"
:showSearch.sync="showSearch"
:total="total"
:queryParams="queryParams"
@selection-change="handleSelectionChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon=""
size="mini"
@click="handleRegister"
>登记</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
:disabled="multiple"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>上传</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['emis:emisTmsScanRecord:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>下载导入模版</el-button>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>导入</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleBatchRegister"
>批量登记</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleBatchModify"
>批量修改</el-button>
</el-col>
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
:label="$t('序号')"
align="center"
type="index"
:index="indexMethod"
width="50">
</el-table-column>
<el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="170" />
<!-- <el-table-column :label="$t('状态')" align="center" prop="currentStatus" min-width="100" /> -->
<el-table-column :label="$t('状态')" align="center" prop="waybillStatus" width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_waybill_status" :value="scope.row.waybillStatus"/>
</template>
</el-table-column>
<el-table-column :label="$t('通知网点')" align="center" prop="notifySiteName" min-width="170" />
<el-table-column :label="$t('登记网点')" align="center" prop="scanSite" min-width="170" />
<el-table-column :label="$t('登记日期')" align="center" prop="scanDate" min-width="170">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.scanDate) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="100" />
<el-table-column :label="$t('登记人')" align="center" prop="scanMan" min-width="150" />
<el-table-column :label="$t('图片路径')" align="center" prop="picUrl" min-width="100">
<template slot-scope="scope">
<ImagePreview height="50px" v-for="pic in (scope.row.picUrl||'').split(',')" :key="pic" :src="pic" ></ImagePreview>
</template>
</el-table-column>
<el-table-column :label="$t('问题件原因')" align="center" prop="remark" min-width="170">
<template slot-scope="scope">
<span class="ellipsis">{{scope.row.remark}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
<el-table-column :label="$t('所属业务员')" align="center" prop="registerManName" min-width="170" />
<el-table-column :label="$t('业务员编号')" align="center" prop="registerManCode" min-width="100" />
</xd-table>
<!-- 添加或修改问题件对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag :close-on-click-modal="false" append-to-body>
<el-row :gutter="0">
<el-form ref="form" :model="form" size="mini" label-width="80px">
<!-- <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px"> -->
<el-col :span="24">
<el-form-item :label="$t('通知网点')" prop="notifySite" label-width="80px">
<EmisSiteSimplePicker v-model="form.modifyNotifySite" @onChange="onModifyScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog :title="titleBatch" :visible.sync="openBatch" width="50%" v-dialogDrag :close-on-click-modal="false" append-to-body>
<el-form ref="formBatch" :model="formBatch" size="mini" label-width="60px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('运单号')" prop="billCode">
<el-input v-model="formBatch.billCode" type="textarea" :rows="8" placeholder="运单号" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align:center">
<el-button type="primary" @click="submitFormBatch">确 定</el-button>
<el-button @click="cancelBatch">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { addEmisWaybillProblemInfo,listEmisWaybillProblemInfo } from "@/api/emis/emisWaybillProblemInfo";
import { doScan } from "@/api/emis/emisTmsScanRecord";
// import { listEmisWaybill } from "@/api/emis/emisWaybill";
import { getWaybillDetail} from "@/api/emis/emisWaybill";
// import { getWaybillDetail } from "@/api/emis/emisWaybill";
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import ProblemTypePicker from '@/views/emis/EmisBaseTools/ProblemTypePicker.vue';
import { parseTime } from "@/utils/custom";
export default {
name: "ProblemEntry",
components: { EmisSiteSimplePicker, ProblemTypePicker },
dicts: ['emis_question_type', 'emis_waybill_status'],
data() {
return {
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 创建时间搜索
dateTimeRange:[],
// 总条数
total: 0,
// 问题件表格数据
emisWaybillList: [],
notifySiteDataSource:[],
title: "",
open: false,
titleBatch:"",
openBatch:false,
problemId:null,
problemType:null,
openForm: false,
titleForm: "",
tempRecord:{},
titleEmisWaybillProblemInfo: "",
openEmisWaybillProblemInfo: false,
// 显示编辑框更多
moreInputVisible: false,
// 弹出展示层
currentId:null,
id:null,
titleView:"",
openView: false,
// 备注时间范围
daterangeRegisterDate: [],
// 备注时间范围
daterangeCreateTime: [],
// 备注时间范围
daterangeUpdateTime: [],
// 表单参数
form: {},
formBatch:{},
dataMap:[],
queryParams:{}
// 表单校验
// rules: {
// id: [
// { required: true, message: "id不能为空", trigger: "blur" }
// ],
// }
};
},
created() {
// this.getList();
this.form.scanSiteCode=this.$store.getters.ownerSiteCode;
this.form.scanSite=this.$store.getters.ownerSiteName;
this.form.scanMan=this.$store.getters.empName;
this.form.scanManCode=this.$store.getters.empCode;
this.form.recordMan=this.$store.getters.empName;
this.form.recordManCode=this.$store.getters.empCode;
this.form.dispatchOrSendManCode=this.$store.getters.empCode;
},
methods: {
indexMethod(index) {
// 假设 currentPage 和 pageSize 都是数据属性
// const start = (this.currentPage - 1) * this.pageSize;
const start = 0;
return start + index + 1;
},
// 取消按钮
cancel() {
this.open = false;
this.modifyNotifySite=null;
this.modifyNotifySiteName=null;
},
cancelBatch() {
this.openBatch = false;
this.formBatch={};
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
onScanSiteSelect(item){
debugger
if(!item){
this.form.notifySiteCode = null;
this.form.notifySiteName = null;
return;
}
this.form.notifySiteCode=item.siteCode;
this.form.notifySiteName=item.siteName;
// this.notifySiteDataSource.forEach(nItem => {
// if(nItem.notifySiteCode == item){
// this.form.notifySiteName=nItem.notifySiteName;
// return;
// }
// })
},
onproblemTypeSelect(item){
// debugger;
if(!item){
this.form.problemType = null;
this.form.problemId = null;
return;
}
this.form.problemType = item.typeName;
this.form.problemId=item.id;
},
handleInput(item){
this.form.picUrl = item;
},
onModifyScanSiteSelect(item){
if(!item){
this.form.modifyNotifySite = null;
this.form.modifyNotifySiteName = null;
return;
}
this.form.modifyNotifySite=item && item.siteCode;
this.form.modifyNotifySiteName=item && item.siteName;
},
handleBatchRegister(){
// if(this.form.notifySite==null || this.form.notifySite==''){
// this.$modal.msgError("请选择通知网点");
// return;
// }
if(this.form.problemType==null || this.form.problemType==''){
this.$modal.msgError("请选择问题类型");
return;
}
if(this.form.remark==null || this.form.remark==''){
this.$modal.msgError("请填写问题原因");
return;
}
this.formBatch = {
billCode: null,
}
this.titleBatch="批量登记";
this.openBatch=true;
},
handleBatchModify(){
if(this.ids !=null && this.ids.length>0){
this.open=true;
this.title="请选择通知网点"
}else{
this.$modal.msgError("请先选择数据")
}
},
async handleScanInput(){
if(this.form.billCode==null || this.form.billCode==''){
this.$modal.msgError("输入单号后回车");
return;
}
// this.getWaybill(this.form.billCode)
// this.loading = true;
for(let i = 0; i < this.emisWaybillList.length; i++){
if(this.emisWaybillList[i].billCode == this.form.billCode && this.emisWaybillList[i].problemId == this.form.problemId){
this.$modal.msgError("重复扫描");
this.form.billCode = "";
return;
}
}
let res=await getWaybillDetail(this.form.billCode);
// this.loading = false;
if(res.code != 200){
this.$modal.msgError(res.msg);
return;
}
let scanDate = new Date();
let rsItem = res.data;
console.log(rsItem);
this.tempRecord =Object.assign({}, rsItem)
// tempRecord.notifySite = tempRecord.sendSiteCode;
// tempRecord.notifySiteName = tempRecord.sendSiteName;
this.tempRecord.scanSiteCode=this.form.scanSiteCode;
this.tempRecord.scanSite=this.form.scanSite;
this.tempRecord.scanDate=scanDate;
this.tempRecord.scanMan=this.form.scanMan;
this.tempRecord.scanManCode=this.form.scanManCode;
this.tempRecord.dataFrom="PC";
this.notifySiteDataSource=[
{
notifySiteCode:this.tempRecord.sendSiteCode,
notifySiteName:this.tempRecord.sendSiteName,
},
{
notifySiteCode:this.tempRecord.dispatchUnderlingSiteCode,
notifySiteName:this.tempRecord.dispatchUnderlingSiteName,
}
]
if(this.tempRecord.sendSiteCode == this.$store.getters.ownerSiteCode){
this.form.notifySiteCode = this.tempRecord.dispatchUnderlingSiteCode;
this.form.notifySiteName = this.tempRecord.dispatchUnderlingSiteName;
}
else{
this.form.notifySiteCode = this.tempRecord.sendSiteCode;
this.form.notifySiteName = this.tempRecord.sendSiteName;
console.log(this.form.notifySiteCode)
}
this.form = {...this.form};
// listEmisWaybill({billCode:this.form.billCode}).then(response => {
// this.loading = false;
// let scanDate = new Date();
// if(response.code != 200){
// this.$modal.msgError(response.msg);
// return;
// }
// let rows = response.rows;
// if(!rows || rows.length == 0){
// this.$modal.msgError("未查到单号");
// this.form.billCode=null;
// return;
// }
// if(rows.length>0) {
// let rsItem = rows[0];
// console.log(rsItem);
// this.tempRecord =Object.assign({}, rsItem)
// // tempRecord.notifySite = tempRecord.sendSiteCode;
// // tempRecord.notifySiteName = tempRecord.sendSiteName;
// this.tempRecord.scanSiteCode=this.form.scanSiteCode;
// this.tempRecord.scanSite=this.form.scanSite;
// this.tempRecord.scanDate=scanDate;
// this.tempRecord.scanMan=this.form.scanMan;
// this.tempRecord.scanManCode=this.form.scanManCode;
// this.tempRecord.dataFrom="PC";
// this.notifySiteDataSource=[
// {
// notifySiteCode:this.tempRecord.sendSiteCode,
// notifySiteName:this.tempRecord.sendSiteName,
// },
// {
// notifySiteCode:this.tempRecord.dispatchUnderlingSiteCode,
// notifySiteName:this.tempRecord.dispatchUnderlingSiteName,
// }
// ]
// if(this.tempRecord.sendSiteCode == this.$store.getters.ownerSiteCode){
// this.form.notifySiteCode = this.tempRecord.dispatchUnderlingSiteCode;
// this.form.notifySiteName = this.tempRecord.dispatchUnderlingSiteName;
// }
// // else if(this.tempRecord.dispatchUnderlingSiteCode == this.$store.getters.ownerSiteCode){
// // this.form.notifySiteCode = this.tempRecord.sendSiteCode;
// // this.form.notifySiteName = this.tempRecord.sendSiteName;
// // }
// else{
// this.form.notifySiteCode = this.tempRecord.sendSiteCode;
// this.form.notifySiteName = this.tempRecord.sendSiteName;
// }
// // this.billInputDisabled = true;
// // this.emisWaybillList.push(tempRecord);
// // this.dataMap[this.form.billCode]=tempRecord;
// }
// // this.form.billCode=null;
// })
},
handleRegister(){
if(this.form.notifySiteCode==null || this.form.notifySiteCode==''){
this.$modal.msgError("请选择通知网点");
return;
}
if(this.form.problemType==null || this.form.problemType==''){
this.$modal.msgError("请选择问题类型");
return;
}
if(this.form.remark==null || this.form.remark==''){
this.$modal.msgError("请填写问题原因");
return;
}
this.tempRecord.notifySiteCode = this.form.notifySiteCode;
this.tempRecord.notifySiteName = this.form.notifySiteName;
this.tempRecord.problemTypeName=this.form.problemType;
this.tempRecord.problemType = this.form.problemType;
this.tempRecord.problemId = this.form.problemId;
this.tempRecord.remark = this.form.remark;
this.tempRecord.picUrl=this.form.picUrl;
// 清除重复的数据
let newList = [];
this.emisWaybillList.forEach(item=>{
if(item.billCode != this.tempRecord.billCode ){
newList.push(item);
}
});
newList.push(this.tempRecord);
this.emisWaybillList=newList;
// this.emisWaybillList.push(this.tempRecord);
this.dataMap[this.form.billCode]=this.tempRecord;
//清理数据
this.form.notifySiteCode="";
this.form.notifySiteName="";
this.tempRecord=null;
this.form.billCode=null;
this.notifySiteDataSource=[];
console.log(this.emisWaybillList)
},
// getWaybill(billCode){
// this.loading = true;
// listEmisWaybill({billCode:billCode}).then(response => {
// this.loading = false;
// let scanDate = new Date();
// if(response.code != 200){
// this.$modal.msgError(response.msg);
// return;
// }
// let rows = response.rows;
// if(!rows || rows.length == 0){
// this.$modal.msgError("未查到单号");
// return;
// }
// for (let index = 0; index < rows.length; index++) {
// let rsItem = rows[index];
// console.log(rsItem);
// let record =Object.assign({}, rsItem)
// record.notifySiteCode = recs;
// record.notifySiteName = record.sendSiteName;
// record.scanSiteCode=this.form.scanSiteCode;
// record.scanSite=this.form.scanSite;
// record.scanDate=scanDate;
// record.problemType=this.form.problemType;
// record.problemId=this.form.problemId;
// record.scanMan=this.form.scanMan;
// record.scanManCode=this.form.scanManCode;
// record.picUrl=this.form.picUrl;
// record.remark=this.form.remark;
// record.dataFrom="PC";
// this.emisWaybillList.push(record);
// this.dataMap[this.form.billCode]=record;
// }
// this.form.billCode=null;
// })
// },
handleUpload(){
let scanData=[];
// let problemInfoList=[];
this.emisWaybillList.forEach(item=>{
// item.currentStatus="已上传";
if(this.ids.indexOf(item.id) > -1){
scanData.push(
{
billCode:item.billCode,
problemType:item.problemId,
notifySite:item.notifySiteCode,
picUrl:item.picUrl,
remark:item.remark,
scanWeight:item.scanWeight,
scanDate:parseTime(item.scanDate || new Date())
}
)
// problemInfoList.push({
// billCode: item.billCode,
// problemType: item.problemType,
// problemTitle: null,
// problemCause: item.remark,
// sendSite: item.sendSiteName,
// sendSiteCode: item.sendSiteCode,
// registerManCode: item.registerManCode,
// registerManDept: null,
// registerSiteCode: item.registerSiteCode,
// registerDate: item.registerDate,
// registerSaveDate: null,
// dataFrom: item.dataFrom,
// status: null,//item.waybillStatus,//????????是否正确
// isSendSiteRegister: null,
// // blReversion: false,//????????是否正确
// blReversion: null,
// reversionStr: null,
// reversionMan: null,
// reversionManCode: null,
// reversionDate: null,
// blCheckok: null,
// blSee: null,
// filePath: item.picUrl,
// modifySiteCode: null,
// delFlag: item.delFlag,//????????是否正确
// remark: item.remark,//????????是否正确
// })
}
});
let scanProblemInfo = {
scanType:"-1",
opType:2,
scanData:scanData
};
let newList = [];
doScan(scanProblemInfo).then(response => {
let scanRstItem = response.data.scanResult[0];
console.log(scanRstItem);
if(scanRstItem.result != 'success'){
this.$modal.msgError(scanRstItem.message);
return;
}
this.emisWaybillList.forEach(item=>{
if(this.ids.indexOf(item.id) > -1){
item.currentStatus="已上传";
}
newList.push(item);
})
this.emisWaybillList = newList;
this.$modal.msgSuccess(scanRstItem.message);
});
// problemInfoList.forEach(item => {
// addEmisWaybillProblemInfo(item).then(response => {
// // debugger;
// if(response.code != "200"){
// this.$modal.msgError(response.msg);
// return;
// }
// this.$modal.msgSuccess(response.msg);
// })
// })
},
/** 提交按钮 */
submitForm() {
let newList = [];
for(let i = 0; i< this.emisWaybillList.length;i++){
let waybill = {...this.emisWaybillList[i]};
if(this.ids.indexOf(waybill.id) > -1){
waybill.notifySiteCode=this.form.modifyNotifySite;
waybill.notifySiteName=this.form.modifyNotifySiteName;
newList.push(waybill);
}else{
newList.push(waybill);
}
}
this.emisWaybillList = newList;
this.open = false;
},
submitFormBatch(){
if(this.formBatch.billCode==null || this.formBatch.billCode==''){
this.$modal.msgError("输入单号后回车");
return;
}
let bcList=this.formBatch.billCode.split(/[;\;\,\,\n]/)||[];
// bcList.forEach(code => {
// this.getWaybill(code)
// });
this.loading = true;
for(let bc=0;bc<bcList.length;bc++){
// for(let i = 0; i < this.emisWaybillList.length; i++){
// if(this.emisWaybillList[i].billCode == this.form.billCode && this.emisWaybillList[i].problemId == this.form.problemId){
// this.$modal.msgError("重复扫描");
// this.form.billCode = "";
// return;
// }
// }
let exitlist = this.emisWaybillList.filter(item => (item.billCode == bcList[bc].trim() && item.problemId == this.form.problemId));
if(exitlist.length > 0){
this.$modal.msgError("单号:"+ bcList[bc].trim() + ", 已存在");
continue;
}else{
this.addToList(bcList[bc].trim());
}
}
this.loading = false;
this.openBatch=false;
},
async addToList(billCode){
debugger;
if(!billCode){
return;
}
let response = await getWaybillDetail(billCode);
if(!response || response.code != 200){
this.$modal.msgError((response && response.msg || '未知错误') + ": " + billCode);
return;
}
let scanDate = new Date();
let data = response.data;
if(!data || data.billCode == ""){
this.$modal.msgError("未查到单号: " + billCode);
return;
}
// for (let index = 0; index < rows.length; index++) {
let rsItem = data;//rows[index];
console.log(rsItem);
let record =Object.assign({}, rsItem)
// record.notifySiteCode = record.sendSiteCode;
// record.notifySiteName = record.sendSiteName;
if(record.sendSiteCode == this.$store.getters.ownerSiteCode){
record.notifySiteCode = record.dispatchUnderlingSiteCode;
record.notifySiteName = record.dispatchUnderlingSiteName;
}else{
record.notifySiteCode = record.sendSiteCode;
record.notifySiteName = record.sendSiteName;
}
record.scanSiteCode=this.form.scanSiteCode;
record.scanSite=this.form.scanSite;
record.scanDate=scanDate;
record.problemTypeName=this.form.problemType;
record.problemType=this.form.problemType;
record.problemId=this.form.problemId;
record.scanMan=this.form.scanMan;
record.scanManCode=this.form.scanManCode;
record.picUrl=this.form.picUrl;
record.remark=this.form.remark;
record.dataFrom="PC";
this.emisWaybillList.push(record);
this.dataMap[this.form.billCode]=record;
// }
},
/** 删除按钮操作 */
handleDelete(row) {
let ids = [];
let newList =[];
this.emisWaybillList.forEach(item=>{
if(this.ids.indexOf(item.id) == -1){
newList.push(item);
ids.push(item.id)
}else{
this.dataMap[item.billCode]=null;
}
});
this.ids = ids;
this.emisWaybillList = newList;
},
/** 导出按钮操作 */
handleExport() {
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {};
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisWaybillProblemInfo(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','运单号','问题类型:','问题件标题','问题件原因','发送站点','发送站点代码','登记人代码','登记人所在部门','登记站点代码','登记时间','登记保存时间','数据来源','状态','是否寄件网点发起','是否回复','回复内容','回复人','回复人代码','回复日期','是否检查','是否查看','文件路径','创建站点代码','修改站点代码','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','备注',];
const filterVal = ['id','billCode','problemType','problemTitle','problemCause','sendSite','sendSiteCode','registerManCode','registerManDept','registerSiteCode','registerDate','registerSaveDate','dataFrom','status','isSendSiteRegister','blReversion','reversionStr','reversionMan','reversionManCode','reversionDate','blCheckok','blSee','filePath','createSiteCode','modifySiteCode','delFlag','createBy','createTime','updateBy','updateTime','remark',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '问题件',
autoWidth: true
})
loadingInstance.close()
})
}
});
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
}
return statusStr;
}
return v[j]
}))
},
/** 时间搜索响应函数 */
dateTimeChange(value){
this.dateTimeRange=value;
},
}
};
</script>
<style scoped>
.el-divider{
margin-top: 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.el-divider__text {
color: #0955ee;
cursor: pointer;
}
.ellipsis {
width:200px;
overflow: hidden; /* 确保超出容器的内容被裁剪 */
white-space: nowrap; /* 确保文本在一行内显示 */
text-overflow: ellipsis; /* 超出部分显示省略号 */
}
</style>