This commit is contained in:
linfso 2024-05-18 19:14:13 +08:00
commit d68387a7b1
5 changed files with 415 additions and 531 deletions

View File

@ -37,7 +37,7 @@
dicts: [],
props: {
value: {
type: String,
type: [String,Number],
required: false
},
placeholder: {
@ -45,13 +45,9 @@
required: false
},
id: {
type: String,
type: [String,Number],
required: false
},
// siteType:{
// type: [String,Number],
// required: false
// },
isInitiated:{
type: [Boolean,String],
required: false,

View File

@ -98,7 +98,7 @@
<el-button type="primary" @click="submitFormBatch">确 定</el-button>
<el-button @click="cancelBatch">取 消</el-button>
</div>
</el-dialog>
</el-dialog>
</div>
</template>

View File

@ -1,9 +1,10 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<search-form :model="queryParams" ref="queryForm" size="small" :maxShow="8" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<!-- <search-form :model="queryParams" ref="queryForm" size="small" :maxShow="8" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery"> -->
<el-form ref="queryForm" size="mini" :model="queryParams" :rules="rules" label-width="100px">
<el-col :span="16">
<el-col :span="24">
<el-col :span="16">
<el-form-item label="扫描时间" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="queryParams.dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
</el-form-item>
@ -33,7 +34,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="16">
<el-form-item :label="$t('')" prop="thisSite" label-width="70px">
<el-radio-group v-model="queryParams.thisSite">
<el-radio :label="1">本站发件</el-radio>
@ -43,8 +44,8 @@
</el-form-item>
</el-col>
</el-col>
</search-form>
</el-form>
<!-- </search-form> -->
</el-row >
<xd-table v-loading="loading"
@ -61,6 +62,14 @@
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="getList"
>查询</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"

View File

@ -1,40 +1,38 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<search-form :model="queryParams" ref="queryForm" size="small" :maxShow="8" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form ref="queryForm" size="mini" :model="queryParams" label-width="80px">
<!-- <search-form :model="queryParams" ref="queryForm" size="small" :maxShow="8" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery"> -->
<el-col :span="8">
<el-form-item prop="applySeq">
<el-col :span="8">
<el-select v-model="queryParams.queryType" >
<el-option :label="$t('运单号')" value="1"></el-option>
<el-option :label="$t('订单号')" value="2"></el-option>
</el-select>
</el-col>
<el-col :span="16">
<el-input
v-model="queryParams.billCode"
:placeholder="$t('多个流水号逗号或换行隔开')"
clearable
type="textarea"
rows="9"
@keyup.enter.native="handleQuery"
/>
</el-col>
<el-form-item label="" prop="billCode">
<div slot="label">
<el-radio-group class="query-label" v-model="queryParams.params.queryOrderType">
<el-radio label="1">运单号</el-radio>
<el-radio label="0">订单号</el-radio>
</el-radio-group>
</div>
<el-input
v-model="queryParams.billCode"
:placeholder="$t('多个流水号逗号或换行隔开')"
clearable
type="textarea"
rows="2"
/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-col :span="16">
<el-form-item label="签收时间" prop="dateTimeRange">
<el-form-item label="登记时间" prop="dateTimeRange" label-width="80px">
<elDateAdvPicker clearable v-model="queryParams.dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('录入网点')" prop="scanSiteCode" label-width="70px">
<EmisSiteSimplePicker v-model="queryParams.scanSiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
<el-form-item :label="$t('录入网点')" prop="registerSiteCode" label-width="80px">
<EmisSiteSimplePicker v-model="queryParams.registerSiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('签收图片')" prop="isSignPic">
<el-form-item :label="$t('签收图片')" prop="isSignPic" label-width="80px">
<el-select v-model="queryParams.isSignPic" :placeholder="$t('全部')" value="0">
<el-option :label="$t('未上传')" value="1"></el-option>
<el-option :label="$t('已上传')" value="2"></el-option>
@ -42,18 +40,18 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('派件员')" prop="dispatchOrSendManCode">
<EmisUserSimplePicker v-model="queryParams.dispatchOrSendManCode" postCode="RSD" @onChange="onStaffSelect" ></EmisUserSimplePicker>
<el-form-item :label="$t('派件员')" prop="dispatchManCode" label-width="80px">
<EmisUserSimplePicker v-model="queryParams.dispatchManCode" postCode="RSD" @onChange="onStaffSelect" ></EmisUserSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('收件国家')" prop="countryCode" label-width="70px">
<CountryPicker v-model="queryParams.countryCode" @onChange="onCountrySelect" ></CountryPicker>
<el-form-item :label="$t('收件国家')" prop="receiveCountry" label-width="80px">
<CountryPicker v-model="queryParams.receiveCountry" @onChange="onCountrySelect" ></CountryPicker>
</el-form-item>
</el-col>
</el-col>
</search-form>
</el-form>
<!-- </search-form> -->
</el-row >
<xd-table v-loading="loading"
@ -70,6 +68,14 @@
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="getList"
>查询</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
@ -88,19 +94,24 @@
<span>{{scope.row.queryType=="1"?scope.row.billCode:scope.row.orderSN}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('回复状态')" align="center" prop="answerState" min-width="100" />
<el-table-column :label="$t('通知网点')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="xxx" min-width="100">
<el-table-column :label="$t('回复状态')" align="center" prop="blReversion" min-width="100" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.xxx) }}</span>
<span>{{ scope.row.blReversion ? "是" : "否" }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记人')" align="center" prop="registerMan" min-width="100" />
<el-table-column :label="$t('登记部门')" align="center" prop="registerDept" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="picUrl" min-width="100"/>
<el-table-column :label="$t('通知网点')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="registerSiteCode" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.registerDate) }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="problemType" min-width="100" />
<el-table-column :label="$t('登记人')" align="center" prop="registerManCode" min-width="100" />
<el-table-column :label="$t('登记部门')" align="center" prop="registerManDept" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="filePath" min-width="100"/>
<el-table-column :label="$t('问题件原因')" align="center" prop="problemCause" min-width="100" />
<el-table-column :label="$t('登记保存时间')" align="center" prop="registerSaveDate" min-width="100" />
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
@ -110,75 +121,25 @@
<el-table-column :label="$t('回复人')" align="center" prop="reversionMan" min-width="100" />
<el-table-column :label="$t('回复日期')" align="center" prop="reversionDate" min-width="100" />
<el-table-column :label="$t('回复网点')" align="center" prop="reversionManCode" min-width="100" />
<el-table-column :label="$t('处理状态')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('处理状态')" align="center" prop="status" min-width="100" />
<el-table-column :label="$t('是否查看')" align="center" prop="blSee" min-width="100" />
<el-table-column :label="$t('是否回复')" align="center" prop="blReversion" min-width="100" />
<el-table-column :label="$t('问题件路径')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('问题件主题')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('问题件主题')" align="center" prop="problemTitle" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('数据产生来源')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('签收状态')" align="center" prop="signState" min-width="100" />
<el-table-column :label="$t('签收地址')" align="center" prop="signAddress" min-width="100" />
<el-table-column :label="$t('签收人')" align="center" prop="signMan" min-width="100" />
<el-table-column :label="$t('签收时间')" align="center" prop="signDate" 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="dispatchOrSendMan" min-width="100" />
<el-table-column :label="$t('寄件日期')" align="center" prop="xxx" min-width="170" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.xxx) }}</span>
</template>
</el-table-column>
<el-table-column label="寄件网点" align="center" prop="sendAreaSite" :show-overflow-tooltip="true" min-width="100" />
<el-table-column :label="$t('预计到达时间')" align="center" prop="xxx" min-width="170" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.xxx) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('产品类型')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('时效')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('录入人')" align="center" prop="recordMan" min-width="100" />
<el-table-column :label="$t('录入网点')" align="center" prop="recordSiteCode" min-width="100" />
<el-table-column :label="$t('录入时间')" align="center" prop="xxx" min-width="170" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.xxx) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('录入网点所属省份')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('签收网点')" align="center" prop="signSite" min-width="100" />
<el-table-column :label="$t('客户名称')" align="center" prop="customerName" min-width="100" />
<el-table-column :label="$t('到付款')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('代收付款')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('机器码/PDA编号')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('数据推送标识')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('数据插入时间')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('数据产生来源')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('签收信息备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('收件国家')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('收件省份')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('签收图片')" align="center" prop="picUrl" min-width="100"/>
</xd-table>
</div>
</template>
<script>
import { listEmisElectronicPagApply, getEmisElectronicPagApply, delEmisElectronicPagApply, addEmisElectronicPagApply, updateEmisElectronicPagApply } from "@/api/emis/emisElectronicPagApply";
import { listEmisTmsScanRecord, delEmisTmsScanRecord, updateEmisTmsScanRecord } from "@/api/emis/emisTmsScanRecord";
import { listEmisWaybillProblemInfo } from "@/api/emis/emisWaybillProblemInfo";
import { listEmisWaybill } from "@/api/emis/emisWaybill";
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
// import emisElectronicPagApplyView from '@/views/emis/emisElectronicPagApply/emisElectronicPagApplyView';
// import emisElectronicPagApplyForm from '@/views/emis/emisElectronicPagApply/emisElectronicPagApplyForm';
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisGetNextSitePicker from '@/views/emis/EmisBaseTools/EmisGetNextSitePicker.vue';
import DestinationPicker from '@/views/emis/EmisBaseTools/DestinationPicker.vue';
// import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import EmisUserSimplePicker from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
@ -270,8 +231,9 @@ export default {
status: null,
delFlag: null,
remark: null,
params:{},//扩展参数
params:{
queryOrderType:"1"
},//扩展参数
dateTimeRange:{},
// scanSite:null,
queryType:"1",// 选择运单类型,默认为 运单号:1,订单号:2
@ -312,20 +274,16 @@ export default {
/** 查询扫描记录列表 */
getList() {
this.loading = true;
// this.queryParams.params = {};
console.log("---->this.queryParams,", this.queryParams);
// debugger;
if (null != this.dateTimeRange && '' != this.dateTimeRange) {
// this.queryParams.params["beginScanDate"] = this.dateTimeRange[0];
// this.queryParams.params["endScanDate"] = this.dateTimeRange[1];
this.queryParams.params.beginScanDate = this.dateTimeRange[0];
this.queryParams.params.endScanDate = this.dateTimeRange[1];
this.queryParams.params.beginRegisterDate = this.dateTimeRange[0];
this.queryParams.params.endRegisterDate = this.dateTimeRange[1];
}else{
this.queryParams.params.beginScanDate = null;
this.queryParams.params.endScanDate = null;
this.queryParams.params.beginRegisterDate = null;
this.queryParams.params.endRegisterDate = null;
}
this.queryParams.params.queryType = this.queryParams.queryType;//1:yd;2:dd;
this.queryParams.params.isSubBill = this.queryParams.isSubBill;//1:子单;0:主单
// this.queryParams.params.queryType = this.queryParams.queryType;//1:yd;2:dd;
// this.queryParams.params.isSubBill = this.queryParams.isSubBill;//1:子单;0:主单
let queryType = this.queryParams.queryType;
if(queryType == "1"){
@ -334,19 +292,9 @@ export default {
this.queryParams.orderSN=this.queryParams.billCode;
this.queryParams.billCode=null;
}
// if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
// this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
// this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
// }
// if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
// this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
// this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
// }
// console.log(this.addDateRange(this.queryParams, this.dateTimeRange))
// listEmisTmsScanRecord(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
listEmisTmsScanRecord(this.queryParams).then(response => {
// this.emisElectronicPagApplyList = response.rows;
// this.loading = false;
// listEmisTmsScanRecord(this.queryParams).then(response => {
// listEmisWaybillProblemInfo(this.queryParams).then(response => {
listEmisWaybill(this.queryParams).then(response => {
this.emisElectronicPagApplyList = [];
// this.total = 0;
this.loading = false;
@ -361,21 +309,9 @@ export default {
console.log(scanRstItem);
let record =Object.assign({}, scanRstItem)
// record.carNo=scanRstItem.carNo;
// record.scanData=scanRstItem.scanData;
// record.scanType=scanRstItem.scanType;
// if(queryType == "1"){
// this.queryParams.orderSN=null;
// }
record.queryType = this.queryParams.queryType;
record.scanSiteName = this.queryParams.scanSiteName || record.scanSiteName;
record.preOrNextStation = this.queryParams.preOrNextStation || scanRstItem.preOrNextStation;
// record.createTime=scanRstItem.createTime;
// record.scanWeight=scanRstItem.scanWeight;
// console.log(record)
// let indexBillCode=record.billCode;
// this.dataMap[indexBillCode]=record;
// this.emisTmsScanRecordList.push(record);
this.emisElectronicPagApplyList.push(record);
}
});
@ -386,8 +322,8 @@ export default {
this.resetModifyParams();
},
onScanSiteSelect(item){
this.queryParams.scanSite=item && item.siteName;
this.queryParams.scanSiteCode=item && item.siteCode;
// this.queryParams.scanSite=item && item.siteName;
this.queryParams.registerSiteCode=item && item.siteCode;
},
onPreOrNextSiteSelect(item){
this.queryParams.preOrNextStation=item && item.siteName;
@ -398,13 +334,13 @@ export default {
this.queryParams.destName=item && item.destName;
},
onDateSelect(value){
console.log("date picker---->", value)
// console.log("date picker---->", value)
this.queryParams.dateTimeRange=value;
// scanDate
},
onStaffSelect(item){
this.form.dispatchOrSendMan=item.empName || this.$store.getters.empName;
this.form.dispatchOrSendManCode=item.empCode || this.$store.getters.empCode;
// this.form.dispatchOrSendMan=item.empName || this.$store.getters.empName;
this.form.dispatchManCode=item && item.empCode || null;
},
onModifyScanSiteSelect(item){
this.modifyParams.scanSite=item.siteName;
@ -716,4 +652,12 @@ export default {
color: #0955ee;
cursor: pointer;
}
.query-label {
.el-radio{
display: block;
line-height: 23px;
white-space: normal;
margin-right: 0;
}
}
</style>

View File

@ -1,61 +1,52 @@
<template>
<div class="app-container">
<!-- <search-form :model="queryParams" ref="queryForm" size="small" :maxShow="6" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery"> -->
<!-- <Form ref="refForm" :model="queryParams" label-width="68px" size="small" :inline="true" > -->
<el-row :gutter="0">
<!-- <el-form ref="form" size="mini" :model="queryParams" :rules="rules" label-width="80px"> -->
<el-form ref="form" size="mini" :model="queryParams" label-width="80px">
<el-row :gutter="20">
<el-form ref="form" size="mini" :model="form" label-width="80px">
<el-col :span="8">
<el-form-item :label="$t('通知网点')" prop="xxx" label-width="70px">
<EmisSiteSimplePicker v-model="queryParams.xxx" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
<el-form-item :label="$t('通知网点')" prop="notifySite" label-width="80px">
<EmisSiteSimplePicker v-model="form.notifySite" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('问题类型')" prop="problemType">
<ProblemTypePicker v-model="queryParams.problemType" @onChange="onproblemTypeSelect" ></ProblemTypePicker>
<el-form-item :label="$t('问题类型')" prop="problemType" label-width="80px">
<ProblemTypePicker v-model="form.problemId" :id="form.problemId" @onChange="onproblemTypeSelect" ></ProblemTypePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="运单号" prop="billCode">
<el-form-item label="问题原因" prop="remark" label-width="80px">
<el-input
v-model="queryParams.billCode"
v-model="form.remark"
:placeholder="$t('请输入')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="问题原因" prop="problemCause">
<el-input
v-model="form.problemCause"
:placeholder="$t('请输入')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="问题图片" prop="xxx">
<ImageOneUpload v-model="form.problemType" @input="handleInput" ></ImageOneUpload>
<el-form-item label="问题图片" prop="xxx" label-width="80px">
<ImageOneUpload v-model="form.picUrl" @input="handleInput" ></ImageOneUpload>
</el-form-item>
</el-col>
<!-- <el-row :gutter="10" class="mb8"> -->
<el-col :span="1.5">
<el-button
type="primary"
plain
icon=""
size="mini"
@click="handleEdit"
v-hasPermi="['emis:emisWaybillProblemInfo:edit']"
>保存</el-button>
</el-col>
<!-- </el-row> -->
<el-col :span="8">
<el-form-item label="扫描单号" prop="billCode" label-width="80px">
<span slot="label">
<span style="color: red">扫描单号</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="1.5">
<el-button
type="primary"
plain
icon=""
size="mini"
@click="handleScanInput"
>查询</el-button>
</el-col>
</el-form>
<!-- </Form> -->
</el-row>
<!-- </search-form> -->
<div>
</div>
@ -63,13 +54,11 @@
<xd-table v-loading="loading"
border stripe
size="small"
:data="emisWaybillProblemInfoList"
:data="emisWaybillList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
:total="total"
@queryTable="getList"
:queryParams="queryParams"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
@ -79,7 +68,7 @@
plain
size="mini"
:disabled="multiple"
@click="handleQuery"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>上传</el-button>
</el-col>
@ -99,16 +88,7 @@
type="primary"
plain
size="mini"
@click="handleQuery"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>批量扫描</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleQuery"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>下载导入模版</el-button>
</el-col>
@ -117,7 +97,7 @@
type="primary"
plain
size="mini"
@click="handleQuery"
@click="handleUpload"
v-hasPermi="['emis:emisTmsScanRecord:add']"
>导入</el-button>
</el-col>
@ -126,8 +106,7 @@
type="primary"
plain
size="mini"
@click="handleQuery"
v-hasPermi="['emis:emisTmsScanRecord:add']"
@click="handleBatchRegister"
>批量登记</el-button>
</el-col>
<el-col :span="1.5">
@ -135,30 +114,32 @@
type="primary"
plain
size="mini"
@click="handleQuery"
v-hasPermi="['emis:emisTmsScanRecord:add']"
@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" prop="xxx" min-width="100" />
<el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="100" />
<el-table-column :label="$t('通知网点')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="xxx" min-width="100">
<el-table-column :label="$t('通知网点')" align="center" prop="notifySiteName" min-width="100" />
<el-table-column :label="$t('登记网点')" align="center" prop="scanSite" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="scanDate" min-width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.xxx) }}</span>
<span>{{ parseTime(scope.row.scanDate) }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column :label="$t('问题件类型')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('登记人')" align="center" prop="registerMan" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="picUrl" min-width="100" />
<el-table-column :label="$t('问题件原因')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('数据来源')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('问题件类型')" align="center" prop="problemType" min-width="100" />
<el-table-column :label="$t('登记人')" align="center" prop="scanMan" min-width="100" />
<el-table-column :label="$t('图片路径')" align="center" prop="picUrl" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{scope.row.picUrl}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('问题件原因')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('数据来源')" align="center" prop="dataFrom" min-width="100" />
<el-table-column :label="$t('所属业务员')" align="center" prop="marketMan" min-width="100" />
<el-table-column :label="$t('业务员编号')" align="center" prop="xxx" min-width="100" />
<el-table-column :label="$t('业务员编号')" align="center" prop="marketManCode" min-width="100" />
</xd-table>
<!-- 添加或修改问题件对话框 -->
@ -167,143 +148,11 @@
<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="billCode">
<el-input v-model="form.billCode" placeholder="请输入运单号" />
<el-form-item :label="$t('通知网点')" prop="notifySite" label-width="80px">
<EmisSiteSimplePicker v-model="form.modifyNotifySite" @onChange="onModifyScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('问题类型:')" prop="problemType">
<el-input v-model="form.problemType" placeholder="请输入问题类型:" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('问题件标题')" prop="problemTitle">
<el-input v-model="form.problemTitle" placeholder="请输入问题件标题" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('问题件原因')" prop="problemCause">
<el-input v-model="form.problemCause" placeholder="请输入问题件原因" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('发送站点')" prop="sendSite">
<el-input v-model="form.sendSite" placeholder="请输入发送站点" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('发送站点代码')" prop="sendSiteCode">
<el-input v-model="form.sendSiteCode" placeholder="请输入发送站点代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('登记人代码')" prop="registerManCode">
<el-input v-model="form.registerManCode" placeholder="请输入登记人代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('登记人所在部门')" prop="registerManDept">
<el-input v-model="form.registerManDept" placeholder="请输入登记人所在部门" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('登记站点代码')" prop="registerSiteCode">
<el-input v-model="form.registerSiteCode" placeholder="请输入登记站点代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('登记时间')" prop="registerDate">
<el-date-picker clearable
v-model="form.registerDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择登记时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('登记保存时间')" prop="registerSaveDate">
<el-input v-model="form.registerSaveDate" placeholder="请输入登记保存时间" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('数据来源')" prop="dataFrom">
<el-input v-model="form.dataFrom" placeholder="请输入数据来源" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('状态')" prop="status">
<el-input v-model="form.status" placeholder="请输入状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('是否寄件网点发起')" prop="isSendSiteRegister">
<el-input v-model="form.isSendSiteRegister" placeholder="请输入是否寄件网点发起" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('是否回复')" prop="blReversion">
<el-input v-model="form.blReversion" placeholder="请输入是否回复" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('回复内容')" prop="reversionStr">
<el-input v-model="form.reversionStr" placeholder="请输入回复内容" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('回复人')" prop="reversionMan">
<el-input v-model="form.reversionMan" placeholder="请输入回复人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('回复人代码')" prop="reversionManCode">
<el-input v-model="form.reversionManCode" placeholder="请输入回复人代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('回复日期')" prop="reversionDate">
<el-input v-model="form.reversionDate" placeholder="请输入回复日期" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('是否检查')" prop="blCheckok">
<el-input v-model="form.blCheckok" placeholder="请输入是否检查" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('是否查看')" prop="blSee">
<el-input v-model="form.blSee" placeholder="请输入是否查看" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('文件路径')" prop="filePath">
<el-input v-model="form.filePath" placeholder="请输入文件路径" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('修改站点代码')" prop="modifySiteCode">
<el-input v-model="form.modifySiteCode" placeholder="请输入修改站点代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('删除标志(0代表存在')" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('备注')" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<!--
<el-col :span="24" v-show="moreInputVisible" > </el-col>
<el-col :span="24">
<el-divider content-position="right" @click="handleShowMoreInput" >更多信息[+]</el-divider>
</el-col>
-->
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
@ -311,27 +160,43 @@
<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-col :span="24">
<div style="padding-left: 60px;font-size: 12px;"> T0123219321 有问题</div>
</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 { listEmisWaybillProblemInfo, getEmisWaybillProblemInfo, delEmisWaybillProblemInfo, addEmisWaybillProblemInfo, updateEmisWaybillProblemInfo } from "@/api/emis/emisWaybillProblemInfo";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import emisWaybillProblemInfoView from '@/views/emis/emisWaybillProblemInfo/emisWaybillProblemInfoView';
import emisWaybillProblemInfoForm from '@/views/emis/emisWaybillProblemInfo/emisWaybillProblemInfoForm';
import { addEmisWaybillProblemInfo,listEmisWaybillProblemInfo } from "@/api/emis/emisWaybillProblemInfo";
import { doScan } from "@/api/emis/emisTmsScanRecord";
import { listEmisWaybill } from "@/api/emis/emisWaybill";
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import ProblemTypePicker from '@/views/emis/EmisBaseTools/ProblemTypePicker.vue';
import { Form, FormItem, Button } from 'element-ui'
export default {
name: "ProblemEntry",
components: { EmisSiteSimplePicker, ProblemTypePicker, Form },
components: { EmisSiteSimplePicker, ProblemTypePicker },
dicts: ['emis_question_type'],
data() {
return {
// 遮罩层
loading: true,
loading: false,
// 选中数组
ids: [],
// 非单个禁用
@ -345,12 +210,15 @@ export default {
// 总条数
total: 0,
// 问题件表格数据
emisWaybillProblemInfoList: [],
// 弹出层标题
emisWaybillList: [],
title: "",
// 是否显示弹出层
open: false,
problemTypeValue:{},
titleBatch:"",
openBatch:false,
problemId:null,
problemType:null,
openForm: false,
titleForm: "",
@ -371,38 +239,11 @@ export default {
daterangeCreateTime: [],
// 备注时间范围
daterangeUpdateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 20,
billCode: null,
problemType: null,
problemTitle: null,
problemCause: null,
sendSite: null,
sendSiteCode: null,
registerManCode: null,
registerManDept: null,
registerSiteCode: null,
registerDate: null,
registerSaveDate: null,
dataFrom: null,
status: null,
isSendSiteRegister: null,
blReversion: null,
reversionStr: null,
reversionMan: null,
reversionManCode: null,
reversionDate: null,
blCheckok: null,
blSee: null,
filePath: null,
modifySiteCode: null,
delFlag: null,
remark: null
},
// 表单参数
form: {},
formBatch:{},
dataMap:[],
queryParams:{}
// 表单校验
// rules: {
// id: [
@ -412,82 +253,25 @@ export default {
};
},
created() {
this.getList();
// 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: {
/** 查询问题件列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeRegisterDate && '' != this.daterangeRegisterDate) {
this.queryParams.params["beginRegisterDate"] = this.daterangeRegisterDate[0];
this.queryParams.params["endRegisterDate"] = this.daterangeRegisterDate[1];
}
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisWaybillProblemInfo(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisWaybillProblemInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
this.modifyNotifySite=null;
this.modifyNotifySiteName=null;
},
// 表单重置
reset() {
this.form = {
id: null,
billCode: null,
problemType: null,
problemTitle: null,
problemCause: null,
sendSite: null,
sendSiteCode: null,
registerManCode: null,
registerManDept: null,
registerSiteCode: null,
registerDate: null,
registerSaveDate: null,
dataFrom: null,
status: null,
isSendSiteRegister: null,
blReversion: null,
reversionStr: null,
reversionMan: null,
reversionManCode: null,
reversionDate: null,
blCheckok: null,
blSee: null,
filePath: null,
createSiteCode: null,
modifySiteCode: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
cancelBatch() {
this.openBatch = false;
this.formBatch={};
},
// 多选框选中数据
handleSelectionChange(selection) {
@ -496,96 +280,245 @@ export default {
this.multiple = !selection.length
},
onScanSiteSelect(item){
this.queryParams.scanSite=item && item.siteName;
this.queryParams.scanSiteCode=item && item.siteCode;
if(!item){
this.form.modifyNotifySite = null;
this.form.modifyNotifySiteName = null;
return;
}
this.form.notifySite=item && item.siteCode;
this.form.notifySiteName=item && item.siteName;
},
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.$message.error("请选择通知网点");
return;
}
if(this.form.problemType==null || this.form.problemType==''){
this.$message.error("请选择问题类型");
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.$message.error("请先选择数据")
}
},
handleScanInput(){
if(this.form.billCode==null || this.form.billCode==''){
this.$message.error("输入单号后回车");
return;
}
if(this.form.notifySite==null || this.form.notifySite==''){
this.$message.error("请选择通知网点");
return;
}
if(this.form.problemType==null || this.form.problemType==''){
this.$message.error("请选择问题类型");
return;
}
if(this.dataMap[this.form.billCode]){
this.$message.error("重复登记");
this.playNoticeTone(1);
return;
}
this.getWaybill(this.form.billCode)
},
handleEdit(){
// 1、先判断是否经过查询且有数据
// 2、调保存接口
getWaybill(billCode){
this.loading = true;
listEmisWaybill({billCode:billCode}).then(response => {
this.loading = false;
let scanDate = new Date();
if(response.code != 200){
this.$message.error(response.msg);
return;
}
let rows = response.rows;
if(!rows || rows.length == 0){
this.$message.error("未查到单号");
return;
}
for (let index = 0; index < rows.length; index++) {
let rsItem = rows[index];
console.log(rsItem);
let record =Object.assign({}, rsItem)
record.notifySite = this.form.notifySite;
record.notifySiteName = this.form.notifySiteName;
record.scanSiteCode=this.form.scanSiteCode;
record.scanSite=this.form.scanSite;
record.scanDate=scanDate;
record.problemType=this.form.problemType;
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;
})
},
// 排序 查询字段是表格中字段名字 动态取值排序顺序
handleSortChange(column) {
this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order;
this.getList();
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getEmisWaybillProblemInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改";
handleUpload(){
let scanData=[];
let problemInfoList=[];
this.emisWaybillList.forEach(item=>{
if(this.ids.indexOf(item.id) > -1){
scanData.push(
{
billCode:item.billCode,
problemType:item.problemType,
notifySite:item.notifySite,
picUrl:item.picUrl,
remark:item.remark,
scanWeight:item.scanWeight,
scanDate:item.scanDate
}
)
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,//????????是否正确
})
}
});
// 子组件打开模式
// this.currentId= row.id || this.ids;
// this.openEmisWaybillProblemInfo = true;
// this.titleEmisWaybillProblemInfo = "修改";
let scanProblemInfo = {
scanType:"-1",
opType:2,
scanData:scanData
};
},
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisWaybillProblemInfo/viewDetail', query: { id: row.id }})
doScan(scanProblemInfo).then(response => {
let scanRstItem = response.data.scanResult[0];
console.log(scanRstItem);
if(scanRstItem.result != 'success'){
this.$modal.msgError(scanRstItem.message);
return;
}
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() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisWaybillProblemInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEmisWaybillProblemInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
let newList = [];
debugger
for(let i = 0; i< this.emisWaybillList.length;i++){
let waybill = {...this.emisWaybillList[i]};
if(this.ids.indexOf(waybill.id) > -1){
waybill.notifySite=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.$message.error("输入单号后回车");
return;
}
let bcList=this.formBatch.billCode.split(/[;\;\,\,\n]/)||[];
bcList.forEach(code => {
if(this.dataMap[code]){
this.$message.error("重复登记:"+code);
this.playNoticeTone(1);
return;
}
this.getWaybill(code)
});
},
handleFormChanged(){
this.openForm = false;
this.getList();
},
cancelForm(){
this.openForm = false;
this.openBatch=false;
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除').then(function() {
return delEmisWaybillProblemInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
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() {
// this.download('emis/emisWaybillProblemInfo/export', {
// ...this.queryParams
// }, `emisWaybillProblemInfo_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
var qParam = {};
qParam.pageNum=1;
qParam.pageSize=5000;
@ -624,10 +557,6 @@ export default {
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
/** 时间搜索响应函数 */
dateTimeChange(value){
this.dateTimeRange=value;
@ -646,4 +575,10 @@ export default {
color: #0955ee;
cursor: pointer;
}
.ellipsis {
width:200px;
overflow: hidden; /* 确保超出容器的内容被裁剪 */
white-space: nowrap; /* 确保文本在一行内显示 */
text-overflow: ellipsis; /* 超出部分显示省略号 */
}
</style>