This commit is contained in:
linfso 2024-06-20 17:31:46 +08:00
parent 9b777f79e0
commit a4e593f1f5
5 changed files with 298 additions and 159 deletions

View File

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<SearchForm :model="queryParams" ref="queryForm" size="mini" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="" prop="packNo">
<el-input
@ -10,14 +10,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="packStatus">
<el-input
v-model="queryParams.packStatus"
:placeholder="$t('合包状态')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="printStatus">
<el-input
v-model="queryParams.printStatus"
@ -31,7 +24,7 @@
<XdTable v-loading="loading"
border stripe
size="small"
size="mini"
:data="emisTmsPackList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
@ -47,24 +40,31 @@
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsPack:add']"
>新增</el-button>
>新增合包条码</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
type="primary"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
:disabled="multiple"
@click="handlePrintPreview"
v-hasPermi="['emis:emisTmsPack:edit']"
>修改</el-button>
</el-col> -->
>预览合包条码</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
:disabled="multiple"
@click="handlePrintPreview"
v-hasPermi="['emis:emisTmsPack:edit']"
>打印合包条码</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -76,83 +76,32 @@
v-hasPermi="['emis:emisTmsPack:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['emis:emisTmsPack:export']"
>导出</el-button>
</el-col> -->
<el-col :span="1.5">
<TanexPrinterPanel ref="tanexPrinter" :isShowPinters="false" :isShowTpl="false" :isShowSubBillRange="false" @onPrint="handleBatchPrint"></TanexPrinterPanel>
</el-col>
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<!--
<el-table-column label="序号" align="center" min-width="60">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<el-table-column :label="$t('合包号')" align="center" prop="packNo" min-width="100" />
<el-table-column :label="$t('发出网点')" align="center" prop="sendStiteCode" min-width="100" />
<el-table-column :label="$t('合包状态')" align="center" prop="packStatus" min-width="100" />
<el-table-column :label="$t('打印状态')" align="center" prop="printStatus" min-width="100" />
<el-table-column :label="$t('创建者')" align="center" prop="createBy" min-width="100" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" min-width="100" />
<el-table-column :label="$t('创建网点')" align="center" prop="createSite" min-width="100" />
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<!-- <el-table-column :label="$t('发出网点')" align="center" prop="sendStiteCode" min-width="100" /> -->
<!-- <el-table-column :label="$t('合包状态')" align="center" prop="packStatus" min-width="100" /> -->
<el-table-column :label="$t('打印状态')" align="center" prop="printStatus" min-width="100" >
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisTmsPack:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisTmsPack:remove']"
>删除</el-button> -->
</template>
</el-table-column>
<div v-if="scope.row.printStatus == 1" style="color:red;">
<span class="el-tag el-tag--success">已打印</span>
</div>
<div v-if="scope.row.printStatus == 0" style="color:red;">
<span class="el-tag">待打印</span>
</div>
</template>
</el-table-column>
<el-table-column :label="$t('创建者')" align="center" prop="createByName" min-width="100" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" min-width="100" />
<el-table-column :label="$t('创建网点')" align="center" prop="createSiteName" min-width="100" />
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
@ -160,11 +109,6 @@
</el-dialog>
<!--
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<emisTmsPackView :id="id" ></EmisTmsPackView>
</el-dialog>
-->
</div>
</template>
@ -218,7 +162,7 @@ export default {
pageNum: 1,
pageSize: 20,
packNo: null,
packStatus: null,
packStatus: '0',
printStatus: null,
},
};
@ -227,23 +171,41 @@ export default {
this.getList();
},
methods: {
handleBatchPrint(){
this.$confirm("确定打印?", "提示", {
cancelButtonText: "不打印",
confirmButtonText: "确定打印",
type: "warning",
distinguishCancelAndClose: true,
closeOnClickModal: false
}).then(() => {
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
});
this.$refs.tanexPrinter.batchPrint(orderList,null,true);
}).catch(() => {});
},
handlePrintPreview(){
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
});
this.$refs.tanexPrinter.printPreview(orderList,true);
},
handleDownPDF(){
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
});
this.$refs.tanexPrinter.downPDF(orderList,true);
},
/** 查询TMS合包列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangePrintDate && '' != this.daterangePrintDate) {
this.queryParams.params["beginPrintDate"] = this.daterangePrintDate[0];
this.queryParams.params["endPrintDate"] = this.daterangePrintDate[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];
}
listEmisTmsPack(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
listEmisTmsPack(this.queryParams).then(response => {
this.emisTmsPackList = response.rows;
this.total = response.total;
this.loading = false;

View File

@ -73,7 +73,7 @@
type="primary"
plain
size="mini"
v-hasPermi="['emis:emisTmsSiteBatchLoading:query']"
v-hasPermi="['emis:emisTmsSiteBatch:query']"
@click="getQuery"
>查询</el-button>
<el-button style="margin-right: 5px;"
@ -82,7 +82,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsSiteBatchLoading:add']"
v-hasPermi="['emis:emisTmsSiteBatch:add']"
>去组批次</el-button>
<!-- <el-button style="margin-right: 5px;"
type="primary"
@ -90,7 +90,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsSiteBatchLoading:add']"
v-hasPermi="['emis:emisTmsSiteBatch:add']"
>新增组批次</el-button> -->
<el-button style="margin-right: 5px;"
type="danger"
@ -98,7 +98,7 @@
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['emis:emisTmsSiteBatchLoading:remove']"
v-hasPermi="['emis:emisTmsSiteBatch:edit']"
>修改</el-button>
<el-button style="margin-right: 5px;"
type="danger"
@ -107,7 +107,7 @@
size="mini"
:disabled="multiple"
@click="handleDeleteCoPack"
v-hasPermi="['emis:emisTmsSiteBatchLoading:remove']"
v-hasPermi="['emis:emisTmsSiteBatch:remove']"
>删除</el-button>
<el-button style="margin-right: 5px;"
type="warning"
@ -115,7 +115,7 @@
icon="el-icon-download"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsSiteBatchLoading:export']"
v-hasPermi="['emis:emisTmsSiteBatch:export']"
>下载批次文件</el-button>
</div>
@ -300,7 +300,7 @@
@sort-change="handleSortChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('批次号')" align="center" prop="batchNo" min-width="170" />
<el-table-column :label="$t('批次名称')" align="center" prop="batchName" min-width="170" />
<el-table-column :label="$t('报关资料状态')" align="center" prop="declareResStatus" min-width="170">
@ -363,7 +363,7 @@
<el-col :span="16">
<el-col :span="12">
<el-form-item :label="$t('批次号')" prop="batchNo">
<el-input v-model="coData.batchNo" disabled />
<el-input v-model="coData.batchNo" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -667,7 +667,7 @@
</el-dialog>
<el-dialog :title="titleWayBill" :visible.sync="openWayBillForm" width="70%" @close="handleCloseWayBill" :destroy-on-close="true" v-dialogDrag append-to-body>
<el-dialog :title="titleWayBill" :visible.sync="openWayBillForm" width="90%" @close="handleCloseWayBill" :destroy-on-close="true" v-dialogDrag append-to-body>
<el-form ref="formCo" size="mini" :model="wayBillData" label-width="100px" class="overflowhidden" >
<el-row :gutter="20">
<el-col :span="8">
@ -890,7 +890,7 @@ export default {
waitPackList:[],//选择未组包的运单先保存起来,在后续新增组批次的弹框中使用
// 新增/修改弹窗数据
coData: {
},
// 新增/修改包详情数据
emisCoPackDetail:[],
@ -1043,7 +1043,7 @@ export default {
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else if(item == ""){
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
@ -1074,7 +1074,7 @@ export default {
this.multiple = true;
if(null != this.dateTimeRange && '' != this.dateTimeRange){
this.queryWaitParams.params.beginCreateTime = dateToStr(new Date(this.dateTimeRange[0]));
this.queryWaitParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
this.queryWaitParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
}
// this.queryWaitParams.packNo = this.queryParams.packNo;
this.queryWaitParams.receiveCountry = this.queryParams.receiveCountry;
@ -1089,7 +1089,7 @@ export default {
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else if(item == ""){
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
@ -1128,7 +1128,7 @@ export default {
this.loadingDone = true;
if(null != this.dateTimeRange && '' != this.dateTimeRange){
this.queryDoneParams.params.beginCreateTime = dateToStr(new Date(this.dateTimeRange[0]));
this.queryDoneParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
this.queryDoneParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
}
// this.queryDoneParams.packNo = this.queryParams.packNo;
if(this.queryParams.billCode){
@ -1140,7 +1140,7 @@ export default {
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else if(item == ""){
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
@ -1197,7 +1197,7 @@ export default {
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else if(item == ""){
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
@ -1390,10 +1390,10 @@ export default {
}
}
//第二步:处理运单列表的数据
//2.1:计算要删除的运单,提到“删除”按钮的操作逻辑
// let tempDelList = [];
//
//
// tempDelList = this.tempExistCoPackWayBillList.filter(item => {
// let ls = this.emisCoPackDetail.filter(cd => {
// return cd.billCode == item.billCode
@ -1616,7 +1616,7 @@ export default {
}
}
this.tempExistCoPackWayBillList = afterList;//this.tempExistCoPackWayBillList.filter(item => {idsArrTemp.indexOf(item.id) == -1})
this.computeTotal();
// 更新主表
this.tempCoPackInfo.destCountry = this.coData.destCountry;
@ -1732,7 +1732,7 @@ export default {
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
];
this.coData.startSiteCode = this.$store.getters.ownerSiteCode;
this.coData.startSiteName=this.$store.getters.ownerSiteName;
@ -1797,7 +1797,7 @@ export default {
// this.coData.totalVolume = resData.totalVolume || null;
// this.coData.totalWeight = resData.totalWeight || null;
this.emisCoPackDetail=[];
let resList = await listEmisTmsSiteBatchDtl({batchNo: resData.batchNo});
if(!resList || resList.code != 200){
@ -1811,7 +1811,7 @@ export default {
}
this.coData.packStatus = this.tempCoPackInfo.packStatus;
this.coData.scanDate = this.tempCoPackInfo.scanDate;
let resLoadingList = await listEmisTmsSiteBatchLoading({batchNo: resData.batchNo});
if(!resLoadingList || resLoadingList.code != 200){
this.$message.error(resLoadingList && resLoadingList.msg || "未知错误");

View File

@ -77,7 +77,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="目的国家" prop="destCountry">
<el-input v-model="form.destCountry" placeholder="请输入目的国家" />
@ -122,20 +122,20 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-col>
<el-col :span="12">
</el-col>
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
@ -186,7 +186,7 @@ export default {
methods: {
async initData() {
if(this.id !=null) {
this.loading = true;
getEmisTmsSiteBatch(this.id).then(response => {
@ -268,7 +268,7 @@ export default {
}
});
},
}
};
</script>

View File

@ -19,8 +19,10 @@
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
<CommentPanel ></CommentPanel>
<el-scrollbar class="kr-designer-tool_con">
<panel class="control-panel" />
<CommentPanel :billCode="billCode" ></CommentPanel>
</el-scrollbar>
</div>
</template>
@ -34,7 +36,7 @@ export default {
props:{
promInfo:{
type:Object
}
},
},
components: { CommentPanel },
dicts: [
@ -44,6 +46,7 @@ export default {
emisWaybillProblemFaqOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
@ -78,16 +81,19 @@ export default {
methods: {
initData() {
this.reset();
if(this.id !=null) {
this.loading = true;
getEmisWaybillProblemFaq(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
}
// if(this.id !=null) {
// this.loading = true;
// getEmisWaybillProblemFaq(this.id).then(response => {
// this.form = response.data;
// this.loading = false;
// });
// }else{
// }
// this.getTreeselect();
},
// 取消按钮
@ -121,17 +127,10 @@ export default {
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisWaybillProblemFaq(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisWaybillProblemFaq(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
addEmisWaybillProblemFaq(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$emit("on-changed");
});
}
}
});
},

View File

@ -0,0 +1,178 @@
<template>
<div>
<div v-for="(item,index) in emisWaybillProblemFaqList" :key="index" class="author-title reply-father">
<div class="author-info">
<span class="author-name">{{item.name}}</span>
<span class="author-time">{{item.time}}</span>
</div>
<div class="talk-box">
<p>
<span class="reply">{{item.content}}</span>
</p>
</div>
</div>
</div>
</template>
<script>
import { listEmisWaybillProblemFaq } from "@/api/emis/emisWaybillProblemFaq";
export default {
name:'CommentPanel',
props:{
billCode:{
type:String
},
},
data(){
return{
emisWaybillProblemFaqList: [],
// comments:[
// {
// name:'张三',
// comment:'测试回复',
// time:'2024-06-19 12:58:03',
// },
// {
// name:'李四',
// comment:'测试回复',
// time:'2024-06-19 12:58:03',
// },
// ],
queryParams: {
pageNum: 1,
pageSize: 20,
billCode: this.billCode
},
}
},
methods: {
getList() {
listEmisWaybillProblemFaq(this.queryParams).then(response => {
this.emisWaybillProblemFaqList = response.rows;
});
},
},
}
</script>
<style lang="scss" scoped>
.my-reply {
padding: 10px;
background-color: #fafbfc;
.header-img {
display: inline-block;
vertical-align: top;
}
.reply-info {
display: inline-block;
margin-left: 5px;
width: 90%;
@media screen and (max-width: 1200px) {
width: 80%;
}
.reply-input {
min-height: 20px;
line-height: 22px;
padding: 10px 10px;
color: #ccc;
background-color: #fff;
border-radius: 5px;
&:empty:before {
content: attr(placeholder);
}
&:focus:before {
content: none;
}
&:focus {
padding: 8px 8px;
border: 2px solid blue;
box-shadow: none;
outline: none;
}
}
}
.reply-btn-box {
height: 25px;
margin: 10px 0;
.reply-btn {
position: relative;
float: right;
margin-right: 15px;
}
}
}
.my-comment-reply {
margin-left: 50px;
.reply-input {
width: flex;
}
}
.author-title:not(:last-child) {
border-bottom: 1px solid rgba(178, 186, 194, 0.3);
}
.author-title {
padding: 10px;
.header-img {
display: inline-block;
vertical-align: top;
}
.author-info {
display: inline-block;
margin-left: 5px;
width: 60%;
height: 40px;
line-height: 20px;
> span {
display: block;
cursor: pointer;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.author-name {
color: #000;
font-size: 13px;
font-weight: bold;
}
.author-time {
font-size: 12px;
}
}
.icon-btn {
width: 30%;
padding: 0 !important ;
float: right;
@media screen and (max-width: 1200px) {
width: 20%;
padding: 7px;
}
> span {
cursor: pointer;
}
.iconfont {
margin: 0 5px;
}
}
.talk-box {
margin: 0 10px;
> p {
margin: 0;
}
.reply {
font-size: 12px;
color: #000;
}
}
.reply-box {
margin: 10px 0 0 50px;
background-color: #efefef;
}
}
</style>