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
c050efab
Commit
c050efab
authored
Feb 13, 2025
by
honghy
Committed by
wux
Feb 27, 2025
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
需求95 报价单页面和列表调整
parent
2e69ea5e
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
507 additions
and
172 deletions
+507
-172
offer.js
src/api/ecw/offer.js
+9
-0
en_US.json
src/i18n/languages/en_US.json
+6
-2
dict.js
src/utils/dict.js
+43
-29
detail.vue
src/views/ecw/offer/detail.vue
+43
-7
edit.vue
src/views/ecw/offer/edit.vue
+216
-75
index.vue
src/views/ecw/offer/index.vue
+181
-55
result.vue
src/views/ecw/offer/result.vue
+9
-4
No files found.
src/api/ecw/offer.js
View file @
c050efab
...
...
@@ -43,6 +43,15 @@ export function getOfferPage(query) {
})
}
// 汇总
export
function
statistics
(
query
)
{
return
request
({
url
:
"
/ecw/offer/statistics
"
,
method
:
"
get
"
,
params
:
query
})
}
// 导出报价单管理 Excel
export
function
exportOfferExcel
(
query
)
{
return
request
({
...
...
src/i18n/languages/en_US.json
View file @
c050efab
...
...
@@ -4941,6 +4941,10 @@
"标题(英文)"
:
"Title (English)"
,
"标题(法文)"
:
"Title (French)"
,
"是否确认删除广告设置编号为'{0}'的数据项?"
:
"Are you sure you want to delete the advertisement setting with ID '{0}'?"
,
"渠道已关闭,禁止下单"
:
"The channel has been closed and orders are prohibited"
"渠道已关闭,禁止下单"
:
"The channel has been closed and orders are prohibited"
,
"询盘来源"
:
"Inquiry Source"
,
"货物状态"
:
"Goods Status"
,
"厂家"
:
"Manufacturer"
,
"厂家电话"
:
"Manufacturer Phone"
,
"预计发货时间"
:
"Estimated Delivery Time"
}
src/utils/dict.js
View file @
c050efab
...
...
@@ -3,8 +3,8 @@
*
* 数据字典工具类
*/
import
store
from
"
@/store
"
;
import
i18n
from
"
@/i18n
"
;
import
store
from
"
@/store
"
import
i18n
from
"
@/i18n
"
export
const
DICT_TYPE
=
{
USER_TYPE
:
"
user_type
"
,
...
...
@@ -27,9 +27,9 @@ export const DICT_TYPE = {
SYSTEM_SMS_TEMPLATE_TYPE
:
"
system_sms_template_type
"
,
SYSTEM_SMS_SEND_STATUS
:
"
system_sms_send_status
"
,
SYSTEM_SMS_RECEIVE_STATUS
:
"
system_sms_receive_status
"
,
SYSTEM_SMS_NODE_NODE
:
'
system_sms_node_node
'
,
//节点
SYSTEM_SMS_TEMPLATE_MESSAGE_TYPE
:
'
system_sms_template_message_type
'
,
//发送类型
SYSTEM_SMS_TEMPLATE_LANGUAGE
:
'
system_sms_template_language
'
,
//节点
SYSTEM_SMS_NODE_NODE
:
"
system_sms_node_node
"
,
//节点
SYSTEM_SMS_TEMPLATE_MESSAGE_TYPE
:
"
system_sms_template_message_type
"
,
//发送类型
SYSTEM_SMS_TEMPLATE_LANGUAGE
:
"
system_sms_template_language
"
,
//节点
SYSTEM_MAIL_SEND_STATUS
:
"
mail_send_status
"
,
SYSTEM_ERROR_CODE_TYPE
:
"
system_error_code_type
"
,
INTERNAL_MESSAGE_TYPE
:
"
internal_message_type
"
,
...
...
@@ -158,25 +158,29 @@ export const DICT_TYPE = {
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
'
,
CUSTOMER_ESOURCE_TYPE
:
'
customer_resource_type
'
,
//客户资源类型
CUSTOMER_OPERATE_TYPE
:
'
customer_operate_type
'
,
CUSTOMER_CREDIT_RULE_TYPE
:
"
customer_credit_rule_type
"
,
CUSTOMER_LEVEL_RULE_TYPE
:
"
customer_level_rule_type
"
,
CUSTOMER_ESOURCE_TYPE
:
"
customer_resource_type
"
,
//客户资源类型
CUSTOMER_OPERATE_TYPE
:
"
customer_operate_type
"
,
CUSTOMER_GET_METHOD
:
'
customer_get_method
'
,
//获取方式
CUSTOMER_FROM
:
'
customer_from
'
,
//创建入口
CUSTOMER_ROLE
:
'
customer_role
'
,
//角色
PICKUP_POINTS
:
'
pickup_points
'
,
//常用提货网点
CUSTOMER_FOLLOWUP_TYPE
:
'
customer_followup_type
'
,
//跟进类型
CUSTOMER_FOLLOWUP_METHOD
:
'
customer_followup_method
'
,
//跟进方式
CUSTOMER_FOLLOWUP_SALE_STAGE
:
'
sale_stage
'
,
//销售阶段
CUSTOMER_FOLLOWUP_RESULT_TYPE
:
'
customer_followup_result_type
'
,
//跟进结果
CUSTOMER_FOLLOWUP_STATUS
:
'
customer_followup_status
'
,
//跟进状态
CUSTOMER_GET_METHOD
:
"
customer_get_method
"
,
//获取方式
CUSTOMER_FROM
:
"
customer_from
"
,
//创建入口
CUSTOMER_ROLE
:
"
customer_role
"
,
//角色
PICKUP_POINTS
:
"
pickup_points
"
,
//常用提货网点
CUSTOMER_FOLLOWUP_TYPE
:
"
customer_followup_type
"
,
//跟进类型
CUSTOMER_FOLLOWUP_METHOD
:
"
customer_followup_method
"
,
//跟进方式
CUSTOMER_FOLLOWUP_SALE_STAGE
:
"
sale_stage
"
,
//销售阶段
ECW_OFFER_CUSTOMER_STATUS
:
"
ecw_offer_customer_status
"
,
//客户状态
ECW_OFFER_CARGO_STATUS
:
"
ecw_offer_cargo_status
"
,
//货物状态
ECW_OFFER_INQUIRY_SOURCE
:
"
ecw_offer_inquiry_source
"
,
//询盘来源
ECW_OFFER_REASON_DICT
:
"
ecw_offer_reason_dict
"
,
//输单原因
CUSTOMER_FOLLOWUP_RESULT_TYPE
:
"
customer_followup_result_type
"
,
//跟进结果
CUSTOMER_FOLLOWUP_STATUS
:
"
customer_followup_status
"
,
//跟进状态
CUSTOMER_QUERY_NUMBER_FIELD
:
"
customer_query_number_field
"
,
//客户查询数字字段
// order
ORDER_TYPE
:
"
order_type
"
,
// 订单类型
PRODUCT_RECORD_ATTRIBUTE
:
"
product_record_attribute
"
,
//产品备案属性
PROD_QUERY_TITLE_ZH_FIELD
:
'
prod_query_title_zh_field
'
,
// 商品列表商品中文名称查询类型
PROD_QUERY_TITLE_ZH_FIELD
:
"
prod_query_title_zh_field
"
,
// 商品列表商品中文名称查询类型
CONTROL_GOODS_STATUS
:
"
control_goods_status
"
,
//控货状态
DISBURSEMENT_TYPE
:
"
disbursement_type
"
,
//垫付类型
DRAWEE
:
"
drawee
"
,
// 付款人
...
...
@@ -280,7 +284,17 @@ export const DICT_TYPE = {
MEMBERSHIP_LEVELS
:
"
membership_levels
"
,
//会员等级
ENABLE_STATUS
:
"
enable_status
"
,
//会员等级规则开启状态
MEMBER_USER_OPERATE_LOG
:
"
member_user_operate_log
"
,
//会员等级操作日志
};
INVOICE_DATA_STATUS
:
"
invoice_data_status
"
,
// 开票资料状态
INVOICING_STATUS
:
"
invoicing_status
"
,
//开票状态
RECEIPT_DETAIL_STATUS
:
"
receipt_detail_status
"
,
//明细状态
INVOICEING_LINK
:
"
invoicing_link
"
,
//开票环节
RECEIPT_GENERATE_PATH
:
"
receipt_generate_path
"
,
//收款单生成路径
RECEIPT_LINK
:
"
receipt_link
"
,
//应收款日志环节
ECW_INCOME_RELATION_SYMBOL
:
"
income_relation_symbol
"
,
//银行收支明细查询关系符号
LADING_BILL_STATUS_DATA
:
"
lading_Bill_Status_Data
"
,
//提单制作
ATTRIBUTION_OF_INCOME
:
"
attribution_of_income
"
,
//收入归属
PICKUP_RATE_COMPARISON_SYMBOLS
:
"
pickup_rate_comparison_symbols
"
//提货率比较符号
}
/**
* 获取 dictType 对应的数据字典数组
...
...
@@ -313,7 +327,7 @@ export function getDictDatas2(dictType, values) {
values
=
[
this
.
value
];
}
// 获得字典数据
const
results
=
[]
;
const
results
=
[]
for
(
const
value
of
values
)
{
const
dict
=
getDictData
(
dictType
,
value
);
if
(
dict
)
{
...
...
@@ -322,28 +336,28 @@ export function getDictDatas2(dictType, values) {
}
// debugger
// console.log(results);
return
results
;
return
results
}
export
function
getDictData
(
dictType
,
value
)
{
// 获取 dictType 对应的数据字典数组
const
dictDatas
=
getDictDatas
(
dictType
)
;
const
dictDatas
=
getDictDatas
(
dictType
)
if
(
!
dictDatas
||
dictDatas
.
length
===
0
)
{
return
""
;
return
""
}
// 获取 value 对应的展示名
value
=
value
+
""
;
// 强制转换成字符串,因为 DictData 小类数值,是字符串
value
=
value
+
""
// 强制转换成字符串,因为 DictData 小类数值,是字符串
for
(
const
dictData
of
dictDatas
)
{
if
(
dictData
.
value
===
value
)
{
return
dictData
;
return
dictData
}
}
return
undefined
;
return
undefined
}
export
function
getDictDataLabel
(
dictType
,
value
)
{
const
dict
=
getDictData
(
dictType
,
value
)
;
return
dict
?
i18n
.
l
(
dict
,
"
label
"
)
:
""
;
const
dict
=
getDictData
(
dictType
,
value
)
return
dict
?
i18n
.
l
(
dict
,
"
label
"
)
:
""
}
export
class
getDictDataL
{}
src/views/ecw/offer/detail.vue
View file @
c050efab
...
...
@@ -38,7 +38,20 @@
{{
consignorData
.
socialNumber
?
"
(
"
+
consignorData
.
socialNumber
+
"
)
"
:
""
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
border
class=
"card"
v-if=
"list.consignorId"
:labelStyle=
"
{ width: '110px' }" style="margin-top: 0">
<el-descriptions-item
:label=
"$t('销售阶段') + ':'"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE"
:value=
"list.saleStage"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户状态') + ':'"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS"
:value=
"list.customerStatus"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('货物状态') + ':'"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_CARGO_STATUS"
:value=
"list.cargoStatus"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('询盘来源') + ':'"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE"
:value=
"list.inquirySource"
/>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"3"
border
class=
"card"
v-if=
"list.consigneeId"
:labelStyle=
"
{ width: '110px' }">
<el-descriptions-item
:label=
"$t('收货人') + ':'"
>
{{
consigneeData
.
contactsName
||
$t
(
"
无
"
)
}}
...
...
@@ -124,6 +137,26 @@
<
template
>
{{
$t
(
"
全包价
"
)
}}
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
</template>
<
template
v-else-if=
"!row.oneSeaFreight && !row.oneClearanceFreight"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<
template
v-else-if=
"row.specialPriceType"
>
<div
style=
"color: red;font-weight: 700;"
>
{{
$t
(
"
原价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
originalClearanceFreight
}}
{{
currentcyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
<div
style=
"color: red;font-weight: 700;"
>
{{
$t
(
"
特价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currentcyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
</
template
>
<
template
v-else
>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div
v-if=
"row.oneClearanceFreight"
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currentcyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
...
...
@@ -159,12 +192,12 @@
</
template
>
<
template
v-if=
"otherFeeList.length == 0"
>
0
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('原价')"
:span=
"2"
>
<
template
v-if=
"originalFeeList.length > 0"
v-for=
"item in originalFeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currentcyMap
[
item
.
currencyId
]
}}
</div
>
</
template
>
<
template
v-if=
"originalFeeList.length == 0"
>
0
</
template
>
</el-descriptions-item
>
<!-- <el-descriptions-item :label="$t('原价')" :span="2">--
>
<!-- <template v-if="originalFeeList.length > 0" v-for="item in originalFeeList">--
>
<!-- <div :key="item.currencyId">{{ item.amount || 0 }}{{ currentcyMap[item.currencyId] }}</div>--
>
<!-- </template>--
>
<!-- <template v-if="originalFeeList.length == 0"> 0 </template>--
>
<!-- </el-descriptions-item>--
>
</el-descriptions>
<div
class=
"card-title"
style=
"padding: 20px 0"
>
{{ $t("优惠信息") }}
</div>
...
...
@@ -225,6 +258,9 @@
<el-descriptions-item
:label=
"$t('预计结束时间')"
>
{{ list.stopTime || "/" }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('预计发货时间')"
>
{{ list.estimatedShippingTime || "/" }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('控货')"
>
{{ list.control ? $t("是") : $t("否") }}
</el-descriptions-item>
...
...
src/views/ecw/offer/edit.vue
View file @
c050efab
...
...
@@ -5,6 +5,12 @@
<div
slot=
"header"
class=
"card-title"
>
{{
$route
.
path
.
indexOf
(
"
create
"
)
>
-
1
?
$t
(
"
新建报价单
"
)
:
$t
(
"
编辑报价单
"
)
}}
</div>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"saleStage"
>
<el-select
v-model=
"form.saleStage"
clearable
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<br>
<el-form-item
:label=
"$t('所属人')"
prop=
"relation"
>
<!--
<el-radio-group
v-model=
"form.relation"
>
-->
<el-radio-group
v-model=
"form.relation"
id=
"relation"
@
change=
"handleChangeRelation"
>
...
...
@@ -67,6 +73,22 @@
</el-form-item>
</div>
<el-form-item
:label=
"$t('客户状态')"
prop=
"customerStatus"
>
<el-select
v-model=
"form.customerStatus"
clearable
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('货物状态')"
prop=
"cargoStatus"
>
<el-select
v-model=
"form.cargoStatus"
clearable
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.ECW_OFFER_CARGO_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('询盘来源')"
prop=
"inquirySource"
>
<el-select
v-model=
"form.inquirySource"
clearable
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<!--
<el-descriptions
:column=
"3"
border
>
<el-descriptions-item
:label=
"$t('*发货人')"
:labelStyle=
"labelStyle"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"consignorId"
required
:error=
"$t('发货人不能为空')"
>
...
...
@@ -153,7 +175,6 @@
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"card-title"
>
<div
class=
"card-name"
>
{{ $t("商品") }}
</div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"addProduct()"
:disabled=
"!canAddProduct"
></el-button>
</div>
<el-table
:data=
"form.prodCreateReqVOList"
border
class=
"product-list"
>
<el-table-column
:label=
"$t('序号')"
width=
"60px"
fixed
>
...
...
@@ -185,7 +206,7 @@
</
template
>
</el-table-column>
<el-table-column
width=
"100px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
品牌
"
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
品牌
"
)
}}
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
label=
""
...
...
@@ -203,13 +224,13 @@
</el-table-column>
<el-table-column
:label=
"$t('件数')"
width=
"90px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
件数
"
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
件数
"
)
}}
</
template
>
<
template
slot-scope=
"{ row }"
>
<el-input
v-model.number=
"row.num"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装单位')"
width=
"100px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
包装单位
"
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
"
包装单位
"
)
}}
</
template
>
<
template
slot-scope=
"{ row }"
>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</
template
>
...
...
@@ -219,14 +240,38 @@
<el-input
v-model=
"row.quantity"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('总体积') + '(m³)'"
width=
"100px"
>
<
template
slot-scope=
"{ row }"
>
<el-input
v-model=
"row.volume"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
<el-table-column
width=
"100px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
总体积
'
)
+
'
(m³)
'
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
style=
"margin-bottom: 0;"
label=
""
:prop=
"`prodCreateReqVOList.$
{scope.$index}.volume`"
:rules="{
required: true,
message: $t('不能为空'),
trigger: 'blur'
}"
>
<el-input
v-model=
"scope.row.volume"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('总重量') + '(kg)'"
width=
"100px"
>
<
template
slot-scope=
"{ row }"
>
<el-input
v-model=
"row.weight"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
总重量
'
)
+
'
(kg)
'
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
style=
"margin-bottom: 0;"
label=
""
:prop=
"`prodCreateReqVOList.$
{scope.$index}.weight`"
:rules="{
required: true,
message: $t('不能为空'),
trigger: 'blur'
}"
>
<el-input
v-model=
"scope.row.weight"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('总货值') + '(RMB)'"
width=
"120px"
>
...
...
@@ -261,6 +306,30 @@
</
template
>
</template>
<
template
v-else-if=
"!row.fee || (!row.fee.oneFreight && !row.fee.oneClearanceFee)"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<
template
v-else-if=
"(row.fee.oneClearanceFee!=row.fee.groupDto.orgClearanceFeePrice)&&row.fee.specialPriceType"
>
<div
style=
"color: red;font-weight: 700;"
>
{{
$t
(
"
原价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
fee
.
groupDto
.
orgClearanceFeePrice
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
fee
.
groupDto
.
orgFreightPrice
}}
{{
currencyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFeeVolume
]
}}
</div>
<div
style=
"color: red;font-weight: 700;"
>
{{
$t
(
"
特价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
fee
.
oneFreight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
fee
.
oneClearanceFee
}}
{{
currencyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFeeVolume
]
}}
</div>
</
template
>
<
template
v-else-if=
"row.fee"
>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
fee
.
oneFreight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
...
...
@@ -297,22 +366,33 @@
</
template
>
</el-table-column>
</el-table>
<div
class=
"card-title"
>
<div
class=
"card-name"
>
<div
class=
"card-title"
style=
"float: left"
>
{{ $t("合计") }}
</div>
<div
class=
"card-title"
style=
"float: left;margin-left: 470px;"
>
{{ sum.totalNum.toFixed() || 0 }}
</div>
<div
class=
"card-title"
style=
"float: left;margin-left: 700px;position: absolute;"
>
{{ sum.totalQuatity.toFixed() || 0 }}
</div>
<div
class=
"card-title"
style=
"float: left;margin-left: 780px;position: absolute;"
>
{{ sum.totalVolume.toFixed() || 0 }}
</div>
<div
class=
"card-title"
style=
"float: left;margin-left: 870px;position: absolute;"
>
{{ sum.totalWeight.toFixed() || 0 }}
</div>
<div
class=
"card-title"
style=
"float: left;margin-left: 970px;position: absolute;"
>
{{ sum.totalWorth.toFixed() || 0 }}
</div>
</div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"addProduct()"
:disabled=
"!canAddProduct"
></el-button>
</div>
<!--
</el-card>
<el-card class="mt-10"> -->
<div
class=
"card-title"
style=
"padding: 20px 0"
>
{{ $t("合计") }}
</div
>
<el-descriptions
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('总件数')"
>
{{ sum.totalNum.toFixed() || 0 }}
</el-descriptions-item
>
<el-descriptions-item
:label=
"$t('总体积')"
>
{{ sum.totalVolume.toFixed() || 0 }}m³
</el-descriptions-item
>
<el-descriptions-item
:label=
"$t('总重量')"
>
{{ sum.totalWeight.toFixed() || 0 }}kg
</el-descriptions-item
>
<el-descriptions-item
:label=
"$t('总数量')"
>
{{ sum.totalQuatity.toFixed() || 0 }}
</el-descriptions-item
>
<!-- <div class="card-title" style="padding: 20px 0">{{ $t("合计") }}</div>--
>
<!-- <el-descriptions :column="4" border>--
>
<!-- <el-descriptions-item :label="$t('总件数')">--
>
<!-- {{ sum.totalNum.toFixed() || 0 }}-->
<!-- </el-descriptions-item>--
>
<!-- <el-descriptions-item :label="$t('总体积')"> {{ sum.totalVolume.toFixed() || 0 }}m³ </el-descriptions-item>--
>
<!-- <el-descriptions-item :label="$t('总重量')"> {{ sum.totalWeight.toFixed() || 0 }}kg </el-descriptions-item>--
>
<!-- <el-descriptions-item :label="$t('总数量')">--
>
<!-- {{ sum.totalQuatity.toFixed() || 0 }}-->
<!-- </el-descriptions-item>--
>
<el-descriptions-item
:label=
"$t('总货值') + '(RMB)'"
>
{{ sum.totalWorth.toFixed() || 0 }}{{ $t("元") }}
</el-descriptions-item
>
</el-descriptions
>
<!-- <el-descriptions-item :label="$t('总货值') + '(RMB)'"> {{ sum.totalWorth.toFixed() || 0 }}{{ $t("元") }} </el-descriptions-item>--
>
<!-- </el-descriptions>--
>
</el-card>
<el-card
class=
"mt-10"
>
...
...
@@ -338,43 +418,43 @@
<el-input
v-model=
"form.otherFee"
placeholder=
""
class=
"w-100 mr-10"
></el-input>
<selector
v-model=
"form.otherFeeCurrencyId"
:options=
"currencyList"
:label-field=
"$l('title')"
value-field=
"id"
defaultable
class=
"w-100"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('原价')"
:span=
"2"
>
<
template
v-for=
"item in originalFeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div
>
</
template
>
</el-descriptions-item
>
<!-- <el-descriptions-item :label="$t('原价')" :span="2">--
>
<!-- <template v-for="item in originalFeeList">--
>
<!-- <div :key="item.currencyId">{{ item.amount || 0 }}{{ currencyMap[item.currencyId] }}</div>--
>
<!-- </template>--
>
<!-- </el-descriptions-item>--
>
</el-descriptions>
<div
class=
"card-title"
style=
"padding: 20px 0"
>
{{ $t("优惠信息") }}
</div
>
<el-table
:data=
"couponList"
:show-header=
"false"
:empty-text=
"$t('暂无优惠')"
>
<el-table-column
label=
""
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
.
{{
$l
(
productNames
[
scope
.
row
.
prodId
],
"
title
"
)
||
$t
(
"
未知
"
)
}}
</
template
>
</el-table-column
>
<el-table-column
label=
""
>
<
template
slot-scope=
"{ row }"
>
<dict-tag
:type=
"DICT_TYPE.ECW_COUPON_TYPE"
:value=
"row.type"
/
>
</
template
>
</el-table-column
>
<el-table-column
label=
""
>
<
template
slot-scope=
"{ row }"
>
{{
$l
(
row
,
"
title
"
)
}}
</
template
>
</el-table-column
>
<el-table-column
label=
""
>
<
template
slot-scope=
"{ row }"
>
-
{{
row
.
reduceAmount
}}
{{
currencyMap
[
row
.
reduceCurrencyId
]
}}
</
template
>
</el-table-column
>
<el-table-column
label=
""
>
<
template
slot-scope=
"{ row }"
>
{{
$t
(
"
有效期至
"
)
}}
:
{{
row
.
endTime
?
row
.
endTime
:
$t
(
"
永久有效
"
)
}}
</
template
>
</el-table-column
>
</el-table
>
<!-- <div class="card-title" style="padding: 20px 0">--
>
<!-- {{ $t("优惠信息") }}-->
<!-- </div>--
>
<!-- <el-table :data="couponList" :show-header="false" :empty-text="$t('暂无优惠')">--
>
<!-- <el-table-column label="">--
>
<!-- <template slot-scope="scope">--
>
<!-- {{ scope.$index + 1 }}.-->
<!-- {{ $l(productNames[scope.row.prodId], "title") || $t("未知") }}-->
<!-- </template>--
>
<!-- </el-table-column>--
>
<!-- <el-table-column label="">--
>
<!-- <template slot-scope="{ row }">--
>
<!-- <dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" />--
>
<!-- </template>--
>
<!-- </el-table-column>--
>
<!-- <el-table-column label="">--
>
<!-- <template slot-scope="{ row }">--
>
<!-- {{ $l(row, "title") }}-->
<!-- </template>--
>
<!-- </el-table-column>--
>
<!-- <el-table-column label="">--
>
<!-- <template slot-scope="{ row }">--
>
<!-- -{{ row.reduceAmount }}-->
<!-- {{ currencyMap[row.reduceCurrencyId] }}-->
<!-- </template>--
>
<!-- </el-table-column>--
>
<!-- <el-table-column label="">--
>
<!-- <template slot-scope="{ row }"> {{ $t("有效期至") }}:{{ row.endTime ? row.endTime : $t("永久有效") }} </template>--
>
<!-- </el-table-column>--
>
<!-- </el-table>--
>
<el-descriptions
:column=
"1"
class=
"mt-20"
>
<el-descriptions-item
:label=
"$t('优惠费用')"
v-if=
"couponTotalAmountList && couponTotalAmountList.length"
>
...
...
@@ -401,9 +481,13 @@
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('预计结束时间')"
prop=
"stopTime"
>
<!-- <el-form-item :label="$t('预计结束时间')" prop="stopTime">-->
<!-- <!– <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker> –>-->
<!-- <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd" class="w-200" :picker-options="stopDate"></el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item
:label=
"$t('预计发货时间')"
prop=
"estimatedShippingTime"
>
<!-- <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker> -->
<el-date-picker
v-model=
"form.
stop
Time"
value-format=
"yyyy-MM-dd"
class=
"w-200"
:picker-options=
"stopDate"
></el-date-picker>
<el-date-picker
v-model=
"form.
estimatedShipping
Time"
value-format=
"yyyy-MM-dd"
class=
"w-200"
:picker-options=
"stopDate"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('是否控货')"
prop=
"control"
label-width=
"200px"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.control"
form-type=
"radio"
/>
...
...
@@ -439,38 +523,51 @@
<el-form-item
:label=
"$t('交货地址')"
>
<el-input
v-model=
"form.tradeAdress"
:placeholder=
"$t('港口或地点')"
></el-input>
</el-form-item>
<br>
<el-form-item
:label=
"$t('厂家')"
prop=
"manufacturer"
>
<el-input
v-model=
"form.manufacturer"
type=
"textarea"
style=
"width: 1100px; height: 50px"
></el-input>
</el-form-item>
<br>
<el-form-item
:label=
"$t('厂家电话')"
prop=
"manufacturerPhone"
>
<el-input
v-model=
"form.manufacturerPhone"
type=
"textarea"
style=
"width: 1100px; height: 50px"
></el-input>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('备注')"
:span=
"2"
>
<el-input
v-model=
"form.remarks"
type=
"textarea"
placeholder=
""
style=
"width:
41
0px; height: 100px"
></el-input>
<el-form-item
:label=
"$t('备注')"
:span=
"2"
prop=
"remarks"
>
<el-input
v-model=
"form.remarks"
type=
"textarea"
placeholder=
""
style=
"width:
110
0px; height: 100px"
></el-input>
</el-form-item>
</div>
</el-card>
<el-card
class=
"mt-10"
v-if=
"transport"
>
<div
class=
"card-title"
slot=
"header"
>
{{ $t("其他") }}
</div>
<div
class=
"card-title"
slot=
"header"
>
<div
class=
"card-name"
>
{{ $t("其他") }}
</div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"qiTaTag=!qiTaTag"
></el-button>
</div>
<!-- <el-form-item :label="$t('快递单号')">
<el-input v-model="form.number" :placeholder="$t('请输入购买商品的快递单号')"></el-input>
</el-form-item> -->
<el-form-item
:label=
"$t('特殊要求')"
>
<el-form-item
:label=
"$t('特殊要求')"
v-show=
"qiTaTag"
>
<dict-selector
v-model=
"form.transportVO.packageTypeArr"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
</el-form-item>
<br
/>
<el-form-item
:label=
"$t('特殊要求备注')"
>
<el-form-item
:label=
"$t('特殊要求备注')"
v-show=
"qiTaTag"
>
<el-input
v-model=
"form.transportVO.packageRemarks"
></el-input>
</el-form-item>
<br
/>
<el-form-item
:label=
"$t('是否双清')"
v-if=
"[2, 3, 4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('是否双清')"
v-if=
"[2, 3, 4].indexOf(+form.transportId) > -1"
v-show=
"qiTaTag"
>
<dict-selector
v-model=
"form.transportVO.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
/>
</el-form-item>
<el-form-item
:label=
"$t('航空公司')"
v-if=
"[3, 4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('航空公司')"
v-if=
"[3, 4].indexOf(+form.transportId) > -1"
v-show=
"qiTaTag"
>
<!--待查询备选数据-->
<!-- <el-select placeholder="" v-model="form.airlineCompany">
</el-select> -->
<supplier-selector
v-model=
"form.transportVO.airlineCompany"
companyType=
"10"
/>
</el-form-item>
<el-form-item
:label=
"$t('船公司')"
v-if=
"[2].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('船公司')"
v-if=
"[2].indexOf(+form.transportId) > -1"
v-show=
"qiTaTag"
>
<!-- <el-select placeholder="" v-model="form.shippingCompany">
</el-select> -->
<supplier-selector
v-model=
"form.transportVO.shippingCompany"
companyType=
"9"
/>
...
...
@@ -577,7 +674,8 @@ const createDefaultForm = () => {
isCargoControl
:
false
,
prodCreateReqVOList
:
[],
transportVO
:
{},
serviceType
:
[]
serviceType
:
[],
saleStage
:
3
}
}
export
default
{
...
...
@@ -653,7 +751,8 @@ export default {
},
AddressProvince
:
[],
AddressCity
:
[],
competitorList
:
[]
competitorList
:
[],
qiTaTag
:
false
}
},
computed
:
{
...
...
@@ -723,7 +822,9 @@ export default {
// }
// }
// },
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
rules
()
{
let
rules
=
{
marks
:
[
...
...
@@ -746,12 +847,23 @@ export default {
// departureId: [{required: true, message: this.$t('请选择始发城市')}],
destCountryId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择目的国家
"
)
}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
选择出货渠道
"
)
}],
stopTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
不能为空
"
)
}],
// stopTime: [{ required: true, message: this.$t("不能为空") }],
estimatedShippingTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
不能为空
"
)
}],
relation
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择所属人
"
)
}],
control
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择是否控货
"
)
}],
importance
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
请选择重要程度
"
)
},
{
type
:
"
number
"
,
min
:
1
,
message
:
this
.
$t
(
"
请选择重要程度
"
)
}
saleStage
:
[{
required
:
true
,
message
:
this
.
$t
(
"
销售阶段不能为空
"
)
}],
// control: [{ required: true, message: this.$t("请选择是否控货") }],
// importance: [
// { required: true, message: this.$t("请选择重要程度") },
// { type: "number", min: 1, message: this.$t("请选择重要程度") }
// ]
remarks
:
[
{
max
:
500
,
message
:
'
500max
'
,
trigger
:
'
blur
'
}
],
manufacturer
:
[
{
max
:
100
,
message
:
'
100max
'
,
trigger
:
'
blur
'
}
],
manufacturerPhone
:
[
{
max
:
50
,
message
:
'
50max
'
,
trigger
:
'
blur
'
}
]
}
if
(
this
.
form
.
relation
==
1
)
{
...
...
@@ -1142,6 +1254,7 @@ export default {
formData
.
transportVO
.
packageTypeArr
=
formData
.
transportVO
.
packageType
.
split
(
"
,
"
).
filter
((
item
)
=>
item
&&
item
!=
""
)
}
if
(
res
.
data
.
offerProdRespVOList
)
{
res
.
data
.
offerProdRespVOList
.
forEach
((
item
)
=>
{
formData
.
prodCreateReqVOList
.
push
({
goodsType
:
item
.
goodsType
,
...
...
@@ -1157,6 +1270,25 @@ export default {
transportId
:
item
.
transportId
,
weight
:
item
.
weight
,
worth
:
item
.
worth
,
specialPriceType
:
item
.
specialPriceType
,
oneSeaFreight
:
item
.
oneSeaFreight
,
orgFreightPrice
:
item
.
originalSeaFreight
,
originalSeaFreight
:
item
.
originalSeaFreight
,
oneClearanceFee
:
item
.
oneClearanceFreight
,
oneClearanceFreight
:
item
.
oneClearanceFreight
,
orgClearanceFeePrice
:
item
.
originalClearanceFreight
,
originalClearanceFreight
:
item
.
originalClearanceFreight
,
freightVolume
:
item
.
seaFreightVolume
,
seaFreightVolume
:
item
.
seaFreightVolume
,
clearanceFeeVolume
:
item
.
clearanceFreightVolume
,
clearanceFreightVolume
:
item
.
clearanceFreightVolume
,
charging
:
item
.
charging
,
freightCurrency
:
item
.
seaFreightCurrency
,
seaFreightCurrency
:
item
.
seaFreightCurrency
,
freight
:
item
.
seaFreight
,
clearanceFeeCurrency
:
item
.
clearanceFreightCurrency
,
clearanceFreightCurrency
:
item
.
clearanceFreightCurrency
,
clearanceFee
:
item
.
clearanceFreight
,
prodAttrArr
:
item
.
prodAttrIds
&&
item
.
prodAttrIds
!=
""
?
item
.
prodAttrIds
...
...
@@ -1173,6 +1305,7 @@ export default {
formData
.
startTime
=
""
formData
.
endTime
=
""
formData
.
stopTime
=
""
formData
.
estimatedShippingTime
=
""
// 复制报价单状态重置为草稿
formData
.
status
=
2
}
...
...
@@ -1420,7 +1553,15 @@ export default {
}
this
.
form
.
prodCreateReqVOList
.
map
((
item
,
index
)
=>
{
this
.
$set
(
item
,
"
fee
"
,
res
.
data
.
prodCostDtoList
[
index
]
||
null
)
console
.
log
(
"
============================
"
)
console
.
log
(
item
)
console
.
log
(
"
============================
"
)
var
a
=
null
if
(
res
.
data
.
prodCostDtoList
[
index
])
{
a
=
res
.
data
.
prodCostDtoList
[
index
]
a
[
'
specialPriceType
'
]
=
item
.
specialPriceType
}
this
.
$set
(
item
,
"
fee
"
,
a
)
})
})
.
finally
(()
=>
{
...
...
src/views/ecw/offer/index.vue
View file @
c050efab
...
...
@@ -6,6 +6,10 @@
<el-input
v-model.trim=
"queryParams.searchNumber"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('客户状态')"
prop=
"customerStatusList"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS"
multiple
v-model=
"queryParams.customerStatusList"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('客户')"
prop=
"searchCustomer"
>
<el-input
v-model.trim=
"queryParams.searchCustomer"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
...
...
@@ -14,8 +18,24 @@
<el-input
v-model.trim=
"queryParams.relationPhone"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.relationPhone = queryParams.relationPhone.replace(/\s+/g, '')"
/>
</el-form-item>
<el-form-item
:label=
"$t('区号')"
prop=
"relationAreaCode"
>
<el-input
v-model.trim=
"queryParams.relationAreaCode"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.relationAreaCode = queryParams.relationAreaCode.replace(/\s+/g, '')"
/>
<el-form-item
:label=
"$t('客户经理')"
prop=
"salesmanIds"
>
<user-selector
v-model=
"queryParams.salesmanIds"
multiple
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('询盘来源')"
prop=
"inquirySourceList"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE"
multiple
v-model=
"queryParams.inquirySourceList"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"saleStageList"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE"
multiple
v-model=
"queryParams.saleStageList"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('货物状态')"
prop=
"cargoStatusList"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_CARGO_STATUS"
multiple
v-model=
"queryParams.cargoStatusList"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
v-show=
"showSearch"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
multiple
formatter=
"number"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('始发仓')"
prop=
"startWarehouseId"
>
...
...
@@ -40,21 +60,22 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('
客户经理')"
prop=
"salesmanIds
"
>
<
user-selector
v-model=
"queryParams.salesmanIds"
multiple
clearable
@
change=
"handleQuery"
/
>
<el-form-item
:label=
"$t('
创建时间')
"
>
<
el-date-picker
v-model=
"queryTmp.createTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker
>
</el-form-item>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"statusList"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
multiple
v-model=
"queryParams.statusList"
clearable
@
change=
"handleQuery"
/>
<el-form-item
:label=
"$t('客户来源')"
prop=
"sourceIds"
v-show=
"showSearch"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
multiple
v-model=
"queryParams.sourceIds"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('重要程度')"
prop=
"importances"
>
<el-select
v-model=
"queryParams.importances"
multiple
:placeholder=
"$t('请选择')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in [1, 2, 3, 4, 5]"
:label=
"item"
:value=
"item"
:key=
"item"
></el-option>
</el-select>
<el-form-item
:label=
"$t('输单原因')"
prop=
"reasonDictList"
v-show=
"showSearch"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_REASON_DICT"
multiple
v-model=
"queryParams.reasonDictList"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('
运输方式')"
prop=
"transportId
"
v-show=
"showSearch"
>
<
dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
multiple
formatter=
"number"
clearable
@
change=
"handleQuery
"
/>
<el-form-item
:label=
"$t('
区号')"
prop=
"relationAreaCode
"
v-show=
"showSearch"
>
<
el-input
v-model.trim=
"queryParams.relationAreaCode"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.relationAreaCode = queryParams.relationAreaCode.replace(/\s+/g, '')
"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"channelIds"
v-show=
"showSearch"
>
<selector
:clearable=
"true"
:options=
"channelList"
:label-field=
"$l('name')"
value-field=
"channelId"
v-model=
"queryParams.channelIds"
multiple
@
change=
"handleQuery"
></selector>
</el-form-item>
...
...
@@ -75,27 +96,29 @@
<el-option
:label=
"$t('海外仓')"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('客户来源')"
prop=
"sourceIds"
v-show=
"showSearch"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
multiple
v-model=
"queryParams.sourceIds"
clearable
@
change=
"handleQuery"
/>
<el-form-item
:label=
"$t('厂家')"
prop=
"manufacturer"
v-show=
"showSearch"
>
<el-input
v-model.trim=
"queryParams.manufacturer"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('
创建人')"
prop=
"creatorIds
"
>
<
user-selector
v-model=
"queryParams.creatorIds"
multiple
clearable
@
change=
"handleQuery"
/>
<el-form-item
:label=
"$t('
厂家电话')"
prop=
"manufacturerPhone"
v-show=
"showSearch
"
>
<
el-input
v-model.trim=
"queryParams.manufacturerPhone"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"queryTmp.createTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
<el-form-item
:label=
"$t('预计发货时间')"
>
<el-date-picker
v-model=
"queryTmp.estimatedShippingTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('创建人')"
prop=
"creatorIds"
v-show=
"showSearch"
>
<user-selector
v-model=
"queryParams.creatorIds"
multiple
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('有效期开始')"
v-show=
"showSearch"
>
<el-date-picker
v-model=
"queryTmp.startTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('有效期结束')"
v-show=
"showSearch"
>
<el-date-picker
v-model=
"queryTmp.endTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('预计结束时间')"
v-show=
"showSearch"
>
<el-date-picker
v-model=
"queryTmp.stopTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
"
搜索
"
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
"
重置
"
)
}}
</el-button>
...
...
@@ -110,35 +133,45 @@
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:offer:export']"
>
{{
$t
(
"
导出
"
)
}}
</el-button>
</el-col>
<el-col
:span=
"15"
>
<!-- 订单列表显示搜索条件对应箱数、仓库实测、收款方数、重量 -->
汇总:
{{
statistics
.
volume
}}
CBM/
{{
statistics
.
weight
}}
KG
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
border
ref=
"dataTable"
id=
"dataTable"
:height=
"autoHeight"
>
<el-table-column
:label=
"$t('
报价单号')"
align=
"left"
prop=
"number"
width=
"15
0"
fixed
>
<el-table-column
:label=
"$t('
创建时间')"
align=
"left"
width=
"12
0"
fixed
>
<template
slot-scope=
"
{ row }">
<el-link
type=
"primary"
@
click.native=
"$router.push('detail?offerId=' + row.offerId)"
>
{{
row
.
number
}}
</el-link>
<span>
{{
parseTime
(
row
.
createTime
,
"
{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/span
>
<
div
style
=
"
display: flex; flex-wrap: wrap
"
v
-
if
=
"
row.specialPriceType
"
>
<
el
-
button
size
=
"
mini
"
style
=
"
margin-left: 20px
"
type
=
"
danger
"
circle
>
特
<
/el-button
>
<
/div
>
<
/template
>
<
/el-table-column
>
<el-table-column
:label=
"$t('
订单编号')"
align=
"left"
width=
"12
0"
fixed
>
<
el
-
table
-
column
:
label
=
"
$t('
客户状态')
"
align
=
"
left
"
width
=
"
10
0
"
fixed
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
a
class=
"el-link el-link--primary is-underline"
href=
"javascript:;"
@
click=
"$router.push(`/order/detail?orderId=$
{row.orderId}`)">
{{
row
.
orderNo
}}
</a
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS
"
:
value
=
"
row.customerStatus
"
/
>
<
/template
>
<
/el-table-column
>
<el-table-column
:label=
"$t('
最新跟进时间')"
width=
"180"
>
<
template
slot-scope=
"
scope"
v-if=
"scope.row.followupBackVO
"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
<
el
-
table
-
column
:
label
=
"
$t('
客户编号')
"
align
=
"
left
"
width
=
"
100
"
fixed
>
<
template
slot
-
scope
=
"
{ row
}
"
>
{{
row
.
customerNumber
}}
<
/template
>
<
/el-table-column
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<
el
-
table
-
column
:
label
=
"
$t('客户名称')
"
align
=
"
left
"
prop
=
"
customerName
"
fixed
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('客户经理')
"
align
=
"
left
"
prop
=
"
followUpSalesmanName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('询盘来源')
"
align
=
"
left
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE
"
:
value
=
"
row.inquirySource
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('掉入公海时间')
"
align
=
"
left
"
width
=
"
120
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
{{
row
.
estimateEnterOpenSeaTime
||
row
.
enterOpenSeaTime
}}
<
/template
>
<
/el-table-column
>
<el-table-column
:label=
"$t('联系人')"
align=
"left"
prop=
"relationName"
width=
"120"
/>
<el-table-column
:label=
"$t('联系电话')"
align=
"left"
prop=
"relationPhone"
width=
"150"
/>
<el-table-column
:label=
"$t('重要程序')"
align=
"center"
prop=
"importance"
/>
<el-table-column
:label=
"$t('始发仓')"
align=
"left"
prop=
"startWarehouseName"
/>
<
el
-
table
-
column
:
label
=
"
$t('运输方式-渠道/目的仓')
"
width
=
"
200
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
:
value
=
"
row.transportId
"
/>
...
...
@@ -148,33 +181,100 @@
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('销售阶段')
"
align
=
"
left
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<dict-tag
:type=
"DICT_TYPE.
ECW_OFFER_STATUS"
:value=
"row.status
"
/>
<
dict
-
tag
:
type
=
"
DICT_TYPE.
CUSTOMER_FOLLOWUP_SALE_STAGE
"
:
value
=
"
row.saleStage
"
/>
<
/template
>
<
/el-table-column
>
<el-table-column
:label=
"$t('预计结束时间')"
align=
"left"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
stopTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
<
el
-
table
-
column
:
label
=
"
$t('上次跟进类型')
"
width
=
"
120
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.followupBackVO
"
>
<
a
href
=
"
javascript:void(0)
"
@
click
=
"
handleCustomerFollowLink(scope.row.followupBackVO)
"
class
=
"
link-type
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE
"
:
value
=
"
scope.row.followupBackVO.followType
"
/>
<
/a
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
left
"
prop
=
"
estCost
"
width
=
"
160
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
div
class
=
""
v
-
for
=
"
(item, feeIndex) in row.estCostVO.feeDtoList
"
:
key
=
"
feeIndex
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COST_FEE_TYPE
"
:
value
=
"
item.feeType
"
/>
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
<
el
-
table
-
column
:
label
=
"
$t('上次跟进时间')
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.followupBackVO
"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('上次跟进内容')
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.followupBackVO
"
>
{{
scope
.
row
.
followupBackVO
.
feedback
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('所报价格')
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.offerProds
"
>
<
template
v
-
for
=
"
row1 in scope.row.offerProds
"
>
{{
row1
.
prodTitleZh
}}
:
<
template
v
-
if
=
"
row1.charging == 1
"
>
<
template
v
-
if
=
"
!row1.oneSeaFreight
"
>
{{
$t
(
"
未报价
"
)
}}
<
/template
>
<
template
>
{{
$t
(
"
全包价
"
)
}}
{{
row1
.
oneSeaFreight
}}
{{
currencyMap
[
row1
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
seaFreightVolume
]
}}
<
/template
>
<
/template
>
<
template
v
-
else
-
if
=
"
!row1.oneSeaFreight && !row1.oneClearanceFreight
"
>
{{
$t
(
"
未报价
"
)
}}
<
/template
>
<
template
v
-
else
-
if
=
"
row1.specialPriceType
"
>
<
div
style
=
"
color: red;font-weight: 700;
"
>
{{
$t
(
"
原价
"
)
}}
<
/div
>
<
div
>
{{
$t
(
"
运费
"
)
}}
:
{{
row1
.
originalSeaFreight
}}
{{
currencyMap
[
row1
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
seaFreightVolume
]
}}
<
/div
>
<
div
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row1
.
originalClearanceFreight
}}
{{
currencyMap
[
row1
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
clearanceFreightVolume
]
}}
<
/div
>
<
div
style
=
"
color: red;font-weight: 700;
"
>
{{
$t
(
"
特价
"
)
}}
<
/div
>
<
div
>
{{
$t
(
"
运费
"
)
}}
:
{{
row1
.
oneSeaFreight
}}
{{
currencyMap
[
row1
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
seaFreightVolume
]
}}
<
/div
>
<
div
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row1
.
oneClearanceFreight
}}
{{
currencyMap
[
row1
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
clearanceFreightVolume
]
}}
<
/div
>
<
/template
>
<
template
v
-
else
>
<
div
>
{{
$t
(
"
运费
"
)
}}
:
{{
row1
.
oneSeaFreight
}}
{{
currencyMap
[
row1
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
seaFreightVolume
]
}}
<
/div
>
<
div
v
-
if
=
"
row1.oneClearanceFreight
"
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row1
.
oneClearanceFreight
}}
{{
currencyMap
[
row1
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row1
.
clearanceFreightVolume
]
}}
<
/div
>
<
div
v
-
else
>
{{
$t
(
"
清关费未报价
"
)
}}
<
/div
>
<
/template
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('客户经理')
"
align
=
"
left
"
prop
=
"
followUpSalesmanName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('创建人')
"
align
=
"
left
"
prop
=
"
creatorName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('创建时间')
"
align
=
"
left
"
width
=
"
120
"
>
<
el
-
table
-
column
:
label
=
"
$t('货物描述')
"
width
=
"
180
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.offerProds
"
>
<
template
v
-
for
=
"
row1 in scope.row.offerProds
"
>
<
div
>
{{
row1
.
prodTitleZh
}}
:
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_IS_BRAND
"
:
value
=
"
row1.brand
"
><
/dict-tag>
-
{{
row1
.
volume
}}
CBM
/
{{
row1
.
weight
}}
KG
<
/div
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('总方数')
"
align
=
"
left
"
prop
=
"
volume
"
width
=
"
100
"
/>
<
el
-
table
-
column
:
label
=
"
$t('总重量')
"
align
=
"
left
"
prop
=
"
weight
"
width
=
"
100
"
/>
<
el
-
table
-
column
:
label
=
"
$t('货物状态')
"
align
=
"
left
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
span
>
{{
parseTime
(
row
.
createTime
,
"
{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/span
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_OFFER_CARGO_STATUS
"
:
value
=
"
row.cargoStatus
"
/
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('有效期')
"
align
=
"
left
"
width
=
"
120
"
>
<
el
-
table
-
column
:
label
=
"
$t('预计发货时间')
"
align
=
"
left
"
prop
=
"
estimatedShippingTime
"
width
=
"
120
"
/>
<
el
-
table
-
column
:
label
=
"
$t('厂家/电话')
"
align
=
"
left
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
div
>
{{
parseTime
(
row
.
startTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/div
>
{{
parseTime
(
row
.
endTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
{{
row
.
manufacturer
}}
/
{{
row
.
manufacturerPhone
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('订单编号')
"
align
=
"
left
"
width
=
"
120
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
a
class
=
"
el-link el-link--primary is-underline
"
href
=
"
javascript:;
"
@
click
=
"
$router.push(`/order/detail?orderId=${row.orderId
}
`)
"
>
{{
row
.
orderNo
}}
<
/a
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('输单原因')
"
align
=
"
left
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_OFFER_REASON_DICT
"
:
value
=
"
row.reasonDict
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('输单备注')
"
align
=
"
left
"
prop
=
"
reason
"
width
=
"
120
"
/>
<
el
-
table
-
column
:
label
=
"
$t('报价单号')
"
align
=
"
left
"
prop
=
"
number
"
width
=
"
150
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
el
-
link
type
=
"
primary
"
@
click
.
native
=
"
$router.push('detail?offerId=' + row.offerId)
"
>
{{
row
.
number
}}
<
/el-link
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
fixed
=
"
right
"
>
...
...
@@ -213,7 +313,7 @@
<
/template
>
<
script
>
import
{
deleteOffer
,
getOfferPage
,
exportOfferExcel
,
cancel
,
recovery
,
offerDeptPage
,
exportDeptOfferExcel
}
from
"
@/api/ecw/offer
"
import
{
deleteOffer
,
getOfferPage
,
statistics
,
exportOfferExcel
,
cancel
,
recovery
,
offerDeptPage
,
exportDeptOfferExcel
}
from
"
@/api/ecw/offer
"
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getRegionList
}
from
"
@/api/ecw/order
"
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
...
...
@@ -223,6 +323,7 @@ import UserSelector from "@/components/UserSelector"
import
Selector
from
"
@/components/Selector
"
import
Template
from
"
@/views/cms/template/index.vue
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
export
default
{
name
:
"
EcwOfferIndex
"
,
components
:
{
...
...
@@ -246,8 +347,13 @@ export default {
list
:
[],
// 查询参数
queryParams
:
{
customerStatusList
:
[],
salesmanIds
:
[],
statusList
:
[],
cargoStatusList
:
[],
saleStageList
:
[],
reasonDictList
:
[],
inquirySourceList
:
[],
importances
:
[],
channelIds
:
[],
sourceIds
:
[],
...
...
@@ -257,6 +363,7 @@ export default {
queryTmp
:
{
createTime
:
[
""
,
""
],
stopTime
:
[
""
,
""
],
estimatedShippingTime
:
[
""
,
""
],
startTime
:
[
""
,
""
],
endTime
:
[
""
,
""
]
}
,
...
...
@@ -280,10 +387,19 @@ export default {
destWarehouseList
:
[],
curData
:
{
}
,
dept
:
false
,
// 是否部门订单
autoHeight
:
500
autoHeight
:
500
,
unitList
:
[],
statistics
:
{
}
}
}
,
computed
:
{
unitMap
()
{
let
map
=
{
}
this
.
unitList
.
forEach
((
item
)
=>
{
map
[
item
.
id
]
=
this
.
$i18n
.
locale
==
"
zh_CN
"
?
item
.
titleZh
:
item
.
titleEn
}
)
return
map
}
,
isMobile
()
{
const
userAgent
=
navigator
.
userAgent
||
navigator
.
vendor
||
window
.
opera
;
// 匹配常见的移动设备标识
...
...
@@ -326,6 +442,7 @@ export default {
if
(
this
.
$route
.
fullPath
.
indexOf
(
"
dept
"
)
>
-
1
)
{
this
.
dept
=
true
}
getUnitList
().
then
((
res
)
=>
(
this
.
unitList
=
res
.
data
))
// getTradeCityList().then((res) => (this.tradeCityList = res.data))
getWarehouseList
().
then
((
res
)
=>
{
this
.
tradeCityList
=
res
.
data
...
...
@@ -561,6 +678,8 @@ export default {
obj
.
endCreateTime
=
this
.
queryTmp
.
createTime
[
1
]
obj
.
beginStopTime
=
this
.
queryTmp
.
stopTime
[
0
]
obj
.
endStopTime
=
this
.
queryTmp
.
stopTime
[
1
]
obj
.
beginEstimatedShippingTime
=
this
.
queryTmp
.
estimatedShippingTime
[
0
]
obj
.
endEstimatedShippingTime
=
this
.
queryTmp
.
estimatedShippingTime
[
1
]
obj
.
beginStartTime
=
this
.
queryTmp
.
startTime
[
0
]
obj
.
endStartTime
=
this
.
queryTmp
.
startTime
[
1
]
obj
.
beginEndTime
=
this
.
queryTmp
.
endTime
[
0
]
...
...
@@ -571,7 +690,14 @@ export default {
getList
()
{
this
.
loading
=
true
let
func
=
this
.
dept
?
offerDeptPage
:
getOfferPage
if
(
!
this
.
dept
)
{
statistics
({
...
this
.
queryParams
,
...
this
.
formatQuery
()
}
).
then
((
response
)
=>
{
this
.
statistics
=
response
.
data
}
)
}
// 执行查询
func
({
...
this
.
queryParams
,
...
...
src/views/ecw/offer/result.vue
View file @
c050efab
...
...
@@ -35,7 +35,12 @@
</el-form-item>
</
template
>
<
template
v-else
>
<el-form-item
:label=
"$t('原因')"
prop=
"reason"
>
<el-form-item
:label=
"$t('原因')"
prop=
"reasonDict"
>
<el-select
v-model=
"form.reasonDict "
clearable
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.ECW_OFFER_REASON_DICT)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('备注')"
prop=
"reason"
>
<el-input
style=
"width: 500px;"
type=
"textarea"
placeholder=
""
v-model=
"form.reason"
></el-input>
</el-form-item>
</
template
>
...
...
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