Commit 32825519 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 042ad604 3239b778
import request from '@/utils/request'
// 创建订单
export function createOrder(data) {
return request({
url: '/ecw/order/create',
method: 'post',
data: data
})
}
// 更新订单
export function updateOrder(data) {
return request({
url: '/ecw/order/update',
method: 'put',
data: data
})
}
// 删除订单
export function deleteOrder(id) {
return request({
url: '/ecw/order/delete?id=' + id,
method: 'delete'
})
}
// 获得订单
export function getOrder(id) {
return request({
url: '/ecw/order/get?id=' + id,
method: 'get'
})
}
// 获得订单分页
export function getOrderPage(query) {
return request({
url: '/ecw/order/page',
method: 'get',
params: query
})
}
// 导出订单 Excel
export function exportOrderExcel(query) {
return request({
url: '/ecw/order/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
......@@ -261,6 +261,21 @@ export const constantRoutes = [
}
]
},
{
path: '/offer',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: 'special/:offerId(\\d+)',
component: (resolve) => import('@/views/ecw/offer/special'),
props: true,
name: 'offer',
meta: {title: '特价申请', icon: '', activeMenu: '/offer/special'}
}
]
}
]
// 防止连续点击多次路由报错
......
......@@ -77,7 +77,7 @@ export const DICT_TYPE = {
ECW_COUPON_COST_TYPE: 'coupon_cost_type', // 优惠券费用类型
ECW_COUPON_OVERDUE_STATUS: 'coupon_overdue_status', // 优惠券状态
ECW_COUPON_PUTON_STATUS: 'coupon_puton_status',
ECW_SUITABLE_USER_TYPE:'suitable_user_type', // 适用用户类型
ECW_SUITABLE_USER_TYPE: 'suitable_user_type', // 适用用户类型
ECW_SUITABLE_LINE_TYPE: 'suitable_line_type', // 适用线路类型
ECW_SUITABLE_PROD_TYPE: 'suitable_prod_type', // 适用产品类型
ECW_ORDER_ATTR: 'order_attr', // 订单属性
......@@ -117,18 +117,22 @@ export const DICT_TYPE = {
IS_DEFAULT: 'is_default', // 默认联系人
CUSTOMER_FOLLOW_TYPE: 'customer_follow_type', // 跟进类型
CUSTOMER_FOLLOW_METHOD: 'customer_follow_method', // 跟进方式
COMMISSION_PRODUCT_APPROVAL:'commission_product_approval', //佣金备案
SHIPPING_DECLARATION_TYPE:'shipping_declaration_type',//出货报关方式(与订单报关方式相同)
COMMISSION_TYPE:'commission_type',//佣金类型
COMMISSION_DARK_TYPE :'commission_dark_type',//暗涌类型
COMMISSION_CURRENCY_TYPE:'commission_currency_type',//佣金货币类型
COMMISSION_UNIT:'commission_unit',//佣金货物单位
ECW_PORT_TYPE:'port_type', //港口类型
CERTIFICATE_TYPE:'certificate_type',//证件类型
COMMISSION_PRODUCT_APPROVAL: 'commission_product_approval', //佣金备案
SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type',//出货报关方式(与订单报关方式相同)
COMMISSION_TYPE: 'commission_type',//佣金类型
COMMISSION_DARK_TYPE: 'commission_dark_type',//暗涌类型
COMMISSION_CURRENCY_TYPE: 'commission_currency_type',//佣金货币类型
COMMISSION_UNIT: 'commission_unit',//佣金货物单位
ECW_PORT_TYPE: 'port_type', //港口类型
CERTIFICATE_TYPE: 'certificate_type',//证件类型
//customer
CUSTOMER_CREDIT_RULE_TYPE: 'customer_credit_rule_type',
CUSTOMER_LEVEL_RULE_TYPE: 'customer_level_rule_type',
// order
ORDER_TYPE: 'order_type', // 订单类型
PRODUCT_RECORD_ATTRIBUTE: 'product_record_attribute', //产品备案属性
CONTROL_GOODS_STATUS: 'control_goods_status', //控货状态
DISBURSEMENT_TYPE: 'disbursement_type' //垫付类型
}
/**
......
......@@ -22,43 +22,43 @@
</div>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="发货人:">
{{consigneeData[0].name}}
{{consigneeData[0].name || ''}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData[0].defaultContactPhone}}
{{consigneeData[0].defaultContactPhone || ''}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData[0].address}}
{{consigneeData[0].address || ''}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData[0].source}}
{{consigneeData[0].source || ''}}
</el-descriptions-item>
<el-descriptions-item label="发货人公司名称:">
{{consigneeData[0].company}}
{{consigneeData[0].company || ''}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData[0].defaultSocial?consigneeData[0].defaultSocial:''+' '+consigneeData[0].defaultSocialNumber?consigneeData[0].defaultSocialNumber:''}}
{{consigneeData[0].defaultSocial?consigneeData[0].defaultSocial:''+' '+consigneeData[0].defaultSocialNumber?consigneeData[0].defaultSocialNumber:''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="3" border class="card">
<el-descriptions-item label="收货人:">
{{consigneeData[1].name}}
{{consigneeData[1].name|| ''}}
</el-descriptions-item>
<el-descriptions-item label="手机号:">
{{consigneeData[1].defaultContactPhone}}
{{consigneeData[1].defaultContactPhone|| ''}}
</el-descriptions-item>
<el-descriptions-item label="联系地址:">
{{consigneeData[1].address}}
{{consigneeData[1].address|| ''}}
</el-descriptions-item>
<el-descriptions-item label="客户来源:">
{{consigneeData[1].source}}
{{consigneeData[1].source|| ''}}
</el-descriptions-item>
<el-descriptions-item label="收货人公司名称:">
{{consigneeData[1].company}}
{{consigneeData[1].company|| ''}}
</el-descriptions-item>
<el-descriptions-item label="社交软件:">
{{consigneeData[1].defaultSocial?consigneeData[1].defaultSocial:''+' '+consigneeData[1].defaultSocialNumber?consigneeData[1].defaultSocialNumber:''}}
{{consigneeData[1].defaultSocial?consigneeData[1].defaultSocial:''+' '+consigneeData[1].defaultSocialNumber?consigneeData[1].defaultSocialNumber:''}}
</el-descriptions-item>
</el-descriptions>
<div class="title-font">
......@@ -107,7 +107,11 @@
</template>
</el-table-column>
<el-table-column label="出货渠道" width="100px" prop="channelName" />
<el-table-column label="线路" width="200px" prop="lineName" />
<el-table-column label="线路" width="200px" >
<template slot-scope="scope">
{{getRouterNameById(scope.row.lineId)}}
</template>
</el-table-column>
<el-table-column label="运费">
<template slot-scope="scope">
{{'运费'+scope.row.seaFreight+scope.row.seaFreightCurrency+'/'+ scope.row.seaFreightVolume+' 清关费'+scope.row.clearanceFreight+scope.row.clearanceFreightCurrency+'/'+ scope.row.clearanceFreightVolume}}
......@@ -142,7 +146,7 @@
<div class="line">
<el-descriptions v-for="(lineItem,k) in item.lineData">
<el-descriptions-item :label="[3,4].indexOf(item.transportId)>-1?('空运路线'+(k+1)):('海运路线'+(k+1))">
{{lineItem.warehouseLineDO.startTitleZh + ' >> >> >> ' + lineItem.warehouseLineDO.destTitleZh}}
{{getRouterNameById(lineItem)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-for="(channelItem,k) in item.channelData">
......@@ -246,9 +250,9 @@
import {DICT_TYPE} from '@/utils/dict'
import {getOffer,deleteOffer} from '@/api/ecw/offer'
import {getProductAttrList} from '@/api/ecw/productAttr'
import {getProductPrice,getProductPriceList} from '@/api/ecw/productPrice'
import {getCustomerList,getCustomer} from '@/api/ecw/customer'
import {getChannelLists,getChannel} from '@/api/ecw/channel'
import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse'
export default {
name: "detail",
components: {
......@@ -262,9 +266,10 @@
types:'package,bag',
importance:1,
productAttrList:[],
offerId:134,
offerId:0,
//发货/收货人信息
consigneeData:[]
consigneeData:[],
routerList:[]
};
},
created() {
......@@ -273,7 +278,6 @@
this.offerId = this.$route.query.offerId
this.getList();
}
this.getList();
},
methods: {
/** 查询列表 */
......@@ -289,13 +293,16 @@
item.channelData = res.data
})
}
if(item.lineId){
getProductPriceList(item.lineIds).then(res=>{
item.lineData = res.data
})
if(item.lineIds){
let lineIdList = []
if(item.lineIds.indexOf(',')>-1){
lineIdList = item.lineIds.split(',')
}else{
lineIdList.push(item.lineIds)
}
item.lineData = lineIdList
}
})
var num = 0
that.list.offerProdRespVOList.forEach((item)=>{
if(item.channelId){
......@@ -303,11 +310,6 @@
item.channelName = res.data.nameZh
})
}
if(item.lineId){
getProductPrice(item.lineId).then(res=>{
item.lineName = res.data.warehouseLineDO.startTitleZh + ' >> ' + res.data.warehouseLineDO.destTitleZh
})
}
var arr = item.prodAttrIds.split(',')
var prodAttrName = []
arr.forEach((itemValue)=>{
......@@ -322,8 +324,31 @@
that.loading = false;
that.getCnsigneeData()
that.getOpenedRouterList()
});
},
// 获取路线
getOpenedRouterList(){
let params = {}
if(this.list.departureId){
params.startCityId = this.list.departureId
}
if(this.list.objectiveId){
params.destCityId = this.list.objectiveId
}
getOpenedRouterList(params).then(res => this.routerList = res.data)
},
// 根据线路id显示线路名称
getRouterNameById(routerId){
// return routerId => {
let router = this.routerList.find(item => item.id == routerId)
console.log({router})
if(router){
return router.startTitleZh + ' >>>' + router.destTitleZh
}
return '-'
// }
},
// 获取发货/收货人
getCnsigneeData(){
let that = this
......
......@@ -80,15 +80,19 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<template v-if="[1,2].indexOf(scope.row.status) > -1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">详情</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('edit?id=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">编辑</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('createLog?id=' + scope.row.offerId)"
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('logList?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">跟进</el-button>
</template>
<template v-if="scope.row.status == 2">
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">详情</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push(`result?offerId=${scope.row.offerId}&number=${scope.row.number}`)"
v-hasPermi="['ecw:offer:update']">结果</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/offer/special/' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">特价</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
......@@ -97,6 +101,8 @@
<el-button size="mini" type="text" icon="el-icon-edit"
v-hasPermi="['ecw:offer:update']">恢复</el-button>
</template>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">详情</el-button>
<el-button size="mini" type="text" icon="el-icon-delete"
v-hasPermi="['ecw:offer:delete']">删除</el-button>
</template>
......@@ -106,7 +112,6 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
</div>
</template>
......@@ -168,6 +173,8 @@ export default {
estCost: null,
sendstatus: null,
},
};
},
created() {
......
......@@ -46,6 +46,7 @@
<script>
import {getOfferLogPage} from "@/api/ecw/offerLog";
import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer'
export default {
name: "OfferLog",
components: {
......@@ -70,8 +71,8 @@ export default {
created() {
if(this.$route.query.offerId){
this.params.offerId = this.$route.query.offerId
this.relationId = this.$route.query.relationId
this.getList();
this.getRelationID()
}
},
methods: {
......@@ -85,6 +86,12 @@ export default {
this.total = response.data.total;
this.loading = false;
});
},
getRelationID(){
getOffer(this.params.offerId).then(response => {
this.relationId = response.data.consignorId;
})
},
/** 新增按钮操作 */
handleAdd() {
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">申请特价</div>
<!-- 列表 -->
<div class="offer-header">
<span style="font-size: 15px;">订单号:{{ offer.number }}</span>
</div>
<el-table v-loading="loading" :data="offer.offerProdRespVOList">
<el-table-column label="序号" align="center" prop="id" type="index"></el-table-column>
<el-table-column
prop="prodTitleZh"
label="品名">
</el-table-column>
<el-table-column
prop="prodAttrIds"
label="填单货物属性">
</el-table-column>
<el-table-column
prop="address"
label="入库货物属性">
</el-table-column>
<el-table-column
prop="address"
label="最后操作时间">
</el-table-column>
<el-table-column
label="原价">
<template v-slot="{row}">
运费:{{ row.originalSeaFreight }}美元/立方米 清关费:{{ row.originalClearanceFreight }}奈拉/立方米
</template>
</el-table-column>
<el-table-column
prop="address"
label="成本价">
<template v-slot="{row}">
运费:{{ row.seaFreight }}美元/立方米 清关费:{{ row.clearanceFreight }}奈拉/立方米
</template>
</el-table-column>
<el-table-column
prop="address"
label="销售价">
<template v-slot="{row}">
运费:{{ row.seaFreight }}美元/立方米 清关费:{{ row.clearanceFreight }}奈拉/立方米
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<el-button size="mini" type="text" v-hasPermi="['ecw:offer:update']">优惠申请</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:offer:update']">佣金规则</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:offer:update']">管理折扣</el-button>
</el-table-column>
</el-table>
<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>
</div>
</el-card>
</div>
</template>
<script>
import {getOfferLogPage} from "@/api/ecw/offerLog";
import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer'
export default {
name: "OfferSpecial",
components: {
},
props: {
offerId: String
},
data() {
return {
// 遮罩层
loading: true,
list: [],
total:0,
params:{
page:1,
rows:20,
offerId:0,
type:2
},
relationId:0,
creatorName:'test',
offer: {
number: '',
offerProdRespVOList: []
}
};
},
created() {
if(this.offerId){
this.params.offerId = this.offerId
this.getOffer()
}
},
methods: {
getOffer(){
this.loading = true
getOffer(this.offerId).then(response => {
this.loading = false
this.offer = response.data
})
}
}
};
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
}
.offer-header{
padding-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
This diff is collapsed.
......@@ -46,7 +46,7 @@
<dict-tag :type="DICT_TYPE.ZHONG_PAO_TYPE" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="输方式" align="center" prop="transportTypes">
<el-table-column label="输方式" align="center" prop="transportTypes">
<template slot-scope="scope">
<span v-for="item in scope.row.transportTypes.split(',')"><dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="item" />, </span>
</template>
......@@ -69,7 +69,7 @@
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:zhong-pao:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-show="scope.row.departureId !== 0 || scope.row.objectiveIds !== '0'"
v-hasPermi="['ecw:zhong-pao:delete']">删除</el-button>
</template>
</el-table-column>
......@@ -87,7 +87,7 @@
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="输方式" prop="transportTypes">
<el-form-item label="输方式" prop="transportTypes">
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="form.transportTypes" multiple form-type="checkbox" :filter="transportTypesFilter"></dict-selector>
</el-form-item>
<el-form-item label="始发地" prop="departureId">
......@@ -285,6 +285,7 @@ export default {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
this.reset()
});
return;
}
......@@ -293,6 +294,7 @@ export default {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
this.reset()
});
});
},
......
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