This commit is contained in:
linfso 2024-07-25 20:41:53 +08:00
parent 611a7f0c4a
commit 722eb5f9c5
17 changed files with 298 additions and 150 deletions

View File

@ -126,9 +126,10 @@ export default {
}, },
watch: { watch: {
value(newVal,oldVal) { value(newVal,oldVal) {
if(this.value!=null){ // if(this.value!=null){
this.svalue=this.value; // }
} this.svalue=this.value;
}, },
countryCode(newVal){ countryCode(newVal){
this.queryParams.country=newVal; this.queryParams.country=newVal;

View File

@ -24,14 +24,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="货物名称" align="left" prop="goodsName" width="100" /> <el-table-column label="货物名称" align="left" prop="goodsName" width="100" />
</el-table> </el-table>
<el-pagination v-show="pagination" small
:total="total"
:page-size="5"
layout="prev, pager, next, total"
@current-change="changePage"
/>
</div> </div>
<el-input <el-input
@ -43,10 +36,9 @@
@blur="onBlur" @blur="onBlur"
@clear="onClear" @clear="onClear"
clearable clearable
readonly=""
> >
<!-- <template slot="suffix">
<i slot="suffix" class="el-icon-edit"></i>
</template> -->
</el-input> </el-input>
</el-popover> </el-popover>
@ -114,7 +106,7 @@ import { debounce } from 'throttle-debounce'
"goodsCode": "304080202", "goodsCode": "304080202",
"specType": "次", "specType": "次",
"unit": "次", "unit": "次",
"price": "0", "price": "1",
"num": "1", "num": "1",
"taxRate": "0.06", "taxRate": "0.06",
"withTaxFlag": "1" "withTaxFlag": "1"
@ -124,7 +116,7 @@ import { debounce } from 'throttle-debounce'
"goodsCode": "30408020102", "goodsCode": "30408020102",
"specType": "次", "specType": "次",
"unit": "次", "unit": "次",
"price": "0", "price": "1",
"num": "1", "num": "1",
"taxRate": "0.00", "taxRate": "0.00",
"withTaxFlag": "1" "withTaxFlag": "1"
@ -134,7 +126,7 @@ import { debounce } from 'throttle-debounce'
"goodsCode": "304040903", "goodsCode": "304040903",
"specType": "次", "specType": "次",
"unit": "次", "unit": "次",
"price": "0", "price": "1",
"num": "1", "num": "1",
"taxRate": "0.06", "taxRate": "0.06",
"withTaxFlag": "1" "withTaxFlag": "1"
@ -144,7 +136,7 @@ import { debounce } from 'throttle-debounce'
"goodsCode": "30105020202", "goodsCode": "30105020202",
"specType": "次", "specType": "次",
"unit": "次", "unit": "次",
"price": "0", "price": "1",
"num": "1", "num": "1",
"taxRate": "0.09", "taxRate": "0.09",
"withTaxFlag": "1" "withTaxFlag": "1"
@ -177,28 +169,18 @@ import { debounce } from 'throttle-debounce'
this.svalue = null; this.svalue = null;
this.$emit("input", this.svalue); this.$emit("input", this.svalue);
this.dispatch('ElFormItem', 'el.form.blur', [this.svalue]); this.dispatch('ElFormItem', 'el.form.blur', this.svalue);
}, },
onBlur(el) { onBlur(el) {
this.$emit("input", this.svalue); this.$emit("input", this.svalue);
this.dispatch('ElFormItem', 'el.form.blur', [this.svalue]); this.dispatch('ElFormItem', 'el.form.blur', this.svalue);
}, },
changePage(cur) { changePage(cur) {
this.queryParams.pageNum = cur this.queryParams.pageNum = cur
this.queryData() this.queryData()
}, },
queryData() { queryData() {
this.loading = true;
// 代理报关费 :6% ,国际代理运输费:0% 派送费:6% 代理运输费 9%
// listSimpleEmisGoods(this.queryParams).then(response => {
// this.loading = false;
// this.total = response.total;
// this.optionItems = response.rows;
// });
}, },
getIndex($index) { getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1 return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1

View File

@ -107,7 +107,7 @@
--> -->
<!-- <el-table-column :label="$t('开票企业代码标识')" align="center" prop="comCode" min-width="100" /> --> <el-table-column :label="$t('别名')" align="center" prop="comCode" min-width="100" :show-overflow-tooltip="true" />
<el-table-column :label="$t('税号')" align="center" prop="companyTaxNo" min-width="170" :show-overflow-tooltip="true"/> <el-table-column :label="$t('税号')" align="center" prop="companyTaxNo" min-width="170" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('公司名称')" align="center" prop="companyName" min-width="200" :show-overflow-tooltip="true"/> <el-table-column :label="$t('公司名称')" align="center" prop="companyName" min-width="200" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('注册电话')" align="center" prop="companyTel" min-width="100" /> <el-table-column :label="$t('注册电话')" align="center" prop="companyTel" min-width="100" />

View File

@ -21,7 +21,7 @@
<script> <script>
import SiteConfimPanel from '@/views/emis/emisSettleBill/panel/SiteConfimPanel.vue'; import SiteConfimPanel from '@/views/emis/emisSettleBill/panel/SiteConfimPanel.vue';
import SiteConfirmSubBillListPanel from '@/views/emis/emisSettleBill/panel/SubBillListPanel.vue'; import SiteConfirmSubBillListPanel from '@/views/emis/emisSettleBill/panel/SiteConfirmSubBillListPanel.vue';
export default { export default {
name: "SiteMainBillConfirmList", name: "SiteMainBillConfirmList",

View File

@ -74,9 +74,10 @@
size="mini" size="mini"
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['emis:emisSettleBill:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>
<!-- v-hasPermi="['emis:emisSettleBill:remove']" -->
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"

View File

@ -111,7 +111,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" min-width="100" /> <el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" min-width="100" />
<el-table-column :label="$t('总件数')" align="center" prop="pieceNumber" min-width="100" /> <el-table-column :label="$t('总件数')" align="center" prop="pieceNumber" min-width="100" />
<el-table-column :label="$t('重量')" align="center" prop="feeWeight" min-width="100" /> <el-table-column :label="$t('结算重量')" align="center" prop="feeWeight" min-width="100" />
<el-table-column :label="$t('账单应收金额')" align="center" prop="recMoney" min-width="150" /> <el-table-column :label="$t('账单应收金额')" align="center" prop="recMoney" min-width="150" />
<el-table-column :label="$t('账单已收金额')" align="center" prop="recedMoney" min-width="150" /> <el-table-column :label="$t('账单已收金额')" align="center" prop="recedMoney" min-width="150" />
<el-table-column :label="$t('账单退款金额')" align="center" prop="refundMoney" min-width="150" /> <el-table-column :label="$t('账单退款金额')" align="center" prop="refundMoney" min-width="150" />

View File

@ -156,6 +156,7 @@
<el-tag v-if="scope.row.paymentStatus=='2'" type="warning">部分收款</el-tag> <el-tag v-if="scope.row.paymentStatus=='2'" type="warning">部分收款</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column :label="$t('理赔金额')" align="center" prop="satisfyMoney" min-width="100" /> --> <!-- <el-table-column :label="$t('理赔金额')" align="center" prop="satisfyMoney" min-width="100" /> -->
<!-- <el-table-column :label="$t('允许金额')" align="center" prop="allowanceMoney" min-width="100" /> --> <!-- <el-table-column :label="$t('允许金额')" align="center" prop="allowanceMoney" min-width="100" /> -->
<!-- <el-table-column :label="$t('抵扣金额')" align="center" prop="deductionMoney" min-width="100" /> --> <!-- <el-table-column :label="$t('抵扣金额')" align="center" prop="deductionMoney" min-width="100" /> -->

View File

@ -44,6 +44,20 @@
@sort-change="handleSortChange" @sort-change="handleSortChange"
> >
<div slot="toolbar" >
<el-col :span="1.5" >
<el-button
type="primary"
plain
size="mini"
:disabled="multiple"
@click="handleSetBillErrorBySite"
v-hasPermi="['emis:emisSettleSubBill:setBillErrorBySite']"
>置账单异常</el-button>
</el-col>
</div>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="130" /> <el-table-column :label="$t('运单号')" align="center" prop="billCode" min-width="130" />
<el-table-column :label="$t('发件人')" align="center" prop="fjr" width="200" :show-overflow-tooltip="true"> <el-table-column :label="$t('发件人')" align="center" prop="fjr" width="200" :show-overflow-tooltip="true">
@ -190,8 +204,7 @@ import TraceWaybillDetailView from '@/views/emis/customerService/traceWaybillDet
import MergeBillForm from '@/views/emis/emisSettleBill/MergeBillForm.vue'; import MergeBillForm from '@/views/emis/emisSettleBill/MergeBillForm.vue';
import { getInfoBySettleBillNo,addSubBillToSettleBill,removeSubBillFromSettleBill } from "@/api/emis/emisSettleBill"; import { getInfoBySettleBillNo,addSubBillToSettleBill,removeSubBillFromSettleBill } from "@/api/emis/emisSettleBill";
import { listEmisSettleSubBill} from "@/api/emis/emisSettleSubBill"; import {setBillErrorBySite, listEmisSettleSubBill} from "@/api/emis/emisSettleSubBill";
export default { export default {
name: "SubBillListPanel", name: "SubBillListPanel",
@ -452,6 +465,21 @@ export default {
console.log(sums); console.log(sums);
return sums return sums
}, },
handleSetBillErrorBySite(row) {
const ids = row.id || this.ids;
this.$prompt('请输入账单异常原因', "操作确认", {
confirmButtonText: "确定",
cancelButtonText: "取消",
closeOnClickModal: false,
inputPattern: /^.{1,30}$/,
inputErrorMessage: "原因长度必须介于 1 和 30 之间"
}).then(({ value }) => {
setBillErrorBySite(ids,value).then(response => {
this.$modal.msgSuccess("操作成功" );
this.getList();
});
}).catch(() => {});
},
// 移除运单 // 移除运单
handleRemovceBillCode(){ handleRemovceBillCode(){
let postData={ let postData={

View File

@ -26,17 +26,16 @@
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="success" type="primary"
plain plain
size="mini" size="mini"
:disabled="single" :disabled="multiple"
@click="handleSendHXToOpen" @click="handleSendHXToOpen"
>发送开票</el-button> >发送航信开票</el-button>
</el-col> </el-col>
<!-- <!-- v-hasPermi="['emis:emisSettleInvoiceChRecord:edit']"
v-hasPermi="['emis:emisSettleInvoiceChRecord:edit']" v-hasPermi="['emis:emisSettleInvoiceChRecord:add']" -->
v-hasPermi="['emis:emisSettleInvoiceChRecord:add']"
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
@ -45,10 +44,9 @@
size="mini" size="mini"
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['emis:emisSettleInvoiceChRecord:edit']"
>修改</el-button> >修改</el-button>
</el-col> --> </el-col>
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="danger" type="danger"
plain plain
@ -58,7 +56,7 @@
@click="handleDelete" @click="handleDelete"
v-hasPermi="['emis:emisSettleInvoiceChRecord:remove']" v-hasPermi="['emis:emisSettleInvoiceChRecord:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col> -->
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -285,16 +283,10 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.currentId= row.id; this.currentId= row.id || this.ids;
this.openForm = true; this.openForm = true;
this.titleForm = "修改"; this.titleForm = "修改";
}, },
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisSettleInvoiceChRecord/viewDetail', query: { id: row.id }})
},
handleFormChanged(){ handleFormChanged(){
this.openForm = false; this.openForm = false;
this.getList(); this.getList();

View File

@ -161,34 +161,45 @@
<span > {{scope.$index+1}}</span> <span > {{scope.$index+1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="goodsCode" label="商品名称" align="center" width="120" :show-overflow-tooltip="true"> <el-table-column prop="goodsName" label="商品名称" align="center" width="120" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<TaxInput v-model="scope.row.goodsCode" size="mini" placeholder=""></TaxInput> <TaxInput v-model="scope.row.goodsName" size="mini" placeholder="" @onChange="handleTaxInputSelect($event,scope.row)"></TaxInput>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="price" label="单价" align="center" width="60" :show-overflow-tooltip="true"> <el-table-column prop="price" label="单价" align="center" width="60" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.brand" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.price" @input="(val)=>handleCalcFeeDebounce(scope.row)" size="mini" placeholder="" :min="0.01" :controls="false" :precision="2"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="goodsModel" label="数量" align="center" width="80" :show-overflow-tooltip="true"> <el-table-column prop="num" label="数量" align="center" width="80" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.goodsModel" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.num" @input="(val)=>handleCalcFeeDebounce(scope.row)" size="mini" placeholder="" :min="1" :controls="false" :precision="0"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="unit" label="单位" align="center" width="80" :show-overflow-tooltip="true">
<el-table-column prop="hscode" label="规格" align="center" width="80" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.hscode" size="mini" placeholder=""></el-input> <el-input v-model="scope.row.unit" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="specType" label="规格" align="center" width="80" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.specType" size="mini" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column prop="taxRate" label="税率" align="center" width="80" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input-number v-model="scope.row.taxRate" @input="(val)=>handleCalcFeeDebounce(scope.row)" size="mini" placeholder="" :min="0.00" :controls="false" :precision="2"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" width="50"> <el-table-column :label="$t('操作')" align="center" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="icon iconfont" <span class="icon iconfont"
style="cursor: pointer;font-size: 21px;color: #6e6e6e;" style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
v-if="scope.row.blAutoGen==0" @click="()=>deleteTaxItem(scope.row,scope.$index)">&#xe7ae;</span>
@click="()=>deleteFeeItem(scope.row)">&#xe7ae;</span> <span class="icon iconfont"
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
@click="()=>copyTaxItem(scope.row,scope.$index)">&#xe620;</span>
</template> </template>
</el-table-column> </el-table-column>
@ -197,7 +208,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="开票金额" prop="openMoney"> <el-form-item label="开票金额" prop="openMoney">
<el-input v-model="form.openMoney" placeholder="请输入开票金额" /> <el-input-number v-model="form.openMoney" placeholder="" :min="1.0" :controls="false" :precision="2"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
@ -289,13 +300,13 @@ import { listEmisSettleInvoiceChRecord, getEmisSettleInvoiceChRecord, delEmisSet
import BaseInvoiceInfoPicker from '@/views/emis/EmisBaseTools/BaseInvoiceInfoPicker.vue'; import BaseInvoiceInfoPicker from '@/views/emis/EmisBaseTools/BaseInvoiceInfoPicker.vue';
import TaxInput from '@/views/emis/EmisBaseTools/TaxInput.vue'; import TaxInput from '@/views/emis/EmisBaseTools/TaxInput.vue';
import { listEmisSettleInvoiceRecord, getEmisSettleInvoiceRecord, delEmisSettleInvoiceRecord, addEmisSettleInvoiceRecord, updateEmisSettleInvoiceRecord } from "@/api/emis/emisSettleInvoiceRecord"; import { listEmisSettleInvoiceRecord, getEmisSettleInvoiceRecord, delEmisSettleInvoiceRecord, addEmisSettleInvoiceRecord, updateEmisSettleInvoiceRecord } from "@/api/emis/emisSettleInvoiceRecord";
import { debounce } from 'throttle-debounce'
export default { export default {
name: "emisSettleInvoiceChRecordForm", name: "emisSettleInvoiceChRecordForm",
props:{ props:{
id:{ id:{
type:Number type:[Number,Array]
}, },
applyId:{ applyId:{
type:Number type:Number
@ -343,14 +354,13 @@ export default {
methods: { methods: {
initData() { initData() {
if(this.id !=null) { if(this.id !=null) {
this.loading = true; this.loading = true;
getEmisSettleInvoiceChRecord(this.id).then(response => { getEmisSettleInvoiceChRecord(this.id).then(response => {
this.form = response.data; this.form = response.data;
this.form.cargoList=JSON.parse(this.form.extData);
this.loading = false; this.loading = false;
}); });
}else{ }else{
@ -389,6 +399,28 @@ export default {
this.form.recieveAddress=item.recieveAddress; this.form.recieveAddress=item.recieveAddress;
this.form.email=item.email; this.form.email=item.email;
}, },
handleTaxInputSelect(item,row){
console.log("===>handleTaxInputSelect===>",item,row);
row.goodsCode=item.goodsCode;
row.goodsName=item.goodsName;
row.unit=item.unit;
row.price=item.price;
row.num=item.num;
row.taxRate=item.taxRate;
row.withTaxFlag="1";
},
deleteTaxItem(row,index){
console.log("===>deleteTaxItem===>",row);
this.$confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.form.cargoList.splice(index,1)
}).catch(() => {
})
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.reset(); this.reset();
@ -454,15 +486,39 @@ export default {
let cargo={ let cargo={
"goodsCode": "", "goodsCode": "",
"goodsName": "填写货物名称", "goodsName": "",
"num": 1, "num": 1,
"price": 0, "price": 0,
"unit": '次', "unit": '次',
"specType": 0 "specType": ''
} }
this.form.cargoList.push(cargo); this.form.cargoList.push(cargo);
}, },
copyTaxItem(row,index){
let newItem = Object.assign({},row);
this.form.cargoList.splice(index+1, 0, newItem);
this.handleCalcFeeDebounce(row);
},
handleCalcFeeDebounce(row){
// 控制触发频率
debounce(250, this.handleCalcFee(row))
},
handleCalcFee(row){
let totalFee=Number(0);
if(this.form.cargoList&&this.form.cargoList.length>0){
let len=this.form.cargoList.length;
for(let i=0;i<len;i++){
let item=this.form.cargoList[i];
let newFee=parseFloat(item.price)*parseFloat(item.num);
totalFee=Number(totalFee)+Number(newFee);
}
}
this.form.openMoney =totalFee.toFixed(5);
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {

View File

@ -275,73 +275,9 @@
v-hasPermi="['emis:emisSettleSubBill:cancelConfirmBillBySite']" v-hasPermi="['emis:emisSettleSubBill:cancelConfirmBillBySite']"
>取消确认</el-button> >取消确认</el-button>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<div slot="toolbar" v-if="actionType==4">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5" v-if="activeTab=='waitMerge'">
<div style="display:inline-flex;font-size:13px;font-weight:bold;font-weight: bold;line-height: 30px;">
<span>账单名称:</span>
<el-input
size="mini"
style="width:280px"
v-model="billName"
:placeholder="$t('账单名称')"
clearable
/>
<span>账单月:</span>
<el-date-picker size="mini" style="width:120px" v-model="billMonth" type="month" placeholder="" value-format="yyyy-MM"></el-date-picker>
</div>
</el-col>
<el-col :span="1.5" v-if="activeTab=='waitMerge'">
<el-button
type="primary"
plain
size="mini"
:disabled="multiple"
@click="handleMergeBill"
v-hasPermi="['emis:emisSettleBill:add']"
>合账</el-button>
</el-col>
<!-- <el-col :span="1.5" v-if="activeTab=='waitMerge'">
<el-button
type="primary"
plain
size="mini"
:disabled="multiple"
@click="handleMergeBill"
v-hasPermi="['emis:emisSettleBill:add']"
>自动合账</el-button>
</el-col> -->
<!-- <el-col :span="1.5" v-if="activeTab=='waitMerge'">
<el-button
type="primary"
plain
size="mini"
:disabled="single"
@click="handleSplit"
v-hasPermi="['emis:emisSettleSubBill:splitSubBill']"
>拆子账单</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:emisSettleSubBill:export']"
>导出</el-button>
</el-col>
</el-row>
</div>
<div slot="statInfo" style="font-size: 13px;"> <div slot="statInfo" style="font-size: 13px;">
总票数:<span class="statInfoValue">{{queryStatInfoMap?queryStatInfoMap.totalNum:0}}</span>, 总票数:<span class="statInfoValue">{{queryStatInfoMap?queryStatInfoMap.totalNum:0}}</span>,
@ -408,7 +344,7 @@
<el-table-column v-if="actionType!=1" :label="$t('月结客户')" align="center" prop="customerName" min-width="150" :show-overflow-tooltip="true"> <el-table-column v-if="actionType!=1" :label="$t('月结客户')" align="center" prop="customerName" min-width="150" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="['2','4','5'].includes(scope.row.waybillDetail.paymentType)" type="normal">{{ scope.row.customerName }}</span> <span v-if="['2','4','5'].includes(scope.row.waybillDetail.paymentType)" type="normal">{{ scope.row.custName }}</span>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -962,7 +962,7 @@ export default {
this.selectBillList=selection; this.selectBillList=selection;
if(this.selectBillList&&this.selectBillList.length>0){ if(this.selectBillList&&this.selectBillList.length>0){
const item0=this.selectBillList[0]; const item0=this.selectBillList[0];
this.billName=item0.waybillDetail.customerName+"账单-"+this.billMonth; this.billName=item0.waybillDetail.custName+"账单-"+this.billMonth;
}else{ }else{
this.billName=null; this.billName=null;
} }

View File

@ -17,6 +17,9 @@
<el-option :key="2" label="未打印" value="0" ></el-option> <el-option :key="2" label="未打印" value="0" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建日期" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="dateTimeRange" ></elDateAdvPicker>
</el-form-item>
</SearchForm> </SearchForm>
@ -134,9 +137,12 @@ import { listEmisTmsPack, getPackNo, delEmisTmsPack, addEmisTmsPack,updateEmisT
import Barcode from '@/components/Barcode/index'; import Barcode from '@/components/Barcode/index';
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker'; import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue'; import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default { export default {
name: "emisTmsPack", name: "emisTmsPack",
components: { elDateSimplePicker,TanexPrinterPanel,Barcode }, components: { elDateAdvPicker,TanexPrinterPanel,Barcode },
dicts: [ dicts: [
], ],
data() { data() {
@ -184,6 +190,12 @@ export default {
}; };
}, },
created() { created() {
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
this.getList(); this.getList();
}, },
methods: { methods: {
@ -281,6 +293,7 @@ export default {
/** 查询TMS合包列表 */ /** 查询TMS合包列表 */
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"createTime");
listEmisTmsPack(this.queryParams).then(response => { listEmisTmsPack(this.queryParams).then(response => {
this.emisTmsPackList = response.rows; this.emisTmsPackList = response.rows;
this.total = response.total; this.total = response.total;

View File

@ -16,11 +16,11 @@
</el-form-item> --> </el-form-item> -->
<el-form-item label="目的财务中心" prop="productType"> <el-form-item label="目的财务中心" prop="productType">
<EmisSiteSimplePicker3 v-model="queryParams.destinationCenterCode" siteType="2" ></EmisSiteSimplePicker3> <EmisSiteSimplePicker3 v-model="queryParams.destinationCenterCode" siteType="2" :disabled="$store.getters.ownerSiteCode !='88888'" ></EmisSiteSimplePicker3>
</el-form-item> </el-form-item>
<el-form-item label="目的网点" prop="dispatchUnderlingSiteCode"> <el-form-item label="目的网点" prop="dispatchUnderlingSiteCode">
<EmisSiteSimplePicker4 v-model="queryParams.dispatchUnderlingSiteCode" ></EmisSiteSimplePicker4> <EmisSiteSimplePicker4 v-model="queryParams.dispatchUnderlingSiteCode" :disabled="$store.getters.ownerSiteCode !='88888'" ></EmisSiteSimplePicker4>
</el-form-item> </el-form-item>
</SearchForm> </SearchForm>
@ -84,6 +84,8 @@ import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePick
import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker3 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSiteSimplePicker3 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker4 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSiteSimplePicker4 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default { export default {
name: "WaybillIsPrinted", name: "WaybillIsPrinted",
@ -286,6 +288,16 @@ export default {
}; };
}, },
created() { created() {
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
if(this.$store.getters.ownerSiteCode!='88888'){
this.queryParams.dispatchUnderlingSiteCode=this.$store.getters.ownerSiteCode;
}
}, },
methods: { methods: {
getSendStatList() { getSendStatList() {

View File

@ -9,10 +9,10 @@
<elDateAdvPicker clearable v-model="dateTimeRange" ></elDateAdvPicker> <elDateAdvPicker clearable v-model="dateTimeRange" ></elDateAdvPicker>
</el-form-item> </el-form-item>
<el-form-item label="寄件财务中心" prop="sendCenterCode"> <el-form-item label="寄件财务中心" prop="sendCenterCode">
<EmisSiteSimplePicker1 v-model="queryParams.sendCenterCode" :siteType="2" ></EmisSiteSimplePicker1> <EmisSiteSimplePicker1 v-model="queryParams.sendCenterCode" :siteType="2" :disabled="$store.getters.ownerSiteCode !='88888'"></EmisSiteSimplePicker1>
</el-form-item> </el-form-item>
<el-form-item label="寄件网点" prop="sendSiteCode"> <el-form-item label="寄件网点" prop="sendSiteCode">
<EmisSiteSimplePicker2 v-model="queryParams.sendSiteCode" ></EmisSiteSimplePicker2> <EmisSiteSimplePicker2 v-model="queryParams.sendSiteCode" :disabled="$store.getters.ownerSiteCode !='88888'" ></EmisSiteSimplePicker2>
</el-form-item> </el-form-item>
<!-- <!--
<el-form-item label="目的财务中心" prop="productType"> <el-form-item label="目的财务中心" prop="productType">
@ -35,6 +35,8 @@
:queryParams="queryParams" :queryParams="queryParams"
:total="total" :total="total"
ref="refTable"
storageName="getSendStatList_main_240702" storageName="getSendStatList_main_240702"
@queryTable="getSendStatList" @queryTable="getSendStatList"
@ -44,7 +46,7 @@
> >
<div slot="toolbar"> <div slot="toolbar">
<!-- <el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -54,14 +56,14 @@
@click="handleExport" @click="handleExport"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
</el-row> --> </el-row>
</div> </div>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('录单日期')" align="center" prop="sendDate" width="100" :show-overflow-tooltip="true"/> <el-table-column :label="$t('录单日期')" align="center" prop="sendDate" width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('寄件财务中心')" align="center" prop="sendCenterName" width="120" :show-overflow-tooltip="true"/> <el-table-column :label="$t('寄件财务中心')" align="center" prop="sendCenterName" width="120" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('网点')" align="center" prop="sendSiteName" width="150" :show-overflow-tooltip="true"/> <el-table-column :label="$t('寄件网点')" align="center" prop="sendSiteName" width="150" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('票数')" align="center" prop="totalNum" width="100" /> <el-table-column :label="$t('票数')" align="center" prop="totalNum" width="100" />
<el-table-column :label="$t('件数')" align="center" prop="totalParcelQty" width="100" /> <el-table-column :label="$t('件数')" align="center" prop="totalParcelQty" width="100" />
<el-table-column :label="$t('结算重量')" align="center" prop="totalSettlementWeight" width="100" /> <el-table-column :label="$t('结算重量')" align="center" prop="totalSettlementWeight" width="100" />
@ -77,6 +79,7 @@ import {
} from "@/api/emis/emisWaybill"; } from "@/api/emis/emisWaybill";
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker'; import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue'; import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
@ -286,6 +289,17 @@ export default {
}; };
}, },
created() { created() {
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
if(this.$store.getters.ownerSiteCode!='88888'){
this.queryParams.sendSiteCode=this.$store.getters.ownerSiteCode;
}
}, },
methods: { methods: {
getSendStatList() { getSendStatList() {
@ -334,6 +348,111 @@ export default {
cancelForm(){ cancelForm(){
this.openForm = false; this.openForm = false;
}, },
/** 导出按钮操作 */
handleExport() {
const loadingInstance = this.$loading({
text: '正在导出...'
})
if(this.selectionList&&this.selectionList.length>0){
this.exportData(this.selectionList,loadingInstance);
}
else{
// this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"sendDate");
// this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"sendDate");
this.queryParams.pageNum=1;
this.queryParams.pageSize=5000;
getSiteSendStatInfoMap(this.queryParams).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.refTable.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
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'kjlx') {
return v['sendSiteName']+'--'+v['dispatchUnderlingSiteName'];
}
if (j === 'fjr') {
return v['sendName']+'--'+v['receiveName'];
}
if (j === 'sendMobile') {
return "";
}
if (j === 'paymentStatus') {
return this.selectDictLabel(this.dict.type.emis_payment_status,v[j]);
}
if (j === 'pickupMethod') {
return this.selectDictLabel(this.dict.type.emis_qujian_fangshi,v[j]);
}
if (j === 'customsEclaration') {
return this.selectDictLabel(this.dict.type.emis_declare_mode,v[j]);
}
if (j === 'customsClear') {
return this.selectDictLabel(this.dict.type.emis_customs_clear,v[j]);
}
if (j === 'packType') {
return this.selectDictLabels(this.dict.type.emis_tab_packing_type,v[j]);
}
if (j === 'dispatchMethod') {
if(v[j] == 1){
return '派送';
}else{
return '自提';
}
}
if (j === 'blMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blAcceptMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blSign') {
if(v[j] == 1){
return '已签收';
}else{
return '未签收';
}
}
if (j === 'paymentType') {
return this.selectDictLabel(this.dict.type.emis_payment_type,v[j]);
}
return v[j]
}))
},
/** 列索引函数 */ /** 列索引函数 */
getIndex($index) { getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1 return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1

View File

@ -227,6 +227,7 @@ import ProblemTypePicker from '@/views/emis/EmisBaseTools/ProblemTypePicker.vue'
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue'; import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
import { formatSearchStr,deepClone } from '@/utils/index' import { formatSearchStr,deepClone } from '@/utils/index'
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default { export default {
@ -462,6 +463,12 @@ export default {
created() { created() {
// this.getList(); // this.getList();
this.queryOrderType="1"; this.queryOrderType="1";
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
}, },

View File

@ -385,27 +385,27 @@
</el-table-column> </el-table-column>
<el-table-column prop="length" :label="$t('长(cm)')" align="center" width="60"> <el-table-column prop="length" :label="$t('长(cm)')" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.length" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+1)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+2)+'')" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.length" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+1)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+2)+'')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="width" :label="$t('宽(cm)')" align="center" width="60"> <el-table-column prop="width" :label="$t('宽(cm)')" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.width" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+2)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+3)+'')" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.width" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+2)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+3)+'')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="height" :label="$t('高(cm)')" align="center" width="60"> <el-table-column prop="height" :label="$t('高(cm)')" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.height" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+3)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+4)+'')" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.height" @input="(val)=>handleCalcVolumeDebounce(scope.row)" :ref="'input_'+(scope.$index+3)" @keyup.native.enter="focusNextInput('input_'+(scope.$index+4)+'')" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="cargoQty" :label="$t('件数')" align="center" width="60"> <el-table-column prop="cargoQty" :label="$t('件数')" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.cargoQty" @blur="(val)=>handleCargoQtyChangeDebounce(scope.row)" :ref="'input_'+(scope.$index+4)" @keyup.enter.native="(val)=>handleCargoQtyChange(scope.row)" size="mini" placeholder=""></el-input> <el-input-number v-model="scope.row.cargoQty" @blur="(val)=>handleCargoQtyChangeDebounce(scope.row)" :ref="'input_'+(scope.$index+4)" @keyup.enter.native="(val)=>handleCargoQtyChange(scope.row)" size="mini" placeholder="" :min="0" :controls="false" :precision="0"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="volume" :label="$t('体积(m³)')" align="center" width="80"> <el-table-column prop="volume" :label="$t('体积(m³)')" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.volume" size="mini" placeholder="" disabled></el-input> <el-input-number v-model="scope.row.volume" size="mini" placeholder="" disabled :min="0" :controls="false" :precision="4"></el-input-number>
</template> </template>
</el-table-column> </el-table-column>