Commit 3493af0c authored by 我在何方's avatar 我在何方

添加重货,泡货特价申请

parent 68770381
{
"ExpandedNodes": [
"",
"\\src"
],
"SelectedNode": "\\src\\main.js",
"PreviewInSolutionExplorer": false
}
\ No newline at end of file
File added
......@@ -51,6 +51,7 @@
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"html2canvas": "^1.4.1",
"i18n": "^0.15.0",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
......@@ -65,6 +66,7 @@
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-i18n": "^9.2.2",
"vue-meta": "^2.4.0",
"vue-print-nb": "^1.7.5",
"vue-router": "3.4.9",
......
......@@ -63,6 +63,15 @@ export function getReceivableDiscountLogById(query) {
})
}
// 根据订单ID获得需要预付应收款列表
export function getFirstReceivableListByOrderId(query) {
return request({
url: '/ecw/receivable/getFirstReceivableListByOrderId',
method: 'get',
params: query
})
}
// 核销收款单
// export function receiptVerification(id) {
// return request({
......
......@@ -303,6 +303,21 @@ export const constantRoutes = [
name: 'discount',
meta: {title: '订单优惠申请', icon: '', activeMenu: '/order/index'}
},
{
path: 'specialWeight/:orderId(\\d+)',
component: (resolve) => import('@/views/ecw/order/special/weight'),
props: true,
name: 'special-weight',
meta: {title: '申请重货优惠', icon: '', activeMenu: '/order/index'}
},
{
path: 'specialCommission/:orderItemId(\\d+)',
component: (resolve) => import('@/views/ecw/order/special/commission'),
props: true,
name: 'special-commission',
meta: {title: '修改佣金规则', icon: '', activeMenu: '/order/index'}
},
{
path: 'associated-order/:orderId(\\d+)',
component: (resolve) => require(['@/views/ecw/order/associatedOrder'],resolve),
......
......@@ -170,7 +170,7 @@ export const DICT_TYPE = {
NEED_KNOW_TYPE:'need_know_type',//需知类型
NEED_KNOW_STATUS:'need_know_status',//需知状态
MANUAL_EXCEPTION_TYPE:'manual_exception_type',
APPLY_STATUS:'apply_status',//特价申请审核状态
ECASH_INIT:'ecash_init', //e-cash
FEE_TYPE:'receivable_fee_type',
......
......@@ -147,6 +147,7 @@ import {DICT_TYPE} from '@/utils/dict'
import { userList } from "@/api/system/user"
import CustomerSelector from '@/components/CustomerSelector'
import ProductSelector from '@/components/ProductSelector'
import getProduct from '@/api/ecw/product'
export default {
name: "Exception",
......
......@@ -14,17 +14,17 @@
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="orderData.status" />
</el-descriptions-item>
<el-descriptions-item label="送货日期">
{{orderData.consigneeVO?orderData.consigneeVO.deliveryDate||'':''}}
{{orderData.deliveryDate||''}}
<!-- <span v-if="orderData">{{orderData.status>=5?(orderData.orderItemVOList.length>0?parseTime(orderData.orderItemVOList[0].warehouseInInfoVO.firstInTime):''):(orderData.consigneeVO?orderData.consigneeVO.deliveryDate:'')}}</span> -->
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:''}}
<el-descriptions-item label="始发地" :span="2">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startAddressZh:''}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:''}}
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destAddressZh:''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -91,7 +91,7 @@
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.orderExceptionStatus>0">已完成</el-tag>
<el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.id,scope.row.orderExceptionType)">处理</el-button>
<el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">处理</el-button>
</template>
</el-table-column>
</el-table>
......@@ -150,14 +150,24 @@ export default {
});
},
handEdit(id, type){
if(type == 8||type==15){
handEdit(row){
if(row.orderExceptionType=='order_no_quote_exception'){
getProduct(row.orderItemId).then(res=>{
this.$router.push({
path:"/order/weightDeal?id="+id,
name: 'ProductPrice',
query: {
product_id: row.orderItemId,
product_type: res.data.typeId
}
})
})
}else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){
this.$router.push({
path:"/order/weightDeal?id="+row.id+'&type='+row.orderExceptionType,
})
}else{
this.$router.push({
path:"/order/prepayDeal?id="+id,
path:"/order/prepayDeal?id="+row.id,
})
}
......
......@@ -11,14 +11,14 @@
{{orderData?orderData.orderNo:''}}
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType==1||orderExceptionData.orderExceptionType==2">
<div v-if="orderExceptionData.orderExceptionType=='order_superfluous_box_exception'||orderExceptionData.orderExceptionType=='order_lack_box_exception'||orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<el-row>
<el-form-item label="产品名称:" >
{{shopData?shopData.prodTitleZh:''}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="产品名称英文名称:">
<el-form-item label="产品英文名称:">
{{shopData?shopData.prodTitleEn:''}}
</el-form-item>
</el-row>
......@@ -29,22 +29,27 @@
{{orderData?getRouterNameById():''}}
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType!=3||orderExceptionData.orderExceptionType!=9||orderExceptionData.orderExceptionType!=10||orderExceptionData.orderExceptionType!=11">
<div v-if="orderExceptionData.orderExceptionType!='order_doc_exception'&&orderExceptionData.orderExceptionType!='order_consignor_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'">
<el-row>
<el-form-item label="填单参数:">
{{(orderData.costVO?orderData.costVO.totalNum:0)+''+(orderData.costVO?orderData.costVO.totalVolume:0)+''+(orderData.costVO?orderData.costVO.totalWeight:0)+'kg'}}
{{(shopData.num||0)+''+(shopData.volume||0)+''+(shopData.weight||0)+'kg'}}
</el-form-item>
</el-row>
<el-row>
<el-form-item label="入仓参数:">
{{(orderData.sumNum||0)+''+(orderData.sumVolume||0)+''+(orderData.sumWeight||0)+'kg'}}
{{(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.cartonsNum:0)+''+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.volume:0)+''+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.weight:0)+'kg'}}
</el-form-item>
</el-row>
<el-row :span="12">
<el-form-item label="异常描述:">
{{orderData.totalMoney||''}}
{{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:''}}
</el-form-item>
<el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row>
<el-row>
<el-form-item label="入仓参数:">
<span>{{order.entryNum||0}}{{order.entryWeight||0}}Kg {{order.entryVolume||0}}</span>
</el-form-item>
<el-button v-if="orderExceptionData.orderExceptionType==3" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row>
<!-- <el-row :span="12">
<el-form-item label="详细内容:">
......@@ -53,13 +58,11 @@
<el-button v-if="orderExceptionData.orderExceptionStatus==3" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row> -->
</div>
</el-form>
<el-table v-if="orderExceptionData.orderExceptionType==3" v-loading="loading" border :data="orderData.orderItemVOList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55">
</el-table-column> -->
</el-form> {{order.entryNum}}{{order.entryWeight}}Kg {{order.entryVolume}}
<el-table v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" v-loading="loading" border :data="preException">
<el-table-column label="品名" align="center">
<template slot-scope="scope">
{{scope.row.prodTitleZh+'('+scope.row.prodTitleEn+')'}}
{{scope.row.titleZh+'('+scope.row.titleEn+')'}}
</template>
</el-table-column>
<el-table-column label="箱数" prop="num" />
......@@ -78,13 +81,21 @@
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column label="应收金额" prop="num" />
<el-table-column label="总金额美元" align="center" prop="totalAmount" />
<el-table-column label="总金额RMB" align="center" prop="totalAmount" />
<el-table-column label="实收金额" prop="volume" />
<el-table-column label="应收金额" prop="totalAmount" />
<!-- <el-table-column label="总金额美元" align="center" prop="totalAmount">
<template slot-scope="{row}">
{{row.totalAmount}}({{row.exchangeRate}})
</template>
</el-table-column>
<el-table-column label="总金额RMB" align="center" prop="totalAmount">
<template slot-scope="{row}">
{{row.totalAmount}}({{row.exchangeRate}})
</template>
</el-table-column>
<el-table-column label="实收金额" prop="volume" /> -->
<el-table-column label="付款人">
<template slot-scope="scope">
<span>{{srope.row.consigneeVO.name}}(收货人)</span>
<span>{{srope.row.consigneeName}}(收货人)</span>
</template>
</el-table-column>
<el-table-column label="付款状态" prop="worth">
......@@ -93,7 +104,12 @@
</template>
</el-table-column>
</el-table>
<el-table v-if="orderExceptionData.orderExceptionType==9||orderExceptionData.orderExceptionType==10||orderExceptionData.orderExceptionType==11" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table v-if="orderExceptionData.orderExceptionType=='order_doc_exception'||orderExceptionData.orderExceptionType=='order_consignor_exception'||orderExceptionData.orderExceptionType=='order_other_exception'" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table-column label="序号" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="中文名" align="center" prop="prodTitleZh" />
<el-table-column label="英文名" align="center" prop="prodTitleEn" />
<el-table-column label="品牌" align="center" prop="brand" />
......@@ -109,53 +125,103 @@
<el-table-column label="货值" prop="worth" />
</el-table>
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType==3">
<el-form-item label="应付金额:">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item label="订单总金额:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType==3">
<el-form-item label="核销金额:">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item label="应付预付金额:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType==3">
<el-form-item label="核销比例:">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item label="已核销预付金额:">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="已核销预付金额占总金额比例:" label-width="200px">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item label="处理结果:" >
<el-select v-model="handlerParams.orderExceptionHandlerResult">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" >
<el-col :span="6">
<el-form-item label="预付商品货值:">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="预付商品货值占佣金额比例:" label-width="200px">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item label="预付商品方数:">
{{orderData.totalMoney}}
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item label="订单总方数:">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="预付商品方数占总方数比例:" label-width="200px">
{{orderData.totalMoney}}
</el-form-item>
</el-col>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'">
<el-form-item label="报关资料:" size="medium">
<file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item label="*处理结果:" >
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择">
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8">
<el-form-item label="备注:" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'">
<el-form-item label="送货费用:" size="medium">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;">
<el-option v-for="dict in getDictDatas('shipping_price_unit')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType==9">
<el-form-item label="报关资料:" size="medium">
<file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
<el-form-item label="备注:" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType==4||orderExceptionData.orderExceptionType==5||orderExceptionData.orderExceptionType==6||orderExceptionData.orderExceptionType==7">
<el-row >
<div v-if="orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<el-row>
<el-form-item label="详细内容:">
{{orderExceptionData.content}}
{{orderExceptionData.orderExceptionDetails||'无'}}
</el-form-item>
</el-row>
<el-row >
<el-form-item label="状态:">
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" v-model="handlerParams.orderExceptionStatus" />
<el-radio v-model="handlerParams.orderExceptionStatus" label="1">处理中</el-radio>
<el-radio v-model="handlerParams.orderExceptionStatus" label="2">已处理</el-radio>
</el-form-item>
</el-row>
<el-row >
<el-row>
<el-form-item label="*查明原因:">
{{orderExceptionData.content}}
<el-select v-model="handlerParams.orderExceptionHandlerResult">
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
</div>
......@@ -166,7 +232,7 @@
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button plain type="primary" @click="$router.back()">取消</el-button>
</div>
<el-button v-if="orderExceptionData.orderExceptionStatus==3" type="primary" @click="submitForm">转交</el-button>
<el-button v-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'" type="primary" @click="submitForm">转交</el-button>
</div>
</div>
</template>
......@@ -176,6 +242,7 @@
import {getDictData, getDictDatas} from '@/utils/dict'
import {getOrder} from '@/api/ecw/order'
import {getExceptionById,handlerExceptionByExceptionId,getOrderItemById} from "@/api/ecw/orderException"
import {getFirstReceivableListByOrderId} from '@/api/ecw/financial'
export default {
name: "PrepayDeal",
......@@ -194,13 +261,15 @@
orderId:0,
orderExceptionId:0,
handlerParams:{
orderExceptionId:0
orderExceptionId:0,
orderExceptionStatus:"1"
},
shopData:{},
//发货/收货人信息
consigneeData:[],
routerList:[],
multipleSelection:[],
preException:[]
};
},
created() {
......@@ -217,13 +286,16 @@
that.loading = true;
getExceptionById(that.orderExceptionId).then(response => {
that.orderExceptionData = response.data;
that.handlerParams.orderExceptionStatus = response.data.orderExceptionStatus
// that.orderExceptionData.orderExceptionType = 'order_other_exception'
// that.orderExceptionData.orderExceptionType = 'order_pick_up_exception'
that.orderExceptionData.orderExceptionType = 'order_pay_exception'
that.loading = false;
that.orderId = response.data.orderId
that.getOrderData()
if(response.data.hasOwnProperty('orderItemId')){
that.getShopData(response.data.orderItemId)
}
that.getPreExceptionData()
});
},
getOrderData(){
......@@ -231,6 +303,18 @@
this.orderData = response.data
});
},
getPreExceptionData(){
getFirstReceivableListByOrderId({id:this.orderId}).then(response => {
this.preException = response.data
this.preException.forEach(item=>{
var curr = getDictData('shipping_price_unit', item.currencyId)
if(curr.label == '美元'){
item.doller = item.totalAmount
}
})
});
},
getShopData(id){
getOrderItemById(id).then(res=>{
this.shopData = res.data
......@@ -247,7 +331,9 @@
return ''
},
submitForm(){
console.log(this.handlerParams)
if(!this.handlerParams.orderExceptionHandlerResult){
this.$modal.msgError("请选择处理结果");
}
handlerExceptionByExceptionId(this.handlerParams).then(res=>{
this.$modal.msgSuccess("提交成功");
this.$router.back()
......@@ -256,7 +342,7 @@
/** 跟进按钮操作 */
handleAdd() {
this.$router.push({
path: "/financial/creatCollection",
path: "/financial/creatCollection?receiptId=0",
query:{
orderId:this.orderId,
}
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-card>
<div slot="header" class="card-title">修改佣金规则-{{form.orderNo||''}}</div>
<el-form :model="form" ref="queryForms" label-width="120px" class="card">
<el-form-item label="商品类型">
<span>{{form.prodType }}</span>
</el-form-item>
<el-form-item label="商品名称">
<span>{{ form.prodTitleZh }}</span>
</el-form-item>
<el-form-item label="英文名称">
<span>{{ form.prodTitleEn }}</span>
</el-form-item>
<el-form-item label="线路">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${form.startTitleZh}】发往【${form.destTitleZh}】`}}
</el-form-item>
<el-form-item label="运费:" >
<span>{{ form.orgFreight }} {{ currentMap[form.orgFreightCurrency] }}</span>
</el-form-item>
<el-form-item label="清关费:">
<span>{{ form.orgClearanceFreight }} {{ currentMap[form.orgClearanceFreightCurrency] }}</span>
</el-form-item>
<el-form-item label="佣金类型:">
<el-radio v-model="form.commissionType" v-for="dict in getDictDatas('commission_type')"
:key="dict.value" :label="dict.label" :value="dict.value">
</el-radio>
</el-form-item>
<el-form-item v-if="form.commissionType==3" label="暗佣佣金:">
<el-input style="width: 100px;" type="text" v-model="form.lightCommissionAmount" />
<el-select v-model="form.commissionCurrencyId" style="width: 100px;margin-left: 10px;">
<el-option v-for="dict in getDictDatas('shipping_price_unit')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
<el-select v-model="form.commissionCurrencyId" style="width: 100px;margin-left: 10px;">
<el-option v-for="dict in unitType"
:key="dict.id" :label="dict.titleZh" :value="dict.id"/>
</el-select>
</el-form-item >
<el-form-item v-if="form.commissionType==1||form.commissionType==3" label="明佣佣金:">
<el-input style="width: 100px;" type="text" v-model="form.lightCommissionAmount" />
<el-select v-model="form.commissionCurrencyId" style="width: 100px;margin-left: 10px;">
<el-option v-for="dict in getDictDatas('shipping_price_unit')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
<el-select v-model="form.commissionCurrencyId" style="width: 100px;margin-left: 10px;">
<el-option v-for="dict in unitType"
:key="dict.id" :label="dict.titleZh" :value="dict.id"/>
</el-select>
</el-form-item >
<el-form-item v-if="form.commissionType==1" label="商品:">
<span>{{form.prodTitleZh }}</span>
<span>销售价:{{11}}美元/千克</span>
<span v-if="form.commissionType==3">成本价:190美元/千克</span>
<span v-if="form.commissionType==2" style="color: #1E98D7;" @click="$router.phsh(`/customer/customerCommission`)">去设置</span>
<span v-if="form.commissionType==3">实际佣金返点:40美元/千克</span>
</el-form-item>
<el-form-item label="审核状态:">
<dict-tag :type="DICT_TYPE.APPLY_STATUS" :value="form.applyStatus"></dict-tag>
</el-form-item>
</el-form>
</el-card>
<div slot="header" class="card-title">审批流程</div>
<work-flow xmlkey="commission_config" v-model="selectedUsers" style="margin-top: 20px;"></work-flow>
<div slot="footer" class="card footer_btn">
<el-button type="primary" v-if="form.applyStatus==0" @click="submitForm">提交</el-button>
<el-button plain type="primary" v-if="form.applyStatus==0" @click="$router.back()">取消</el-button>
<el-button v-if="form.applyStatus==1" type="primary" disabled>审核中</el-button>
<el-button v-if="form.applyStatus==1" plain type="primary" @click="dialogVisible = true">取消审核</el-button>
<el-button v-if="form.applyStatus==1" plain type="primary" @click="$router.back()">返回</el-button>
</div>
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%">
<span class="cancel_notice">特价申请正在审核中,你确定取消特价申请吗?</span>
<div class="cancel_content">
<span>取消原因:</span>
<el-input v-model="reason" placeholder="请输入取消原因"></el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="cancelSplit"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {getDictData, getDictDatas,DICT_TYPE,getDictDataLabel} from '@/utils/dict'
import WorkFlow from '@/components/WorkFlow'
import {getOrder,getOrderSpecial,createOrderSpecial} from '@/api/ecw/order'
import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import {getUnitList} from '@/api/ecw/unit'
export default {
name: "specialCommission",
components: {
WorkFlow
},
props: {
orderItemId: [String, Number]
},
data() {
return {
reason:'',
dialogVisible:false,
loading:false,
form:{},
selectedUsers:[],
orderData:{},
channelList:[],
currencyList:[],
productAttrList:[],
unitType:[]
};
},
created() {
if(this.orderItemId){
this.form.orderItemId = this.orderItemId - 0
this.getOrderSpecialData()
}
// this.getOrderData()
// this.getList()
this.getUnitTypeData()
getChannelList().then(res => this.channelList = res.data)
getCurrencyList().then(res => this.currencyList = res.data)
getProductAttrList().then(res => this.productAttrList = res.data)
},
computed:{
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
getDictDatas(){
return getDictDatas
},
// 根据渠道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] = item.titleZh
})
return map
}
},
methods: {
getUnitTypeData () {
getUnitList().then(res => {
if(res.code==0&&res.data&&res.data.length>0){
this.unitType = res.data
}
})
},
getOrderData(){
getOrder(this.queryParams.orderId).then(response => {
this.orderData = response.data
});
},
getProductAttrNameById(id){
return this.productAttrList.find(e => e.id === id)?.attrName || ''
},
/** 查询列表 */
getOrderSpecialData(){
getOrderSpecial(this.form.orderItemId,3).then(r => {
this.form = r.data
})
},
submitForm(){
createOrderSpecial({
applyType: this.form.applyType,
lineId: this.form.lineId,
commissionType: this.form.commissionType,
orderId: this.form.orderId,
orderNo: this.form.orderNo,
orderItemId: this.form.orderItemId,
prodId:this.form.prodId,
ccIds:this.selectedUsers.join(',')
}).then(r => {
this.$message.success(r.msg || '提交成功')
})
},
cancelSplit(){
let that = this
if(!that.reason){
that.$message.error("请输入取消原因");
return
}
cancelApply({orderId:that.queryParams.orderId,reason:that.reason}).then(res=>{
that.$message.success("取消成功");
that.$router.back()
})
},
}
}
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.card-info{
font-size: 16px;
}
.card{
margin-top: 20px;
}
.btn-header{
width: 90%;
display: flex;
align-items: center;
justify-content: space-between;
margin: 20px 0;
}
.red{
color:#ff3430;
font-size: 15px;
}
.footer_btn{
padding-bottom: 60px;
}
.cancel_notice{
font-size: 16px;
font-weight: 600;
}
.cancel_content{
display: flex;
align-items: center;
padding-top: 20px;
}
.cancel_content span{
width: 100px;
}
</style>
......@@ -79,7 +79,7 @@
label="操作">
<template v-slot="{row}">
<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']">佣金规则</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']">管理折扣</el-button>
</template>
</el-table-column>
......@@ -87,7 +87,7 @@
</el-table>
<div style="text-align: center;margin-top: 80px">
<el-button type="primary">申请重货优惠</el-button>
<el-button type="primary" @click="toweight">申请重货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button>
<el-button type="primary">关闭窗口</el-button>
</div>
......@@ -152,6 +152,11 @@ export default {
this.order = response.data
})
},
toweight(){
this.$router.push({
path:"/order/specialWeight/"+this.params.orderId,
})
},
getProductNamesByIds(ids){
const result = []
ids.split(',').forEach(e => {
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-card>
<div slot="header" class="card-title">申请泡货优惠-{{queryParams.orderNo||''}}</div>
<el-form :model="queryParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row >
<el-form-item label="原泡货标准:" label-width="150px">
<span>{{queryParams.orgVWeight}}kg/cbm</span>
</el-form-item>
</el-row>
<el-row :span="8" >
<el-form-item label="* 现泡货申请标准:" size="medium" label-width="150px">
<el-input style="width: 100px;" type="text" v-model="queryParams.vweight" />
<span style="margin-left: 10px;">kg/cbm</span>
</el-form-item>
</el-row>
<el-row :span="8">
<el-form-item label="备注:" size="medium" label-width="150px">
<el-input style="width: 500px;" type="textarea" v-model="queryParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-row>
</el-form>
</el-card>
<work-flow xmlkey="heavy_goods_discount" v-model="selectedUsers" style="margin-top: 20px;"></work-flow>
<div slot="footer" class="card footer_btn">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button plain type="primary" @click="$router.back()">取消</el-button>
<!-- <el-button v-if="orderData.inWarehouseState==207" type="primary" disabled>审核中</el-button> -->
<!-- <el-button v-if="orderData.inWarehouseState==207" plain type="primary" @click="dialogVisible = true">取消审核</el-button> -->
<!-- <el-button v-if="orderData.inWarehouseState==207" plain type="primary" @click="$router.back()">返回</el-button> -->
</div>
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%">
<span class="cancel_notice">申请泡货优惠正在审核中,你确定取消申请泡货优惠吗?</span>
<div class="cancel_content">
<span>取消原因:</span>
<el-input v-model="reason" placeholder="请输入取消原因"></el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="cancelSplit">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {getDictData, getDictDatas,DICT_TYPE} from '@/utils/dict'
import WorkFlow from '@/components/WorkFlow'
import {getOrderSpecial,createOrderSpecial} from '@/api/ecw/order'
export default {
name: "specialWeight",
components: {
WorkFlow
},
props: {
orderId: [String, Number]
},
data() {
return {
reason:'',
dialogVisible:false,
loading:false,
queryParams:{
orderId:7,
lang:0
},
selectedUsers:[],
orderData:{},
};
},
created() {
if (this.orderId) {
this.queryParams.orderId = this.orderId
this.getOrderSpecialData()
}
// this.getList()
},
computed:{
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
getDictDatas(){
return getDictDatas
}
},
methods: {
getOrderSpecialData(){
getOrderSpecial(this.queryParams.orderId,5).then(r => {
this.queryParams = r.data
})
},
submitForm(){
createOrderSpecial({
applyType: this.queryParams.applyType,
lineId: this.queryParams.lineId,
vweight: this.queryParams.vweight,
orderId: this.queryParams.orderId,
orderNo: this.queryParams.orderNo,
orderItemId: this.queryParams.orderItemId,
prodId:this.queryParams.prodId,
ccIds:this.selectedUsers.join(',')
}).then(r => {
this.$message.success(r.msg || '提交成功')
})
},
cancelSplit(){
let that = this
if(!that.reason){
that.$message.error("请输入取消原因");
return
}
cancelApply({orderId:that.queryParams.orderId,reason:that.reason}).then(res=>{
that.$message.success("取消成功");
that.$router.back()
})
},
}
}
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.card-info{
font-size: 16px;
}
.card{
margin-top: 20px;
}
.btn-header{
width: 90%;
display: flex;
align-items: center;
justify-content: space-between;
margin: 20px 0;
}
.red{
color:#ff3430;
font-size: 15px;
}
.footer_btn{
padding-bottom: 60px;
}
.cancel_notice{
font-size: 16px;
font-weight: 600;
}
.cancel_content{
display: flex;
align-items: center;
padding-top: 20px;
}
.cancel_content span{
width: 100px;
}
</style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-card>
<div slot="header" class="card-title">申请重货优惠-{{queryParams.orderNo||''}}</div>
<el-form :model="queryParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row >
<el-form-item label="原重货标准:" label-width="150px">
<span>{{queryParams.orgWVolume}}kg/cbm</span>
</el-form-item>
</el-row>
<el-row :span="8" >
<el-form-item label="* 现重货申请标准:" size="medium" label-width="150px">
<el-input style="width: 100px;" type="text" v-model="queryParams.wvolume" />
<span style="margin-left: 10px;">kg/cbm</span>
</el-form-item>
</el-row>
<el-row :span="8">
<el-form-item label="备注:" size="medium" label-width="150px">
<el-input style="width: 500px;" type="textarea" v-model="queryParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-row>
</el-form>
</el-card>
<work-flow xmlkey="heavy_goods_discount" v-model="selectedUsers" style="margin-top: 20px;"></work-flow>
<div slot="footer" class="card footer_btn">
<el-button type="primary" v-if="queryParams.applyStatus==0" @click="submitForm">提交</el-button>
<el-button plain type="primary" v-if="queryParams.applyStatus==0" @click="$router.back()">取消</el-button>
<el-button v-if="queryParams.applyStatus==1" type="primary" disabled>审核中</el-button>
<el-button v-if="queryParams.applyStatus==1" plain type="primary" @click="dialogVisible = true">取消审核</el-button>
<el-button v-if="queryParams.applyStatus==1" plain type="primary" @click="$router.back()">返回</el-button>
</div>
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%">
<span class="cancel_notice">申请重货优惠正在审核中,你确定取消申请重货优惠吗?</span>
<div class="cancel_content">
<span>取消原因:</span>
<el-input v-model="reason" placeholder="请输入取消原因"></el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="cancelSplit">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {getDictData, getDictDatas,DICT_TYPE} from '@/utils/dict'
import WorkFlow from '@/components/WorkFlow'
import {getOrderSpecial,createOrderSpecial} from '@/api/ecw/order'
export default {
name: "specialWeight",
components: {
WorkFlow
},
props: {
orderId: [String, Number]
},
data() {
return {
reason:'',
dialogVisible:false,
loading:false,
queryParams:{
orderId:7,
lang:0
},
selectedUsers:[],
orderData:{}
};
},
created() {
if (this.orderId) {
this.queryParams.orderId = this.orderId
this.getOrderSpecialData()
}
// this.getList()
},
computed:{
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
getDictDatas(){
return getDictDatas
}
},
methods: {
/** 查询列表 */
getOrderSpecialData(){
getOrderSpecial(this.queryParams.orderId,'4').then(r => {
this.queryParams = r.data
})
},
submitForm(){
createOrderSpecial({
applyType: this.queryParams.applyType,
lineId: this.queryParams.lineId,
wvolume: this.queryParams.wvolume,
orderId: this.queryParams.orderId,
orderNo: this.queryParams.orderNo,
orderItemId: this.queryParams.orderItemId,
prodId:this.queryParams.prodId,
ccIds:this.selectedUsers.join(',')
}).then(r => {
this.$message.success(r.msg || '提交成功')
})
},
cancelSplit(){
let that = this
if(!that.reason){
that.$message.error("请输入取消原因");
return
}
cancelApply({orderId:that.queryParams.orderId,reason:that.reason}).then(res=>{
that.$message.success("取消成功");
that.$router.back()
})
},
}
}
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.card-info{
font-size: 16px;
}
.card{
margin-top: 20px;
}
.btn-header{
width: 90%;
display: flex;
align-items: center;
justify-content: space-between;
margin: 20px 0;
}
.red{
color:#ff3430;
font-size: 15px;
}
.footer_btn{
padding-bottom: 60px;
}
.cancel_notice{
font-size: 16px;
font-weight: 600;
}
.cancel_content{
display: flex;
align-items: center;
padding-top: 20px;
}
.cancel_content span{
width: 100px;
}
</style>
......@@ -14,16 +14,16 @@
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="orderData.status" />
</el-descriptions-item>
<el-descriptions-item label="送货日期">
<span v-if="orderData">{{orderData.status>=5?(orderData.orderItemVOList.length>0?orderData.orderItemVOList[0].warehouseInInfoVO.inTime:''):(orderData.consigneeVO?orderData.consigneeVO.deliveryDate:'')}}</span>
<span>{{orderData.deliveryDate||''}}</span>
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:''}}
<el-descriptions-item label="始发地" :span="2">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startAddressZh:''}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:''}}
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destAddressZh:''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -76,16 +76,21 @@
<template slot-scope="scope">
<span>规格:{{scope.row.boxGauge||0}}</span>
<p>
<span>品牌:<dict-tag :value="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>箱数:{{scope.row.num||0}}</span>
<span>体积:{{scope.row.volume||0}}CBM</span>
<span>重量:{{scope.row.weight||0}}KG</span>
<span>品牌:<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>箱数:{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}</span>
<span>体积:{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM</span>
<span>重量:{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG</span>
</p>
</template>
</el-table-column>
<el-table-column label="重货方数" align="center" >
<el-table-column label="重货方数" align="center" v-if="type=='order_heavy_cargo_exception'">
<template slot-scope="scope">
<span>{{scope.row.ss||0}}CBM</span>
<span>{{ scope.row.warehouseInInfoVO?(scope.row.warehouseInInfoVO.heavyNumber||0):0}}CBM</span>
</template>
</el-table-column>
<el-table-column label="泡货方数" align="center" v-else >
<template slot-scope="scope">
<span>{{ scope.row.warehouseInInfoVO?(scope.row.warehouseInInfoVO.lightNumber||0):0}}CBM</span>
</template>
</el-table-column>
<el-table-column label="最后操作时间" scope="handlerTime" />
......@@ -119,13 +124,16 @@ export default {
orderData:{},
list: {},
orderId:0,
type:''
};
},
created() {
if(this.$route.query.id){
this.id = this.$route.query.id
this.getList()
}
if(this.$route.query.type){
this.type = this.$route.query.type
}
},
methods: {
......
......@@ -94,8 +94,10 @@
<el-table-column
prop="startTime"
width="200px"
:formatter="(row) => parseTime(row.startTime, '{y}-{m}-{d}') + ' - ' + parseTime(row.endTime, '{y}-{m}-{d}')"
label="授权时间">
<template v-slot="{row}">
<span>{{row.startTime?(parseTime(row.startTime, '{y}-{m}-{d}') + ' - ' + parseTime(row.endTime, '{y}-{m}-{d}')):'永久'}}</span>
</template>
</el-table-column>
<el-table-column
prop="feeScale"
......
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