Commit b223b3c3 authored by 332784038@qq.com's avatar 332784038@qq.com

Merge branch 'dev' into test

parents 5d010348 3e297010
...@@ -9,12 +9,21 @@ ...@@ -9,12 +9,21 @@
<!-- <el-form-item :label="$t('标题')" prop="titleEn"> <!-- <el-form-item :label="$t('标题')" prop="titleEn">
<el-input v-model="queryParams.titleEn" :placeholder="$t('请输入标题')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.titleEn" :placeholder="$t('请输入标题')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> --> </el-form-item> -->
<el-form-item :label="$t('类型')" prop="type"> <el-form-item :label="$t('类型')" prop="types">
<dict-selector :type='DICT_TYPE.ECW_COUPON_TYPE' v-model="queryParams.type" clearable /> <dict-selector
:type='DICT_TYPE.ECW_COUPON_TYPE'
v-model="queryParams.types"
multiple
clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('状态')" prop="status" clearable> <el-form-item :label="$t('状态')" prop="statusList" clearable>
<!-- <dict-selector :type="DICT_TYPE.ECW_COUPON_STATUS" v-model="queryParams.status"/> --> <!-- <dict-selector :type="DICT_TYPE.ECW_COUPON_STATUS" v-model="queryParams.status"/> -->
<el-select v-model="queryParams.status" :placeholder="$t('请选择')" clearable size="small"> <el-select
v-model="queryParams.statusList"
:placeholder="$t('请选择')"
clearable
multiple
size="small">
<el-option :label="$t('草稿')" value="0" /> <el-option :label="$t('草稿')" value="0" />
<el-option :label="$t('已发布')" value="1" /> <el-option :label="$t('已发布')" value="1" />
<el-option :label="$t('已过期')" value="2" /> <el-option :label="$t('已过期')" value="2" />
...@@ -23,6 +32,38 @@ ...@@ -23,6 +32,38 @@
<el-form-item :label="$t('关键字')" prop="searchKey"> <el-form-item :label="$t('关键字')" prop="searchKey">
<el-input v-model="queryParams.searchKey" :placeholder="$t('请输入关键字')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.searchKey" :placeholder="$t('请输入关键字')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('有效期')" prop="validDays">
<el-input
v-model.trim="queryParams.validDays"
:placeholder="$t('请输入有效期')"
clearable
@keyup.enter.native="handleQuery"
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker
v-model="dateRangeCreateTime"
type="datetimerange"
:start-placeholder="$t('开始日期')"
value-format="yyyy-MM-dd HH:mm:ss"
:end-placeholder="$t('结束日期')"
>
</el-date-picker>
</el-form-item>
<el-form-item :label="$t('创建人')" prop="creator">
<el-input
v-model.trim="queryParams.creator"
:placeholder="$t('请输入创建人')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('重置') }}</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('重置') }}</el-button>
...@@ -50,42 +91,46 @@ ...@@ -50,42 +91,46 @@
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" /> <dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('标题')" align="center" prop="titleZh" /> <el-table-column :label="$t('标题')" align="center" prop="titleZh" width="180" />
<!-- <el-table-column :label="$t('描述')" align="center" prop="type"> <!-- <el-table-column :label="$t('描述')" align="center" prop="type">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{$l(row, 'content')}} {{$l(row, 'content')}}
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column :label="$t('发布人') + '/' + $t('发布时间')" align="center" prop="startTime" width="180"> <el-table-column :label="$t('发布人') + '/' + $t('发布时间')" align="center" prop="startTime" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.creatorName }}</div> <div>{{ scope.row.creatorName }}</div>
<div>{{ parseTime(scope.row.createTime) }}</div> <div>{{ parseTime(scope.row.createTime) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('开始时间')" align="center" prop="startTime" width="180"> <el-table-column :label="$t('有效期(天)')" align="center" prop="validDays" width="90"/>
<el-table-column :label="$t('开始时间')" align="center" prop="startTime" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('结束时间')" align="center" prop="endTime" width="180"> <el-table-column :label="$t('结束时间')" align="center" prop="endTime" width="100">
<template slot-scope="{row}"> <template slot-scope="{row}">
<div :style="{color: !row.overdueStatus ? 'red' : null}">{{ parseTime(row.endTime, '{y}-{m}-{d}') }}</div> <div :style="{color: !row.overdueStatus ? 'red' : null}">{{ parseTime(row.endTime, '{y}-{m}-{d}') }}</div>
<div style="color: red">{{ !row.overdueStatus ? $t('已过期') : expireTips(row.endTime) }}</div> <div style="color: red">{{ !row.overdueStatus ? $t('已过期') : expireTips(row.endTime) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<!--
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('创建人') + '/' + $t('创建时间')" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <div>{{ scope.row.creatorName }}</div>
<div>{{ parseTime(scope.row.createTime)}}</div>
</template> </template>
</el-table-column--> </el-table-column>
<el-table-column :label="$t('更新人') + '/' + $t('更新时间')" align="center" width="180">
<el-table-column :label="$t('更新人') + '/' + $t('更新时间')" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.updaterName }}</div> <div>{{ scope.row.updaterName }}</div>
<div>{{ parseTime(scope.row.updateTime)}}</div> <div>{{ parseTime(scope.row.updateTime)}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('状态')" align="center" prop="createTime" width="120">
<template slot-scope="{row}"> <template slot-scope="{row}">
<template v-if="row.status === 1"> <template v-if="row.status === 1">
<template v-if="row.putonStatus === 1">{{$t('已发布,投放中')}}</template> <template v-if="row.putonStatus === 1">{{$t('已发布,投放中')}}</template>
...@@ -185,7 +230,7 @@ export default { ...@@ -185,7 +230,7 @@ export default {
open: false, open: false,
dateRangeStartTime: [], dateRangeStartTime: [],
dateRangeEndTime: [], dateRangeEndTime: [],
dateRangeCreateTime: null, dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
...@@ -278,7 +323,14 @@ export default { ...@@ -278,7 +323,14 @@ export default {
} }
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime'); this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime'); this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(
params,
this.dateRangeCreateTime,
"createTime",
false
);
// 执行查询 // 执行查询
getCouponPage(params).then(response => { getCouponPage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
...@@ -296,7 +348,10 @@ export default { ...@@ -296,7 +348,10 @@ export default {
this.dateRangeStartTime = []; this.dateRangeStartTime = [];
this.dateRangeEndTime = []; this.dateRangeEndTime = [];
this.dateRangeCreateTime = []; this.dateRangeCreateTime = [];
this.queryParams.statusList =[];
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams.types =[];
this.handleQuery(); this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
...@@ -359,7 +414,13 @@ export default { ...@@ -359,7 +414,13 @@ export default {
params.pageSize = undefined; params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime'); this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime'); this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(
params,
this.dateRangeCreateTime,
"createTime",
false
);
// 执行导出 // 执行导出
this.$confirm(this.$t('是否确认导出所有优惠券信息数据项?')).then(() => { this.$confirm(this.$t('是否确认导出所有优惠券信息数据项?')).then(() => {
this.exportLoading = true; this.exportLoading = true;
......
...@@ -83,13 +83,20 @@ export default { ...@@ -83,13 +83,20 @@ export default {
volume: new Decimal(0), volume: new Decimal(0),
quantity: new Decimal(0) quantity: new Decimal(0)
} }
// 入仓数据 // 装柜/出货数据
let warehouseInData = { let warehouseInData = {
num: new Decimal(0), num: new Decimal(0),
weight: new Decimal(0), weight: new Decimal(0),
volume: new Decimal(0), volume: new Decimal(0),
quantity: new Decimal(0) quantity: new Decimal(0)
} }
// 到仓数据
let toWarehouseData = {
checkNum: new Decimal(0),
checkWeight: new Decimal(0),
checkVolume: new Decimal(0),
checkQuantity: new Decimal(0)
}
// 收费数据 // 收费数据
let chargeData = { let chargeData = {
weight: new Decimal(0), weight: new Decimal(0),
...@@ -107,19 +114,19 @@ export default { ...@@ -107,19 +114,19 @@ export default {
warehouseInData.volume = warehouseInData.volume.plus(item.warehouseInInfoVO.volume || 0) warehouseInData.volume = warehouseInData.volume.plus(item.warehouseInInfoVO.volume || 0)
warehouseInData.quantity = warehouseInData.quantity.plus(item.warehouseInInfoVO.quantityAll || 0) warehouseInData.quantity = warehouseInData.quantity.plus(item.warehouseInInfoVO.quantityAll || 0)
} }
toWarehouseData.checkNum = toWarehouseData.checkNum.plus(item.checkNum || 0)
toWarehouseData.checkWeight = toWarehouseData.checkWeight.plus(item.checkWeight || 0)
toWarehouseData.checkVolume = toWarehouseData.checkVolume.plus(item.checkVolume || 0)
toWarehouseData.checkQuantity = toWarehouseData.checkQuantity.plus(item.checkQuantity || 0)
chargeData.weight = chargeData.weight.plus(item.chargeWeight || 0) chargeData.weight = chargeData.weight.plus(item.chargeWeight || 0)
chargeData.volume = chargeData.volume.plus(item.chargeVolume || 0) chargeData.volume = chargeData.volume.plus(item.chargeVolume || 0)
}) })
const summary = Array(19).fill(null) const summary = Array(8).fill(null)
summary[3] = this.$t("合计") summary[3] = this.$t("合计")
// 入仓 // 入仓
summary[4] = `${warehouseInData.num}${this.$t('')} ${warehouseInData.weight}KG ${warehouseInData.volume}${warehouseInData.quantity}${this.$t('')}` summary[4] = `${warehouseInData.num}${this.$t('')} ${warehouseInData.weight}KG ${warehouseInData.volume}${warehouseInData.quantity}${this.$t('')}`
// 货值 // 到仓
summary[7] = worth.toNumber() summary[5] = `${toWarehouseData.checkNum}${this.$t('')} ${toWarehouseData.checkWeight}KG ${toWarehouseData.checkVolume}${toWarehouseData.checkQuantity}${this.$t('')}`
// 收费数九
summary[10] = `${chargeData.weight}KG ${chargeData.volume}m³`
// 填单数据
summary[17] = `${fillData.num}${this.$t('')} ${fillData.weight}KG ${fillData.volume}${fillData.quantity}${this.$t('')}`
return summary return summary
} }
} }
...@@ -137,28 +144,26 @@ export default { ...@@ -137,28 +144,26 @@ export default {
<el-table-column :label="$t('序号')" width="90px"> <el-table-column :label="$t('序号')" width="90px">
<template slot-scope="scope">{{scope.$index + 1}}</template> <template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column> </el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('品名')"> <el-table-column :label="$t('品名')">
<template slot-scope="{row}"> <template slot-scope="{row}">
<span>{{ getProdTypeName(row.prodType) }}</span> <span>{{ getProdTypeName(row.prodType) }}</span>
<span>{{row.prodTitleZh}}/{{row.prodTitleEn}}</span> <span>{{row.prodTitleZh}}/{{row.prodTitleEn}}</span>
</template> </template>
</el-table-column> </el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />--> <!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column prop="brand" :label="$t('品牌')" width="90px"> <el-table-column :label="$t('品牌')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template> <template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" /> <dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px"> <el-table-column :label="$t('特性')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}} {{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="sumNum" :label="$t('入仓信息')" width="90px"> <el-table-column :label="$t('装柜/出货信息')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<!--<el-link type="primary" @click.native="showWarehouseLogs(row,1)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>-->
<div v-if="row.warehouseInInfoVO"> <div v-if="row.warehouseInInfoVO">
{{row.warehouseInInfoVO.cartonsNum}}{{$t('')}} {{row.warehouseInInfoVO.cartonsNum}}{{$t('')}}
{{row.warehouseInInfoVO.weight}}Kg {{row.warehouseInInfoVO.weight}}Kg
...@@ -167,137 +172,37 @@ export default { ...@@ -167,137 +172,37 @@ export default {
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="warehouseType" :label="$t('类型')" width="120px"/> <el-table-column prop="sumNum" :label="$t('到仓信息')" width="90px">
<el-table-column prop="specificationType" :label="$t('包装')" width="120px"/>
<el-table-column prop="worth" :label="$t('货值')" width="120px"/>
<el-table-column prop="warehouseRecordRemark" :label="$t('入仓备注')" width="120px"/>
<el-table-column prop="warehouseInInfoVO.expressNo" :label="$t('快递单号')" />
<el-table-column prop="sumNum" :label="$t('收费数据')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<div v-if="row.warehouseInInfoVO"> <div v-if="row.warehouseInInfoVO">
{{row.chargeWeight}}Kg {{row.warehouseInInfoVO.cartonsNum}}{{$t('')}}
{{row.chargeVolume}} {{row.warehouseInInfoVO.weight}}Kg
{{row.warehouseInInfoVO.volume}}
{{row.warehouseInInfoVO.quantityAll}}{{$t('')}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="`${$t('费用类型')}/${$t('模式')}`"> <el-table-column :label="$t('到仓时间')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
<div v-if="row.charging ==0">{{ $t('运费/清关费') }}</div>
<div v-if="row.charging ==1">{{ $t('全包价') }}</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.unloadTime|parseTime}}
<template v-if="row.charging ==1">
<template v-if="!row.originalSeaFreight">{{ $t('未报价') }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t('未报价') }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')">
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')">
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</el-link >
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('用途')"> <el-table-column :label="$t('异常类型')" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<div v-if="row.usageIds"> <div v-for="(exception, i) in row.itemException" :key="i" :src="row.itemException">
<div v-for="(item,index) in row.usageIds.split(',')"> <router-link
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" /> :to="{
<span v-if="(index+1)!=row.usageIds.split(',').length">,</span> path: '/exception/detail',
</div> query: { id: exception.id }
}"
class="link-type"
>
<span>{{exception.msg}}</span>
</router-link>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}">
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('商品链接')">
<template slot-scope="{row}">
<template v-if="row.link">
<a target="_blank" :url="row.link">{{row.link}}</a>
</template>
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('填单信息')" width="90px">
<template slot-scope="{row}">
{{row.num}}{{$t('')}}
{{row.weight}}Kg
{{row.volume}}
{{row.quantity}}{{$t('')}}
</template>
</el-table-column>
<el-table-column prop="expressNo" :label="$t('填单快递单号')" />
</el-table> </el-table>
<el-dialog :title="$t('费用详情')" :visible="!!showFeeDetailDialog" :before-close="closeFeeDetail">
<el-row v-if="feeDetail">
<el-col :span="12">
<div>{{feeDetail.charging ? $t('全包价') : $t('运费')}}</div>
<div v-for="item in feeDetail.freight">
{{item.label}}: {{item.value}}
<template v-if="item.currency">
{{currencyMap[item.currency]}} / {{unitMap[item.volume]}} <span v-if="item.remark">{{item.remark}}</span>
</template>
</div>
</el-col>
<el-col :span="12" v-if="feeDetail.charging != 1">
<div>
{{$t('清关费')}}
<template v-if="transportId == 3 || transportId == 4">
{{$t('来自{source}', {source: feeDetail.airClearanceSource + feeDetail.sourceName})}}
</template>
</div>
<div v-for="item in feeDetail.clearance">
{{item.label}}: {{item.value}}
<template v-if="item.currency">
{{currencyMap[item.currency]}} / {{unitMap[item.volume]}} <span v-if="item.remark">{{item.remark}}</span>
</template>
</div>
</el-col>
</el-row>
<div v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" class="page-title">{{ $t('优惠详情') }}</div>
<el-table v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" :data="feeDetail.coupons">
<el-table-column label="优惠ID" prop="couponId"></el-table-column>
<el-table-column label="优惠名称">
<template slot-scope="{row}">
{{ $l(row, 'title') }}
</template>
</el-table-column>
<el-table-column label="类型">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" ></dict-tag>
</template>
</el-table-column>
<el-table-column label="运费优惠">
<template slot-scope="{row}">
{{ row.freightReduceAmount}}
{{currencyMap[row.freightReduceCurrencyId]}}
</template>
</el-table-column>
<el-table-column label="清关费优惠">
<template slot-scope="{row}">
{{ row.clearanceReduceAmount}}
{{ currencyMap[row.clearanceReduceCurrencyId] }}
</template>
</el-table-column>
</el-table>
</el-dialog>
</div> </div>
</template> </template>
...@@ -630,8 +630,9 @@ export default { ...@@ -630,8 +630,9 @@ export default {
}, },
getOrderCheckInfo(){ getOrderCheckInfo(){
let that = this let that = this
// 执行查询 // TODO 待提供执行查询接口
getOrderCheckInfo(that.orderId).then(response => { // getOrderCheckInfo(that.orderId).then(response => {
getOrderItemDeleted(that.orderId).then(response => {
that.orderCheckInfoData = response.data; that.orderCheckInfoData = response.data;
}); });
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment