Commit 998ec3bd authored by 我在何方's avatar 我在何方
parents 202d15b4 f98baf8d
...@@ -389,7 +389,6 @@ export function exportSettlementExcel(params) { ...@@ -389,7 +389,6 @@ export function exportSettlementExcel(params) {
return request({ return request({
url: "/shipment/box/export-shipment-summary", url: "/shipment/box/export-shipment-summary",
method: "get", method: "get",
responseType: "blob",
params, params,
}); });
} }
...@@ -66,8 +66,7 @@ export function exportProductExcel(query) { ...@@ -66,8 +66,7 @@ export function exportProductExcel(query) {
return request({ return request({
url: '/ecw/product/export-excel', url: '/ecw/product/export-excel',
method: 'get', method: 'get',
params: query, params: query
responseType: 'blob'
}) })
} }
......
...@@ -50,7 +50,6 @@ export function exportProductPriceExcel(query) { ...@@ -50,7 +50,6 @@ export function exportProductPriceExcel(query) {
method: 'get', method: 'get',
timeout: 3*60*1000, timeout: 3*60*1000,
params: query, params: query,
responseType: 'blob'
}) })
} }
......
...@@ -27,8 +27,10 @@ ...@@ -27,8 +27,10 @@
</div> </div>
<div class="flex-1 ml-10"> <div class="flex-1 ml-10">
<el-card style="height:100%"> <el-card style="height:100%">
<div slot="header" class="header"> <div slot="header" class="header flex">
{{$t('已选{cnt}个产品', {cnt: isAllProduct ? total : choosedList.length})}} <div class="flex-1 flex items-center">{{$t('已选{cnt}个产品', {cnt: isAllProduct ? total : choosedList.length})}}</div>
<el-button v-if="choosedList.length" type="text" @click="clearAll">{{$t('全部清除')}}</el-button>
</div> </div>
<div class="list"> <div class="list">
<div class="item" v-for="(choosed) in choosedList" :key="choosed.id" :data-data="JSON.stringify(choosed)"> <div class="item" v-for="(choosed) in choosedList" :key="choosed.id" :data-data="JSON.stringify(choosed)">
...@@ -189,6 +191,11 @@ export default { ...@@ -189,6 +191,11 @@ export default {
this.choosedList.forEach((choosed, index) => { this.choosedList.forEach((choosed, index) => {
if (choosed.id == item.id) this.choosedList.splice(index, 1) if (choosed.id == item.id) this.choosedList.splice(index, 1)
}) })
},
// 清除全部
async clearAll() {
await this.$confirm(this.$t('确定要全部清除么?'))
this.choosedList = []
} }
} }
} }
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
<el-table-column prop="" :label="$t('操作')" align="center" width="120px"> <el-table-column prop="" :label="$t('操作')" align="center" width="120px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)">{{$t('更新状态')}}</el-button> <el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)">{{$t('更新状态')}}</el-button>
<el-button type="primary" size="small" :disabled="shipmentObj.clStatus!=132&&shipmentObj.clearanceInfo&&(shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) !== -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button> <el-button type="primary" size="small" :disabled="!(shipmentObj.clStatus!=132&&shipmentObj.clearanceInfo&&(shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) !== -1))" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -31,12 +31,18 @@ ...@@ -31,12 +31,18 @@
</el-form-item> </el-form-item>
<el-form-item v-if="dtRealHeadTimeFlag||airArrivalInfo.arriveType==1" :label="$t('实际二程起飞时间')" prop="actSecondTime"> <el-form-item v-if="dtRealHeadTimeFlag||airArrivalInfo.arriveType==1" :label="$t('实际二程起飞时间')" prop="actSecondTime">
<template slot="label" slot-scope="scope">
<span style="color: red;">*</span>{{$t('实际二程起飞时间')}}
</template>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('预计到港时间')" prop="estTime"> <el-form-item :label="$t('预计到港时间')" prop="estTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.estTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.estTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('实际到港时间')" prop="actTime"> <el-form-item :label="$t('实际到港时间')" prop="actTime">
<template slot="label" slot-scope="scope">
<span style="color: red;">*</span>{{$t('实际到港时间')}}
</template>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airArrivalInfo.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
......
...@@ -2,9 +2,7 @@ ...@@ -2,9 +2,7 @@
<div> <div>
<el-form ref="cDocForm" :model="cDocObj" label-width="100px"> <el-form ref="cDocForm" :model="cDocObj" label-width="100px">
<el-form-item :label="$t('出单方式')"> <el-form-item :label="$t('出单方式')">
<el-select v-model="cDocObj.cdOutBillType" :placeholder="$t('请选择出单方式')"> {{method.find(item=>item.value = cDocObj.cdOutBillType).label}}
<el-option v-for="item in method" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item> </el-form-item>
<template v-if="cDocObj.cdOutBillType === '1'"> <template v-if="cDocObj.cdOutBillType === '1'">
...@@ -107,9 +105,7 @@ export default { ...@@ -107,9 +105,7 @@ export default {
cdOutBillType: cdOutBillType:
oldData.cdOutBillType === 0 ? undefined : oldData.cdOutBillType, oldData.cdOutBillType === 0 ? undefined : oldData.cdOutBillType,
}; };
if(!this.$attrs.shipmentObj.clearanceDocInfo){ this.$set(this.cDocObj,'cdOutBillType',2)
this.$set(this.cDocObj,'cdOutBillType',this.$attrs.shipmentObj.clearanceDocInfo?.cdOutBillType||undefined)
}
}, },
methods: { methods: {
/** 提交 */ /** 提交 */
......
...@@ -285,7 +285,7 @@ ...@@ -285,7 +285,7 @@
<el-table-column :label="$t('包装类型')" align="center" prop=""> <el-table-column :label="$t('包装类型')" align="center" prop="">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-for="(unit,index) in scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.units.split(',')" :key="index"> <span v-for="(unit,index) in scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.units.split(',')" :key="index">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="unit" /><span v-if="index>0&&index<scope.row.warehouseInInfoVO.units.split(',').length-1">, </span> <dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="unit" /><span v-if="index<scope.row.warehouseInInfoVO.units.split(',').length-1">, </span>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -352,7 +352,8 @@ export default { ...@@ -352,7 +352,8 @@ export default {
let params = {...this.queryParams} let params = {...this.queryParams}
this.addBeginAndEndTime(params, this.dateFilter, "JsDate", false); this.addBeginAndEndTime(params, this.dateFilter, "JsDate", false);
exportSettlementExcel(params).then(res => { exportSettlementExcel(params).then(res => {
this.$download.excel(res, 'shipment-summary.xls'); //this.$download.excel(res, 'shipment-summary.xls');
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
}).finally(() => { }).finally(() => {
this.exporting = false this.exporting = false
}) })
......
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('订单动态')" name="second"> <el-tab-pane :label="$t('订单动态')" name="second">
<el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true"> <el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="activity.timestamp"> <el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="parseTime(activity.businessTime)">
{{ $l(activity, 'title') }} {{ $l(activity, 'title') }}
<div>{{$l(activity, 'remarks')}}</div> <div>{{$l(activity, 'remarks')}}</div>
</el-timeline-item> </el-timeline-item>
......
...@@ -671,7 +671,8 @@ export default { ...@@ -671,7 +671,8 @@ export default {
this.exportLoading = true; this.exportLoading = true;
return exportProductExcel(params); return exportProductExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '商品.xlsx'); // this.$download.excel(response, '商品.xlsx');
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
this.exportLoading = false; this.exportLoading = false;
}).catch(() => { }); }).catch(() => { });
}, },
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
- -
<el-input v-model="item.endNum" type="number" placeholder="" class="w100"></el-input> <el-input v-model="item.endNum" type="number" placeholder="" class="w100"></el-input>
/ /
<selector :disabled="index > 0" @input="syncAllUnit" v-model="form.weightUnit" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" /> <selector :disabled="index > 0" @input="syncAllUnit" v-model="item.weightUnit" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('默认运费')" v-if="form.priceType != 1"> <el-form-item :label="$t('默认运费')" v-if="form.priceType != 1">
<inputor default2="0" v-model.number="item.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" /> <inputor default2="0" v-model.number="item.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" />
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
</template> </template>
<el-form-item :label="$t('是否单询')" prop="inquiry"> <el-form-item :label="$t('是否单询')" prop="inquiry">
<dict-selector :type="DICT_TYPE.NEED_ORDER_INQUIRY" v-model="form.needOrderInquiry" form-type="radio"></dict-selector> <dict-selector :type="DICT_TYPE.NEED_ORDER_INQUIRY" v-model="form.needOrderInquiry" form-type="radio" formatter="number"></dict-selector>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-form> </el-form>
...@@ -298,10 +298,16 @@ export default { ...@@ -298,10 +298,16 @@ export default {
getCurrencyList().then(res => this.currencyList = res.data) getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data) getUnitList().then(res => this.unitList = res.data)
// 如果是复制,则获取数据并填充,先复制,然后填充特需,避免数据的特需不全导致部分不显示 this.$nextTick(async () => {
if(this.$route.query.templateId){ // 如果是空运,阶梯价格默认为1
await this.getTemplateDetail(this.$route.query.templateId) if(this.type == 'air'){
} this.$set(this.form, 'stepPrice', 1)
}
// 如果是复制,则获取数据并填充,先复制,然后填充特需,避免数据的特需不全导致部分不显示
if(this.$route.query.templateId){
await this.getTemplateDetail(this.$route.query.templateId)
}
})
this.getDictDatas(this.DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS).forEach(item => { this.getDictDatas(this.DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS).forEach(item => {
// 没有的才push,已有的可能是从复制模板携带过来的数据 // 没有的才push,已有的可能是从复制模板携带过来的数据
...@@ -318,12 +324,7 @@ export default { ...@@ -318,12 +324,7 @@ export default {
} }
}) })
this.$nextTick(() => {
// 如果是空运,阶梯价格默认为1
if(this.type == 'air'){
this.$set(this.form, 'stepPrice', 1)
}
})
}, },
methods: { methods: {
// 获取模板数据(复制的源路线价格信息) // 获取模板数据(复制的源路线价格信息)
...@@ -355,7 +356,8 @@ export default { ...@@ -355,7 +356,8 @@ export default {
minWeight, minWeight,
minWeightUnit, minWeightUnit,
needOrderInquiry, needOrderInquiry,
needBook needBook,
needPay
} = res.data } = res.data
const data = { const data = {
...@@ -375,7 +377,8 @@ export default { ...@@ -375,7 +377,8 @@ export default {
minWeight, minWeight,
minWeightUnit, minWeightUnit,
needOrderInquiry, needOrderInquiry,
needBook needBook,
needPay
} }
// 海运需要填充货柜位置和订单方数上限 // 海运需要填充货柜位置和订单方数上限
if(this.type == 'sea'){ if(this.type == 'sea'){
......
...@@ -271,8 +271,9 @@ export default { ...@@ -271,8 +271,9 @@ export default {
product: this.isAllProduct ? this.$refs.productSelector.allTotal : this.form.productIdList.length product: this.isAllProduct ? this.$refs.productSelector.allTotal : this.form.productIdList.length
})) }))
this.loading = true this.loading = true
batchAddPrice(data).then(response => { batchAddPrice(data).then(async(response) => {
this.$alert(this.$t("操作成功")); await this.$alert(this.$t("操作成功"));
this.$store.dispatch("tagsView/delCurrentView")
}) })
.finally(res => { .finally(res => {
this.loading = false this.loading = false
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div v-for="(item, index) in form.priceStepList" :key="index"> <div v-for="(item, index) in form.priceStepList" :key="index">
<div style="font-size:14px; margin:10px 0"> <div style="font-size:14px; margin:10px 0">
{{$t('第{index}阶梯定价方案', {index: index+1})}} {{$t('第{index}阶梯定价方案', {index: index+1})}}
<template v-if="index == form.priceStepList.length - 1"> <template v-if="index == form.priceStepList.length - 1 && !readonly">
<el-link type="primary" @click.native="form.priceStepList.push({})">{{$t('添加区间')}}</el-link> <el-link type="primary" @click.native="form.priceStepList.push({})">{{$t('添加区间')}}</el-link>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<el-link type="danger" @click.native="form.priceStepList.splice(index, 1)">{{$t('删除')}}</el-link> <el-link type="danger" @click.native="form.priceStepList.splice(index, 1)">{{$t('删除')}}</el-link>
...@@ -230,11 +230,11 @@ ...@@ -230,11 +230,11 @@
</el-col> </el-col>
<el-col :span="12" v-else-if="readonly && type === 'air'"> <el-col :span="12" v-else-if="readonly && type === 'air'">
<!--商品清关费--> <!--商品清关费-->
<h2>商品清关费价格</h2> <h2>{{$t('商品清关费价格')}}</h2>
<packaging-type v-if="product && product.priceStepClearanceList && product.priceStepClearanceList.length" <packaging-type v-if="product && product.priceStepClearanceList && product.priceStepClearanceList.length"
:value="product" key-arr="priceStepClearanceList" readonly/> :value="product" key-arr="priceStepClearanceList" readonly/>
<div v-else> <div v-else>
未设置清关费 {{$t('未设置清关费')}}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -312,7 +312,8 @@ ...@@ -312,7 +312,8 @@
运费: 运费:
{{item.transportPrice}} {{currencyMap[item.transportPriceUnit]}} / {{unitMap[item.transportVolumeUnit]}} {{item.transportPrice}} {{currencyMap[item.transportPriceUnit]}} / {{unitMap[item.transportVolumeUnit]}}
</div> </div>
<div :key="item.specialDictType + '_clearance'" class="pl-10"> <!--空运没有清关费, 不需要显示-->
<div v-if="type != 'air'" :key="item.specialDictType + '_clearance'" class="pl-10">
清关费: 清关费:
{{item.clearancePrice}} {{currencyMap[item.clearancePriceUnit]}} / {{unitMap[item.clearanceVolumeUnit]}} {{item.clearancePrice}} {{currencyMap[item.clearancePriceUnit]}} / {{unitMap[item.clearanceVolumeUnit]}}
</div> </div>
......
...@@ -548,7 +548,7 @@ export default { ...@@ -548,7 +548,7 @@ export default {
// } // }
// 价格列表 跟 商品的价格列表,有时候商品价格列表的路由变动会导致价格列表也执行此处代码,所以做一个判断排除 // 价格列表 跟 商品的价格列表,有时候商品价格列表的路由变动会导致价格列表也执行此处代码,所以做一个判断排除
// https://zentao.test.jdshangmen.com/bug-view-4928.html // https://zentao.test.jdshangmen.com/bug-view-4928.html
if(this.$route.path != this.entryPath) return if(this.$route.path != this.entryPath) return
let productId = this.product?.id let productId = this.product?.id
if(this.$route.name === 'ProductPrice'){ if(this.$route.name === 'ProductPrice'){
...@@ -847,8 +847,9 @@ export default { ...@@ -847,8 +847,9 @@ export default {
this.exportLoading = true; this.exportLoading = true;
return exportProductPriceExcel(params); return exportProductPriceExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '路线价格.xlsx'); // this.$download.excel(response, '路线价格.xlsx');
this.exportLoading = false; this.exportLoading = false;
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
}).catch(() => { }).catch(() => {
this.exportLoading = false; this.exportLoading = false;
}); });
......
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