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

完善创建报价单

parent b43d9cfc
......@@ -82,7 +82,9 @@ export const DICT_TYPE = {
ECW_COOPERATION_TYPE: 'cooperation_type', // 合作类型
ECW_SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type', // 出货报关方式(与订单报关方式相同)
ECW_CUSTOMS_TYPE: 'customs_type', // 订单报关方式(非出货报关),优惠券中的单证报关
ECW_PACKAGE_TYPE: 'packageType',
ECW_PACKAGE_TYPE: 'packageType', // 包装单位
ECW_DOUBLE_CLEAR: 'double_clear', // 是否双清
ECW_TRADE_TYPE: 'trade_type', // 交货放肆
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-card>
<div slot="header" class="card-title">新建报价单</div>
<el-form-item label="所属人" prop="number">
......@@ -107,7 +107,7 @@
<template slot-scope="{row}">
<el-select v-model="row.brand" placeholder="请选择">
<el-option label="有" :value="true"></el-option>
<el-option label="无" :value="true"></el-option>
<el-option label="无" :value="false"></el-option>
</el-select>
</template>
</el-table-column>
......@@ -175,117 +175,140 @@
<el-input v-model="row.type" />
</template>
</el-table-column>
<el-table-column label="操作" width="200px" fixed="right">
<el-table-column label="操作" width="180px" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="delProduct(scope.$index)">删除</el-button>
<el-button size="mini" type="primary" @click="showMorePrice($index)">更多报价</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<!-- <el-form-item label="报价单号" prop="number">
<el-input v-model="form.number" placeholder="请输入报价单号" />
</el-form-item>
<el-form-item label="订单ids" prop="orderIds">
<el-input v-model="form.orderIds" placeholder="请输入订单ids" />
</el-form-item>
<el-form-item label="订单编号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单编号" />
</el-form-item>
<el-form-item label="客户id,发货人" prop="consignorId">
<el-input v-model="form.consignorId" placeholder="请输入客户id,发货人" />
</el-form-item>
<el-form-item label="收货人id" prop="consigneeId">
<el-input v-model="form.consigneeId" placeholder="请输入收货人id" />
</el-form-item>
<el-form-item label="唛头" prop="marks">
<el-input v-model="form.marks" placeholder="请输入唛头" />
</el-form-item>
<el-form-item label="报关类别:我司全代:1,自单代报:2,混合报关:3" prop="customsType">
<el-select v-model="form.customsType" placeholder="请选择报关类别:我司全代:1,自单代报:2,混合报关:3">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="departureId">
<el-input v-model="form.departureId" placeholder="请输入始发地" />
</el-form-item>
<el-form-item label="始发地信息" prop="departure">
<el-input v-model="form.departure" placeholder="请输入始发地信息" />
</el-form-item>
<el-form-item label="目的地" prop="objectiveId">
<el-input v-model="form.objectiveId" placeholder="请输入目的地" />
</el-form-item>
<el-form-item label="目的地信息" prop="objective">
<el-input v-model="form.objective" placeholder="请输入目的地信息" />
</el-form-item>
<el-form-item label="预计结束时间" prop="stopTime">
<el-date-picker clearable v-model="form.stopTime" type="date" value-format="yyyy-MM-dd" placeholder="选择预计结束时间" />
</el-form-item>
<el-form-item label="控货" prop="control">
<el-radio-group v-model="form.control">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="竞争对手" prop="competitor">
<el-input v-model="form.competitor" placeholder="请输入竞争对手" />
</el-form-item>
<el-form-item label="重要程度" prop="importance">
<el-input v-model="form.importance" placeholder="请输入重要程度" />
<el-card class="mt-10">
<div class="card-title" slot="header">费用小计</div>
<el-descriptions :column="4" border>
<el-descriptions-item label="总件数">
</el-descriptions-item>
<el-descriptions-item label="总体积">
</el-descriptions-item>
<el-descriptions-item label="总重量">
</el-descriptions-item>
<el-descriptions-item label="总货值">
</el-descriptions-item>
<el-descriptions-item label="保价费">
</el-descriptions-item>
<el-descriptions-item label="总运费">
</el-descriptions-item>
<el-descriptions-item label="总清关费">
</el-descriptions-item>
<el-descriptions-item label="预计费用">
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10" v-for="(item, index) in transportList" :key="index">
<div class="card-title" slot="header">空运路线</div>
<el-form-item label="空运线路1">
<el-col :span="12">
义务 > Alaba
</el-col>
<el-col :span="12">
出货渠道1: 你猜
</el-col>
</el-form-item>
<el-form-item label="价格有效期开始" prop="startTime">
<el-date-picker clearable v-model="form.startTime" type="date" value-format="yyyy-MM-dd" placeholder="选择价格有效期开始" />
<el-form-item label="空运线路1">
<el-col :span="12">
义务 > Alaba
</el-col>
<el-col :span="12">
出货渠道1: 你猜
</el-col>
</el-form-item>
<el-form-item label="价格有效期结束" prop="endTime">
<el-date-picker clearable v-model="form.endTime" type="date" value-format="yyyy-MM-dd" placeholder="选择价格有效期结束" />
<el-form-item label="是否双清">
<dict-selector v-model="item.doubleClear" form-type="radio" :type="DICT_TYPE.ECW_DOUBLE_CLEAR" />
</el-form-item>
<el-form-item label="交货方式:FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)" prop="tradeType">
<el-select v-model="form.tradeType" placeholder="请选择交货方式:FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)">
<el-option label="请选择字典生成" value="" />
<el-form-item label="航空公司">
<el-select placeholder="" v-model="item.airlineCompany">
</el-select>
</el-form-item>
<el-form-item label="交货港口、地点" prop="tradeAdress">
<el-input v-model="form.tradeAdress" placeholder="请输入交货港口、地点" />
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="状态:取消报价:0,特价审批中:1,需求确认:2跟进中:3,赢单:4,输单:5,报价完成:6" prop="status">
<el-radio-group v-model="form.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
<el-form-item label="清关证书">
<dict-selector v-model="item.customsClearCert" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
</el-form-item>
<el-form-item label="取消报价前状态" prop="oldStatus">
<el-radio-group v-model="form.oldStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
<el-form-item label="清关证书备注" >
<el-input v-model="item.remarks" ></el-input>
</el-form-item>
<el-form-item label="报价关联客户,发货人:1,收货人:2" prop="relation">
<el-input v-model="form.relation" placeholder="请输入报价关联客户,发货人:1,收货人:2" />
<el-form-item label="是否拆包">
<dict-selector v-model="item.isUnpack" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
</el-form-item>
<el-form-item label="报价关联客户id" prop="relationId">
<el-input v-model="form.relationId" placeholder="请输入报价关联客户id" />
<el-form-item label="单票立刻转运">
<dict-selector v-model="item.isSingleTicketTransport" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
<span style="margin-left:10px">注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”</span>
</el-form-item>
<el-form-item label="佣金类型:0 无 1 明佣 2 暗佣 3 明+暗 " prop="commissionType">
<el-select v-model="form.commissionType" placeholder="请选择佣金类型:0 无 1 明佣 2 暗佣 3 明+暗 ">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="入仓类型类型" prop="warehousingType">
<el-select v-model="form.warehousingType" placeholder="请选择入仓类型类型">
<el-option label="请选择字典生成" value="" />
</el-select>
<el-form-item label="包装类型">
<dict-selector v-model="item.packageType" form-type="checkbox" :type="DICT_TYPE.ECW_PACKAGE_TYPE" muiltple />
</el-form-item>
<el-form-item label="原因" prop="reason">
<el-input v-model="form.reason" placeholder="请输入原因" />
<el-form-item label="包装要求备注">
<el-input v-model="item.remarks" ></el-input>
</el-form-item>
<el-form-item label="预计费用清单" prop="estCost">
<el-input v-model="form.estCost" placeholder="请输入预计费用清单" />
</el-form-item>
<el-form-item label="站内信状态,0未发送,1已发送" prop="sendstatus">
<el-radio-group v-model="form.sendstatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item> -->
</el-card>
<el-card class="mt-10">
<div class="card-title" slot="header">通用</div>
<el-descriptions :column="2" border>
<el-descriptions-item label="唛头">
<el-input v-model="form.marks" placeholder=""></el-input>
</el-descriptions-item>
<el-descriptions-item label="报关方式">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" form-type="radio" />
</el-descriptions-item>
<el-descriptions-item label="预计结束时间">
<el-date-picker v-model="form.stopTime" placeholder=""></el-date-picker>
</el-descriptions-item>
<el-descriptions-item label="是否控货">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" formatter="bool" v-model="form.control" form-type="radio" />
</el-descriptions-item>
<el-descriptions-item label="竞争对手">
<el-input v-model="form.competitor" placeholder=""></el-input>
</el-descriptions-item>
<el-descriptions-item label="重要程度">
<el-rate v-model="form.importance"></el-rate>
</el-descriptions-item>
<el-descriptions-item label="价格有效时间">
<el-date-picker v-model="form.startTime" placeholder=""></el-date-picker>
-
<el-date-picker v-model="form.endTime" placeholder=""></el-date-picker>
</el-descriptions-item>
<el-descriptions-item label="交货方式">
<!--
接口要求数据为整数,所以增加trade_type类型的字典,用1234代码以下不同类型
FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)
-->
<dict-selector :type="DICT_TYPE.ECW_TRADE_TYPE" fomtter="number" v-model="form.tradeType" />
<el-input v-model="form.tradeAdress" placeholder=""></el-input>
</el-descriptions-item>
<el-descriptions-item label="总运费" :span="2">
</el-descriptions-item>
<el-descriptions-item label="总清关费" :span="2">
</el-descriptions-item>
<el-descriptions-item label="总价格" :span="2">
</el-descriptions-item>
<el-descriptions-item label="佣金类型" :span="2">
<dict-selector :type="DICT_TYPE.COMMISSION_TYPE" form-type="radio" fomtter="number" v-model="form.commissionType" defaultable />
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-form-item label="">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="$router.back()">取 消</el-button>
......@@ -323,8 +346,10 @@ export default {
channelList: [], // 出货取到
routerList: [],
tradeCityList: [],
consignor: {},
consignee:{},
consignor: {}, // 发货人
consignee:{}, // 收货人
transportList: [{}],
// 表单参数
form: {},
// 表单校验
......@@ -345,7 +370,8 @@ export default {
},
getDictData(){
return (type, value) => getDictData(type, value) || {}
}
},
},
watch:{
// 始发地
......@@ -355,12 +381,51 @@ export default {
// 目的地
'form.objectiveId'(){
this.getOpenedRouterList()
},
// 产品有变动则需要更新运输方式
productList(val){
let transports = {}
this.productList.forEach(item => {
/* if(!transports[item.offerTransportId]){
transports[item.offerTransportId] = {
offerTransportId: item.offerTransportId,
routers: {}
}
}
if(transports[item.offerTransportId].routers[item.routerId]){
// transports[item.offerTransportId].routers[item.routerId] = item.
} */
})
},
// 所有选择的路线
selectedRouterList(){
let routes = []
this.productList.forEach(item => {
routes.push({
router: item.router,
channel: item.channel
})
})
return routes
},
// 被启用的货运方式
enbedTransports(){
}
},
created() {
getProductAttrList().then(res => this.productAttrList = res.data)
getChannelList().then(res => this.channelList = res.data)
getTradeCityList().then(res => this.tradeCityList = res.data)
this.getDIctDatas(this.DICT_TYPE.ECW_TRANSPORT_TYPE).forEach(res => {
this.transportList.push({
transportId: res.value,
_disabled: true // 默认禁用
})
})
},
methods: {
// 获取路线
......
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