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
......
......@@ -6,11 +6,11 @@
<el-form-item label="报价单号" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入报价单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
......@@ -58,7 +58,7 @@
暂无
</template>
</el-table-column>
<el-table-column label="预计销售额" align="center" prop="estCost">
<template slot-scope="{row}">
<div class="" v-if="row.estCostVO.clearanceNGN || row.estCostVO.clearanceRMB || row.estCostVO.clearanceUSD">
......@@ -73,31 +73,37 @@
<span v-if="row.estCostVO.seaRMB">{{row.estCostVO.seaRMB}}</span>
<span v-if="row.estCostVO.seaUSD">{{row.estCostVO.seaUSD}}$</span>
</div>
</template>
</el-table-column>
<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"
<el-button size="mini" type="text" icon="el-icon-edit"
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"
v-hasPermi="['ecw:offer:update']">恢复</el-button>
</template>
<el-button size="mini" type="text" icon="el-icon-delete"
<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>
</el-table-column>
......@@ -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() {
......@@ -190,7 +197,7 @@ export default {
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
......@@ -213,7 +220,7 @@ export default {
handleUpdate(row) {
return this.$router.push('edit?id=' + row.offerId)
},
/** 删除按钮操作 */
handleDelete(row) {
const offerId = row.offerId;
......@@ -245,4 +252,4 @@ export default {
}
}
};
</script>
\ No newline at end of file
</script>
......@@ -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>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" >
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="产品备案属性" prop="productRecord">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="控货状态" prop="cargoControlStatus">
<dict-selector :type="DICT_TYPE.CONTROL_GOODS_STATUS" v-model="queryParams.cargoControlStatus" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="报关类别" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:order:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:order:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键ID" align="center" prop="orderId" />
<el-table-column label="订单编号" align="center" prop="orderNo" />
<el-table-column label="父编号" align="center" prop="parentNumber" />
<el-table-column label="下单会员" align="center" prop="userId" />
<el-table-column label="唛头" align="center" prop="marks" />
<el-table-column label="产品备案属性" align="center" prop="productRecord">
<template slot-scope="scope">
<span>{{ scope.row.productRecord | recordFilter(productRecordList) }}</span>
</template>
</el-table-column>
<el-table-column label="控货状态" align="center" prop="cargoControlStatus">
<template slot-scope="scope">
<span>{{ scope.row.cargoControlStatus | cargoControlStatusFilter(cargoControlStatusList) }}</span>
</template>
</el-table-column>
<el-table-column label="报关类别" align="center" prop="customsType">
<template slot-scope="scope">
<span>{{ scope.row.customsType | customsTypeFilter(customsTypeList) }}</span>
</template>
</el-table-column>
<el-table-column label="入仓箱数" align="center" prop="sumNum" />
<el-table-column label="入仓方数" align="center" prop="sumVolume" />
<el-table-column label="入仓重量" align="center" prop="sumWeight" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:order:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="唛头" prop="marks">
<el-input v-model="form.marks" placeholder="请输入唛头" />
</el-form-item>
<el-form-item label="产品备案属性" prop="productRecord">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="form.productRecord" clearable />
</el-form-item>
<el-form-item label="控货状态" prop="cargoControlStatus">
<dict-selector :type="DICT_TYPE.CONTROL_GOODS_STATUS" v-model="form.cargoControlStatus" clearable />
</el-form-item>
<el-form-item label="报关类别" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" clearable />
</el-form-item>
<el-form-item label="入仓箱数" prop="sumNum">
<el-input v-model="form.sumNum" placeholder="请输入入仓箱数" />
</el-form-item>
<el-form-item label="入仓方数" prop="sumVolume">
<el-input v-model="form.sumVolume" placeholder="请输入入仓方数" />
</el-form-item>
<el-form-item label="入仓重量" prop="sumWeight">
<el-input v-model="form.sumWeight" placeholder="请输入入仓重量" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createOrder, updateOrder, deleteOrder, getOrder, getOrderPage, exportOrderExcel } from "@/api/ecw/order";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
export default {
name: "Order",
components: {
},
filters:{
cargoControlStatusFilter(e,cargoControlStatusList) {
if(e) return cargoControlStatusList.find(item=>item.value == e).label
},
recordFilter(e,productRecordList) {
if(e) return productRecordList.find(item=>item.value == e).label
},
customsTypeFilter(e,customsTypeList) {
if(e) return customsTypeList.find(item=>item.value == e).label
}
},
data() {
return {
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 订单列表
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dateRangeRucangtime: [],
dateRangeDaogangtime: [],
dateRangeQingguantime: [],
dateRangePreLoadTime: [],
dateRangeLoadTime: [],
dateRangeUnloadTime: [],
dateRangeTakeTime: [],
dateRangeSplitTime: [],
dateRangeCreateTime: [],
// 查询参数
queryParams: {
pageNo: 1,
pageSize: 10,
orderNo: null,
number: null,
tidanNo: null,
parentNumber: null,
oldNumbers: null,
transportId: null,
lineId: null,
channelId: null,
orderType: null,
userId: null,
marks: null,
productRecord: null,
isCargoControl: null,
cargoControlStatus: null,
customsType: null,
upFile: null,
payType: null,
status: null,
isDel: null,
collectionProxy: null,
isCollection: null,
zhongPao: null,
wVolume: null,
vWeight: null,
weightUnit: null,
warehouseType: null,
countryAbbreviation: null,
countryCode: null,
sendsms: null,
commissionId: null,
documentsFile: null,
remarks: null,
isTodoOrder: null,
advanceType: null,
transFee: null,
transCurrency: null,
plateFee: null,
boxFee: null,
todoDetail: null,
advanceWho: null,
toDepartureId: null,
sumNum: null,
sumVolume: null,
sumWeight: null,
weightRatio: null,
customerId: null,
wareId: null,
areaId: null,
locationId: null,
locationName: null,
sumValue: null,
valuationFee: null,
cost: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
orderNo: [{ required: true, message: "订单编号不能为空", trigger: "blur" }],
sumVolume: [{ required: true, message: "入仓方数不能为空", trigger: "blur" }],
sumWeight: [{ required: true, message: "入仓重量不能为空", trigger: "blur" }],
weightRatio: [{ required: true, message: "重货比不能为空", trigger: "blur" }],
},
productRecordList: getDictDatas(DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE),
cargoControlStatusList: getDictDatas(DICT_TYPE.CONTROL_GOODS_STATUS),
customsTypeList: getDictDatas(DICT_TYPE.ECW_CUSTOMS_TYPE)
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeRucangtime, 'rucangtime');
this.addBeginAndEndTime(params, this.dateRangeDaogangtime, 'daogangtime');
this.addBeginAndEndTime(params, this.dateRangeQingguantime, 'qingguantime');
this.addBeginAndEndTime(params, this.dateRangePreLoadTime, 'preLoadTime');
this.addBeginAndEndTime(params, this.dateRangeLoadTime, 'loadTime');
this.addBeginAndEndTime(params, this.dateRangeUnloadTime, 'unloadTime');
this.addBeginAndEndTime(params, this.dateRangeTakeTime, 'takeTime');
this.addBeginAndEndTime(params, this.dateRangeSplitTime, 'splitTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getOrderPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
orderId: undefined,
orderNo: undefined,
number: undefined,
tidanNo: undefined,
parentNumber: undefined,
oldNumbers: undefined,
transportId: undefined,
lineId: undefined,
channelId: undefined,
orderType: undefined,
userId: undefined,
marks: undefined,
productRecord: undefined,
isCargoControl: undefined,
cargoControlStatus: undefined,
customsType: undefined,
upFile: undefined,
payType: undefined,
status: undefined,
isDel: undefined,
collectionProxy: undefined,
isCollection: undefined,
zhongPao: undefined,
wVolume: undefined,
vWeight: undefined,
weightUnit: undefined,
warehouseType: undefined,
countryAbbreviation: undefined,
countryCode: undefined,
sendsms: undefined,
commissionId: undefined,
documentsFile: undefined,
remarks: undefined,
isTodoOrder: undefined,
advanceType: undefined,
transFee: undefined,
transCurrency: undefined,
plateFee: undefined,
boxFee: undefined,
todoDetail: undefined,
advanceWho: undefined,
toDepartureId: undefined,
sumNum: undefined,
sumVolume: undefined,
sumWeight: undefined,
weightRatio: undefined,
customerId: undefined,
wareId: undefined,
areaId: undefined,
locationId: undefined,
locationName: undefined,
sumValue: undefined,
valuationFee: undefined,
rucangtime: undefined,
daogangtime: undefined,
cost: undefined,
qingguantime: undefined,
preLoadTime: undefined,
loadTime: undefined,
unloadTime: undefined,
takeTime: undefined,
splitTime: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeRucangtime = [];
this.dateRangeDaogangtime = [];
this.dateRangeQingguantime = [];
this.dateRangePreLoadTime = [];
this.dateRangeLoadTime = [];
this.dateRangeUnloadTime = [];
this.dateRangeTakeTime = [];
this.dateRangeSplitTime = [];
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加订单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const orderId = row.orderId;
getOrder(orderId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改订单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
// 修改的提交
if (this.form.orderId != null) {
updateOrder(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
// 添加的提交
createOrder(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const orderId = row.orderId;
this.$modal.confirm('是否确认删除订单编号为"' + orderId + '"的数据项?').then(function() {
return deleteOrder(orderId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeRucangtime, 'rucangtime');
this.addBeginAndEndTime(params, this.dateRangeDaogangtime, 'daogangtime');
this.addBeginAndEndTime(params, this.dateRangeQingguantime, 'qingguantime');
this.addBeginAndEndTime(params, this.dateRangePreLoadTime, 'preLoadTime');
this.addBeginAndEndTime(params, this.dateRangeLoadTime, 'loadTime');
this.addBeginAndEndTime(params, this.dateRangeUnloadTime, 'unloadTime');
this.addBeginAndEndTime(params, this.dateRangeTakeTime, 'takeTime');
this.addBeginAndEndTime(params, this.dateRangeSplitTime, 'splitTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有订单数据项?').then(() => {
this.exportLoading = true;
return exportOrderExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
......@@ -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