问题件

This commit is contained in:
wuteng 2026-04-14 17:22:35 +08:00
parent d52a15d2b3
commit c5a42db9ba
3 changed files with 182 additions and 98 deletions

View File

@ -65,6 +65,21 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售联系人')" prop="status" label-width="90px">
<EmpNamePicker1 :placeholder="$t('回款联系人')" v-model="queryParams.payee" ></EmpNamePicker1>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('回款联系人')" prop="status" label-width="90px">
<EmpNamePicker2 :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" @onChange="onSalemanChange" ></EmpNamePicker2>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售支持')" prop="status" label-width="90px">
<EmpNamePicker3 :placeholder="$t('销售支持')" v-model="queryParams.salesSupport" ></EmpNamePicker3>
</el-form-item>
</el-col>
</el-col>
</el-row >
</el-form>
@ -157,14 +172,19 @@
</template>
</el-table-column>
<el-table-column :label="$t('通知网点')" align="center" prop="sendSiteName" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170">
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170" :sortable="true">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.registerDate) }}</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="registerManName" min-width="150" />
<el-table-column :label="$t('寄件日期')" align="center" prop="sendDate" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售联系人')" align="center" prop="salesmen" min-width="120" :sortable="true"/>
<el-table-column :label="$t('回款联系人')" align="center" prop="payee" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售支持')" align="center" prop="salesSupport" min-width="120" :sortable="true"/>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('登记人')" align="center" prop="registerManName" min-width="150" :sortable="true"/>
<el-table-column :label="$t('登记部门')" align="center" prop="registerManDept" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="filePath" min-width="100">
<template slot-scope="scope">
@ -181,7 +201,7 @@
<span>{{ parseTime(scope.row.registerSaveDate) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('所属业务员')" align="center" prop="salesmen" min-width="150" />
<!-- <el-table-column :label="$t('所属业务员')" align="center" prop="salesmen" min-width="150" /> -->
<el-table-column :label="$t('问题件回复')" align="center" prop="reversionStr" min-width="150" />
<el-table-column :label="$t('回复人')" align="center" prop="reversionManName" min-width="150" />
<el-table-column :label="$t('回复日期')" align="center" prop="reversionDate" min-width="170">
@ -233,11 +253,13 @@ import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import ProblemTypePicker from '@/views/emis/EmisBaseTools/ProblemTypePicker.vue';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import EmpNamePicker1 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker2 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import { getDateTimeToString } from '@/utils/payutils'
export default {
name: "CentralProblemInquiry",
components: { ProblemTypePicker, EmisUserSimplePicker, CountryPicker, elDateAdvPicker, EmisSiteSimplePicker, EmisGetNextSitePicker, DestinationPicker },
components: { ProblemTypePicker, EmisUserSimplePicker, CountryPicker, elDateAdvPicker, EmisSiteSimplePicker, EmisGetNextSitePicker, DestinationPicker, EmpNamePicker1, EmpNamePicker2, EmpNamePicker3 },
dicts: ['emis_scan_type', 'emis_processing_status'],
data() {
@ -701,7 +723,30 @@ export default {
if (j === 'index') {
return ++index
}
if(j==='queryType'){
if( this.queryParams.queryType== 1){
return v['billCode']
}else{
return v['orderSn']
}
}
if(j==='blReversion'){
return v[j] == 0 ? '未回复': '已回复'
}
if(j === 'dealResult'){
if(v[j]==='1'){
return '处理中'
}else if(v[j]==='2'){
return '处理完毕'
}else if(v[j]==='0' && v['blSee']==='1'){
return '已查看未处理'
}else{
return '未处理'
}
}
if(j==='blSee'){
return v[j] == "1"? '是': '否'
}
return v[j]
}))
},
@ -709,6 +754,9 @@ export default {
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
onSalemanChange(){
this.queryParams.sendSiteCode=null;
},
/** 时间搜索响应函数 */
// dateTimeChange(value){
// this.dateTimeRange=value;

View File

@ -55,6 +55,21 @@
<CountryPicker v-model="queryParams.receiveCountry" @onChange="onCountrySelect" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售联系人')" prop="status" label-width="90px">
<EmpNamePicker1 :placeholder="$t('回款联系人')" v-model="queryParams.payee" ></EmpNamePicker1>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('回款联系人')" prop="status" label-width="90px">
<EmpNamePicker2 :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" @onChange="onSalemanChange" ></EmpNamePicker2>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售支持')" prop="status" label-width="90px">
<EmpNamePicker3 :placeholder="$t('销售支持')" v-model="queryParams.salesSupport" ></EmpNamePicker3>
</el-form-item>
</el-col>
</el-col>
</el-form>
<!-- </search-form> -->
@ -137,14 +152,18 @@
</template>
</el-table-column>
<el-table-column :label="$t('通知网点')" align="center" prop="sendSiteName" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170">
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170" :sortable="true">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.registerDate) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="150" />
<el-table-column :label="$t('登记人')" align="center" prop="registerManName" min-width="100" />
<el-table-column :label="$t('寄件日期')" align="center" prop="sendDate" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售联系人')" align="center" prop="salesmen" min-width="120" :sortable="true"/>
<el-table-column :label="$t('回款联系人')" align="center" prop="payee" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售支持')" align="center" prop="salesSupport" min-width="120" :sortable="true"/>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="150" :sortable="true"/>
<el-table-column :label="$t('登记人')" align="center" prop="registerManName" min-width="100" :sortable="true"/>
<el-table-column :label="$t('登记部门')" align="center" prop="registerManDept" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="filePath" min-width="100">
<template slot-scope="scope">
@ -228,13 +247,16 @@ import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import Comments from '@/views/emis/EmisBaseTools/Comments.vue';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import EmpNamePicker1 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker2 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import { getDateTimeToString } from '@/utils/payutils'
export default {
name: "ReceivedProblemInquiries",
components: { Comments, EmisUserSimplePicker, CountryPicker, elDateAdvPicker, EmisSiteSimplePicker, EmisGetNextSitePicker, DestinationPicker,
CommentInfoForm
CommentInfoForm, EmpNamePicker1, EmpNamePicker2, EmpNamePicker3
},
dicts: ['emis_scan_type'],
data() {
@ -856,6 +878,9 @@ export default {
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
onSalemanChange(){
this.queryParams.sendSiteCode=null;
},
/** 时间搜索响应函数 */
// dateTimeChange(value){
// this.dateTimeRange=value;

View File

@ -55,6 +55,21 @@
<CountryPicker v-model="queryParams.receiveCountry" @onChange="onCountrySelect" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售联系人')" prop="status" label-width="90px">
<EmpNamePicker1 :placeholder="$t('回款联系人')" v-model="queryParams.payee" ></EmpNamePicker1>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('回款联系人')" prop="status" label-width="90px">
<EmpNamePicker2 :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" @onChange="onSalemanChange" ></EmpNamePicker2>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('销售支持')" prop="status" label-width="90px">
<EmpNamePicker3 :placeholder="$t('销售支持')" v-model="queryParams.salesSupport" ></EmpNamePicker3>
</el-form-item>
</el-col>
</el-col>
</el-form>
<!-- </search-form> -->
@ -97,7 +112,7 @@
type="primary"
plain
size="mini"
@click="getList"
@click="handleExport"
>导出</el-button>
</el-col>
<el-col :span="1.5">
@ -141,14 +156,19 @@
</template>
</el-table-column>
<el-table-column :label="$t('通知网点')" align="center" prop="sendSiteName" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170">
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="170" :sortable="true">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.registerDate) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="150" />
<el-table-column :label="$t('登记人')" align="center" prop="registerManName" min-width="150" />
<el-table-column :label="$t('寄件日期')" align="center" prop="sendDate" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售联系人')" align="center" prop="salesmen" min-width="120" :sortable="true"/>
<el-table-column :label="$t('回款联系人')" align="center" prop="payee" min-width="120" :sortable="true"/>
<el-table-column :label="$t('销售支持')" align="center" prop="salesSupport" min-width="120" :sortable="true"/>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemTypeName" min-width="150" :sortable="true"/>
<el-table-column :label="$t('登记人')" align="center" prop="registerManName" min-width="150" :sortable="true"/>
<el-table-column :label="$t('登记部门')" align="center" prop="registerManDept" min-width="150" />
<el-table-column :label="$t('图片路径')" align="center" prop="filePath" min-width="100">
<template slot-scope="scope">
@ -165,7 +185,7 @@
<span>{{ parseTime(scope.row.registerSaveDate) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('所属业务员')" align="center" prop="salesmen" min-width="150" />
<!-- <el-table-column :label="$t('所属业务员')" align="center" prop="salesmen" min-width="150" /> -->
<!-- <el-table-column :label="$t('业务员编号')" align="center" prop="xxx" min-width="150" /> -->
<el-table-column :label="$t('问题件回复')" align="center" prop="reversionStr" min-width="150" />
<el-table-column :label="$t('回复人')" align="center" prop="reversionMan" min-width="150" />
@ -226,11 +246,14 @@ import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import Comments from '@/views/emis/EmisBaseTools/Comments.vue';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import EmpNamePicker1 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker2 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import EmpNamePicker3 from '@/views/emis/EmisBaseTools/EmpNamePicker.vue';
import { getDateTimeToString } from '@/utils/payutils'
export default {
name: "ReceivedProblemInquiries",
components: { Comments, EmisUserSimplePicker, CountryPicker, elDateAdvPicker, EmisSiteSimplePicker, EmisGetNextSitePicker, DestinationPicker, CommentInfoForm },
components: { Comments, EmisUserSimplePicker, CountryPicker, elDateAdvPicker, EmisSiteSimplePicker, EmisGetNextSitePicker, DestinationPicker, CommentInfoForm, EmpNamePicker1, EmpNamePicker2, EmpNamePicker3 },
dicts: ['emis_scan_type'],
data() {
@ -755,73 +778,52 @@ export default {
this.getList();
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisElectronicPagApply/export', {
// ...this.queryParams
// }, `emisElectronicPagApply_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
onSalemanChange(){
this.queryParams.sendSiteCode=null;
},
/** 时间搜索响应函数 */
// dateTimeChange(value){
// this.dateTimeRange=value;
// },
/** 导出按钮操作 */
handleExport() {
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
if (null != this.dateTimeRange && '' != this.dateTimeRange) {
this.queryParams.params["beginScanDate"] = this.dateTimeRange[0];
this.queryParams.params["endScanDate"] = this.dateTimeRange[1];
})
if(this.selectionList&&this.selectionList.length>0){
this.exportData(this.selectionList,loadingInstance);
}
this.queryParams.params["queryType"] = this.queryParams.queryType;//1:yd;2:dd;
this.queryParams.params["isSubBill"] = this.queryParams.isSubBill;//1:子单;0:主单
listEmisTmsScanRecord(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = []
for (let index = 0; index < response.rows.length; index++) {
let scanRstItem = response.rows[index];
let record =Object.assign({}, scanRstItem)
record.orderType = this.queryParams.orderType;
record.scanSiteName = this.queryParams.scanSiteName || record.scanSiteName;
record.preOrNextStation = this.queryParams.preOrNextStation || scanRstItem.preOrNextStation;
curList.push(record);
}
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','单号','单号类型','车牌号','扫描时间','扫描类型','扫描网点','上/下一网点','扫描员','录入时间','扫描重量'];
const filterVal = ['id','billCode','orderType','carNo','scanDate','scanType','scanSite','preOrNextStation','scanMan','createTime','scanWeight'];
const data = this.formatJson(filterVal, curList, curList)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '网点电子面单申请',
autoWidth: true
})
loadingInstance.close()
})
}
});
// listEmisTmsScanRecord(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
// this.emisElectronicPagApplyList = [];
// this.loading = false;
// let rows = response.rows;
// this.total = response.total;
// if(!rows || rows.length == 0){
// this.$modal.msgError("未查到单号");
// return;
// }
// for (let index = 0; index < rows.length; index++) {
// let scanRstItem = rows[index];
// console.log(scanRstItem);
// let record =Object.assign({}, scanRstItem)
// record.orderType = this.queryParams.orderType;
// record.scanSiteName = this.queryParams.scanSiteName || record.scanSiteName;
// record.preOrNextStation = this.queryParams.preOrNextStation || scanRstItem.preOrNextStation;
// this.emisElectronicPagApplyList.push(record);
// }
// });
else{
let qParam={...this.queryParams}
qParam.pageNum=1;
qParam.pageSize=20000;
listEmisWaybillProblemInfo(qParam).then(response => {
if (response.code === 200) {
this.exportData(response.rows,loadingInstance);
}
});
}
},
exportData(selData,loadingInstance){
const curList =selData
import('@/vendor/Export2Excel').then(excel => {
const exportParam=this.$refs.singleSelectTable.getExportParam();
const tHeader = exportParam.header;
const filterVal = exportParam.filter;
const data = this.formatJson(filterVal, curList, selData)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '登记问题件查询列表',
autoWidth: true
})
loadingInstance.close()
})
},
formatJson(filterVal, jsonData, resData) {
let index = 0
@ -829,24 +831,33 @@ export default {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
if(j==='queryType'){
if( this.queryParams.queryType== 1){
return v['billCode']
}else{
return v['orderSn']
}
return statusStr;
}
if(j==='blReversion'){
return v[j] == 0 ? '未回复': '已回复'
}
if(j === 'dealResult'){
if(v[j]==='1'){
return '处理中'
}else if(v[j]==='2'){
return '处理完毕'
}else if(v[j]==='0' && v['blSee']==='1'){
return '已查看未处理'
}else{
return '未处理'
}
}
if(j==='blSee'){
return v[j] == "1"? '是': '否'
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
/** 时间搜索响应函数 */
// dateTimeChange(value){
// this.dateTimeRange=value;
// },
}
};
</script>