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
b3b0497c
Commit
b3b0497c
authored
Apr 19, 2024
by
liuzeheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
报价、复制价格
parent
f143f192
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1255 additions
and
35 deletions
+1255
-35
order.js
src/api/ecw/order.js
+8
-0
productPrice.js
src/api/ecw/productPrice.js
+10
-0
index.vue
src/views/ecw/customer/index.vue
+12
-0
edit.vue
src/views/ecw/offer/edit.vue
+175
-20
index.vue
src/views/ecw/order/index.vue
+80
-13
copyPrice.vue
src/views/ecw/product/copyPrice.vue
+944
-0
index.vue
src/views/ecw/product/index.vue
+26
-2
No files found.
src/api/ecw/order.js
View file @
b3b0497c
...
...
@@ -1056,3 +1056,11 @@ export function getOrderWarehouseDeleted(orderId,orderItem){
})
}
//获得目的国、目的城市、目的仓
export
function
getWarehouseTreeRegionList
(
tradeType
){
return
request
({
url
:
'
/ecw/warehouse/getWarehouseTreeRegionList?tradeType=1
'
,
method
:
'
get
'
})
}
src/api/ecw/productPrice.js
View file @
b3b0497c
...
...
@@ -159,3 +159,13 @@ export function batchAddPriceAir(data) {
data
})
}
//从商品列表中某一商品进入复制价格
export
function
copyPriceByProductIds
(
data
){
return
request
({
url
:
'
/ecw/product-price/copyPriceByProductIds
'
,
method
:
'
post
'
,
data
:
data
})
}
src/views/ecw/customer/index.vue
View file @
b3b0497c
...
...
@@ -176,6 +176,8 @@
<el-button
:disabled=
"scope.row.isInOpenSea"
v-has-permi=
"[selectAuthorityFn('ecw:customer:postpone')]"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"delay(scope.row)"
>
{{
$t
(
'
延期
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:treat-recovery']"
v-if=
"scope.row.customerService !== null && scope.row.customerServiceAssignedTime !== null && !scope.row.isCustomerServiceConfirmed && !scope.row.isInOpenSea && path === '/customer/customer'"
size=
"mini"
type=
"text"
@
click=
"recovery(scope.row)"
>
{{
$t
(
'
回收客户
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:performanceType']"
v-if=
"path === '/customer/customer'"
size=
"mini"
type=
"text"
@
click=
"dialogVisible = true; customData = scope.row;currentisNew = scope.row.isNew"
>
{{
$t
(
'
业绩类型
'
)
}}
</el-button>
<el-button
v-has-permi=
"[selectAuthorityFn('ecw:customer:treat-quoted-price')]"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"quote(scope.row)"
>
{{
$t
(
'
报价
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -786,6 +788,16 @@ export default {
this
.
$refs
.
CustomerFollowList
.
customerFollow
.
dialogVisible
=
true
;
})
},
//报价
quote
(
row
){
//this.$router.push({path:'/offer/create',query:{id:row.id}})
this
.
$router
.
push
({
path
:
'
/offer/create
'
,
query
:{
customer
:
row
,
type
:
1
}}).
then
({
//this.$refs.push({path:'/customer-contacts/select',query:{pageNo:1,pageSize:10,searchKey:row.defaultContactPhone}})
})
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/offer/edit.vue
View file @
b3b0497c
This diff is collapsed.
Click to expand it.
src/views/ecw/order/index.vue
View file @
b3b0497c
...
...
@@ -4,7 +4,7 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-input
v-model=
"noParam.value"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<el-input
v-model=
"noParam.value"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
>
<template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_NO_FIELD"
defaultable
v-model=
"noParam.key"
class=
"w-50"
/>
</
template
>
...
...
@@ -15,10 +15,10 @@
</el-form-item> -->
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-input
v-model=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-input
v-model=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item
label=
""
>
<dict-selector
:type=
"DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME"
:filter=
"(item) => item.value != 'PickTime'"
v-model=
"dateFilterType"
defaultable
style=
"width: 150px; margin-right: 5px"
/>
...
...
@@ -35,11 +35,27 @@
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<div>
<el-form-item
:label=
"$t('目的国')"
prop=
"destCountryId"
>
<el-select
v-model=
"queryParams.destCountryId"
:placeholder=
"$t('请选择目的国')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in importCountryList"
:key=
"item.guojia"
:label=
"item.guojiaName"
:value=
"item.id"
/></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的城市')"
prop=
"objectiveId"
>
<el-select
v-model=
"queryParams.objectiveId"
:placeholder=
"$t('请选择目的城市')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in importCityList"
:key=
"item.shi"
:value=
"item.shi"
:label=
"item.shiName"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓')"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
:placeholder=
"$t('请选择目的仓')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
</div>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
v-if=
"!transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model.number=
"queryParams.transportId"
clearable
@
change=
"handleQuery"
/>
...
...
@@ -58,7 +74,7 @@
</el-form-item> -->
<el-form-item
:label=
"$t('商品')"
prop=
"tidanNo"
>
<el-input
v-model=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<el-input
v-model=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
>
<
template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
</
template
>
...
...
@@ -97,7 +113,7 @@
<dict-selector
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
v-model=
"queryParams.productRecord"
clearable
@
change=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('快递单号')"
prop=
"number"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('快递单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('快递单号')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<el-form-item
:label=
"$t('外部仓')"
prop=
"number"
>
<el-select
v-model=
"queryParams.isExternalWarehouse"
:placeholder=
"$t('请选择')"
clearable
@
change=
"handleQuery"
>
...
...
@@ -568,7 +584,9 @@ import {
exportShippingDatas
,
exportShipFee
,
exportUnload
,
splitCancelApply
,
orderSplitRevoke
,
setCanShipment
,
setCanNotShipment
,
getParentOrder
,
getParentOrder
,
getWarehouseTreeRegionList
}
from
"
@/api/ecw/order
"
;
/* import { getDictDatas, DICT_TYPE } from '@/utils/dict'; */
import
PrintTag
from
'
./components/PrintTag
'
...
...
@@ -607,6 +625,12 @@ export default {
return
{
// 选中数组
ids
:
[],
//目的国
countryList
:[],
//目的城市
cityList
:[],
//目的仓
destWarehouseList
:[],
// 非单个禁用
single
:
true
,
// 非多个禁用
...
...
@@ -632,7 +656,7 @@ export default {
packageTypeArr
:
[]
},
warehouseList
:[],
//
tradeCityList: [],
//
tradeCityList: [],
productAttrList
:
[],
// 商品属性
molecule
:
''
,
//重货比分子
denominator
:
''
,
//重货比分母
...
...
@@ -703,8 +727,19 @@ export default {
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
},
// importWarehouseList(){
// return this.warehouseList.filter(item => item.tradeType == 1 || item.tradeType == 3)
// },
importCountryList
(){
return
this
.
countryList
.
filter
(
item
=>
item
.
id
!==
null
)
//return this.countryList.filter(item => item.tradeType == 2 || item.tradeType == 3)
},
importCityList
(){
return
this
.
cityList
.
filter
(
item
=>
item
.
id
!==
null
)
},
importWarehouseList
(){
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
1
||
item
.
tradeType
==
3
)
return
this
.
destWarehouseList
.
filter
(
item
=>
item
.
id
!==
null
)
},
/* exportCityList() {
return this.tradeCityList.filter(item => item.type == 2)
...
...
@@ -751,18 +786,47 @@ export default {
this
.
getTransportFromRoute
()
this
.
getList
();
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
// getTradeCityList().then(res => this.tradeCityList = res.data)
getWarehouseList
().
then
(
res
=>
this
.
warehouseList
=
res
.
data
)
//getTradeCityList().then(res => this.tradeCityList = res.data)
getWarehouseList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
this
.
warehouseList
=
res
.
data
})
getCurrencyPage
(
this
.
params
).
then
(
res
=>
this
.
currencyList
=
res
.
data
.
list
)
// 如果是空运(专线空运和海空联运)则获取渠道
if
(
this
.
transportId
==
3
||
this
.
transportId
==
4
){
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
}
getWarehouseTreeRegionList
().
then
(
res
=>
{
this
.
countryList
=
res
.
data
let
cityArray
=
[]
let
shi
=
[]
let
Warehouse
=
[]
res
.
data
.
map
(
item
=>
{
item
.
children
.
map
(
c
=>
{
Warehouse
.
push
(
c
)
shi
.
push
(
c
)
})
})
let
distinitCity
=
shi
.
filter
((
value
,
index
,
self
)
=>
{
return
self
.
indexOf
(
value
)
===
index
;
});
this
.
cityList
=
distinitCity
this
.
destWarehouseList
=
Warehouse
})
},
methods
:
{
getDictDatas
,
// 取消拆单申请
splitRevoke
(
row
){
this
.
splitRevokeOrderId
=
row
.
orderId
...
...
@@ -824,7 +888,7 @@ export default {
exportExcel
(
func
,
params
,
fileName
=
null
){
this
.
exportLoading
=
true
;
func
(
params
).
then
(
res
=>
{
console
.
log
({
res
})
if
(
!
fileName
){
fileName
=
this
.
$t
(
'
订单
'
)
}
...
...
@@ -871,7 +935,7 @@ export default {
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
console
.
log
(
'
this.combinedQueryParams
'
,
this
.
combinedQueryParams
)
const
query
=
{...
this
.
combinedQueryParams
}
if
(
query
.
packageTypeArr
&&
query
.
packageTypeArr
.
length
){
query
.
packageType
=
query
.
packageTypeArr
.
join
(
'
,
'
)
...
...
@@ -899,6 +963,7 @@ export default {
});
this
.
getStatistics
()
},
// 获得统计数据
getStatistics
(){
...
...
@@ -1005,7 +1070,7 @@ export default {
},
// 过滤订单状态筛选字典内容
statusDictFilter
(
item
){
console
.
log
(
'
statusDictFilter
'
,
item
)
if
(
this
.
transportId
==
3
&&
item
.
cssClass
&&
item
.
cssClass
!=
'
air
'
){
return
false
}
...
...
@@ -1033,6 +1098,8 @@ export default {
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.actions
{
...
...
src/views/ecw/product/copyPrice.vue
0 → 100644
View file @
b3b0497c
This diff is collapsed.
Click to expand it.
src/views/ecw/product/index.vue
View file @
b3b0497c
...
...
@@ -117,13 +117,33 @@
</el-table-column> -->
<el-table-column
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"toPriceManager(scope.row)"
v-hasPermi=
"['ecw:product-price:query']"
>
{{
$t
(
'
路线价格
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:product:update']"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:product:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.auditStatus===2"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"copyPrice(scope.row)"
v-hasPermi=
"['ecw:product:copyPrice']"
>
{{
$t
(
'
复制价格
'
)
}}
</el-button>
<!--
<div
v-else
>
<el-button
size=
"mini"
type=
"text"
@
click=
"toPriceManager(scope.row)"
v-hasPermi=
"['ecw:product-price:query']"
>
{{
$t
(
'
路线价格
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:product:update']"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:product:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</div>
-->
<!--
<el-button
v-else
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"copyPrice(scope.row)"
v-hasPermi=
"['ecw:product:copyPrice']"
>
{{
$t
(
'
复制价格
'
)
}}
</el-button>
-->
</
template
>
<!-- <template v-else>
<el-button size="mini" type="text" @click="toPriceManager(scope.row)" v-hasPermi="['ecw:product-price:query']">{{$t('路线价格')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['ecw:product:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['ecw:product:delete']">{{$t('删除')}}</el-button>
</
template
>
</template> -->
</el-table-column>
</el-table>
<!-- 分页组件 -->
...
...
@@ -521,6 +541,10 @@ export default {
});
},
//复制价格
copyPrice
(
row
){
this
.
$router
.
push
({
path
:
'
/product/copyPrice
'
,
query
:{
titleZh
:
row
.
titleZh
,
id
:
row
.
id
}})
},
/** 查询列表 */
getList
()
{
...
...
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