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
2ed0a026
Commit
2ed0a026
authored
Sep 18, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
de8ac998
a4dfb922
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
509 additions
and
351 deletions
+509
-351
CLodop_Setup_for_Win32NT.exe
public/static/CLodop_Setup_for_Win32NT.exe
+0
-0
LodopFuncs.js
public/static/LodopFuncs.js
+8
-8
install_lodop32.exe
public/static/install_lodop32.exe
+0
-0
install_lodop64.exe
public/static/install_lodop64.exe
+0
-0
index.vue
src/components/OrderBaseInfo/index.vue
+3
-3
permission.js
src/store/modules/permission.js
+3
-1
tagsView.js
src/store/modules/tagsView.js
+5
-4
request.js
src/utils/request.js
+1
-1
edit.vue
src/views/ecw/offer/edit.vue
+22
-18
index.vue
src/views/ecw/offer/index.vue
+3
-3
result.vue
src/views/ecw/offer/result.vue
+3
-1
special.vue
src/views/ecw/offer/special.vue
+54
-46
detail.vue
src/views/ecw/order/detail.vue
+7
-3
edit.vue
src/views/ecw/order/edit.vue
+62
-39
index.vue
src/views/ecw/order/index.vue
+5
-7
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+264
-176
index.vue
src/views/ecw/order/warehousing/index.vue
+52
-25
index.vue
src/views/system/internalMessage/index.vue
+12
-12
index.vue
src/views/system/menu/index.vue
+3
-2
index.vue
src/views/system/myInternalMessage/index.vue
+2
-2
No files found.
public/static/CLodop_Setup_for_Win32NT.exe
0 → 100644
View file @
2ed0a026
File added
public/static/LodopFuncs.js
View file @
2ed0a026
...
...
@@ -94,16 +94,16 @@ function checkOrTryHttp() {
//==获取LODOP对象主过程,判断是否安装、需否升级:==
function
getLodop
(
oOBJECT
,
oEMBED
)
{
var
strFontTag
=
"
<br><font color='#FF00FF'>打印控件
"
;
var
strLodopInstall
=
strFontTag
+
"
未安装!点击这里<a href='install_lodop32.exe' target='_self'>执行安装</a>
"
;
var
strLodopUpdate
=
strFontTag
+
"
需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>
"
;
var
strLodop64Install
=
strFontTag
+
"
未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>
"
;
var
strLodop64Update
=
strFontTag
+
"
需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>
"
;
var
strCLodopInstallA
=
"
<br><font color='#FF00FF'>Web打印服务CLodop未安装启动,点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>
"
;
var
strLodopInstall
=
strFontTag
+
"
未安装!点击这里<a href='
/static/
install_lodop32.exe' target='_self'>执行安装</a>
"
;
var
strLodopUpdate
=
strFontTag
+
"
需要升级!点击这里<a href='
/static/
install_lodop32.exe' target='_self'>执行升级</a>
"
;
var
strLodop64Install
=
strFontTag
+
"
未安装!点击这里<a href='
/static/
install_lodop64.exe' target='_self'>执行安装</a>
"
;
var
strLodop64Update
=
strFontTag
+
"
需要升级!点击这里<a href='
/static/
install_lodop64.exe' target='_self'>执行升级</a>
"
;
var
strCLodopInstallA
=
"
<br><font color='#FF00FF'>Web打印服务CLodop未安装启动,点击这里<a href='
/static/
CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>
"
;
var
strCLodopInstallB
=
"
<br>(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)
"
;
var
strCLodopUpdate
=
"
<br><font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>
"
;
var
strCLodopUpdate
=
"
<br><font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='
/static/
CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>
"
;
var
strLodop7FontTag
=
"
<br><font color='#FF00FF'>Web打印服务Lodop7
"
;
var
strLodop7HrefX86
=
"
点击这里<a href='Lodop7_Linux_X86_64.tar.gz' target='_self'>下载安装</a>(下载后解压,点击lodop文件开始执行)
"
;
var
strLodop7HrefARM
=
"
点击这里<a href='Lodop7_Linux_ARM64.tar.gz' target='_self'>下载安装</a>(下载后解压,点击lodop文件开始执行)
"
;
var
strLodop7HrefX86
=
"
点击这里<a href='
/static/
Lodop7_Linux_X86_64.tar.gz' target='_self'>下载安装</a>(下载后解压,点击lodop文件开始执行)
"
;
var
strLodop7HrefARM
=
"
点击这里<a href='
/static/
Lodop7_Linux_ARM64.tar.gz' target='_self'>下载安装</a>(下载后解压,点击lodop文件开始执行)
"
;
var
strLodop7Install_X86
=
strLodop7FontTag
+
"
未安装启动,
"
+
strLodop7HrefX86
;
var
strLodop7Install_ARM
=
strLodop7FontTag
+
"
未安装启动,
"
+
strLodop7HrefARM
;
var
strLodop7Update_X86
=
strLodop7FontTag
+
"
需升级,
"
+
strLodop7HrefX86
;
...
...
public/static/install_lodop32.exe
0 → 100644
View file @
2ed0a026
File added
public/static/install_lodop64.exe
0 → 100644
View file @
2ed0a026
File added
src/components/OrderBaseInfo/index.vue
View file @
2ed0a026
...
...
@@ -4,7 +4,7 @@
<el-descriptions-item
label=
"唛头"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数/总箱数"
>
{{
order
.
sumNum
}}
/
{{
order
.
costVO
.
totalNum
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
><dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"order.status"
:class=
"
{red: order.status === 1, green: order.status === 5 || order.status === 2}" />
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{
order
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.logisticsInfoDto.transportId"
></dict-tag>
</el-descriptions-item>
...
...
@@ -12,10 +12,10 @@
<el-descriptions-item
label=
"目的地"
>
{{
order
.
logisticsInfoDto
.
destTitleZh
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人公司"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
phone
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
order
.
consignorVO
&&
(
order
.
consignorVO
.
countryCode
+
order
.
consignorVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人姓名"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
phone
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
order
.
consigneeVO
&&
(
order
.
consigneeVO
.
countryCode
+
order
.
consigneeVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"入仓类型"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_WAREHOUSING_TYPE
,
order
.
warehouseType
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单号"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
</el-descriptions>
...
...
src/store/modules/permission.js
View file @
2ed0a026
...
...
@@ -54,7 +54,9 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
route
.
meta
=
{
title
:
route
.
name
,
titleEn
:
route
.
nameEn
,
icon
:
route
.
icon
icon
:
route
.
icon
,
noCache
:
!
route
.
keepalive
,
// 不缓存,如果需要缓存则需要组件名称能对应上
componentPath
:
route
.
component
}
route
.
hidden
=
typeof
route
.
isShowInMenuBar
!=
'
undefined
'
&&
(
route
.
isShowInMenuBar
==
'
false
'
||
!
route
.
isShowInMenuBar
)
// 处理 component 属性
...
...
src/store/modules/tagsView.js
View file @
2ed0a026
import
router
from
'
@/router
'
window
.
router
=
router
const
state
=
{
visitedViews
:
[],
cachedViews
:
[]
...
...
@@ -15,9 +15,10 @@ const mutations = {
)
},
ADD_CACHED_VIEW
:
(
state
,
view
)
=>
{
if
(
state
.
cachedViews
.
includes
(
view
.
name
))
return
if
(
view
.
meta
&&
!
view
.
meta
.
noCache
)
{
state
.
cachedViews
.
push
(
view
.
name
)
if
(
view
.
meta
&&
view
.
meta
.
componentPath
)
{
let
cacheName
=
view
.
meta
.
componentPath
.
split
(
'
/
'
).
map
(
item
=>
item
.
substring
(
0
,
1
).
toUpperCase
()
+
item
.
substring
(
1
).
toLowerCase
()).
join
(
''
)
if
(
state
.
cachedViews
.
includes
(
cacheName
))
return
state
.
cachedViews
.
push
(
cacheName
)
}
},
...
...
src/utils/request.js
View file @
2ed0a026
...
...
@@ -10,7 +10,6 @@ import { getLocale } from '@/utils/db';
// 是否显示重新登录
export
let
isRelogin
=
{
show
:
false
};
axios
.
defaults
.
headers
[
'
locale
'
]
=
getLocale
()
axios
.
defaults
.
headers
[
'
Content-Type
'
]
=
'
application/json;charset=utf-8
'
// 创建axios实例
const
service
=
axios
.
create
({
...
...
@@ -21,6 +20,7 @@ const service = axios.create({
})
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
config
.
headers
[
'
locale
'
]
=
getLocale
()
// 是否需要设置 token
const
isToken
=
(
config
.
headers
||
{}).
isToken
===
false
if
(
getToken
()
&&
!
isToken
)
{
...
...
src/views/ecw/offer/edit.vue
View file @
2ed0a026
...
...
@@ -4,7 +4,7 @@
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
inline
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
新建报价单
'
)
}}
</div>
<el-form-item
:label=
"$t('所属人')"
>
<el-form-item
:label=
"$t('所属人')"
prop=
"relation"
>
<el-radio-group
v-model=
"form.relation"
>
<el-radio
label=
"1"
>
{{
$t
(
'
发件人
'
)
}}
</el-radio>
<el-radio
label=
"2"
>
{{
$t
(
'
收件人
'
)
}}
</el-radio>
...
...
@@ -222,15 +222,15 @@
<el-table-column
:label=
"$t('运费')"
width=
"200px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.fee && row.fee.charging == 1"
>
<template
v-if=
"!row.fee.
f
reight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<template
v-if=
"!row.fee.
oneF
reight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
fee
.
f
reight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
fee
.
oneF
reight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</
template
>
</template>
<
template
v-else-if=
"!row.fee || !row.fee.
freight && !row.fee.c
learanceFee"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else-if=
"!row.fee || !row.fee.
oneFreight && !row.fee.oneC
learanceFee"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else-if=
"row.fee"
>
<div>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
fee
.
f
reight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
fee
.
oneF
reight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</div>
<div>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
fee
.
oneClearanceFee
}}
{{
currencyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFeeVolume
]
}}
...
...
@@ -424,41 +424,41 @@
<el-input v-model="form.number" :placeholder="$t('请输入购买商品的快递单号')"></el-input>
</el-form-item> -->
<el-form-item
:label=
"$t('是否双清')"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
/>
<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-select placeholder="" v-model="form.airlineCompany">
</el-select> -->
<supplier-selector
v-model=
"form.airlineCompany"
companyType=
"10"
/>
<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-select placeholder="" v-model="form.shippingCompany">
</el-select> -->
<supplier-selector
v-model=
"form.shippingCompany"
companyType=
"9"
/>
<supplier-selector
v-model=
"form.
transportVO.
shippingCompany"
companyType=
"9"
/>
</el-form-item>
<el-form-item
:label=
"$t('清关证书')"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.
transportVO.
customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
<el-form-item
:label=
"$t('清关证书备注')"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-input
v-model=
"form.remarks"
></el-input>
<el-input
v-model=
"form.
transportVO.
remarks"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('是否拆包')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.
transportVO.
isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.
transportVO.
isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<span
style=
"margin-left:10px"
>
{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}
</span>
</el-form-item>
<br/>
<el-form-item
:label=
"$t('特殊要求')"
>
<dict-selector
v-model=
"form.packageType"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
<dict-selector
v-model=
"form.
transportVO.
packageType"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
</el-form-item>
<br/>
<el-form-item
:label=
"$t('特殊要求备注')"
>
<el-input
v-model=
"form.packageRemarks"
></el-input>
<el-input
v-model=
"form.
transportVO.
packageRemarks"
></el-input>
</el-form-item>
</el-card>
...
...
@@ -493,7 +493,7 @@ import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import
{
getCustomerContactsSelect
}
from
'
@/api/ecw/customerContacts
'
export
default
{
name
:
"
OfferEdit
"
,
name
:
"
Ecw
OfferEdit
"
,
components
:
{
ProductSelector
,
Selector
,
SupplierSelector
,
ChooseContactDialog
,
QuickCreateCustomer
},
...
...
@@ -519,6 +519,7 @@ export default {
type
:
[],
isCargoControl
:
false
,
prodCreateReqVOList
:[],
transportVO
:
{}
},
// 表单校验
rules
:
{
...
...
@@ -529,7 +530,10 @@ export default {
endTime
:
[{
required
:
true
,
message
:
"
有效期结束时间不能为空
"
}],
transportId
:
[{
required
:
true
,
message
:
"
选择运输方式
"
}],
channelId
:
[{
required
:
true
,
message
:
"
选择出货渠道
"
}],
stopTime
:
[{
required
:
true
,
message
:
"
不能为空
"
}]
stopTime
:
[{
required
:
true
,
message
:
"
不能为空
"
}],
relation
:
[{
required
:
true
,
message
:
"
请选择所属人
"
}],
control
:
[{
required
:
true
,
message
:
"
请选择是否控货
"
}],
importance
:
[{
required
:
true
,
message
:
"
请选择重要成都
"
}]
/*sendstatus: [{ required: true, message: "站内信状态,0未发送,1已发送不能为空", trigger: "blur" }], */
},
labelStyle
:
'
width:120px
'
,
...
...
@@ -856,7 +860,7 @@ export default {
// 修改的提交
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
transportUpdateReqVOList
:
this
.
transportList
.
filter
(
item
=>
item
.
_enabled
),
//
transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
prodUpdateReqVOList
:
this
.
getProductListWithDefaultValue
()
})
updateOffer
(
data
).
then
(
response
=>
{
...
...
@@ -866,7 +870,7 @@ export default {
return
;
}
let
data
=
Object
.
assign
({},
this
.
form
,
{
transportCreateReqVOList
:
this
.
transportList
.
filter
(
item
=>
item
.
_enabled
),
//
transportCreateReqVOList: this.transportList.filter(item => item._enabled),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
()
})
// 添加的提交
...
...
src/views/ecw/offer/index.vue
View file @
2ed0a026
...
...
@@ -51,8 +51,7 @@
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
:
value
=
"
scope.row.transportId
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('业务员')
"
align
=
"
left
"
prop
=
"
creatorName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
left
"
prop
=
"
estCost
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
...
...
@@ -62,7 +61,8 @@
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('客户经理')
"
align
=
"
left
"
prop
=
"
creatorName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
>
...
...
src/views/ecw/offer/result.vue
View file @
2ed0a026
...
...
@@ -57,7 +57,9 @@ export default {
"
warehousingType
"
:
undefined
},
// 表单校验
rules
:
{}
rules
:
{
warehousingType
:
{
required
:
true
,
message
:
'
请选择入仓类型
'
}
}
};
},
computed
:
{
...
...
src/views/ecw/offer/special.vue
View file @
2ed0a026
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
申请特价
</div>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
申请特价
'
)
}}
</div>
<div
class=
"offer-header"
>
<span
style=
"font-size: 15px;"
>
订单号:
{{
offer
.
number
}}
</span>
<el-descriptions>
<el-descriptions-item
:label=
"$t('报价单号')"
>
{{
offer
.
number
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
$l
(
departure
,
'
title
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
>
{{
$l
(
objective
,
'
title
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"offer.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货渠道')"
>
// TODO
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
offer
.
createTime
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('状态')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
:value=
"offer.status"
/>
</el-descriptions-item>
</el-descriptions>
</div>
<el-table
v-loading=
"loading"
:data=
"offer.offerProdRespVOList"
>
<el-table-column
label=
"序号
"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('序号')
"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
label=
"品名"
>
:label=
"$t('品名')"
>
<template
v-slot=
"
{row}">
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"prodAttrIds"
label=
"填单货物属性"
>
:label=
"$t('品牌')"
>
<
template
v-slot=
"{row}"
>
{{
getProductNamesByIds
(
row
.
prodAttrIds
)
}}
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brand"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"入库货物属性"
>
:label=
"$t('件数')"
prop=
"num"
></el-table-column>
<el-table-column
:label=
"$t('包装')"
>
<
template
v-slot=
"{row}"
>
品牌:
{{
row
.
brand
?
'
有
'
:
'
无
'
}}
<br>
箱数:
{{
row
.
num
}}
<br>
体积:
{{
row
.
volume
}}
m³
<br>
重量:
{{
row
.
weight
}}
Kg
<dict-tag
:value=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGE_TYPE"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"updateTime"
:formatter=
"(_, __, v) => parseTime(v)"
label=
"最后操作时间"
>
</el-table-column>
<el-table-column
label=
"原价"
>
:label=
"$t('原价')"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
originalSeaFreight
}}
{{
curren
t
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
运费:
{{
row
.
originalSeaFreight
}}
{{
curren
cy
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
originalClearanceFreight
}}
{{
curren
t
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
清关费:
{{
row
.
originalClearanceFreight
}}
{{
curren
cy
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"成本价"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
{{
curren
t
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
运费:
{{
row
.
seaFreight
}}
{{
curren
cy
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
clearanceFreight
}}
{{
curren
t
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
清关费:
{{
row
.
clearanceFreight
}}
{{
curren
cy
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"销售价"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
{{
curren
t
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
运费:
{{
row
.
seaFreight
}}
{{
curren
cy
Map
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
clearanceFreight
}}
{{
curren
t
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
清关费:
{{
row
.
clearanceFreight
}}
{{
curren
cy
Map
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"status"
:formatter=
"(v) => ['取消报价', '特价审批中', '需求确认(草稿)', '跟进中', '赢单', '输单', '报价完成', '审批通过', '审批拒绝'][v.status]"
label=
"审核状态"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作
"
>
:label=
"$t('操作')
"
>
<
template
v-slot=
"{row}"
>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
@
click=
"$router.push(`/offer/discount/$
{row.offerProdId}?offerId=${row.offerId}`)">优惠申请
</el-button>
<!--
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
>
佣金规则
</el-button>
-->
<!--
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
>
管理折扣
</el-button>
-->
<el-button
size=
"mini"
type=
"text"
@
click=
"$router.push(`/offer/discount/$
{row.offerProdId}?offerId=${row.offerId}`)">
{{
$t
(
'
优惠申请
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"$alert('// TODO')"
>
{{
$t
(
'
佣金规则
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
style=
"text-align: center;margin-top: 80px"
>
<
!-- <
div style="text-align: center;margin-top: 80px">
<el-button type="primary">申请重货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button>
<el-button type="primary">关闭窗口</el-button>
</div>
</div>
-->
</el-card>
</div>
</template>
...
...
@@ -97,6 +95,7 @@ import {getUnitList} from "@/api/ecw/unit"
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
import
{
getProductAttrList
}
from
"
@/api/ecw/productAttr
"
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
listByIds
}
from
'
@/api/ecw/region
'
export
default
{
name
:
"
OfferSpecial
"
,
components
:
{
...
...
@@ -128,13 +127,15 @@ export default {
unitList
:[],
currencyList
:[],
productAttrList
:[],
objective
:
null
,
departure
:
null
};
},
watch
:{
},
created
()
{
if
(
this
.
offerId
){
this
.
params
.
offerId
=
this
.
offerId
this
.
getOffer
()
}
this
.
getOffer
()
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
...
...
@@ -142,9 +143,16 @@ export default {
methods
:
{
getOffer
(){
this
.
loading
=
true
getOffer
(
this
.
offerId
).
then
(
response
=>
{
getOffer
(
this
.
offerId
||
this
.
params
.
offerId
).
then
(
response
=>
{
this
.
loading
=
false
this
.
offer
=
response
.
data
this
.
getCity
()
})
},
getCity
(){
listByIds
({
ids
:
[
this
.
offer
.
objectiveId
,
this
.
offer
.
departureId
].
join
(
'
,
'
)}).
then
(
res
=>
{
this
.
objective
=
res
.
data
.
find
(
item
=>
item
.
id
==
this
.
offer
.
objectiveId
)
this
.
departure
=
res
.
data
.
find
(
item
=>
item
.
id
==
this
.
offer
.
departureId
)
})
},
getProductNamesByIds
(
ids
){
...
...
@@ -160,7 +168,7 @@ export default {
}
},
computed
:
{
curren
t
Map
(){
curren
cy
Map
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
...
...
src/views/ecw/order/detail.vue
View file @
2ed0a026
...
...
@@ -87,7 +87,7 @@
<el-tabs
v-model=
"activeName"
>
<el-tab-pane
:label=
"$t('货物详情')"
name=
"first"
>
<el-table
:data=
"order.orderItemVOList"
border
style=
"width: 100%"
>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('序号')"
width=
"90px"
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('中文品名')"
/>
...
...
@@ -98,7 +98,11 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"num"
:label=
"$t('填单件数')"
width=
"90px"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓件数')"
width=
"90px"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓件数')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"unit"
:label=
"$t('单位')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGE_TYPE"
:value=
"row.unit"
/>
...
...
@@ -116,7 +120,7 @@
<el-table-column
prop=
"quantity"
:label=
"$t('数量') + '(个)'"
width=
"90px"
/>
<el-table-column
prop=
""
:label=
"$t('费用类型')"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.
FEE_TYPE"
:value=
"row.feeTyp
e"
/>
<dict-tag
:type=
"DICT_TYPE.
ECW_PAY_ADVANCE"
:value=
"row.isPayAdvanc
e"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('成交单价')"
width=
"220px"
>
...
...
src/views/ecw/order/edit.vue
View file @
2ed0a026
...
...
@@ -111,13 +111,13 @@
}"
class="mb-0 mr-0"
>
<product-selector
v-model=
"scope.row.prodId"
@
change=
"onProductChange(row, $event)"
:disabled=
"!form.lineId || !productEditable"
/>
<product-selector
v-model=
"scope.row.prodId"
@
change=
"onProductChange(
scope.
row, $event)"
:disabled=
"!form.lineId || !productEditable"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('英文品名')"
width=
"160px"
>
<
template
slot-scope=
"
{row}
"
>
<product-selector
lang=
"En"
v-model=
"
row.prodId"
@
change=
"onProductChange(
row, $event)"
:disabled=
"!form.lineId || !productEditable"
/>
<
template
slot-scope=
"
scope
"
>
<product-selector
lang=
"En"
v-model=
"
scope.row.prodId"
@
change=
"onProductChange(scope.
row, $event)"
:disabled=
"!form.lineId || !productEditable"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="商品类型" width="160px">
...
...
@@ -173,7 +173,7 @@
}"
class="mb-0 mr-0"
>
<el-input
v-model=
"scope.row.worth"
:disabled=
"!form.lineId"
/>
<el-input
v-model=
"scope.row.worth"
:disabled=
"!form.lineId"
@
input=
"calculationPrice"
/>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -198,16 +198,17 @@
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"danger"
@
click=
"delProduct(scope.$index)"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
width=
"100px"
>
<
template
slot-scope=
"{row}"
>
<el-input
v-model=
"row.expressNo"
placeholder=
""
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"danger"
@
click=
"delProduct(scope.$index)"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<!--
</el-card>
...
...
@@ -510,8 +511,11 @@ import FileUpload from '@/components/FileUpload'
import
AreaCodeSelector
from
'
@/components/AreaCodeSelector
'
import
ChooseContactDialog
from
'
@/components/ChooseContactDialog
'
import
QuickCreateCustomer
from
'
@/components/QuickCreateCustomer
'
import
{
calculationPrice
}
from
'
@/api/ecw/product
'
export
default
{
name
:
"
OrderEdit
"
,
name
:
"
Ecw
OrderEdit
"
,
components
:
{
ProductSelector
,
Selector
,
CustomerContactSelector
,
AreaSelector
,
FileUpload
,
AreaCodeSelector
,
ChooseContactDialog
,
QuickCreateCustomer
},
...
...
@@ -695,17 +699,6 @@ export default {
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
},
/* 'form.orderItemVOList':{
deep: true,
handler(){
this.form.orderItemVOList.map(item => {
item.prodAttrIds = item.prodAttrArr.join(',')
})
}
}, */
fee
(){
this
.
getCoupons
()
},
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter
(
val
){
if
(
!
val
)
return
...
...
@@ -717,12 +710,36 @@ export default {
}
},
activated
(){
if
(
this
.
$route
.
query
.
id
!=
this
.
form
.
id
){
this
.
getOrder
()
}
},
created
()
{
this
.
couponTypeList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_COUPON_TYPE
)
this
.
couponTypeList
.
forEach
(
item
=>
{
this
.
$set
(
this
.
selectedCoupons
,
item
.
value
,
null
)
})
if
(
this
.
$route
.
query
.
id
){
this
.
getOrder
()
}
else
this
.
addProduct
()
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
this
.
transportList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_CUSTOM_DRAWEE
).
forEach
(
item
=>
{
this
.
customDraweeList
.
push
({
label
:
item
.
label
,
// 显示文字
name
:
item
.
value
,
// key值
value
:
2
// 1 发货人,2收货人,默认收货人,可修改
})
})
},
methods
:
{
getOrder
(){
getOrderDetail
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
this
.
form
=
res
.
data
...
...
@@ -746,23 +763,7 @@ export default {
this
.
$set
(
this
.
form
,
'
consigneeName
'
,
res
.
data
.
consigneeVO
.
name
)
this
.
$set
(
this
.
form
,
'
consigneePhone
'
,
res
.
data
.
consigneeVO
.
phone
)
})
}
else
this
.
addProduct
()
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
this
.
transportList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_CUSTOM_DRAWEE
).
forEach
(
item
=>
{
this
.
customDraweeList
.
push
({
label
:
item
.
label
,
// 显示文字
name
:
item
.
value
,
// key值
value
:
2
// 1 发货人,2收货人,默认收货人,可修改
})
})
},
methods
:
{
},
onContactChoose
(
contact
){
console
.
log
(
'
选择联系人
'
,
contact
)
if
(
!
this
.
contactChooseType
&&
!
this
.
quickCreateType
)
return
...
...
@@ -835,7 +836,7 @@ export default {
},
onProductChange
(
row
,
product
){
console
.
log
(
product
)
row
.
goodsType
=
product
?
product
.
typeId
:
null
//
row.goodsType = product ? product.typeId : null
row
.
prodAttrArr
=
!
product
?
[]
:
product
.
attrId
.
split
(
'
,
'
).
filter
(
item
=>
item
!==
''
).
map
(
item
=>
+
item
)
},
onAreaChange
(
type
,
val
){
...
...
@@ -938,6 +939,28 @@ export default {
});
});
},
// 计算商品运费(根据货值计算保费)
calculationPrice
(){
let
calcable
=
true
if
(
!
this
.
form
.
orderItemVOList
.
length
)
return
false
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
if
(
!
item
.
prodId
){
calcable
=
false
}
})
if
(
this
.
calculating
||
!
calcable
)
return
false
this
.
calculating
=
true
calculationPrice
({
lineId
:
this
.
form
.
lineId
,
transportId
:
this
.
form
.
transportId
,
channelId
:
this
.
form
.
channelId
,
prodConditionParamList
:
this
.
getProductListWithDefaultValue
()
}).
then
(
res
=>
{
this
.
$set
(
this
,
'
fee
'
,
res
.
data
.
costDto
)
}).
finally
(()
=>
{
this
.
calculating
=
false
})
},
// 体积。件数,数量,重量为选填,但是接口确实必填,所以生成一个副本并赋予默认值
getProductListWithDefaultValue
(){
let
arr
=
[]
...
...
src/views/ecw/order/index.vue
View file @
2ed0a026
...
...
@@ -499,13 +499,11 @@ export default {
}
},
deleteSpecial
(
id
,
orderId
){
orderSpecialNeed
({
orderId
:
orderId
,
advanceType
:
id
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
getList
()
}
}
)
this
.
$confirm
(
this
.
$t
(
'
确定删除此特需么?
'
)).
then
(
res
=>
{
return
orderSpecialNeed
({
orderId
:
orderId
,
advanceType
:
id
})
}).
then
(()
=>
{
this
.
getList
()
})
},
onBatchClose
(){
this
.
showBatchPickup
=
false
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
2ed0a026
This diff is collapsed.
Click to expand it.
src/views/ecw/order/warehousing/index.vue
View file @
2ed0a026
...
...
@@ -21,14 +21,21 @@
<el-table-column
prop=
"prodTitleZh"
label=
"品名"
>
<template
v-slot=
"
{row}">
{{
row
.
prodTitleZh
}}
<br>
{{
row
.
prodTitleEn
}}
</
template
>
</el-table-column>
<el-table-column
label=
"填单货物属性"
>
<
template
v-slot=
"{row}"
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
brandType
]
}}
<br>
箱数:
{{
row
.
num
}}
<br>
体积:
{{
row
.
volume
}}
m³
<br>
重量:
{{
row
.
weight
}}
Kg
<span
v-if=
"row.isWarehouseInAdd"
>
非填单货物信息
</span>
<template
v-else
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
brandType
]
}}
<br>
箱数:
{{
row
.
num
}}
<br>
体积:
{{
row
.
volume
}}
m³
<br>
重量:
{{
row
.
weight
}}
Kg
</
template
>
</template>
</el-table-column>
<el-table-column
...
...
@@ -40,6 +47,7 @@
体积:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
重量:
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
</
template
>
<span
v-else
>
暂无入仓信息
</span>
</template>
</el-table-column>
<el-table-column
...
...
@@ -78,7 +86,7 @@
</el-table>
<h2
v-if=
"orderSpecialNeeds.length > 0"
>
特殊需求
</h2>
<el-form
ref=
"form"
:model=
"form"
label-width=
"1
80px"
style=
"max-width: 6
00px;"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"1
20px"
style=
"max-width: 5
00px;"
>
<el-form-item
:label=
"item.label"
v-for=
"(item, index) in orderSpecialNeeds"
:key=
"item.value"
>
<el-input
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoney"
:placeholder=
"'请输入' + item.label"
>
<el-select
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency"
placeholder=
"请选择"
slot=
"append"
style=
"width: 100px"
>
...
...
@@ -92,6 +100,18 @@
</el-input>
</el-form-item>
<h2>
订单数据
</h2>
<el-form-item
label=
"总方数"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumVolume"
placeholder=
"请输入总方数"
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</el-form-item>
<el-form-item
label=
"总方数量"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumWeight"
placeholder=
"请输入总数量"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</el-form-item>
<el-card
style=
"margin-top: 15px;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px"
>
入仓影像
</span>
...
...
@@ -144,19 +164,6 @@
</span>
</el-dialog>
<!-- <el-dialog-->
<!-- title="转异常单"-->
<!-- :visible.sync="dialogVisible"-->
<!-- width="30%"-->
<!-- :before-close="handleClose(done)"-->
<!-- >-->
<!-- <span>这是一段信息</span>-->
<!-- <span slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="dialogVisible = false">确认并完成入仓</el-button>-->
<!-- <el-button @click="dialogVisible = false">取 消</el-button>-->
<!-- </span>-->
<!-- </el-dialog>-->
<print-tag
v-if=
"isShowPrintTag"
:order-id=
"orderId"
@
close=
"isShowPrintTag = false"
></print-tag>
<print-warehouse-receipt
v-if=
"isShowPrint"
:order-id=
"orderId"
@
close=
"isShowPrint = false"
/>
...
...
@@ -197,7 +204,7 @@ export default {
mounted
()
{
if
(
this
.
$route
.
query
.
id
){
this
.
orderId
=
parseInt
(
this
.
$route
.
query
.
id
||
undefined
)
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
this
.
getOrder
(
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
())
getSpecialListByOrderId
(
this
.
orderId
).
then
(
r
=>
this
.
specialList
=
r
.
data
)
listByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
this
.
form
.
orderLocationCreateReqVOList
=
r
.
data
)
...
...
@@ -218,7 +225,9 @@ export default {
exceptionUrls
:[],
descZh
:
''
,
manualExceptionType
:
''
,
urls
:
[]
urls
:
[],
sumVolume
:
''
,
sumWeight
:
''
,
},
currencyList
:[],
order
:
{},
...
...
@@ -233,6 +242,22 @@ export default {
},
methods
:
{
getTowSum
(){
let
sumVolume
=
0
let
sumWeight
=
0
this
.
order
.
orderItemVOList
.
forEach
(
e
=>
{
if
(
e
?.
warehouseInInfoVO
?.
volume
)
sumVolume
+=
e
.
warehouseInInfoVO
.
volume
if
(
e
?.
warehouseInInfoVO
?.
weight
)
sumWeight
+=
e
.
warehouseInInfoVO
.
weight
})
this
.
form
.
sumVolume
=
sumVolume
this
.
form
.
sumWeight
=
sumWeight
},
getOrder
(){
getOrder
(
this
.
orderId
).
then
(
r
=>
{
this
.
order
=
r
.
data
this
.
getTowSum
()
})
},
handleSubmit
()
{
let
p
=
{
orderSpecialNeedReceivableReqVoList
:
this
.
form
.
orderSpecialNeedReceivableReqVoList
,
...
...
@@ -248,6 +273,7 @@ export default {
orderWarehouseInFinish
(
p
).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
this
.
escapeBol
=
false
;
this
.
finishVisible
=
false
this
.
$confirm
(
'
该订单已成功入仓,是否打印?
'
,
'
货物已入仓
'
,
...
...
@@ -260,6 +286,7 @@ export default {
}).
catch
(()
=>
{
// this.$store.dispatch('tagsView/delVisitedView')
this
.
$message
.
success
(
'
入仓成功
'
)
this
.
$tab
.
closePage
()
})
}
})
...
...
@@ -284,7 +311,7 @@ export default {
});
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
())
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
this
.
getOrder
(
)
})
}).
catch
(()
=>
{
...
...
@@ -295,16 +322,16 @@ export default {
watch
:
{
warehousingVisible
(
val
)
{
if
(
!
val
){
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
this
.
getOrder
(
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
())
}
},
orderSpecialNeeds
(
val
){
val
.
forEach
(
e
=>
{
this
.
form
.
orderSpecialNeedReceivableReqVoList
.
push
(
{
this
.
form
.
orderSpecialNeedReceivableReqVoList
.
push
({
"
id
"
:
e
.
id
,
"
receivableMoney
"
:
''
,
"
receivableMoneyCurrency
"
:
3
"
receivableMoney
"
:
e
.
transFee
||
''
,
"
receivableMoneyCurrency
"
:
e
.
transCurrency
||
3
})
})
}
...
...
src/views/system/internalMessage/index.vue
View file @
2ed0a026
...
...
@@ -3,9 +3,9 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<!--
<el-form-item
label=
"站内信来源"
prop=
"fromId"
>
--
>
<!--
<el-input
v-model=
"queryParams.fromId"
placeholder=
"请输入站内信来源"
clearable
@
keyup.enter.native=
"handleQuery"
/>
--
>
<!--
</el-form-item>
--
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"queryParams.fromId"
placeholder=
"请输入站内信来源"
clearable
@
keyup.enter.native=
"handleQuery"
/
>
</el-form-item
>
<el-form-item
label=
"发送时间"
>
<el-date-picker
v-model=
"dateRangeSendTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
...
...
@@ -45,7 +45,7 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<!--
<el-table-column
label=
"站内信来源"
align=
"center"
prop=
"fromId"
/>
--
>
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/
>
<el-table-column
label=
"发送时间"
align=
"center"
prop=
"sendTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
...
...
@@ -73,15 +73,15 @@
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page
No"
:limit.sync=
"queryParams.pageSize
"
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page
"
:limit.sync=
"queryParams.rows
"
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<!-- <el-form-item label="站内信来源ID" prop="fromId">--
>
<!-- <el-input v-model="form.fromId" placeholder="请输入站内信来源" />--
>
<!-- </el-form-item>--
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"form.fromId"
placeholder=
"请输入站内信来源"
/
>
</el-form-item
>
<el-form-item
label=
"发送时间"
prop=
"sendTime"
>
<el-date-picker
clearable
v-model=
"form.sendTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择发送时间"
/>
</el-form-item>
...
...
@@ -135,8 +135,8 @@ export default {
dateRangeCreateTime
:
[],
// 查询参数
queryParams
:
{
page
No
:
1
,
pageSize
:
10
,
page
:
1
,
rows
:
10
,
fromId
:
null
,
title
:
null
,
content
:
null
,
...
...
@@ -249,8 +249,8 @@ export default {
handleExport
()
{
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
params
.
page
No
=
undefined
;
params
.
pageSize
=
undefined
;
params
.
page
=
undefined
;
params
.
rows
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeSendTime
,
'
sendTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行导出
...
...
src/views/system/menu/index.vue
View file @
2ed0a026
...
...
@@ -83,11 +83,12 @@
<dict-selector
v-model=
"form.isShowInMenuBar"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
form-type=
"radio"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
v-if=
"form.type == 2"
>
<!--同一个组件可能会配置多个路由,通过路由设置keepalive会产生冲突,此字段废弃 22-09-17 @老丁 -->
<!-- <el-col :span="12" v-if="form.type == 2">
<el-form-item label="保活" prop="keepalive">
<dict-selector v-model="form.keepalive" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" formatter="bool" form-type="radio" />
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"24"
>
<el-form-item
v-if=
"form.type != '3'"
label=
"菜单图标"
>
<el-popover
placement=
"bottom-start"
width=
"460"
trigger=
"click"
@
show=
"$refs['iconSelect'].reset()"
>
...
...
src/views/system/myInternalMessage/index.vue
View file @
2ed0a026
...
...
@@ -3,7 +3,7 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"
站内信
来源"
prop=
"fromId"
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"queryParams.fromId"
placeholder=
"请输入站内信来源"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"发送时间"
>
...
...
@@ -39,7 +39,7 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"
站内信
来源"
align=
"center"
prop=
"fromId"
/>
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/>
<el-table-column
label=
"发送时间"
align=
"center"
prop=
"sendTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
...
...
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