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
e3e9153c
Commit
e3e9153c
authored
Jul 20, 2022
by
Marcus
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
c7ac5734
dfc214f0
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1303 additions
and
170 deletions
+1303
-170
LodopFuncs.js
public/static/LodopFuncs.js
+188
-0
currencyEcash.js
src/api/ecw/currencyEcash.js
+10
-0
order.js
src/api/ecw/order.js
+32
-0
user.js
src/api/member/user.js
+56
-39
index.js
src/router/index.js
+61
-0
dict.js
src/utils/dict.js
+6
-0
lodop.js
src/utils/lodop.js
+21
-0
index.vue
src/views/ecw/currencyEcash/index.vue
+61
-13
addAssociatedOrder.vue
src/views/ecw/order/addAssociatedOrder.vue
+95
-0
associatedOrder.vue
src/views/ecw/order/associatedOrder.vue
+112
-0
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+50
-0
PrintTag.vue
src/views/ecw/order/components/PrintTag.vue
+143
-0
ordeDetailsForm.vue
src/views/ecw/order/components/ordeDetailsForm.vue
+41
-0
specialNeeds.vue
src/views/ecw/order/components/specialNeeds.vue
+91
-0
edit.vue
src/views/ecw/order/edit.vue
+73
-59
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+137
-0
index.vue
src/views/ecw/order/index.vue
+23
-55
singleApplication.vue
src/views/ecw/order/singleApplication.vue
+81
-0
index.vue
src/views/member/user/index.vue
+16
-4
smsTemplate.vue
src/views/system/sms/smsTemplate.vue
+6
-0
No files found.
public/static/LodopFuncs.js
0 → 100644
View file @
e3e9153c
//==本JS是加载Lodop插件或Web打印服务CLodop/Lodop7的综合示例,可直接使用,建议理解后融入自己程序==
//用双端口加载主JS文件Lodop.js(或CLodopfuncs.js兼容老版本)以防其中某端口被占:
var
MainJS
=
"
CLodopfuncs.js
"
,
URL_WS1
=
"
ws://localhost:8000/
"
+
MainJS
,
//ws用8000/18000
URL_WS2
=
"
ws://localhost:18000/
"
+
MainJS
,
URL_HTTP1
=
"
http://localhost:8000/
"
+
MainJS
,
//http用8000/18000
URL_HTTP2
=
"
http://localhost:18000/
"
+
MainJS
,
URL_HTTP3
=
"
https://localhost.lodop.net:8443/
"
+
MainJS
;
//https用8000/8443
var
CreatedOKLodopObject
,
CLodopIsLocal
,
LoadJsState
;
//==判断是否需要CLodop(那些不支持插件的浏览器):==
function
needCLodop
()
{
try
{
var
ua
=
navigator
.
userAgent
;
if
(
ua
.
match
(
/Windows
\s
Phone/i
)
||
ua
.
match
(
/iPhone|iPod|iPad/i
)
||
ua
.
match
(
/Android/i
)
||
ua
.
match
(
/Edge
\D?\d
+/i
))
return
true
;
var
verTrident
=
ua
.
match
(
/Trident
\D?\d
+/i
);
var
verIE
=
ua
.
match
(
/MSIE
\D?\d
+/i
);
var
verOPR
=
ua
.
match
(
/OPR
\D?\d
+/i
);
var
verFF
=
ua
.
match
(
/Firefox
\D?\d
+/i
);
var
x64
=
ua
.
match
(
/x64/i
);
if
((
!
verTrident
)
&&
(
!
verIE
)
&&
(
x64
))
return
true
;
else
if
(
verFF
)
{
verFF
=
verFF
[
0
].
match
(
/
\d
+/
);
if
((
verFF
[
0
]
>=
41
)
||
(
x64
))
return
true
;
}
else
if
(
verOPR
)
{
verOPR
=
verOPR
[
0
].
match
(
/
\d
+/
);
if
(
verOPR
[
0
]
>=
32
)
return
true
;
}
else
if
((
!
verTrident
)
&&
(
!
verIE
))
{
var
verChrome
=
ua
.
match
(
/Chrome
\D?\d
+/i
);
if
(
verChrome
)
{
verChrome
=
verChrome
[
0
].
match
(
/
\d
+/
);
if
(
verChrome
[
0
]
>=
41
)
return
true
;
}
}
return
false
;
}
catch
(
err
)
{
return
true
;
}
}
//==检查加载成功与否,如没成功则用http(s)再试==
//==低版本CLODOP6.561/Lodop7.043及前)用本方法==
function
checkOrTryHttp
()
{
if
(
window
.
CLODOP2015_7028
)
{
LoadJsState
=
"
complete
"
;
return
true
;
}
if
(
LoadJsState
==
"
loadingB
"
||
LoadJsState
==
"
complete
"
)
return
;
LoadJsState
=
"
loadingB
"
;
var
head
=
document
.
head
||
document
.
getElementsByTagName
(
"
head
"
)[
0
]
||
document
.
documentElement
;
var
JS1
=
document
.
createElement
(
"
script
"
)
,
JS2
=
document
.
createElement
(
"
script
"
)
,
JS3
=
document
.
createElement
(
"
script
"
);
JS1
.
src
=
URL_HTTP1
;
JS2
.
src
=
URL_HTTP2
;
JS3
.
src
=
URL_HTTP3
;
JS1
.
onload
=
JS2
.
onload
=
JS3
.
onload
=
JS2
.
onerror
=
JS3
.
onerror
=
function
(){
LoadJsState
=
"
complete
"
;}
JS1
.
onerror
=
function
(
e
)
{
if
(
window
.
location
.
protocol
!==
'
https:
'
)
head
.
insertBefore
(
JS2
,
head
.
firstChild
);
else
head
.
insertBefore
(
JS3
,
head
.
firstChild
);
}
head
.
insertBefore
(
JS1
,
head
.
firstChild
);
}
//==加载Lodop对象的主过程:==
(
function
loadCLodop
(){
if
(
!
needCLodop
())
return
;
CLodopIsLocal
=
!!
((
URL_WS1
+
URL_WS2
).
match
(
/
\/\/
localho|
\/\/
127.0.0./i
));
LoadJsState
=
"
loadingA
"
;
if
(
!
window
.
WebSocket
&&
window
.
MozWebSocket
)
window
.
WebSocket
=
window
.
MozWebSocket
;
//ws方式速度快(小于200ms)且可避免CORS错误,但要求Lodop版本足够新:
try
{
var
WSK1
=
new
WebSocket
(
URL_WS1
);
WSK1
.
onopen
=
function
(
e
)
{
setTimeout
(
"
checkOrTryHttp();
"
,
200
);
}
WSK1
.
onmessage
=
function
(
e
)
{
if
(
!
window
.
CLODOP2015_7028
)
eval
(
e
.
data
);}
WSK1
.
onerror
=
function
(
e
)
{
var
WSK2
=
new
WebSocket
(
URL_WS2
);
WSK2
.
onopen
=
function
(
e
)
{
setTimeout
(
"
checkOrTryHttp();
"
,
200
);}
WSK2
.
onmessage
=
function
(
e
)
{
if
(
!
window
.
CLODOP2015_7028
)
eval
(
e
.
data
);}
WSK2
.
onerror
=
function
(
e
)
{
checkOrTryHttp
();}
}
}
catch
(
e
){
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
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
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
strLodop7Install_X86
=
strLodop7FontTag
+
"
未安装启动,
"
+
strLodop7HrefX86
;
var
strLodop7Install_ARM
=
strLodop7FontTag
+
"
未安装启动,
"
+
strLodop7HrefARM
;
var
strLodop7Update_X86
=
strLodop7FontTag
+
"
需升级,
"
+
strLodop7HrefX86
;
var
strLodop7Update_ARM
=
strLodop7FontTag
+
"
需升级,
"
+
strLodop7HrefARM
;
var
strInstallOK
=
"
,成功后请刷新本页面或重启浏览器。</font>
"
;
var
LODOP
;
try
{
var
isWinIE
=
(
/MSIE/i
.
test
(
navigator
.
userAgent
))
||
(
/Trident/i
.
test
(
navigator
.
userAgent
));
var
isWinIE64
=
isWinIE
&&
(
/x64/i
.
test
(
navigator
.
userAgent
));
var
isLinuxX86
=
(
/Linux/i
.
test
(
navigator
.
platform
))
&&
(
/x86/i
.
test
(
navigator
.
platform
));
var
isLinuxARM
=
(
/Linux/i
.
test
(
navigator
.
platform
))
&&
(
/aarch/i
.
test
(
navigator
.
platform
));
if
(
needCLodop
()
||
isLinuxX86
||
isLinuxARM
)
{
try
{
LODOP
=
window
.
CLODOP2015_7028
;
}
catch
(
err
)
{}
if
(
!
LODOP
&&
LoadJsState
!==
"
complete
"
)
{
if
(
!
LoadJsState
)
alert
(
"
未曾加载Lodop主JS文件,请先调用loadCLodop过程.
"
);
else
alert
(
"
网页还没下载完毕,请稍等一下再操作.
"
+
LoadJsState
);
return
;
}
var
strAlertMessage
;
if
(
!
LODOP
)
{
if
(
isLinuxX86
)
strAlertMessage
=
strLodop7Install_X86
;
else
if
(
isLinuxARM
)
strAlertMessage
=
strLodop7Install_ARM
;
else
strAlertMessage
=
strCLodopInstallA
+
(
CLodopIsLocal
?
strCLodopInstallB
:
""
);
document
.
body
.
innerHTML
=
strAlertMessage
+
strInstallOK
+
document
.
body
.
innerHTML
;
return
;
}
else
{
if
(
isLinuxX86
&&
LODOP
.
CVERSION
<
"
7.0.4.3
"
)
strAlertMessage
=
strLodop7Update_X86
;
else
if
(
isLinuxARM
&&
LODOP
.
CVERSION
<
"
7.0.4.3
"
)
strAlertMessage
=
strLodop7Update_ARM
;
else
if
(
CLODOP
.
CVERSION
<
"
6.5.6.6
"
)
strAlertMessage
=
strCLodopUpdate
;
if
(
strAlertMessage
)
document
.
body
.
innerHTML
=
strAlertMessage
+
strInstallOK
+
document
.
body
.
innerHTML
;
}
}
else
{
//==如果页面有Lodop插件就直接使用,否则新建:==
if
(
oOBJECT
||
oEMBED
)
{
if
(
isWinIE
)
LODOP
=
oOBJECT
;
else
LODOP
=
oEMBED
;
}
else
if
(
!
CreatedOKLodopObject
)
{
LODOP
=
document
.
createElement
(
"
object
"
);
LODOP
.
setAttribute
(
"
width
"
,
0
);
LODOP
.
setAttribute
(
"
height
"
,
0
);
LODOP
.
setAttribute
(
"
style
"
,
"
position:absolute;left:0px;top:-100px;width:0px;height:0px;
"
);
if
(
isWinIE
)
LODOP
.
setAttribute
(
"
classid
"
,
"
clsid:2105C259-1E0C-4534-8141-A753534CB4CA
"
);
else
LODOP
.
setAttribute
(
"
type
"
,
"
application/x-print-lodop
"
);
document
.
documentElement
.
appendChild
(
LODOP
);
CreatedOKLodopObject
=
LODOP
;
}
else
LODOP
=
CreatedOKLodopObject
;
//==Lodop插件未安装时提示下载地址:==
if
((
!
LODOP
)
||
(
!
LODOP
.
VERSION
))
{
document
.
body
.
innerHTML
=
(
isWinIE64
?
strLodop64Install
:
strLodopInstall
)
+
strInstallOK
+
document
.
body
.
innerHTML
;
return
LODOP
;
}
if
(
LODOP
.
VERSION
<
"
6.2.2.6
"
)
{
document
.
body
.
innerHTML
=
(
isWinIE64
?
strLodop64Update
:
strLodopUpdate
)
+
strInstallOK
+
document
.
body
.
innerHTML
;
}
}
//===如下空白位置适合调用统一功能(如注册语句、语言选择等):=======================
LODOP
.
SET_LICENSES
(
"
江西省晨尚科技有限公司
"
,
"
9D5CB0779D3B7FF8B70BD2F896DA5312
"
,
""
,
""
);
//===============================================================================
return
LODOP
;
}
catch
(
err
)
{
alert
(
"
getLodop出错:
"
+
err
);
}
}
src/api/ecw/currencyEcash.js
View file @
e3e9153c
...
...
@@ -18,6 +18,16 @@ export function updateCurrencyEcash(data) {
})
}
// 更新E-Cash汇率单位
export
function
updateCurrencyEcashAll
(
data
)
{
console
.
log
(
data
);
return
request
({
url
:
'
/ecw/currency-ecash/updateAll
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除E-Cash汇率单位
export
function
deleteCurrencyEcash
(
id
)
{
return
request
({
...
...
src/api/ecw/order.js
View file @
e3e9153c
...
...
@@ -52,3 +52,35 @@ export function exportOrderExcel(query) {
responseType
:
'
blob
'
})
}
// 打印标签
export
function
printTag
(
id
)
{
return
request
({
url
:
'
/order/print/orderTagPrint?orderId=
'
+
id
,
method
:
'
get
'
,
})
}
//根据订单号获得订单费用申请列表
export
function
feeApplicationListByOrderId
(
query
){
return
request
({
url
:
'
/order/fee-application/listByOrderId
'
,
method
:
'
get
'
,
params
:
query
,
})
}
//费用申请提交
export
function
feeApplicationCreate
(
data
){
return
request
({
url
:
'
order/fee-application/create
'
,
method
:
'
post
'
,
data
:
data
,
})
}
// 创建特殊
export
function
specialNeedCreate
(
data
){
return
request
({
url
:
'
ecw/order-special-need/create
'
,
method
:
'
post
'
,
data
:
data
,
})
}
src/api/member/user.js
View file @
e3e9153c
...
...
@@ -53,68 +53,85 @@ export function exportUserExcel(query) {
responseType
:
'
blob
'
})
}
//操作日志
export
function
operationLogApi
(
query
)
{
export
function
operationLogApi
(
query
)
{
return
request
({
url
:
'
/member/user/operation-log/page
'
,
method
:
'
get
'
,
params
:
query
,
url
:
'
/member/user/operation-log/page
'
,
method
:
'
get
'
,
params
:
query
,
})
}
//更新证书
export
function
seTupdateBackletter
(
data
)
{
return
request
({
url
:
'
/member/user/update-backletter
'
,
method
:
'
put
'
,
data
:
data
export
function
seTupdateBackletter
(
data
)
{
return
request
({
url
:
'
/member/user/update-backletter
'
,
method
:
'
put
'
,
data
:
data
})
})
}
//获取指定用户的实名认证信息
export
function
memberGetAuthIdcardInfo
(
query
){
export
function
memberGetAuthIdcardInfo
(
query
)
{
return
request
({
url
:
'
/member/user/get-auth-idcard-info
'
,
method
:
'
get
'
,
params
:
query
,
url
:
'
/member/user/get-auth-idcard-info
'
,
method
:
'
get
'
,
params
:
query
,
})
}
//获取指定企业认证信息
export
function
memberGetAuthEnterpriseInfo
(
query
){
export
function
memberGetAuthEnterpriseInfo
(
query
)
{
return
request
({
url
:
'
/member/user/get-auth-enterprise-info
'
,
method
:
'
get
'
,
params
:
query
,
url
:
'
/member/user/get-auth-enterprise-info
'
,
method
:
'
get
'
,
params
:
query
,
})
}
//身份证审核
export
function
memberUserAuditIdCard
(
query
)
{
export
function
memberUserAuditIdCard
(
query
)
{
return
request
({
url
:
'
/member/user/audit-idcard
'
,
method
:
'
get
'
,
params
:
query
,
url
:
'
/member/user/audit-idcard
'
,
method
:
'
get
'
,
params
:
query
,
})
}
}
//企业认证审核
export
function
memberUserAuditEnterprise
(
query
){
return
request
({
url
:
'
/member/user/audit-enterprise
'
,
method
:
'
get
'
,
params
:
query
,
})
export
function
memberUserAuditEnterprise
(
query
)
{
return
request
({
url
:
'
/member/user/audit-enterprise
'
,
method
:
'
get
'
,
params
:
query
,
})
}
//修改身份证
export
function
memberUserUpdateIdCard
(
data
)
{
export
function
memberUserUpdateIdCard
(
data
)
{
return
request
({
url
:
'
/member/user/update-idcard
'
,
method
:
'
put
'
,
url
:
'
/member/user/update-idcard
'
,
method
:
'
put
'
,
data
:
data
})
}
}
// 修改企业
export
function
memberUserUpdateEnterprise
(
data
){
return
request
({
url
:
'
/member/user/update-enterprise
'
,
method
:
'
put
'
,
data
:
data
,
})
export
function
memberUserUpdateEnterprise
(
data
)
{
return
request
({
url
:
'
/member/user/update-enterprise
'
,
method
:
'
put
'
,
data
:
data
,
})
}
//修改状态
export
function
setUserUpdateStatus
(
data
)
{
return
request
({
url
:
'
/member/user/update-status
'
,
method
:
'
put
'
,
data
:
data
,
})
}
src/router/index.js
View file @
e3e9153c
...
...
@@ -283,6 +283,67 @@ export const constantRoutes = [
},
]
},
{
path
:
'
/order
'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
children
:
[
{
path
:
'
associated-order/:orderId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/order/associatedOrder
'
),
props
:
true
,
name
:
'
associatedOrder
'
,
meta
:
{
title
:
'
关联订单
'
,
icon
:
''
,
activeMenu
:
'
/order/associatedOrder
'
}
},
{
path
:
'
add-associated-order/:orderId
'
,
component
:()
=>
import
(
'
@/views/ecw/order/addAssociatedOrder
'
),
props
:
true
,
name
:
'
addAssociatedOrder
'
,
meta
:{
title
:
'
添加关联订单
'
,
icon
:
''
,
activeMenu
:
'
/order/addAssociatedOrder
'
}
},
{
path
:
'
single-application/:orderId
'
,
component
:()
=>
import
(
'
@/views/ecw/order/singleApplication
'
),
props
:
true
,
name
:
'
singleApplication
'
,
meta
:
{
title
:
'
调仓申请
'
,
icon
:
''
,
activeMenu
:
'
/order/singleApplication
'
}
},
{
path
:
'
batch-single-application/:orderId
'
,
component
:()
=>
import
(
'
@/views/ecw/order/batchSingleApplication
'
),
name
:
'
batchSingleApplication
'
,
meta
:
{
title
:
'
批量调仓申请
'
,
icon
:
''
,
activeMenu
:
'
/order/batchSingleApplication
'
}
},
{
path
:
'
fee-application/:orderId
'
,
component
:()
=>
import
(
'
@/views/ecw/order/feeApplication
'
),
name
:
'
feeApplication
'
,
props
:
true
,
meta
:
{
title
:
'
费用申请
'
,
icon
:
''
,
activeMenu
:
'
/order/feeApplication
'
}
}
],
},
{
path
:
'
/boxSea
'
,
component
:
Layout
,
...
...
src/utils/dict.js
View file @
e3e9153c
...
...
@@ -99,6 +99,7 @@ export const DICT_TYPE = {
ECW_RECEIPT_STATE
:
'
receipt_state
'
,
//收款单状态
ECW_SUING_METHOD
:
'
suing_method
'
,
// 出单方式
ECW_HARVEST_METHOD
:
'
harvest_method
'
,
// 收货方式
ECW_PAY_ADVANCE
:
'
pay_advance
'
,
// 是否预付
//--------ecw---------
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
...
...
@@ -143,6 +144,11 @@ export const DICT_TYPE = {
ORDER_ERROR_TYPE
:
'
order_error_type
'
,
//订单异常类型
ORDER_EXCEPTION_STATUS
:
'
order_exception_status
'
,
//异常订单状态
ECASH_INIT
:
'
ecash_init
'
,
//e-cash
FEE_TYPE
:
'
fee_type
'
,
PAY_TYPE
:
'
pay_type
'
,
RECEIVE_FLAG
:
'
receive_flag
'
,
COMDINED_VALUE_ADDED_FEE
:
'
combined_value_added_fee
'
,
ORDER_SPECIAL_NEEDS
:
'
order_special_needs
'
}
/**
...
...
src/utils/lodop.js
0 → 100644
View file @
e3e9153c
const
lodop
=
function
(){
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
window
.
getLodop
){
var
hm
=
document
.
createElement
(
"
script
"
);
hm
.
src
=
"
/static/LodopFuncs.js
"
;
hm
.
onload
=
function
(){
console
.
log
(
'
lodop.js已加载
'
)
// 加载js文件后会自动链接ws,等一会再操作
setTimeout
(
res
=>
{
resolve
(
getLodop
())
},
500
)
}
hm
.
onerror
=
function
(
err
){
reject
(
err
)
}
var
s
=
document
.
getElementsByTagName
(
"
script
"
)[
0
];
s
.
parentNode
.
insertBefore
(
hm
,
s
);
}
else
resolve
(
getLodop
())
})
}
export
default
lodop
\ No newline at end of file
src/views/ecw/currencyEcash/index.vue
View file @
e3e9153c
...
...
@@ -34,36 +34,37 @@
<el-form
ref=
"retForm"
:model=
"retForm"
>
<el-form-item
label=
"有效时间(尼日利亚)"
>
<el-col
:span=
"3"
>
<el-date-picker
type=
"datetime"
disabled
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
this.ecashDatas.find(item=>item.value == 1).label
"
style=
"width: 100%;"
></el-date-picker>
<el-date-picker
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
retForm.nrlyStartTime
"
style=
"width: 100%;"
@
change=
"changeDictData1"
></el-date-picker>
</el-col>
<el-col
:span=
"1"
align=
"center"
>
-
</el-col>
<el-col
:span=
"3"
>
<el-
time-picker
type=
"datetime"
disabled
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
this.ecashDatas.find(item=>item.value == 2).label
"
style=
"width: 100%;"
></el-
tim
e-picker>
<el-
date-picker
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
retForm.nrlyEndTime"
@
change=
"changeDictData2
"
style=
"width: 100%;"
></el-
dat
e-picker>
</el-col>
</el-form-item>
</el-form>
<el-form>
<el-form-item
label=
"有效时间(北京)"
>
<el-col
:span=
"3"
>
<el-date-picker
type=
"datetime"
disabled
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"this.ecashDatas.find(item=>item.value == 3).label"
<el-date-picker
type=
"datetime"
:disable=
"showFlag"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"changeDictData3"
v-model=
"retForm.bjStartTime"
style=
"width: 100%;"
></el-date-picker>
</el-col>
<el-col
align=
"center"
:span=
"1"
>
-
</el-col>
<el-col
:span=
"3"
>
<el-
time-picker
type=
"datetime"
disabled
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
this.ecashDatas.find(item=>item.value == 4).label
"
style=
"width: 100%;"
></el-
tim
e-picker>
<el-
date-picker
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"
retForm.bjEndTime"
@
change=
"changeDictData4
"
style=
"width: 100%;"
></el-
dat
e-picker>
</el-col>
</el-form-item>
</el-form>
<el-form
:inline=
"true"
>
<el-form-item
label=
"过期提示语:"
prop=
"remark"
>
<
span>
{{ 5 | ecashDataFilter(ecashDatas) }}
</span
>
<
el-input
v-model=
"retForm.remark"
type=
"textarea"
@
change=
"changeDictData5"
></el-input
>
</el-form-item>
</el-form>
</el-card>
...
...
@@ -134,13 +135,14 @@
createCurrencyEcash
,
updateCurrencyEcash
,
deleteCurrencyEcash
,
updateCurrencyEcashAll
,
getCurrencyEcash
,
getCurrencyEcashPage
,
exportCurrencyEcashExcel
}
from
"
@/api/ecw/currencyEcash
"
;
import
{
CommonStatusEnum
}
from
"
@/utils/constants
"
;
import
{
changeUserStatus
}
from
"
@/api/system/user
"
;
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
,
getDictDatas
,
getDictData
}
from
"
@/utils/dict
"
;
export
default
{
name
:
"
CurrencyEcash
"
,
...
...
@@ -171,6 +173,11 @@
open
:
false
,
dateRangeCreateTime
:
[],
showFlag
:
false
,
nrlyStartTime
:
getDictData
(
DICT_TYPE
.
ECASH_INIT
,
1
).
label
,
nrlyEndTime
:
getDictData
(
DICT_TYPE
.
ECASH_INIT
,
2
).
label
,
bjStartTime
:
getDictData
(
DICT_TYPE
.
ECASH_INIT
,
3
).
label
,
bjEndTime
:
getDictData
(
DICT_TYPE
.
ECASH_INIT
,
4
).
label
,
remark
:
getDictData
(
DICT_TYPE
.
ECASH_INIT
,
5
).
label
,
startTime
:
""
,
// 查询参数
queryParams
:
{
...
...
@@ -184,6 +191,7 @@
aorder
:
null
,
},
retForm
:
{},
updForm
:
{},
// 表单参数
form
:
{},
// 表单校验
...
...
@@ -264,6 +272,46 @@
this
.
showFlag
=
false
;
});
},
changeDictData1
(
value
)
{
this
.
updForm
.
nrlyStartTime
=
value
;
updateCurrencyEcashAll
(
this
.
updForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
getList
();
this
.
showFlag
=
false
;
});
},
changeDictData2
(
value
)
{
this
.
updForm
.
nrlyEndTime
=
value
;
updateCurrencyEcashAll
(
this
.
updForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
getList
();
this
.
showFlag
=
false
;
});
},
changeDictData3
(
value
)
{
this
.
updForm
.
bjStartTime
=
value
;
updateCurrencyEcashAll
(
this
.
updForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
getList
();
this
.
showFlag
=
false
;
});
},
changeDictData4
(
value
)
{
this
.
updForm
.
bjEndTime
=
value
;
updateCurrencyEcashAll
(
this
.
updForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
getList
();
this
.
showFlag
=
false
;
});
},
changeDictData5
(
value
)
{
this
.
updForm
.
remark
=
value
;
updateCurrencyEcashAll
(
this
.
updForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
getList
();
this
.
showFlag
=
false
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
...
...
src/views/ecw/order/addAssociatedOrder.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div
class=
"add-associated-order"
>
<h1
class=
"title"
>
订单号:ECP0013123N 选择订单
</h1>
<el-divider></el-divider>
<el-form
inline
label-width=
"85px"
label-position=
"left"
>
<el-form-item
label=
"订单号"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"唛头"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"商品类型"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"商品名称"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"运输方式"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"出货渠道"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"客户名称"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"客户手机号"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item
label=
"商品特性"
>
<div
class=
"content"
></div>
</el-form-item>
<el-form-item>
<el-button>
查询
</el-button>
<el-button>
重置
</el-button>
</el-form-item>
</el-form>
<h1
class=
"title"
>
未加入关联订单列表
</h1>
<el-divider></el-divider>
<el-table>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"序号"
></el-table-column>
<el-table-column
label=
"订单号"
></el-table-column>
<el-table-column
label=
"唛头"
></el-table-column>
<el-table-column
label=
"商品名列表"
></el-table-column>
<el-table-column
label=
"货物特性"
></el-table-column>
<el-table-column
label=
"货物材质"
></el-table-column>
<el-table-column
label=
"货物数据"
></el-table-column>
<el-table-column
label=
"入仓时间"
></el-table-column>
<el-table-column
label=
"状态"
></el-table-column>
<el-table-column
label=
"操作人"
></el-table-column>
<el-table-column
label=
"操作时间"
></el-table-column>
<el-table-column
label=
"操作"
></el-table-column>
</el-table>
<el-row
style=
"margin-top: 40px"
>
<el-col>
<el-button
type=
"primary"
>
批量加入关联
</el-button>
<el-button>
取消
</el-button>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
//添加关联订单
export
default
{
name
:
"
addAssociatedOrder
"
}
</
script
>
<
style
scoped
lang=
"scss"
>
.add-associated-order
{
padding
:
20px
;
box-sizing
:
border-box
;
.title
{
font-size
:
30px
;
font-weight
:
600
;
text-align
:
left
;
}
.el-form
{
.content
{
width
:
300px
;
}
}
}
</
style
>
src/views/ecw/order/associatedOrder.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div
class=
"associated-order"
>
<h1
class=
"title"
>
关联订单-
{{
orderDetails
.
orderNo
}}
</h1>
<el-divider></el-divider>
<orde-details-form
:details =
"orderDetails"
></orde-details-form>
<el-divider></el-divider>
<el-form
inline
label-width=
"100px"
>
<el-form-item
label=
"订单号"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"唛头"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"商品类型"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"商品名称"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"运输方式"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"出货渠道"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"客户名称"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"客户手机号"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item
label=
"商品特性"
><div
class=
"content"
>
<el-input></el-input>
</div></el-form-item>
<el-form-item><div
class=
"content"
>
<el-button>
查询
</el-button>
<el-button>
重置
</el-button>
</div></el-form-item>
</el-form>
<el-divider></el-divider>
<div
style=
"display: flex;align-items: center;"
>
<h1
class=
"title"
>
已加入关联订单列表
</h1>
<div
style=
"flex: 1;margin-left: 20px;"
>
<el-button
type=
"primary"
>
批量移出
</el-button>
</div>
<div>
<el-button
type=
"primary"
>
添加关联订单
</el-button>
</div>
</div>
<el-table>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"序号"
></el-table-column>
<el-table-column
label=
"订单号"
></el-table-column>
<el-table-column
label=
"唛头"
></el-table-column>
<el-table-column
label=
"商品名列表"
></el-table-column>
<el-table-column
label=
"货物特性"
></el-table-column>
<el-table-column
label=
"货物材质"
></el-table-column>
<el-table-column
label=
"货物数据"
></el-table-column>
<el-table-column
label=
"入仓时间"
></el-table-column>
<el-table-column
label=
"状态"
></el-table-column>
<el-table-column
label=
"操作人"
></el-table-column>
<el-table-column
label=
"操作时间"
></el-table-column>
<el-table-column
label=
"操作"
></el-table-column>
</el-table>
</div>
</
template
>
<
script
>
//关联订单
import
ordeDetailsForm
from
"
@/views/ecw/order/components/ordeDetailsForm
"
;
import
{
getOrder
}
from
"
@/api/ecw/order
"
;
export
default
{
name
:
"
associatedOrder
"
,
props
:{
orderId
:[
String
,
Boolean
]
},
components
:{
ordeDetailsForm
},
data
(){
return
{
orderDetails
:{}
}
},
created
()
{
getOrder
(
this
.
orderId
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
orderDetails
=
r
.
data
;
}
})
},
}
</
script
>
<
style
scoped
lang=
"scss"
>
.associated-order
{
padding
:
20px
;
box-sizing
:
border-box
;
.title
{
font-size
:
30px
;
font-weight
:
600
;
}
}
</
style
>
src/views/ecw/order/batchSingleApplication.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div
class=
"batch-single-application"
>
<h1
class=
"title"
>
批量调仓申请
</h1>
<el-table>
<el-table-column
label=
"订单编号"
></el-table-column>
<el-table-column
label=
"唛头"
></el-table-column>
<el-table-column
label=
"已到箱数/总箱数"
></el-table-column>
<el-table-column
label=
"下单统计"
></el-table-column>
<el-table-column
label=
"入仓统计"
></el-table-column>
<el-table-column
label=
"运输方式"
></el-table-column>
<el-table-column
label=
"出货渠道"
></el-table-column>
<el-table-column
label=
"始发仓"
></el-table-column>
<el-table-column
label=
"目的地"
></el-table-column>
<el-table-column
label=
"送货时间"
></el-table-column>
</el-table>
<div
style=
"display: flex;justify-content:center; margin-top: 20px"
>
<div
style=
"width: 300px;height: 50px;border: 1px solid; margin: 0 10px"
></div>
<div
style=
"width: 300px;height: 50px;border: 1px solid;"
></div>
</div>
<el-divider></el-divider>
<h1
class=
"title"
>
审批流程
</h1>
<div
style=
"height: 100px"
></div>
<el-form
label-width=
"200px"
>
<el-form-item
label=
"抄送"
></el-form-item>
<el-form-item
label=
"抄送人"
></el-form-item>
</el-form>
<div
style=
"text-align: center"
>
<el-button
style=
"margin-right: 50px"
>
提交申请
</el-button>
<el-button>
取消
</el-button>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
batchSingleApplication
"
}
</
script
>
<
style
scoped
lang=
"scss"
>
.batch-single-application
{
padding
:
20px
;
box-sizing
:
border-box
;
.title
{
font-weight
:
600
;
}
}
</
style
>
src/views/ecw/order/components/PrintTag.vue
0 → 100644
View file @
e3e9153c
<
template
>
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
>
<div
class=
""
v-if=
"step == 'form'"
>
<el-form
ref=
"form"
:model=
"form"
label-position=
"left"
label-width=
"100px"
>
<el-form-item
v-if=
"detail"
label=
"订单号"
>
<el-input
v-model=
"detail.orderNo"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"起始标签"
prop=
"start"
required
>
<el-input
v-model.number=
"form.start"
type=
"number"
></el-input>
</el-form-item>
<el-form-item
label=
"结束标签"
prop=
"end"
required
>
<el-input
v-model.number=
"form.end"
type=
"number"
:max=
"detail ? detail.num : 1"
></el-input>
</el-form-item>
<el-form-item
label=
""
>
<el-button
type=
"primary"
@
click=
"showPreview"
>
去打印
</el-button>
</el-form-item>
</el-form>
</div>
<template
v-if=
"step=='preview'"
>
<div
style=
"width: 80mm; margin: 0 auto;"
id=
"order-print-tag"
v-if=
"detail"
>
<div
style=
"float: left; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; "
>
<img
:src=
"detail.url"
alt=
"ECP0063704N-1"
style=
"width: 26mm"
/>
<p
style=
" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; "
>
{{
detail
.
orderNo
}}
-
{{
currentNo
}}
</p>
<p
style=
"margin-top: -1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 6mm"
>
{{
currentNo
}}
</span>
</p>
</div>
<div
style=
"float: left; width: 50mm; margin-bottom: 2mm"
>
<p
style=
" padding-top: 0px; border-bottom: 0.2mm solid #333; text-align: center; line-height: 6mm; padding: 0px; padding-bottom: 2.5mm; margin: 0px; font-weight: 600; font-size: 6mm; "
>
{{
detail
.
orderNo
}}
</p>
<p
style=
" padding: 0px; border-bottom: 0.2mm solid #333; text-align: center; line-height: 6mm; padding: 0px; padding-top: 2.6mm; padding-bottom: 2.6mm; margin: 0px; font-weight: 600; font-size: 6mm; "
>
{{
detail
.
marks
}}
</p>
<p
style=
" padding: 0px; border-bottom: 0.2mm solid #333; text-align: center; line-height: 6mm; padding: 0px; margin: 0px; font-size: 5mm; text-transform: uppercase; padding-top: 3.5mm; padding-bottom: 2.5mm; "
>
{{
detail
.
startTitleEn
}}
--
>
<label
style=
"font-weight: 600; font-size: 5.5mm"
>
{{
detail
.
destTitleEn
}}
</label>
</p>
<p
style=
" padding: 0px; padding-top: 2.7mm; padding-bottom: 2.7mm; padding-left: 3mm; float: left; width: 29%; border-bottom: 0.2mm solid #333; text-align: center; line-height: 6mm; font-size: 4mm; text-transform: uppercase; margin: 0px; "
>
LCL
</p>
<p
style=
" padding: 0px; padding-top: 2.7mm; padding-bottom: 2.7mm; padding-left: 4mm; float: left; border-left: 0.2mm solid #333; border-bottom: 0.2mm solid #333; text-align: center; line-height: 6mm; margin: 0px; font-size: 5mm; text-transform: uppercase; font-weight: 500; "
>
{{
detail
.
inTime
|
parseTime
(
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/p
>
<
/div
>
<
div
style
=
"
width: 76mm
"
>
<
p
style
=
"
text-align: center
"
>
<
label
style
=
"
font-size: 5mm; font-weight: 600; padding-right: 1mm
"
>
E
&
amp
;
C
<
/labe
l
>
{{
detail
.
foot
}}
<
/p
>
<
/div
>
<
/div
>
<
div
style
=
"
text-align:center;
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
print
"
>
确定打印
<
/el-button
>
<
/div
>
<
/template
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
printTag
}
from
'
@/api/ecw/order
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
lodop
from
'
@/utils/lodop
'
export
default
{
filters
:
{
parseTime
}
,
props
:{
orderId
:
[
String
,
Number
]
}
,
data
(){
return
{
show
:
false
,
detail
:
null
,
step
:
'
form
'
,
form
:{
start
:
1
,
end
:
1
}
,
currentNo
:
1
}
}
,
computed
:{
title
(){
let
t
=
'
打印标签
'
if
(
this
.
detail
){
t
+=
'
-
'
+
this
.
detail
.
orderNo
}
return
t
}
}
,
created
(){
this
.
show
=
true
this
.
loadData
()
}
,
methods
:{
loadData
(){
printTag
(
this
.
orderId
).
then
(
res
=>
{
this
.
$set
(
this
,
'
detail
'
,
res
.
data
[
0
])
}
)
}
,
closeDialog
(){
console
.
log
(
'
关闭
'
)
this
.
show
=
false
this
.
$emit
(
'
close
'
);
}
,
showPreview
(){
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
return
;
}
this
.
currentNo
=
this
.
form
.
start
this
.
step
=
'
preview
'
}
)
}
,
print
(){
lodop
().
then
(
LODOP
=>
{
LODOP
.
PRINT_INIT
(
this
.
title
);
LODOP
.
SET_PRINT_STYLE
(
"
FontSize
"
,
18
);
LODOP
.
SET_PRINT_STYLE
(
"
Bold
"
,
1
);
// LODOP.ADD_PRINT_TEXT(50,231,260,39,"打印页面部分内容");
for
(
let
i
=
this
.
form
.
start
;
i
<=
this
.
form
.
end
;
i
++
){
LODOP
.
ADD_PRINT_HTM
(
88
,
200
,
350
,
600
,
document
.
getElementById
(
"
order-print-tag
"
).
innerHTML
);
LODOP
.
PRINT
();
}
this
.
$alert
(
'
已发起打印任务
'
);
// LODOP.PREVIEW(); // 预览
/* LODOP.PRINTA(); // 选择打印机
// 直接打印 */
console
.
log
(
'
打印哦
'
)
}
).
catch
(
err
=>
{
console
.
error
(
'
lodop异常
'
,
err
)
alert
(
'
请检查LODOP打印控件是否安装并启动
'
);
}
)
}
}
}
<
/script>
\ No newline at end of file
src/views/ecw/order/components/ordeDetailsForm.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div>
<el-descriptions
class=
"margin-top"
border
:column=
"4"
>
<el-descriptions-item
label=
"唛头"
>
{{
details
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数/总箱数"
>
{{
details
.
sumQuantity
}}
/
{{
details
.
sumNum
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
{{
details
.
status
}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货日期"
>
{{}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
{{
details
.
transportId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
>
{{
details
.
channelId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
details
.
logisticsInfoDto
.
startWarehouseId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
details
.
logisticsInfoDto
.
destWarehouseId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
details
.
consignorVO
.
customerId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人公司"
>
{{
details
.
consignorVO
.
company
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
details
.
consignorVO
.
phone
}}
</el-descriptions-item>
<el-descriptions-item></el-descriptions-item>
<el-descriptions-item
label=
"收货人姓名"
>
{{
details
.
consigneeVO
.
customerId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司"
>
{{
details
.
consigneeVO
.
company
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
details
.
consigneeVO
.
phone
}}
</el-descriptions-item>
<el-descriptions-item></el-descriptions-item>
</el-descriptions>
</div>
</
template
>
<
script
>
export
default
{
props
:{
details
:{
type
:
Object
,
default
:()
=>
{
return
{
logisticsInfoDto
:
undefined
,
consignorVO
:
undefined
,
consigneeVO
:
undefined
,
}
}
},
},
name
:
"
ordeDetailsForm
"
,
}
</
script
>
src/views/ecw/order/components/specialNeeds.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div>
<el-dialog
:before-close=
"()=>
{
clearFrom();$emit('update:show',false)
}" center width="80%" :visible.sync="show">
<div
class=
"content"
>
<el-form
label-width=
"180px"
label-position=
"left"
>
<el-form-item
label=
"特殊要求"
>
<dict-selector
v-model=
"form.advanceType"
formType=
"radio"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
></dict-selector>
</el-form-item>
<el-form-item
label=
"特殊要求备注"
><el-input
type=
"textarea"
style=
"width: 300px;"
v-model=
"form.todoDetail"
></el-input></el-form-item>
<el-form-item
label=
"内陆运费垫付预计金额"
v-if=
"form.advanceType == 6"
>
<el-input
style=
"width: 300px;"
v-model=
"form.transFee"
>
<div
style=
"width: 100px;"
slot=
"append"
>
<dict-selector
v-model=
"form.transCurrency"
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
></dict-selector>
</div>
</el-input>
</el-form-item>
<el-form-item
label=
"付款类型"
v-if=
"form.advanceType == 6"
>
<div
style=
"width: 300px;"
>
<dict-selector
v-model=
"form.payType"
:type=
"DICT_TYPE.PAY_TYPE"
></dict-selector>
</div>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"clearFrom();$emit('update:show',false)"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
{
specialNeedCreate
}
from
"
@/api/ecw/order
"
;
export
default
{
name
:
"
specialNeeds
"
,
created
()
{
this
.
clearFrom
()
},
props
:{
orderId
:{
type
:[
String
,
Number
],
},
show
:
Boolean
,
},
data
(){
return
{
getDictDatas
,
DICT_TYPE
,
form
:{},
}
},
methods
:{
clearFrom
(){
this
.
form
=
{
advanceType
:
undefined
,
advanceWho
:
undefined
,
payType
:
undefined
,
todoDetail
:
undefined
,
transCurrency
:
undefined
,
transFee
:
undefined
}
},
submit
(){
specialNeedCreate
(
this
.
form
).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
code
===
0
){
this
.
clearFrom
();
this
.
$emit
(
'
update:show
'
,
false
)
}
})
},
},
watch
:{
orderId
(
val
){
this
.
form
.
orderId
=
val
;
},
'
form.advanceType
'
(
val
){
this
.
form
.
transFee
=
undefined
;
this
.
form
.
transCurrency
=
undefined
;
this
.
form
.
payType
=
undefined
;
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/ecw/order/edit.vue
View file @
e3e9153c
...
...
@@ -116,7 +116,7 @@
<el-table-column
label=
"品牌"
width=
"100px"
>
<
template
slot-scope=
"{row}"
>
<dict-selector
v-model=
"row.brand"
:type=
"DICT_TYPE.ECW_IS_BRAND"
formatter=
"bool"
defaultable
@
input=
"calculationPrice(row)"
:disabled=
"!form.lineId"
/>
<dict-selector
v-model=
"row.brand"
:type=
"DICT_TYPE.ECW_IS_BRAND"
defaultable
@
input=
"calculationPrice(row)"
:disabled=
"!form.lineId"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"件数"
width=
"90px"
>
...
...
@@ -164,19 +164,22 @@
<el-table-column
label=
"运费"
width=
"200px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.fee"
>
<template
v-if=
"row.fee && row.fee.charging == 1"
>
全包价:
{{
row
.
fee
.
freight
}}
{{
currentcyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</
template
>
<
template
v-else-if=
"row.fee"
>
<div>
运费:
{{
row
.
fee
.
seaFreight
}}
{{
currentcyMap
[
row
.
fee
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
seaF
reightVolume
]
}}
运费:
{{
row
.
fee
.
freight
}}
{{
currentcyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
f
reightVolume
]
}}
</div>
<div>
清关费:
{{
row
.
fee
.
clearanceF
reight
}}
{{
currentcyMap
[
row
.
fee
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFreight
Volume
]
}}
清关费:
{{
row
.
fee
.
clearanceF
ee
}}
{{
currentcyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFee
Volume
]
}}
</div>
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"是否预付"
width=
"200px"
>
<el-table-column
label=
"是否预付"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
yufu
||
'
未知
'
}}
<dict-tag
v-if=
"row.fee"
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.fee.isPayAdvance"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"80px"
fixed=
"right"
>
...
...
@@ -188,7 +191,7 @@
<!--
</el-card>
<el-card class="mt-10"> -->
<div
class=
"card-title"
style=
"padding:20px 0;"
>
费用小
计
</div>
<div
class=
"card-title"
style=
"padding:20px 0;"
>
合
计
</div>
<el-descriptions
:column=
"4"
border
>
<el-descriptions-item
label=
"总件数"
>
{{sum.totalNum || 0}}
...
...
@@ -208,6 +211,60 @@
</el-descriptions>
</el-card>
<el-card
class=
"mt-10"
>
<div
class=
"card-title"
slot=
"header"
>
预计费用
</div>
<el-descriptions
:column=
"5"
border
>
<el-descriptions-item
label=
"保价费"
>
{{fee.insuranceFee || 0}} 人民币
</el-descriptions-item>
<el-descriptions-item
label=
"总运费"
>
<div>
{{fee.seaNGN || 0}}奈拉
</div>
<div>
{{fee.seaRMB || 0}}人民币
</div>
<div>
{{fee.seaUSD || 0}}美元
</div>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item
label=
"总清关费"
>
<div>
{{fee.clearanceNGN || 0}}奈拉
</div>
<div>
{{fee.clearanceRMB || 0}}人民币
</div>
<div>
{{fee.clearanceUSD || 0}}美元
</div>
</el-descriptions-item>
<el-descriptions-item
label=
"其他费用"
>
<!--TODO 缺少其他费用字段-->
<el-input
v-model=
"form.collectionProxy"
placeholder=
""
style=
"width:200px"
></el-input>
<selector
v-model=
"form.collectionProxyCurrency"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"原价"
:span=
"2"
>
<!--TODO 缺少字段-->
<div>
{{fee.clearanceNGN || 0}}奈拉
</div>
<div>
{{fee.clearanceRMB || 0}}人民币
</div>
<div>
{{fee.clearanceUSD || 0}}美元
</div>
</el-descriptions-item>
</el-descriptions>
<div
class=
"card-title"
style=
"padding:20px 0;"
>
优惠信息
</div>
<el-row
v-for=
"(item, index) in getDictDatas(DICT_TYPE.ECW_COUPON_TYPE)"
:key=
"item.value"
>
<el-col
:span=
"2"
>
{{index+1}}.{{item.label}}
</el-col>
<el-col
:span=
"4"
>
<el-select
placeholder=
""
>
</el-select>
</el-col>
<el-col
:span=
"2"
>
-10美元
</el-col>
<el-col
:span=
"5"
>
有效期:永久有效
</el-col>
</el-row>
<el-descriptions
:column=
"1"
border
>
<el-descriptions-item
label=
"优惠合计"
>
1233.1美元
</el-descriptions-item>
<el-descriptions-item
label=
"预计费用"
>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"mt-10"
>
<div
class=
"card-title"
slot=
"header"
>
通用
</div>
...
...
@@ -332,11 +389,10 @@ import Selector from '@/components/Selector'
import
CustomerContactSelector
from
'
@/components/CustomerContactSelector
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
getDictData
}
from
'
@/utils/dict
'
import
{
getDictData
,
getDictDatas
}
from
'
@/utils/dict
'
import
Fee
from
'
@/components/Fee
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
import
{
getDictDatas
}
from
'
@/utils/dict
'
;
import
{
getCustomer
}
from
'
@/api/ecw/customer
'
;
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
import
AreaSelector
from
'
@/components/AreaSelector
'
...
...
@@ -391,6 +447,9 @@ export default {
getDictData
(){
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
getDictDatas
(){
return
getDictDatas
},
// 根据线路id显示线路名称
getRouterNameById
(){
...
...
@@ -460,6 +519,9 @@ export default {
// 收货联系人发生变化获取收货客户
consigneeContact
(){
this
.
getConsignee
()
},
productList
(){
console
.
log
(
'
计算运费
'
)
}
},
created
()
{
...
...
@@ -533,61 +595,13 @@ export default {
this
.
consignee
=
res
.
data
})
},
/* onTransportChange(row, val){
this.this.calculationPrice(row)
if(this.getDictData(this.DICT_TYPE.ECW_TRANSPORT_TYPE, val).cssClass != 'channel') row.channelId = null
this.updateEnabledTransports()
},
onLineChange(row){
this.getProductFee(row)
this.updateEnabledTransports()
},
onChannelChange(row){
this.getProductFee(row)
}, */
onProductAttrChange
(
row
,
attr
){
console
.
log
(
attr
)
this
.
calculationPrice
(
row
)
/* // 需要强制刷新,否则勾选框不更新
this.$forceUpdate() */
},
// 更新运输方式
/* updateEnabledTransports(){
let enabled = {}
this.productList.forEach(prod => {
if(prod.transportId){
if(!enabled[prod.transportId]){
enabled[prod.transportId] = {
// transportId: prod.transportId,
lineIdSet: new Set(),
channelIdSet: new Set(),
routers:[]
}
}
if(prod.lineId){
enabled[prod.transportId].lineIdSet.add(prod.lineId)
}
if(prod.channelId){
enabled[prod.transportId].channelIdSet.add(prod.channelId)
}
if(prod.lineId && enabled[prod.transportId].routers.findIndex(item => { item.lineId == prod.lineId && item.channelId == prod.channelId }) < 0){
enabled[prod.transportId].routers.push({
lineId: prod.lineId,
channelId: prod.channelId
})
}
}
})
console.log(JSON.stringify(enabled))
let enabledTransportIds = Object.keys(enabled).map(item => +item)
this.transportList.forEach(transport => {
this.$set(transport, '_enabled', enabledTransportIds.indexOf(transport.transportId) > -1 && enabled[transport.transportId].routers.length)
if(transport._enabled){
Object.assign(transport, enabled[transport.transportId])
}
})
}, */
addProduct
(
data
){
this
.
productList
.
push
(
data
||
{
prodAttrArr
:[]})
},
...
...
@@ -604,7 +618,7 @@ export default {
channelId
:
this
.
form
.
channelId
,
prodConditionParamList
:
[
row
]
}).
then
(
res
=>
{
this
.
$set
(
row
,
'
fee
'
,
res
.
data
[
0
]
||
{})
this
.
$set
(
row
,
'
fee
'
,
res
.
data
.
prodCostDtoList
[
0
]
||
{})
})
},
// 获取路线
...
...
src/views/ecw/order/feeApplication.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div
class=
"fee-application"
>
<h1>
费用申请-
{{
orderDetails
.
orderNo
}}
</h1>
<el-divider></el-divider>
<el-form
label-width=
"100px"
inline
>
<el-form-item
label=
"订单号:"
><div
class=
"content"
>
{{
orderDetails
.
orderNo
}}
</div></el-form-item>
<el-form-item
label=
"发货人:"
><div
class=
"content"
>
{{
orderDetails
.
consignorVO
.
name
}}
</div></el-form-item>
<el-form-item
label=
"唛头"
><div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div></el-form-item>
<el-form-item>
<el-button
@
click=
"addCost"
>
添加申请
</el-button></el-form-item>
</el-form>
<el-table
:data=
"list"
>
<el-table-column
label=
"序号"
type=
"index"
></el-table-column>
<el-table-column
label=
"费用类型"
>
<template
v-slot:default=
"scope"
>
<dict-selector
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"金额"
>
<
template
v-slot:default =
'scope'
>
<el-input
v-model=
"scope.row.applicationFee"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"货币类型"
>
<
template
v-slot:default =
'scope'
>
<dict-selector
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
v-model=
"scope.row.applicationFeeCurrency"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"付款类型"
>
<
template
v-slot:default =
'scope'
>
<dict-selector
:type=
"DICT_TYPE.PAY_TYPE"
v-model=
"scope.row.payType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
>
<
template
v-slot:default=
"scope"
>
<el-input
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"确认收款"
>
<
template
v-slot:default =
"scope"
>
<dict-tag
:type=
"DICT_TYPE.RECEIVE_FLAG"
:value=
"scope.row.receiveFlag"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"申请人"
>
<
template
v-slot:default =
"scope"
>
{{
scope
.
row
.
status
==
0
?
'
未提交
'
:
scope
.
row
.
applicationAuthor
}}
</
template
>
</el-table-column>
<el-table-column
label=
"审核人"
>
<
template
v-slot:default =
"scope"
>
{{
scope
.
row
.
status
==
0
?
'
未提交
'
:
scope
.
row
.
shenhe
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
v-slot:default =
'scope'
>
<el-button
type=
"text"
v-if=
"scope.row.status !== 0"
>
{{
status
[
scope
.
row
.
status
]
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 2"
>
修改
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
style=
"text-align: center;margin-top: 20px;"
>
<el-button
style=
"margin-right: 30px;"
@
click=
"submit"
>
提交
</el-button>
<el-button>
取消
</el-button>
</div>
</div>
</template>
<
script
>
import
{
getOrder
,
feeApplicationListByOrderId
,
feeApplicationCreate
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
Template
from
"
@/views/cms/template
"
;
let
status
=
{
0
:
'
未提交
'
,
1
:
'
审核中
'
,
2
:
'
审核通过
'
,
3
:
'
审核不通
'
}
export
default
{
name
:
"
feeApplication
"
,
components
:
{
Template
},
props
:{
orderId
:[
Number
,
String
],
},
data
(){
return
{
orderDetails
:{},
list
:[],
DICT_TYPE
,
getDictDatas
,
status
}
},
created
()
{
getOrder
(
this
.
orderId
).
then
(
r
=>
{
this
.
orderDetails
=
r
.
data
})
this
.
feeApplicationFn
();
},
methods
:{
feeApplicationFn
(){
feeApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
{
console
.
log
(
r
)
})
},
addCost
(){
this
.
list
.
push
(
{
orderId
:
this
.
orderId
,
feeType
:
undefined
,
//费用申请类型
applicationFee
:
undefined
,
//金额
applicationFeeCurrency
:
undefined
,
// 费用申请货币类型
remarks
:
undefined
,
receiveFlag
:
0
,
applicationAuthor
:
undefined
,
shenhe
:
undefined
,
status
:
0
,
}
)
},
submit
(){
feeApplicationCreate
(
this
.
list
[
0
]).
then
(
r
=>
{
console
.
log
(
r
);
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.fee-application
{
padding
:
0
20px
;
h1
{
font-weight
:
600
;
font-size
:
20px
;
}
.content
{
width
:
200px
;
}
}
</
style
>
src/views/ecw/order/index.vue
View file @
e3e9153c
...
...
@@ -147,6 +147,11 @@
v-hasPermi=
"['ecw:order:update']"
>
退仓
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:order:delete']"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"printTagOrderId=scope.row.orderId"
v-hasPermi=
"['ecw:order:delete']"
>
打印标签
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/fee-application/$
{scope.row.orderId}`)">费用申请
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;isShow = true"
>
特殊
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/associated-order/$
{scope.row.orderId}`)" >关联
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -185,6 +190,12 @@
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- <el-dialog :title="'打印标签'" visible.sync="showPrintTag">
</el-dialog> -->
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
/>
<special-needs
:show.sync=
"isShow"
:order-id=
"orderId"
></special-needs>
</div>
</template>
...
...
@@ -193,13 +204,16 @@ import Selector from '@/components/Selector'
import
ProductSelector
from
'
@/components/ProductSelector
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
CustomerSelector
from
'
@/components/CustomerSelector
'
import
specialNeeds
from
'
@/views/ecw/order/components/specialNeeds
'
;
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
createOrder
,
updateOrder
,
deleteOrder
,
getOrder
,
getOrderPage
,
exportOrderExcel
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
PrintTag
from
'
./components/PrintTag
'
export
default
{
name
:
"
Order
"
,
components
:
{
CustomerSelector
,
ProductSelector
,
Selector
CustomerSelector
,
ProductSelector
,
Selector
,
specialNeeds
,
PrintTag
},
filters
:
{
cargoControlStatusFilter
(
e
,
cargoControlStatusList
)
{
...
...
@@ -252,60 +266,7 @@ export default {
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
orderNo
:
null
,
number
:
null
,
tidanNo
:
null
,
parentNumber
:
null
,
oldNumbers
:
null
,
transportId
:
null
,
lineId
:
null
,
channelId
:
null
,
orderType
:
null
,
userId
:
null
,
marks
:
null
,
productRecord
:
null
,
isCargoControl
:
null
,
cargoControlStatus
:
null
,
customsType
:
null
,
upFile
:
null
,
payType
:
null
,
status
:
null
,
isDel
:
null
,
collectionProxy
:
null
,
isCollection
:
null
,
zhongPao
:
null
,
wVolume
:
null
,
vWeight
:
null
,
weightUnit
:
null
,
warehouseType
:
null
,
countryAbbreviation
:
null
,
countryCode
:
null
,
sendsms
:
null
,
commissionId
:
null
,
documentsFile
:
null
,
remarks
:
null
,
isTodoOrder
:
null
,
advanceType
:
null
,
transFee
:
null
,
transCurrency
:
null
,
plateFee
:
null
,
boxFee
:
null
,
todoDetail
:
null
,
advanceWho
:
null
,
toDepartureId
:
null
,
sumNum
:
null
,
sumVolume
:
null
,
sumWeight
:
null
,
weightRatio
:
null
,
customerId
:
null
,
wareId
:
null
,
areaId
:
null
,
locationId
:
null
,
locationName
:
null
,
sumValue
:
null
,
valuationFee
:
null
,
cost
:
null
,
pageSize
:
10
},
// 表单参数
form
:
{},
...
...
@@ -327,6 +288,10 @@ export default {
denominator
:
''
,
//重货比分母
dateFilterType
:
''
,
//日期筛选类别
dateFilter
:
[],
//筛选日期
printTagOrderId
:
null
,
// 显示打印标签的订单号
isShow
:
false
,
//特殊显示
orderId
:
undefined
,
};
},
computed
:
{
...
...
@@ -343,6 +308,9 @@ export default {
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
},
methods
:
{
printTag
(
item
){
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/order/singleApplication.vue
0 → 100644
View file @
e3e9153c
<
template
>
<div
class=
"single-application"
>
<h1
class=
"title"
>
调仓申请-EC00123132N
</h1>
<el-divider></el-divider>
<h1>
订单信息
</h1>
<orde-details-form></orde-details-form>
<el-divider></el-divider>
<h1>
货物信息
</h1>
<el-table
border
>
<el-table-column
label=
"序号"
></el-table-column>
<el-table-column
label=
"品名"
>
<template
v-slot:default =
"scope"
>
</
template
>
</el-table-column>
<el-table-column
label=
"填单货物属性"
>
<
template
v-slot:default =
"scope"
></
template
>
</el-table-column>
<el-table-column
label=
"入库货物属性"
>
<
template
v-slot:default =
"scope"
></
template
>
</el-table-column>
<el-table-column
label=
"入库统计"
>
<
template
v-slot:default =
"scope"
></
template
>
</el-table-column>
<el-table-column
label=
"收款货物属性"
>
<
template
v-slot:default =
"scope"
></
template
>
</el-table-column>
<el-table-column
label=
"最后操作时间"
>
<
template
v-slot:default =
"scope"
></
template
>
</el-table-column>
<el-table-column
label=
"状态"
></el-table-column>
</el-table>
<el-row
style=
"margin-top: 20px;line-height: 3;"
type=
"flex"
justify=
"center"
align=
"center"
>
<el-col
:span=
"3"
>
<div>
从 广州仓 调至
</div>
</el-col>
<el-col
:span=
"3"
>
<el-input></el-input>
</el-col>
</el-row>
<el-divider></el-divider>
<h1>
审批流程
</h1>
<div
style=
"height: 50px"
></div>
<el-form
label-width=
"100px"
>
<el-form-item
label=
"抄送"
></el-form-item>
<el-form-item
label=
"抄送人"
></el-form-item>
</el-form>
<div
style=
"text-align:center"
>
<el-button
style=
"margin-right: 50px"
>
提交申请
</el-button>
<el-button>
取消
</el-button>
</div>
</div>
</template>
<
script
>
import
ordeDetailsForm
from
"
@/views/ecw/order/components/ordeDetailsForm
"
;
export
default
{
name
:
"
singleApplication
"
,
components
:
{
ordeDetailsForm
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.single-application
{
padding
:
20px
;
box-sizing
:
border-box
;
.title
{
font-size
:
30px
;
font-weight
:
600
;
}
.el-form
{
.content
{
min-width
:
230px
;
max-width
:
300px
;
}
}
}
</
style
>
src/views/member/user/index.vue
View file @
e3e9153c
...
...
@@ -74,6 +74,7 @@
<el-button
size=
"mini"
type=
"text"
@
click=
"operationLogFn(scope.row)"
>
操作日志
</el-button>
<el-button
v-if=
"scope.row.identityAuditStatus !== 0 && scope.row.identityAuditStatus !== undefined"
size=
"mini"
type=
"text"
@
click=
"identityFn(scope.row , '1')"
>
身份证
</el-button>
<el-button
v-if=
"scope.row.enterpriseAuditStatus !== 0 && scope.row.enterpriseAuditStatus !== undefined"
size=
"mini"
type=
"text"
@
click=
"identityFn(scope.row, '2')"
>
营业执照
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"deleteFn(scope.row)"
>
删 除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -224,7 +225,7 @@ import {
memberGetAuthEnterpriseInfo
,
memberUserAuditIdCard
,
memberUserUpdateIdCard
,
memberUserUpdateEnterprise
memberUserUpdateEnterprise
,
setUserUpdateStatus
}
from
"
@/api/member/user
"
;
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
FileUpload
from
"
@/components/FileUpload
"
...
...
@@ -315,6 +316,18 @@ export default {
this
.
getList
();
},
methods
:
{
deleteFn
(
row
){
console
.
log
(
row
)
this
.
$modal
.
confirm
(
`是否要删除昵称为
${
row
.
nickname
}
的会员`
).
then
(
function
(){
return
deleteUser
(
row
.
id
)
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
this
.
getList
();
this
.
$message
.
success
(
'
删除成功
'
)
}).
catch
(()
=>
{
this
.
$message
.
success
(
'
删除失败
'
)
}
)
},
//导出
exportFn
(){
this
.
$modal
.
confirm
(
'
是否确认导出所有用户数据项?
'
).
then
(()
=>
{
...
...
@@ -329,8 +342,7 @@ export default {
handleStatusChange
(
row
)
{
let
text
=
row
.
status
===
CommonStatusEnum
.
ENABLE
?
"
启用
"
:
"
停用
"
;
this
.
$modal
.
confirm
(
'
确认要"
'
+
text
+
'
""
'
+
row
.
nickname
+
'
"用户吗?
'
).
then
(
function
()
{
// return changeUserStatus(row.id, row.status);
return
return
setUserUpdateStatus
({
id
:
row
.
id
,
status
:
row
.
status
})
}).
then
(()
=>
{
this
.
$modal
.
msgSuccess
(
text
+
"
成功
"
);
}).
catch
(
function
()
{
...
...
@@ -422,7 +434,7 @@ export default {
seTupdateBackletter
({
userId
:
this
.
publicObj
.
id
,
backLetter
:
this
.
guaranteeUrl
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
guaranteeShow
=
false
;
this
.
guaranteeUrl
=
true
;
this
.
guaranteeUrl
=
''
;
this
.
$message
.
success
(
'
保存成功
'
);
}
})
...
...
src/views/system/sms/smsTemplate.vue
View file @
e3e9153c
...
...
@@ -119,6 +119,9 @@
<el-form-item
label=
"模板内容"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form.content"
placeholder=
"请输入模板内容"
/>
</el-form-item>
<el-form-item
label=
"英文模板内容"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form.contentEn"
placeholder=
"请输入模板内容"
/>
</el-form-item>
<el-form-item
label=
"开启状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
...
...
@@ -128,6 +131,9 @@
<el-form-item
label=
"短信 API 模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"form.apiTemplateId"
placeholder=
"请输入短信 API 的模板编号"
/>
</el-form-item>
<el-form-item
label=
"短信 API 英文模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"form.apiTemplateIdEn"
placeholder=
"请输入短信 API 的英文模板编号"
/>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
...
...
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