Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
d7d431cc
Commit
d7d431cc
authored
Jun 27, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善创建报价单
parent
b43d9cfc
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
177 additions
and
110 deletions
+177
-110
dict.js
src/utils/dict.js
+3
-1
edit.vue
src/views/ecw/offer/edit.vue
+174
-109
No files found.
src/utils/dict.js
View file @
d7d431cc
...
...
@@ -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
'
,
...
...
src/views/ecw/offer/edit.vue
View file @
d7d431cc
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"
8
0px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"
12
0px"
>
<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=
"
tru
e"
></el-option>
<el-option
label=
"无"
:value=
"
fals
e"
></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=
"
20
0px"
fixed=
"right"
>
<el-table-column
label=
"操作"
width=
"
18
0px"
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
:
{
// 获取路线
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment