Commit a69dbff0 authored by dragondean@qq.com's avatar dragondean@qq.com

订单特价申请待完善

parent 5d915578
...@@ -209,3 +209,13 @@ function jsonToFormData(params) { ...@@ -209,3 +209,13 @@ function jsonToFormData(params) {
} }
return formData; return formData;
} }
// 根据订单ID下载提货单
export function downloadByOrderId(orderId) {
return request({
url: "/shipment/make-bill-of-lading/downloadByOrderId",
method: "get",
params: {orderId},
responseType: 'arraybuffer'
});
}
\ No newline at end of file
...@@ -346,9 +346,9 @@ export function cancelOrderSpecial(orderApprovalId,data) { ...@@ -346,9 +346,9 @@ export function cancelOrderSpecial(orderApprovalId,data) {
} }
// 获得订单特价申请详情 // 获得订单特价申请详情
export function getOrderSpecial(offerProdId, type = 1) { export function getOrderSpecial(orderItemId, type = 1) {
return request({ return request({
url: '/ecw/order/special/info/' + offerProdId + '/' + type, url: '/ecw/order/special/info/' + orderItemId + '/' + type,
method: 'get' method: 'get'
}) })
} }
......
...@@ -2,7 +2,6 @@ import Vue from 'vue' ...@@ -2,7 +2,6 @@ import Vue from 'vue'
import Router from 'vue-router' import Router from 'vue-router'
/* Layout */ /* Layout */
import Layout from '@/layout' import Layout from '@/layout'
import query from '@/views/ecw/customer/query'
Vue.use(Router) Vue.use(Router)
......
...@@ -112,6 +112,8 @@ export const DICT_TYPE = { ...@@ -112,6 +112,8 @@ export const DICT_TYPE = {
ECW_PICK_RECURRENT_NUCLEAR_TYPE: 'PICK_RECURRENT_NUCLEAR_TYPE', // 放货反复核类型 ECW_PICK_RECURRENT_NUCLEAR_TYPE: 'PICK_RECURRENT_NUCLEAR_TYPE', // 放货反复核类型
ECW_COST_FEE_TYPE: 'cost_fee_type', // 清单费用类型 ECW_COST_FEE_TYPE: 'cost_fee_type', // 清单费用类型
ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态 ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态
ECW_CANCEL_PICK_TYPE: 'cancel_pick_type', // 取消放货类型
//--------ecw--------- //--------ecw---------
CUSTOMER_STATUS: 'customer_status', CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source', CUSTOMER_SOURCE: 'customer_source',
......
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
<el-form-item label="快递ID" prop="expressId"> <el-form-item label="快递ID" prop="expressId">
<el-input v-model="queryParams.expressId" placeholder="请输入快递ID" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.expressId" placeholder="请输入快递ID" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="到达时间"> <el-form-item label="预计时间">
<el-input v-model="queryParams.dateRangeEtaTime" placeholder="预计到达天数" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.etaTime" placeholder="预计到达天数" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="渠道代理" prop="channelAgent"> <el-form-item label="渠道代理" prop="channelAgent">
<el-input v-model="queryParams.channelAgent" placeholder="请输入渠道代理" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.channelAgent" placeholder="请输入渠道代理" clearable @keyup.enter.native="handleQuery"/>
...@@ -114,10 +114,6 @@ ...@@ -114,10 +114,6 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/> @pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
</el-dialog>
</div> </div>
</template> </template>
...@@ -149,19 +145,7 @@ export default { ...@@ -149,19 +145,7 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10
nameZh: null,
nameEn: null,
internalNameZh: null,
internalNameEn: null,
typeNumber: null,
warehouseIds: null,
sort: null,
expressId: null,
channelAgent: null,
remarksZh: null,
remarksEn: null,
status: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -180,8 +164,6 @@ export default { ...@@ -180,8 +164,6 @@ export default {
this.loading = true; this.loading = true;
// 处理查询参数 // 处理查询参数
let params = {...this.queryParams}; let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeEtaTime, 'etaTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询 // 执行查询
getChannelPage(params).then(response => { getChannelPage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
...@@ -189,32 +171,6 @@ export default { ...@@ -189,32 +171,6 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
channelId: undefined,
nameZh: undefined,
nameEn: undefined,
internalNameZh: undefined,
internalNameEn: undefined,
typeNumber: undefined,
code: undefined,
warehouseIds: undefined,
sort: undefined,
expressId: undefined,
etaTime: undefined,
channelAgent: undefined,
remarksZh: undefined,
remarksEn: undefined,
status: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
...@@ -222,9 +178,10 @@ export default { ...@@ -222,9 +178,10 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRangeEtaTime = []; this.queryParams = {
this.dateRangeCreateTime = []; pageNo: 1,
this.resetForm("queryForm"); pageSize: 10
}
this.handleQuery(); this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
...@@ -259,7 +216,7 @@ export default { ...@@ -259,7 +216,7 @@ export default {
this.exportLoading = true; this.exportLoading = true;
return exportChannelExcel(params); return exportChannelExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '${table.classComment}.xls'); this.$download.excel(response, '渠道列表.xls');
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
} }
......
...@@ -18,17 +18,17 @@ ...@@ -18,17 +18,17 @@
<el-row v-if="!form.charging"> <el-row v-if="!form.charging">
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('运费')"> <el-form-item :label="$t('运费')">
{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('清关费')"> <el-form-item :label="$t('清关费')">
{{form.orgClearanceFreight}} {{ currentMap[form.orgClearanceFreightCurrency] }} / {{ unitMap[form.orgClearanceFreightVolume] }} {{form.orgClearanceFreight}} {{ currencyMap[form.clearanceFreightCurrency] }} / {{ unitMap[form.clearanceFreightVolume] }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item :label="$t('全包价')" v-if="form.charging"> <el-form-item :label="$t('全包价')" v-if="form.charging">
{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item> </el-form-item>
<el-form-item :label="$t('佣金类型')" prop="commissionType"> <el-form-item :label="$t('佣金类型')" prop="commissionType">
<dict-selector :type="DICT_TYPE.COMMISSION_TYPE" v-model="form.commissionType" form-type="radio" /> <dict-selector :type="DICT_TYPE.COMMISSION_TYPE" v-model="form.commissionType" form-type="radio" />
...@@ -37,36 +37,37 @@ ...@@ -37,36 +37,37 @@
<!-- 明佣或者明佣+暗佣才显示 --> <!-- 明佣或者明佣+暗佣才显示 -->
<el-form-item label="明佣佣金" v-if="form.commissionType == 1 || form.commissionType == 3"> <el-form-item label="明佣佣金" v-if="form.commissionType == 1 || form.commissionType == 3">
<el-input v-model.number="form.lightCommissionAmount" placeholder="" class="w-100"></el-input> <el-input v-model.number="form.lightCommissionAmount" placeholder="" class="w-100"></el-input>
{{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item> </el-form-item>
<!-- 明佣+暗佣才显示 --> <!-- 明佣+暗佣才显示 -->
<el-form-item label="暗佣佣金" v-if="form.commissionType == 3"> <el-form-item label="暗佣佣金" v-if="form.commissionType == 3">
<el-input v-model.number="form.shadeCommissionAmount" placeholder="" class="w-100"></el-input> <el-input v-model.number="form.shadeCommissionAmount" placeholder="" class="w-100"></el-input>
{{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item> </el-form-item>
<!-- 无佣金不显示 --> <!-- 无佣金不显示 -->
<div class="pl-50" v-if="form.commissionType != 0"> <div class="pl-50" v-if="form.commissionType != 0">
<div>{{$l(form, 'prodTitle')}}</div> <div v-if="form.commissionType != 2">{{$l(form, 'prodTitle')}}</div>
<!-- 明佣+暗佣显示 --> <!-- 明佣+暗佣显示 -->
<div v-if="form.commissionType == 3"> <div v-if="form.commissionType == 3">
成本价:{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{$t('成本价')}}{{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</div> </div>
<!-- 暗佣显示 --> <!-- 暗佣显示 -->
<div v-if="form.commissionType == 2"> <div v-if="form.commissionType == 2">
{{$l(form, 'prodTitle')}} {{$l(form, 'prodTitle')}}
<template v-if="darkCommission"> <template v-if="darkCommission">
{{$t('暗佣')}}{{darkCommission}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }} {{$t('暗佣')}}{{darkCommission}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</template> </template>
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">去设置</el-link> <el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">去设置</el-link>
</div> </div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">销售价:{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}</div> <div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
<div v-if="form.commissionType == 3">实际佣金返点:{{form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}</div> <div v-if="form.commissionType == 3">{{$t('实际佣金返点')}}{{form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
</div> </div>
<div class="page-title">审批流程</div> <div class="page-title">{{$t('审批流程')}}</div>
<work-flow xmlkey="sheet_sale" v-model="ccIdArr" /> <work-flow xmlkey="sheet_sale" v-model="ccIdArr" />
</el-form> </el-form>
...@@ -139,7 +140,7 @@ export default { ...@@ -139,7 +140,7 @@ export default {
return s ? '' + s + '' : '' return s ? '' + s + '' : ''
} }
}, },
currentMap(){ currencyMap(){
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title') map[item.id] = this.$l(item, 'title')
......
...@@ -25,35 +25,40 @@ ...@@ -25,35 +25,40 @@
</div> </div>
<div> <div>
原运费:{{form.seaFreight + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 原运费:{{form.seaFreight + currencyMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}}
</div> </div>
<div> <div>
新运费:{{newSeaFreight + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 新运费:{{newSeaFreight + currencyMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}}
</div> </div>
<div> <div>
成本价:{{form.orgSeaFreight + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 成本价:{{form.orgSeaFreight + currencyMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}}
</div> </div>
<div> <div>
明佣:{{ form.lightCommissionAmount + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 明佣:{{ form.lightCommissionAmount + currencyMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}}
</div> </div>
<div> <div>
暗佣:{{form.shadeCommissionAmount + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 暗佣:{{form.shadeCommissionAmount + currencyMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}}
</div> </div>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="申请原因" :span="3" v-if="type == 1"> <el-descriptions-item label="申请原因" :span="3" v-if="type == 1">
<div class="item"> <div class="item">
商品:{{$l(form, 'prodTitle')}} 商品:{{$l(form, 'prodTitle')}}
</div> </div>
<template v-if="form.charging">
<div> 原全包价:{{form.orgSeaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}},
原运费:{{form.orgSeaFreight + currentMap[form.seaFreight] + '/' + unitMap[form.seaFreight]}} 新全包价:{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
原清关费:{{form.orgClearanceFreight + currentMap[form.clearanceFreightCurrency] + '/' + unitMap[form.clearanceFreightVolume]}} </template>
</div> <template v-else>
<div> <div>
新运费:{{seaFreight + currentMap[form.orgSeaFreightCurrency] + '/' + unitMap[form.orgSeaFreightVolume]}} 原运费:{{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency]}} /{{unitMap[form.seaFreightVolume]}}
新清关费:{{form.clearanceFreight + currentMap[form.clearanceFreightCurrency] + '/' + unitMap[form.clearanceFreightVolume]}} 原清关费:{{form.orgClearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
</div> </div>
<div>
新运费:{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
新清关费:{{form.clearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
</div>
</template>
</el-descriptions-item> </el-descriptions-item>
<!-- <!--
...@@ -71,10 +76,10 @@ ...@@ -71,10 +76,10 @@
<el-descriptions-item label="是否预付"> <el-descriptions-item label="是否预付">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="form.isPayAdvance" /> <dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="form.isPayAdvance" />
</el-descriptions-item> --> </el-descriptions-item> -->
<!-- <el-descriptions-item label="旧运费">{{ form.orgSeaFreight }} {{ currentMap[form.orgSeaFreightCurrency] }}/{{ unitMap[form.orgSeaFreightVolume] }}</el-descriptions-item> <!-- <el-descriptions-item label="旧运费">{{ form.orgSeaFreight }} {{ currencyMap[form.orgSeaFreightCurrency] }}/{{ unitMap[form.orgSeaFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="旧清关费">{{ form.orgClearanceFreight }} {{ currentMap[form.orgClearanceFreightCurrency] }}/{{ unitMap[form.orgClearanceFreightVolume] }}</el-descriptions-item> <el-descriptions-item label="旧清关费">{{ form.orgClearanceFreight }} {{ currencyMap[form.orgClearanceFreightCurrency] }}/{{ unitMap[form.orgClearanceFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新运费">{{ form.seaFreight }} {{ currentMap[form.seaFreightCurrency] }}/{{ unitMap[form.seaFreightVolume] }}</el-descriptions-item> <el-descriptions-item label="新运费">{{ form.seaFreight }} {{ currencyMap[form.seaFreightCurrency] }}/{{ unitMap[form.seaFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新清关费">{{ form.clearanceFreight }} {{ currentMap[form.clearanceFreightCurrency] }}/{{ unitMap[form.clearanceFreightVolume] }}</el-descriptions-item> --> <el-descriptions-item label="新清关费">{{ form.clearanceFreight }} {{ currencyMap[form.clearanceFreightCurrency] }}/{{ unitMap[form.clearanceFreightVolume] }}</el-descriptions-item> -->
</el-descriptions> </el-descriptions>
</template> </template>
...@@ -112,7 +117,7 @@ export default { ...@@ -112,7 +117,7 @@ export default {
} }
}, },
computed: { computed: {
currentMap(){ currencyMap(){
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title') map[item.id] = this.$l(item, 'title')
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="form.charging"> <el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="form.charging">
<el-input v-model="form.seaFreight" type="number" class="w-100" /> <el-input v-model="form.seaFreight" type="number" class="w-100" />
{{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.sorgSeaFreightVolume] }} {{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item> </el-form-item>
</el-form> </el-form>
......
...@@ -120,12 +120,20 @@ ...@@ -120,12 +120,20 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('运费')" width="200px"> <el-table-column :label="$t('运费')" width="200px">
<template slot-scope="scope"> <template slot-scope="{row}">
<div v-if="scope.row.seaFreight"> <template v-if="row.charging ==1">
<div>{{$t('运费')+":"+scope.row.seaFreight}}{{currentcyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</div> <template v-if="!row.seaFreight">未报价</template>
<div>{{$t('清关费')+':'+scope.row.clearanceFreight}}{{currentcyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</div> <template>{{$t('全包价')}} {{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</template>
</div> </template>
<div v-else>未报价</div> <template v-else-if="!row.seaFreight && !row.clearanceFreight">未报价</template>
<template v-else>
<div>
{{$t('运费')}}{{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</div>
<div>
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currentcyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</div>
</template>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -532,6 +532,17 @@ export default { ...@@ -532,6 +532,17 @@ export default {
}, },
// 表单校验 // 表单校验
rules: { rules: {
marks: [
{
validator: (rule, value, callback) => {
if(value && !/[a-zA-Z]/.test(value.charAt(0))){
return callback(new Error(this.$t('唛头必须以字母开头')))
}
callback()
},
trigger: 'blur'
}
],
lineId: [{ required: true, message: "请选择线路"}], lineId: [{ required: true, message: "请选择线路"}],
consignorId: [{ required: true, message: "发货人不能为空",}], consignorId: [{ required: true, message: "发货人不能为空",}],
consigneeId: [{ required: true, message: "收货人不能为空"}], consigneeId: [{ required: true, message: "收货人不能为空"}],
......
...@@ -47,25 +47,43 @@ ...@@ -47,25 +47,43 @@
<el-table-column <el-table-column
:label="$t('原价')"> :label="$t('原价')">
<template v-slot="{row}"> <template v-slot="{row}">
{{$t('运费')}}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.originalSeaFreight">未报价</template>
<br> <template v-else-if="row.charging ==1">
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.originalClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="成本价"> label="成本价">
<template v-slot="{row}"> <template v-slot="{row}">
{{$t('运费')}}{{ row.seaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.costSeaFreight">未报价</template>
<br> <template v-else-if="row.charging">
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.costSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.costSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
:label="$t('销售价')"> :label="$t('销售价')">
<template v-slot="{row}"> <template v-slot="{row}">
{{$t('运费')}}{{ row.saleSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.oneSeaFreight">未报价</template>
<br> <template v-else-if="row.charging">
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -77,7 +95,7 @@ ...@@ -77,7 +95,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <div style="text-align: center;margin-top: 80px"> <!-- <div style="text-align: center;margin-top: 80px">
<el-button type="primary">申请重货优惠</el-button> <el-button type="primary">申请重货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button> <el-button type="primary">申请泡货优惠</el-button>
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<el-table-column :label="$t('操作')" width="300px"> <el-table-column :label="$t('操作')" width="300px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 1" type="primary" size="mini" @click="editIndex=scope.$index">{{$t('修改')}}</el-button> <el-button v-if="scope.row.status == 1" type="primary" size="mini" @click="editIndex=scope.$index">{{$t('修改')}}</el-button>
<el-button v-if="scope.row.status == 1" type="danger" size="mini" @click="cancel(scope.row.id)">{{$t('取消')}}</el-button> <el-button v-if="scope.row.status == 1" type="danger" size="mini" @click="cancelCargoPickId = scope.row.id">{{$t('取消')}}</el-button>
<el-button v-if="scope.row.status == 1" type="success" size="mini" @click="review(scope.row.id)">{{$t('放货复核')}}</el-button> <el-button v-if="scope.row.status == 1" type="success" size="mini" @click="review(scope.row.id)">{{$t('放货复核')}}</el-button>
<el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button> <el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button>
<el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button> <el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button>
...@@ -106,11 +106,16 @@ ...@@ -106,11 +106,16 @@
<fallback v-if="fallbackIndex !== null" :order="detail" :index="fallbackIndex" @close="fallbackIndex=null" @success="onFallbackSuccess" /> <fallback v-if="fallbackIndex !== null" :order="detail" :index="fallbackIndex" @close="fallbackIndex=null" @success="onFallbackSuccess" />
<edit v-if="editIndex !== null" @close="editIndex=null" :order="detail" :index="editIndex" @success="onEditSuccess" /> <edit v-if="editIndex !== null" @close="editIndex=null" :order="detail" :index="editIndex" @success="onEditSuccess" />
<transfer-cargo <transfer-cargo
v-if="cargoControlPickId !== null" v-if="cargoControlPickId !== null"
:order-id="detail.orderId" :order-id="detail.orderId"
:cargo-control-pick-id="cargoControlPickId" :cargo-control-pick-id="cargoControlPickId"
@close="cargoControlPickId=null" @close="cargoControlPickId=null"
@success="onTransferCargoSuccess" /> @success="onTransferCargoSuccess" />
<cancel-cargo v-if="!!cancelCargoPickId"
:order="detail"
:cargo-control-pick-id="cancelCargoPickId"
@close="cancelCargoPickId=null"
@success="onCancelCargoSuccess" />
</div> </div>
</template> </template>
<script> <script>
...@@ -119,10 +124,11 @@ import {createPick, getPickRleaseInfo, review, cancel, cancelApproval} from '@/a ...@@ -119,10 +124,11 @@ import {createPick, getPickRleaseInfo, review, cancel, cancelApproval} from '@/a
import {parseTime} from '@/utils/ruoyi' import {parseTime} from '@/utils/ruoyi'
import Fallback from './components/Fallback' import Fallback from './components/Fallback'
import TransferCargo from '@/views/ecw/order/components/TransferCargo' import TransferCargo from '@/views/ecw/order/components/TransferCargo'
import CancelCargo from './components/CancelCargo.vue'
export default { export default {
filters: {parseTime}, filters: {parseTime},
components: {edit, Fallback, TransferCargo}, components: {edit, Fallback, TransferCargo, CancelCargo, CancelCargo},
data(){ data(){
return { return {
detail: null, detail: null,
...@@ -131,6 +137,7 @@ export default { ...@@ -131,6 +137,7 @@ export default {
editIndex: null, // 修改索引 editIndex: null, // 修改索引
fallbackIndex: null, // 反复核索引 fallbackIndex: null, // 反复核索引
cargoControlPickId: null, // 调货ID cargoControlPickId: null, // 调货ID
cancelCargoPickId: null, // 取消返货ID
} }
}, },
created(){ created(){
...@@ -205,6 +212,10 @@ export default { ...@@ -205,6 +212,10 @@ export default {
onTransferCargoSuccess(){ onTransferCargoSuccess(){
this.cargoControlPickId = null this.cargoControlPickId = null
this.loadData() this.loadData()
},
onCancelCargoSuccess(){
this.cancelCargoPickId = null
this.loadData()
} }
} }
} }
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('收货人')"> <el-form-item :label="$t('收货人')">
{{info.consigneeName}} {{detail.consigneeName}}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('收货人电话')"> <el-form-item :label="$t('收货人电话')">
+{{info.consigneeCountryCode}} {{info.consigneePhone}} +{{detail.consigneeCountryCode}} {{detail.consigneePhone}}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -21,16 +21,16 @@ ...@@ -21,16 +21,16 @@
{{order.sumNum}} {{order.sumNum}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('取消放货原因')"> <el-form-item :label="$t('取消放货原因')" prop="cancelPickType">
<dict-selector :type="DICT_TYPE.ECW_CANCEL_PICK_TYPE" v-model="formData.cancelPickType" form-type="radio" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('上传凭证')"> <el-form-item :label="$t('上传凭证')">
<image-upload v-model="formData.voucher" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货手机号')"> <el-form-item :label="$t('控货手机号')">
+{{info.countryCode}} {{info.phone}} +{{detail.countryCode}} {{detail.phone}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('手机验证码')"> <el-form-item :label="$t('手机验证码')">
<el-input v-model="formData.code" placeholder="" style="width: 100px; margin-right:10px"></el-input> <el-input v-model="formData.code" placeholder="" style="width: 100px; margin-right:10px"></el-input>
...@@ -44,11 +44,6 @@ ...@@ -44,11 +44,6 @@
<el-button type="primary" @click="submit">{{$t('提交申请')}}</el-button> <el-button type="primary" @click="submit">{{$t('提交申请')}}</el-button>
<el-button @click="closeDialog">{{$t('关闭')}}</el-button> <el-button @click="closeDialog">{{$t('关闭')}}</el-button>
</el-form-item> </el-form-item>
<el-form-item label="" style="margin-top:20px">
<el-button type="success" @click="submit">{{$t('提交申请')}}</el-button>
<el-button type="default" @click="closeDialog">{{$t('关闭')}}</el-button>
</el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
</template> </template>
...@@ -57,33 +52,29 @@ import {createPick, getRleaseInfo, seasoningCondimentsSelect, updateApply} from ...@@ -57,33 +52,29 @@ import {createPick, getRleaseInfo, seasoningCondimentsSelect, updateApply} from
import AreaCodeSelector from '@/components/AreaCodeSelector' import AreaCodeSelector from '@/components/AreaCodeSelector'
import SendSmsCode from '@/views/ecw/order/components/SendSmsCode' import SendSmsCode from '@/views/ecw/order/components/SendSmsCode'
import WorkFlow from '@/components/WorkFlow' import WorkFlow from '@/components/WorkFlow'
import ImageUpload from '@/components/ImageUpload'
export default { export default {
props:{ props:{
orderId: [String, Number], order: Object,
cargoControlPickId: Number cargoControlPickId: Number
}, },
components: {AreaCodeSelector, SendSmsCode, WorkFlow}, components: {AreaCodeSelector, SendSmsCode, WorkFlow, ImageUpload},
data(){ data(){
return { return {
show: false, show: false,
detail: null, detail: null,
ccIdArr: [], ccIdArr: [],
formData:{ formData:{
applyType: 10, // 调货审核 applyType: 10, // 取消审核
ccIds: '' ccIds: ''
}, },
rules:{ rules:{
cancelPickType: {required: true, message: this.$t('请选择取消放货类型')},
code: {required: true, message: this.$t('请填写验证码')} code: {required: true, message: this.$t('请填写验证码')}
}, },
orders: [],
selectedOrders:[]
} }
}, },
watch:{ watch:{
'formData.orderIds'(val){
this.selectedOrders = this.orders.filter(item => val.indexOf(item.orderId) > -1)
},
ccIdArr(val){ ccIdArr(val){
this.formData.ccIds = val.join(',') this.formData.ccIds = val.join(',')
} }
...@@ -94,10 +85,7 @@ export default { ...@@ -94,10 +85,7 @@ export default {
}, },
methods:{ methods:{
loadData(){ loadData(){
getRleaseInfo(this.orderId).then(res => this.detail = res.data) getRleaseInfo(this.order.orderId).then(res => this.detail = res.data)
seasoningCondimentsSelect({orderId: this.orderId}).then(res => {
this.orders = res.data
})
}, },
closeDialog(){ closeDialog(){
this.show = false this.show = false
...@@ -112,15 +100,13 @@ export default { ...@@ -112,15 +100,13 @@ export default {
updateApply(Object.assign({ updateApply(Object.assign({
cargoControlPickId: this.cargoControlPickId, cargoControlPickId: this.cargoControlPickId,
orderBackPageVOList: this.selectedOrders, orderBackPageVOList: this.selectedOrders,
orderId: this.orderId orderId: this.order.orderId
}, this.formData)).then(res => { }, this.formData)).then(res => {
this.$message.success(this.$t('操作成功')) this.$message.success(this.$t('操作成功'))
this.show = false this.show = false
this.$emit('success') this.$emit('success')
}) })
}) })
} }
} }
} }
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<!-- 取消放货 --> <!-- 取消放货 -->
<el-descriptions-item label="申请原因" v-if="applyType == 10"> <el-descriptions-item label="申请原因" v-if="applyType == 10">
{{detail.reason}} <dict-tag :type="DICT_TYPE.ECW_CANCEL_PICK_TYPE" :value="detail.cancelPickType" />
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
......
...@@ -16,13 +16,15 @@ import {getLadingBill} from '@/api/ecw/order' ...@@ -16,13 +16,15 @@ import {getLadingBill} from '@/api/ecw/order'
import lodop from '@/utils/lodop' import lodop from '@/utils/lodop'
import PdfViewer from '@/components/PdfViewer' import PdfViewer from '@/components/PdfViewer'
import FileSaver from 'file-saver' import FileSaver from 'file-saver'
import {downloadByOrderId} from '@/api/ecw/box'
export default { export default {
components: {PdfViewer}, components: {PdfViewer},
filters: {parseTime}, filters: {parseTime},
props:{ props:{
transportType: Number, transportType: Number,
tidanNO: [String, Number] // tidanNO: [String, Number],
orderId: String
}, },
data(){ data(){
return { return {
...@@ -56,10 +58,7 @@ export default { ...@@ -56,10 +58,7 @@ export default {
methods:{ methods:{
loadData(){ loadData(){
this.loading = true this.loading = true
getLadingBill({ downloadByOrderId(this.orderId)
billLadingNo: this.tidanNo,
type: this.type
})
.then(arrayBuffer => { .then(arrayBuffer => {
this.pdfData = arrayBuffer this.pdfData = arrayBuffer
}) })
......
<template>
<el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="$t('优惠申请')">
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-form-item :label="$t('商品类型')">
<span>{{ $l(productType, 'title') }}</span>
</el-form-item>
<el-form-item :label="$t('商品名称')">
<span>{{ form.prodTitleZh }}</span>
</el-form-item>
<el-form-item :label="$t('英文名称')">
<span>{{ form.prodTitleEn }}</span>
</el-form-item>
<el-form-item :label="$t('线路')">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="form.transportId" />
{{ channel ? $l(channel, 'title') : '' }}
{{$t("从【{departureName}】发往【{objectiveName}", {departureName: form.departureName, objectiveName: form.objectiveName})}}
</el-form-item>
<el-form-item :label="$t('是否预付')">
<dict-tag :type="DICT_TYPE.ECW_YESNO" :value="form.isPayAdvance" />
</el-form-item>
<el-row v-if="!form.charging">
<el-col :span="12">
<el-form-item :label="$t('旧运费')">
{{form.orgSeaFreight}} {{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('旧清关费')">
{{form.orgClearanceFreight}} {{ currentMap[form.clearanceFreightCurrency] }} / {{ unitMap[form.clearanceFreightVolume] }}
</el-form-item>
</el-col>
</el-row>
<el-row v-if="!form.charging">
<el-col :span="12">
<el-form-item :label="$t('新运费')" style="width: 400px" prop="seaFreight">
<el-input v-model="form.seaFreight" type="number" class="w-100" />
{{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('新清关费')" style="width: 400px" prop="clearanceFreight">
<el-input v-model="form.clearanceFreight" type="number" class="w-100" />
{{ currentMap[form.clearanceFreightCurrency] }} / {{ unitMap[form.clearanceFreightVolume] }}
</el-form-item>
</el-col>
</el-row>
<el-form-item :label="$t('旧全包价')" v-if="form.charging">
{{form.orgSeaFreight}} {{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="form.charging">
<el-input v-model="form.seaFreight" type="number" class="w-100" />
{{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
</el-form>
<div class="page-title">审批流程</div>
<work-flow xmlkey="sheet_sale" v-model="ccIdArr" />
<div v-if="!form.applyStatus">
<el-button type="primary" @click="handleSubmit">提交</el-button>
</div>
<div v-else>
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">
<dict-tag :type="DICT_TYPE.APPLY_STATUS" :value="form.applyStatus" />
</el-button>
</div>
</el-dialog>
</template>
<script>
import {createOrderSpecial, getOrderSpecial} from "@/api/ecw/order"
import {getUnitList} from "@/api/ecw/unit"
import {getChannel, getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductTypeList, getProductType } from '@/api/ecw/productType'
import WorkFlow from '@/components/WorkFlow'
export default {
name: "specialDiscount",
props: {
orderItemId: Number,
},
components: {
WorkFlow
},
created() {
// 查看详情,列表进来的
if(this.orderItemId){
this.getOrderSpecial()
}
getUnitList().then(res => this.unitList = res.data)
// getChannelList().then(res => this.channelList = res.data)
getCurrencyList().then(res => this.currencyList = res.data)
// getProductTypeList().then(res => this.productTypeList = res.data)
},
data() {
return {
unitList:[],
// channelList:[],
currencyList:[],
// productTypeList:[],
ccIdArr: [],
form: {
type: 1
},
rules:{
seaFreight : {required: true, message: '运费不能为空'},
clearanceFreight: {required: true, message: '清关费不能为空'}
},
productType: null,
channel: null
}
},
watch:{
ccIdArr(){
this.$set(this.form, 'ccIds', this.ccIdArr.join(','))
}
},
methods: {
handleSubmit(){
this.$refs.form.validate().then(res => {
createOrderSpecial(Object.assign({}, this.form, {type: 1})).then(res => {
this.$message.success(this.$t('提交成功'))
this.$emit('success')
})
})
},
getOrderSpecial(){
getOrderSpecial(this.orderItemId).then(r => {
this.form = r.data
getProductType(this.form.productType).then(res => {
this.productType = res.data
})
if(this.form.channelId){
getChannel(this.form.channelId).then(res => {
this.channel = res.data
})
}
})
},
/* getProductTypeNameById(id){
return this.$l(this.productTypeList.find(e => e.id === id), 'title')
}, */
closeDialog(){
this.$emit('close')
}
},
computed: {
// 根据渠道id显示渠道名
getChannelNameById(){
return channelId => {
const s = this.channelList.find(item => item.channelId == channelId) ?. nameZh
return s ? '' + s + '' : ''
}
},
currentMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
unitMap(){
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
}
}
}
</script>
...@@ -478,7 +478,11 @@ ...@@ -478,7 +478,11 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('中文品名')" prop="prodTitleZh"></el-table-column> <el-table-column :label="$t('中文品名')" prop="prodTitleZh"></el-table-column>
<el-table-column :label="$t('英文品名')" prop="prodTitleEn"></el-table-column> <el-table-column :label="$t('英文品名')" prop="prodTitleEn"></el-table-column>
<el-table-column :label="$t('品牌')" prop="brand"></el-table-column> <el-table-column :label="$t('品牌')" prop="brand">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column :label="$t('件数')" prop="num"></el-table-column> <el-table-column :label="$t('件数')" prop="num"></el-table-column>
<el-table-column :label="$t('重量') + '(kg)'" prop="weight"></el-table-column> <el-table-column :label="$t('重量') + '(kg)'" prop="weight"></el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="volume"></el-table-column> <el-table-column :label="$t('体积') + '(m³)'" prop="volume"></el-table-column>
...@@ -563,7 +567,18 @@ export default { ...@@ -563,7 +567,18 @@ export default {
}, },
// 表单校验 // 表单校验
rules: { rules: {
marks : [{required: true, message: this.$t('请填写唛头')}], marks: [
{required: true, message: this.$t('请填写唛头')},
{
validator: (rule, value, callback) => {
if(!/[a-zA-Z]/.test(value.charAt(0))){
return callback(new Error(this.$t('唛头必须以字母开头')))
}
callback()
},
trigger: 'blur'
}
],
consignorContactsId : [{required: true, message: this.$t('发货人不能为空')}], consignorContactsId : [{required: true, message: this.$t('发货人不能为空')}],
consigneeContactsId : [{required: true, message: this.$t('收货人不能为空')}], consigneeContactsId : [{required: true, message: this.$t('收货人不能为空')}],
transportId : [{required: true, message: this.$t('请选择运输方式')}], transportId : [{required: true, message: this.$t('请选择运输方式')}],
...@@ -820,7 +835,7 @@ export default { ...@@ -820,7 +835,7 @@ export default {
let form = new FormData() let form = new FormData()
form.append('file', e.file) form.append('file', e.file)
orderImport(form).then(res => { orderImport(form).then(res => {
if(!this.importList.length){ if(!res.data.list.length){
return this.$message.error('无有效数据') return this.$message.error('无有效数据')
} }
......
...@@ -214,13 +214,13 @@ ...@@ -214,13 +214,13 @@
<el-dropdown-item @click.native="$router.push('/order/special/' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" >{{$t('特价')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push('/order/special/' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" >{{$t('特价')}}</el-dropdown-item>
</template> </template>
<!-- 确认货 --> <!-- 确认货 -->
<template v-if=" <template v-if="
exclude(scope.row.status, [0,2]) && exclude(scope.row.status, [0,2]) &&
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) && exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
exclude(scope.row.shipmentState, [320,322,323]) exclude(scope.row.shipmentState, [320,322,323])
"> ">
<el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$t('确认')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$t('确认')}}</el-dropdown-item>
</template> </template>
<!-- 合单,拆单 --> <!-- 合单,拆单 -->
...@@ -307,7 +307,7 @@ ...@@ -307,7 +307,7 @@
<!--打印相关的--> <!--打印相关的-->
<el-dropdown> <el-dropdown>
<el-button type="text">{{$t('操作')}}</el-button> <el-button type="text">{{$t('打印')}}</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<!-- 打印标签 --> <!-- 打印标签 -->
<template v-if=" <template v-if="
...@@ -328,7 +328,7 @@ ...@@ -328,7 +328,7 @@
</template> </template>
<!-- 打印提单 --> <!-- 打印提单 -->
<el-dropdown-item @click.native="printLadingBillInfo={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-dropdown-item> <el-dropdown-item @click.native="printLadingBillOrderId=scope.row.orderId" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template> </template>
...@@ -341,7 +341,7 @@ ...@@ -341,7 +341,7 @@
<special-needs :show.sync="isShow" :order-id="orderId" @determine="getList" ></special-needs> <special-needs :show.sync="isShow" :order-id="orderId" @determine="getList" ></special-needs>
<print-tag v-if="printTagOrderId !== null" :order-id="printTagOrderId" @close="printTagOrderId=null" /> <print-tag v-if="printTagOrderId !== null" :order-id="printTagOrderId" @close="printTagOrderId=null" />
<print-warehouse-receipt v-if="printWarehouseReceiptOrderId !== null" :order-id="printWarehouseReceiptOrderId" @close="printWarehouseReceiptOrderId=null" /> <print-warehouse-receipt v-if="printWarehouseReceiptOrderId !== null" :order-id="printWarehouseReceiptOrderId" @close="printWarehouseReceiptOrderId=null" />
<print-lading-bill v-if="printLadingBillInfo !== null" v-bind="printLadingBillInfo" @close="printLadingBillInfo=null" /> <print-lading-bill v-if="printLadingBillOrderId !== null" :order-id="printLadingBillOrderId" @close="printLadingBillOrderId=null" />
<batch-pickup v-if="showBatchPickup" @close="onBatchClose" @success="onBatchClose"/> <batch-pickup v-if="showBatchPickup" @close="onBatchClose" @success="onBatchClose"/>
<withdrawal v-if="show" :dialog-visible="show" :orderId="orderId" ></withdrawal> <withdrawal v-if="show" :dialog-visible="show" :orderId="orderId" ></withdrawal>
<batch-single-application :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application> <batch-single-application :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application>
...@@ -430,7 +430,7 @@ export default { ...@@ -430,7 +430,7 @@ export default {
printTagOrderId: null, // 显示打印标签的订单ID printTagOrderId: null, // 显示打印标签的订单ID
printWarehouseReceiptOrderId: null, // 打印入仓单的订单ID printWarehouseReceiptOrderId: null, // 打印入仓单的订单ID
printLadingBillInfo: null, // 打印提单 printLadingBillOrderId: null, // 打印提单的订单ID
showBatchPickup: false, // 是否显示批量提货弹窗 showBatchPickup: false, // 是否显示批量提货弹窗
showMergedLogOrderNo:null, // 显示合单日志订单号 showMergedLogOrderNo:null, // 显示合单日志订单号
showPickupLogOrderNo: null, // 显示提货日志的订单号 showPickupLogOrderNo: null, // 显示提货日志的订单号
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
<el-row type="flex" justify="center"> <el-row type="flex" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="16"> <el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="16">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix" v-if="!readonly"> <div slot="header" class="clearfix">
<span style="font-size: 18px;font-weight: bold">{{ isDiscount ? '折扣管理' : '优惠申请' }}</span> <span style="font-size: 18px;font-weight: bold">{{$t('优惠申请')}}</span>
</div> </div>
<el-form v-if="!readonly" ref="form" :model="form" label-width="80px"> <el-form ref="form" :model="form" label-width="80px">
<el-form-item label="商品类型"> <el-form-item label="商品类型">
<span>{{ getProductAttrNameById(form.prodType) }}</span> <span>{{ getProductAttrNameById(form.prodType) }}</span>
</el-form-item> </el-form-item>
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
</el-form-item> </el-form-item>
<el-form-item label="线路"> <el-form-item label="线路">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${startTitleZh}】发往【${destTitleZh}】`}} {{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${startTitleZh}】发往【${destTitleZh}】`}}
</el-form-item> </el-form-item>
<el-form-item label="是否预付"> <el-form-item label="是否预付">
{{ form.isPayAdvance === 0 ? '' : '' }} {{ form.isPayAdvance === 0 ? '' : '' }}
...@@ -48,29 +49,14 @@ ...@@ -48,29 +49,14 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div > <div>
<h2>审批流程</h2> <h2>审批流程</h2>
<work-flow xmlkey="free_apply" v-model="form.channelId" /> <work-flow xmlkey="free_apply" v-model="form.channelId" />
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div> </div>
<div v-if="!readonly"> <div>
<el-button type="primary" @click="handleSubmit">提交</el-button> <el-button type="primary" @click="handleSubmit">提交</el-button>
</div> </div>
<el-descriptions border v-if="readonly" :column="1">
<el-descriptions-item label="商品类型">{{ form.productType }}</el-descriptions-item>
<el-descriptions-item label="商品名称">{{ form.prodTitleZh }}</el-descriptions-item>
<el-descriptions-item label="英文名称">{{ form.prodTitleEn }}</el-descriptions-item>
<el-descriptions-item label="线路">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${startTitleZh}】发往【${destTitleZh}】`}}
</el-descriptions-item>
<el-descriptions-item label="是否预付">{{ form.isPayAdvance === 0 ? '' : '' }}</el-descriptions-item>
<el-descriptions-item label="旧运费">{{ form.orgFreight }} {{ currentMap[form.orgFreightCurrency] }}/{{ unitMap[form.orgFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="旧清关费">{{ form.orgClearanceFreight }} {{ currentMap[form.orgClearanceFreightCurrency] }}/{{ unitMap[form.orgClearanceFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新运费">{{ form.freight }} {{ currentMap[form.freightCurrency] }}/{{ unitMap[form.freightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新清关费">{{ form.clearanceFreight }} {{ currentMap[form.clearanceFreightCurrency] }}/{{ unitMap[form.clearanceFreightVolume] }}</el-descriptions-item>
</el-descriptions>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<div slot="header" class="card-title">申请特价</div> <div slot="header" class="card-title">{{$t('申请特价')}}</div>
<!-- 列表 --> <!-- 列表 -->
<div class="order-header"> <div class="order-header">
<span style="font-size: 15px;">订单号{{ order.orderNo }}</span> <span style="font-size: 15px;">{{$t('订单号')}}{{ order.orderNo }}</span>
</div> </div>
<el-table v-loading="loading" :data="order.orderItemVOList"> <el-table v-loading="loading" :data="order.orderItemVOList">
<el-table-column label="序号" align="center" prop="id" type="index"></el-table-column> <el-table-column :label="$t('序号')" align="center" prop="id" type="index"></el-table-column>
<el-table-column <el-table-column
prop="prodTitleZh" prop="prodTitleZh"
label="品名"> :label="$t('品名')">
<template v-slot="{row}"> <template v-slot="{row}">
{{ row.prodTitleZh }}/{{ row.prodTitleEn }} {{ row.prodTitleZh }}/{{ row.prodTitleEn }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="prodAttrIds" prop="prodAttrIds"
label="填单货物属性"> :label="$t('填单货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
品牌:{{ ['无牌', '有牌', '中性'][row.brandType] }}<br> {{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" /><br>
箱数{{ row.num }}<br> {{$t('箱数')}}{{ row.num }}<br>
体积{{ row.volume }}<br> {{$t('体积')}}{{ row.volume }}<br>
重量{{ row.weight }}Kg {{$t('重量')}}{{ row.weight }}Kg
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" prop="address"
label="入库货物属性"> :label="$t('入库货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
<!-- // TODO 待测试完善 -->
<template v-if="row.warehouseInInfoVO"> <template v-if="row.warehouseInInfoVO">
品牌:{{ ['无牌', '有牌', '中性'][row.brandType] }}<br> {{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" /><br>
箱数{{ row.warehouseInInfoVO.cartonsNum }}<br> {{$t('箱数')}}{{ row.warehouseInInfoVO.cartonsNum }}<br>
体积{{ row.warehouseInInfoVO.volume }}<br> {{$t('体积')}}{{ row.warehouseInInfoVO.volume }}<br>
重量{{ row.warehouseInInfoVO.weight }}Kg {{$t('重量')}}{{ row.warehouseInInfoVO.weight }}Kg
</template> </template>
<span v-else>暂时没有入库信息</span> <span v-else>{{$t('暂时没有入库信息')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="updateTime" prop="updateTime"
:formatter="(_, __, v) => parseTime(v)" :formatter="(_, __, v) => parseTime(v)"
label="最后操作时间"> :label="$t('最后操作时间')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="原价"> :label="$t('原价')">
<template v-slot="{row}"> <template v-slot="{row}">
运费:{{ row.originalSeaFreight }} {{ currentMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.originalSeaFreight">未报价</template>
<br> <template v-else-if="row.charging ==1">
清关费:{{ row.originalClearanceFreight }} {{ currentMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.originalSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.originalClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address"
label="成本价"> label="成本价">
<template v-slot="{row}"> <template v-slot="{row}">
运费:{{ row.seaFreight }} {{ currentMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.costSeaFreight">未报价</template>
<br> <template v-else-if="row.charging">
清关费:{{ row.clearanceFreight }} {{ currentMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.costSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.costSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address" :label="$t('销售价')">
label="销售价">
<template v-slot="{row}"> <template v-slot="{row}">
运费:{{ row.seaFreight }} {{ currentMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }} <template v-if="!row.oneSeaFreight">未报价</template>
<br> <template v-else-if="row.charging">
清关费:{{ row.clearanceFreight }} {{ currentMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }} {{$t('全包价')}}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
</template>
<template v-else>
{{$t('运费')}}{{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }}/{{ unitMap[row.seaFreightVolume] }}
<br>
{{$t('清关费')}}{{ row.oneClearanceFreight }} {{ currencyMap[row.clearanceFreightCurrency] }}/{{ unitMap[row.clearanceFreightVolume] }}
</template>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column-->
<!-- prop="status"-->
<!-- :formatter="(v) => ['取消报价', '特价审批中', '需求确认(草稿)', '跟进中', '赢单', '输单', '报价完成', '审批通过', '审批拒绝'][v.status]"-->
<!-- label="审核状态">-->
<!-- </el-table-column>-->
<el-table-column <el-table-column
prop="address" prop="address"
label="操作"> :label="$t('操作')">
<template v-slot="{row}"> <template v-slot="{row}">
<template v-if="row.originalSeaFreight !== 0 && row.originalClearanceFreight !== 0"> <el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="showDiscountItemId=row.orderItemId">优惠申请</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/discount/${row.orderItemId}?orderId=${row.orderId}`)">优惠申请</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/specialCommission/${row.orderItemId}`)">佣金规则</el-button> <el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/specialCommission/${row.orderItemId}`)">佣金规则</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/discount1/${row.orderItemId}?orderId=${row.orderId}&discount=1`)">管理折扣</el-button> <el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/discount1/${row.orderItemId}?orderId=${row.orderId}&discount=1`)">管理折扣</el-button>
</template>
</template> </template>
</el-table-column> </el-table-column>
...@@ -95,6 +107,10 @@ ...@@ -95,6 +107,10 @@
<el-button type="primary" @click="$tab.closePage()">关闭窗口</el-button> <el-button type="primary" @click="$tab.closePage()">关闭窗口</el-button>
</div> </div>
</el-card> </el-card>
<special-discount v-if="!!showDiscountItemId" :orderItemId="showDiscountItemId" />
</div> </div>
</template> </template>
...@@ -105,9 +121,12 @@ import {getCurrencyList} from "@/api/ecw/currency" ...@@ -105,9 +121,12 @@ import {getCurrencyList} from "@/api/ecw/currency"
import {getProductAttrList} from "@/api/ecw/productAttr" import {getProductAttrList} from "@/api/ecw/productAttr"
import { parseTime } from '@/utils/ruoyi' import { parseTime } from '@/utils/ruoyi'
import {getOrder} from "@/api/ecw/order" import {getOrder} from "@/api/ecw/order"
import SpecialDiscount from '@/views/ecw/order/components/SpecialDiscount.vue'
export default { export default {
name: "OrderSpecial", name: "OrderSpecial",
components: { components: {
SpecialDiscount
}, },
props: { props: {
orderId: [String, Number] orderId: [String, Number]
...@@ -136,7 +155,9 @@ export default { ...@@ -136,7 +155,9 @@ export default {
unitList:[], unitList:[],
currencyList:[], currencyList:[],
productAttrList:[], productAttrList:[],
hasWarehouseInInfo: false hasWarehouseInInfo: false,
showDiscountItemId: null
}; };
}, },
created() { created() {
...@@ -171,7 +192,7 @@ export default { ...@@ -171,7 +192,7 @@ export default {
path:"/order/specialLight/"+this.params.orderId, path:"/order/specialLight/"+this.params.orderId,
}) })
}, },
getProductNamesByIds(ids){ /* getProductNamesByIds(ids){
const result = [] const result = []
ids.split(',').forEach(e => { ids.split(',').forEach(e => {
this.productAttrList.forEach(f => { this.productAttrList.forEach(f => {
...@@ -181,20 +202,20 @@ export default { ...@@ -181,20 +202,20 @@ export default {
}) })
}) })
return result.join(',') return result.join(',')
} } */
}, },
computed: { computed: {
currentMap(){ currencyMap(){
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach(item => {
map[item.id] = item.titleZh map[item.id] = this.$l(item, 'title')
}) })
return map return map
}, },
unitMap(){ unitMap(){
let map = {} let map = {}
this.unitList.forEach(item => { this.unitList.forEach(item => {
map[item.id] = item.titleZh map[item.id] = this.$l(item, 'title')
}) })
return map return map
} }
......
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