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
ce0c29bf
Commit
ce0c29bf
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
54d35d1c
69ebabe8
Changes
26
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
437 additions
and
302 deletions
+437
-302
ueditor.config.js
public/static/plugins/ueditor/ueditor.config.js
+2
-1
busiPwd.js
src/api/ecw/busiPwd.js
+9
-0
index.vue
src/components/Breadcrumb/index.vue
+2
-2
dd-select.vue
src/components/TableForm/components/dd-select.vue
+0
-39
index.js
src/components/TableForm/components/index.js
+0
-6
index.vue
src/components/TableForm/index.vue
+0
-87
index.vue
src/components/Ueditor/index.vue
+3
-1
index.vue
src/components/customerComplaints/index.vue
+46
-3
index.js
src/i18n/index.js
+1
-1
index.vue
src/layout/components/TagsView/index.vue
+2
-1
main.js
src/main.js
+6
-2
index.js
src/router/index.js
+7
-0
tagsView.js
src/store/modules/tagsView.js
+0
-1
dict.js
src/utils/dict.js
+1
-0
query.vue
src/views/ecw/customer/query.vue
+96
-3
index.vue
src/views/ecw/customerComplaint/index.vue
+0
-2
index.vue
src/views/ecw/messageLeave/index.vue
+2
-2
edit.vue
src/views/ecw/offer/edit.vue
+14
-30
index.vue
src/views/ecw/offer/index.vue
+32
-33
edit.vue
src/views/ecw/order/edit.vue
+1
-1
discount.vue
src/views/ecw/order/special/discount.vue
+6
-2
index.vue
src/views/ecw/order/special/index.vue
+1
-1
success.vue
src/views/ecw/order/success.vue
+3
-27
edit.vue
src/views/ecw/supplier/edit.vue
+187
-48
index.vue
src/views/ecw/zhongPao/index.vue
+9
-2
index.vue
src/views/system/internalMessage/index.vue
+7
-7
No files found.
public/static/plugins/ueditor/ueditor.config.js
View file @
ce0c29bf
...
...
@@ -42,7 +42,8 @@
'
directionalityltr
'
,
'
directionalityrtl
'
,
'
indent
'
,
'
|
'
,
'
justifyleft
'
,
'
justifycenter
'
,
'
justifyright
'
,
'
justifyjustify
'
,
'
|
'
,
'
touppercase
'
,
'
tolowercase
'
,
'
|
'
,
'
link
'
,
'
unlink
'
,
'
anchor
'
,
'
|
'
,
'
imagenone
'
,
'
imageleft
'
,
'
imageright
'
,
'
imagecenter
'
,
'
|
'
,
'
simpleupload
'
// 'simpleupload',
'
insertimage
'
// , 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'webapp', 'pagebreak', 'template', 'background', '|',
// 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|',
// 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
...
...
src/api/ecw/busiPwd.js
View file @
ce0c29bf
...
...
@@ -52,3 +52,12 @@ export function exportBusiPwdExcel(query) {
responseType
:
'
blob
'
})
}
// 验证业务密码
export
function
validatePwd
(
data
){
return
request
({
url
:
'
/ecw/busi-pwd/validate-pwd
'
,
method
:
'
post
'
,
data
:
data
})
}
\ No newline at end of file
src/components/Breadcrumb/index.vue
View file @
ce0c29bf
...
...
@@ -2,8 +2,8 @@
<el-breadcrumb
class=
"app-breadcrumb"
separator=
"/"
>
<transition-group
name=
"breadcrumb"
>
<el-breadcrumb-item
v-for=
"(item,index) in levelList"
:key=
"item.path"
>
<span
v-if=
"item.redirect==='noRedirect'||index==levelList.length-1"
class=
"no-redirect"
>
{{
item
.
meta
.
title
}}
</span>
<a
v-else
@
click.prevent=
"handleLink(item)"
>
{{
item
.
meta
.
title
}}
</a>
<span
v-if=
"item.redirect==='noRedirect'||index==levelList.length-1"
class=
"no-redirect"
>
{{
$l
(
item
.
meta
,
'
title
'
)
}}
</span>
<a
v-else
@
click.prevent=
"handleLink(item)"
>
{{
$l
(
item
.
meta
,
'
title
'
)
}}
</a>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
...
...
src/components/TableForm/components/dd-select.vue
deleted
100644 → 0
View file @
54d35d1c
<
template
>
<div
class=
"xselect"
>
<el-select
v-model=
"valueSync"
>
<el-option
v-for=
"(item, index) in options"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</
template
>
<
script
>
export
default
{
props
:{
value
:{
type
:
String
,
},
options
:{
type
:
Array
,
default
(){
return
[]
}
}
},
watch
:
{
valueSync
(
newValue
)
{
this
.
$emit
(
'
input
'
,
newValue
)
}
},
data
(){
return
{
valueSync
:
[]
}
},
created
()
{
this
.
$set
(
this
,
'
valueSync
'
,
this
.
value
)
},
methods
:
{
}
}
</
script
>
src/components/TableForm/components/index.js
deleted
100644 → 0
View file @
54d35d1c
let
modules
=
{}
const
files
=
require
.
context
(
''
,
false
,
/
\.
vue$/
);
files
.
keys
().
forEach
((
filename
)
=>
{
modules
[
filename
.
slice
(
2
,
-
4
)]
=
files
(
filename
).
default
||
files
(
filename
)
});
export
default
modules
\ No newline at end of file
src/components/TableForm/index.vue
deleted
100644 → 0
View file @
54d35d1c
<
template
>
<el-card
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix card-header"
>
<div
class=
"card-title"
>
{{
title
}}
</div>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"listData.push(
{})">
</el-button>
</div>
<el-table
:data=
"listData"
border
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<
template
v-for=
"col in fields"
>
<el-table-column
:label=
"col.label"
:key=
"col.field"
>
<template
slot-scope=
"
{row}">
<component
:is=
"col.tag || 'el-input'"
v-model=
"row[col.field]"
v-bind=
"col.attrs"
/>
</
template
>
</el-table-column>
</template>
<!-- <el-table-column label="职位">
<template slot-scope="{row}">
<el-input v-model="row.job" />
</template>
</el-table-column> -->
<el-table-column
:label=
"$t('操作')"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"danger"
size=
"mini"
icon=
"el-icon-delete"
@
click=
"del(scope.$index)"
></el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
</template>
<
script
>
/*
fields:
[
{
field: 'name',
label: '字段名'
tag: 'el-input',
attr: {}
}
]
*/
import
FormComponents
from
'
./components/index.js
'
export
default
{
components
:
{...
FormComponents
},
props
:{
title
:
String
,
fields
:
Array
,
value
:
Array
},
data
(){
return
{
listData
:
[]
}
},
watch
:{
listData
(
val
){
console
.
log
(
'
数据更新
'
)
this
.
$emit
(
'
input
'
,
val
)
},
value
(){
this
.
listData
=
this
.
value
}
},
methods
:{
del
(
index
){
this
.
$confirm
(
this
.
$t
(
'
确定删除此行?
'
))
.
then
(
res
=>
{
this
.
listData
.
splice
(
index
,
1
)
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.card-header
{
display
:
flex
;
.card-title
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
font-size
:
16px
;
}
}
</
style
>
\ No newline at end of file
src/components/Ueditor/index.vue
View file @
ce0c29bf
...
...
@@ -54,5 +54,7 @@
</
script
>
<
style
>
#edui_fixedlayer
{
z-index
:
10005
!important
;
}
</
style
>
src/components/customerComplaints/index.vue
View file @
ce0c29bf
...
...
@@ -20,10 +20,34 @@
</el-select>
</el-form-item>
<el-form-item
label=
"订单号"
prop=
"orderId"
>
<el-input
v-model=
"form.orderId"
placeholder=
"请输入订单号"
/>
<el-select
v-model=
"form.orderId"
filterable
remote
placeholder=
"请输入订单号"
:remote-method=
"getOrderList"
>
<el-option
v-for=
"item in orderList"
:key=
"item.value"
:label=
"item.value"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"提单号"
prop=
"ladingbillId"
>
<el-input
v-model=
"form.ladingbillId"
placeholder=
"请输入提单号"
/>
<el-select
v-model=
"form.ladingbillId"
filterable
remote
placeholder=
"请输入提单号"
:remote-method=
"getBillList"
>
<el-option
v-for=
"item in billList"
:key=
"item.value"
:label=
"item.value"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"投诉内容"
prop=
"content"
>
<el-input
v-model=
"form.content"
type=
"textarea"
placeholder=
"请输入内容"
/>
...
...
@@ -88,6 +112,7 @@ import { createCustomerComplaint, updateCustomerComplaint, deleteCustomerComplai
import
{
getCustomerSelect
}
from
'
@/api/ecw/customer
'
import
DictSelector
from
'
@/components/DictSelector
'
import
{
DICT_TYPE
,
getDictDatas
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
getBillNoSearch
,
getOrderNoSearch
}
from
"
@/api/ecw/order
"
export
default
{
name
:
"
customerComplaints
"
,
...
...
@@ -147,7 +172,10 @@ export default {
// 处理
handle
:
{
dialogVisible
:
false
}
},
billList
:
[],
orderList
:
[]
};
},
created
()
{
...
...
@@ -156,6 +184,21 @@ export default {
})
},
methods
:
{
getBillList
(
key
){
getBillNoSearch
({
key
,
pageNo
:
1
,
pageSize
:
20
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
billList
=
r
.
data
.
list
}
})
},
getOrderList
(
key
){
getOrderNoSearch
({
key
,
pageNo
:
1
,
pageSize
:
20
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
orderList
=
r
.
data
.
list
}
})
},
/** 查询列表 */
/** 取消按钮 */
cancel
()
{
...
...
src/i18n/index.js
View file @
ce0c29bf
...
...
@@ -12,7 +12,7 @@ const i18n = new VueI18n({
}
})
console
.
log
({
i18n
})
Vue
.
prototype
.
$l
=
(
object
,
field
)
=>
{
Vue
.
prototype
.
$l
=
(
object
,
field
=
''
)
=>
{
let
prefix
=
i18n
.
locale
.
split
(
'
_
'
)[
0
]
let
append
=
prefix
.
charAt
(
0
).
toUpperCase
()
+
prefix
.
toLowerCase
().
substr
(
1
)
// 如果object是null则返回字段名
...
...
src/layout/components/TagsView/index.vue
View file @
ce0c29bf
...
...
@@ -13,7 +13,7 @@
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
{{
tag
.
title
}}
{{
$l
(
tag
.
meta
,
'
title
'
)
}}
<span
v-if=
"!isAffix(tag)"
class=
"el-icon-close"
@
click.prevent.stop=
"closeSelectedTag(tag)"
/>
</router-link>
</scroll-pane>
...
...
@@ -56,6 +56,7 @@ export default {
},
watch
:
{
$route
()
{
console
.
log
(
this
.
$route
,
this
.
$route
.
redirectedFrom
)
this
.
addTags
()
this
.
moveToCurrentTag
()
},
...
...
src/main.js
View file @
ce0c29bf
...
...
@@ -25,7 +25,7 @@ import DictSelector from '@/components/DictSelector'
// import 'highlight.js/styles/github-gist.css'
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas
,
getDictDatas2
}
from
"
@/utils/dict
"
;
import
i18n
from
'
./i18n
'
console
.
log
({
i18n
})
// 全局方法挂载
Vue
.
prototype
.
getDicts
=
getDicts
Vue
.
prototype
.
getConfigKey
=
getConfigKey
...
...
@@ -66,7 +66,6 @@ Vue.component('DictTag', DictTag)
Vue
.
component
(
'
DocAlert
'
,
DocAlert
)
Vue
.
component
(
'
Pagination
'
,
Pagination
)
Vue
.
component
(
'
RightToolbar
'
,
RightToolbar
)
// Vue.component('TableForm', TableForm)
Vue
.
component
(
'
DictSelector
'
,
DictSelector
)
// 字典标签组件
import
DictTag
from
'
@/components/DictTag
'
...
...
@@ -109,6 +108,11 @@ import '@/styles/index.scss'
Vue
.
use
(
Element
,
{
size
:
Cookies
.
get
(
'
size
'
)
||
'
medium
'
// set element-ui default size
})
Vue
.
prototype
.
$redirect
=
(
path
)
=>
{
let
currentView
=
router
.
history
.
current
router
.
replace
(
path
)
store
.
dispatch
(
"
tagsView/delView
"
,
currentView
)
}
Vue
.
config
.
productionTip
=
false
...
...
src/router/index.js
View file @
ce0c29bf
...
...
@@ -303,6 +303,13 @@ export const constantRoutes = [
name
:
'
discount
'
,
meta
:
{
title
:
'
订单优惠申请
'
,
icon
:
''
,
activeMenu
:
'
/order/index
'
}
},
{
path
:
'
discount1/:orderItemId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/order/special/discount
'
),
props
:
true
,
name
:
'
discount1
'
,
meta
:
{
title
:
'
订单折扣申请
'
,
icon
:
''
,
activeMenu
:
'
/order/index
'
}
},
{
path
:
'
speciallight/:orderId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/order/special/light
'
),
...
...
src/store/modules/tagsView.js
View file @
ce0c29bf
...
...
@@ -176,7 +176,6 @@ const actions = {
})
},
delCurrentView
({
dispatch
}){
// console.log('delCurrentView', router.history.current)
const
view
=
router
.
history
.
current
return
dispatch
(
'
delView
'
,
view
).
then
(({
visitedViews
})
=>
{
const
latestView
=
visitedViews
.
slice
(
-
1
)[
0
]
...
...
src/utils/dict.js
View file @
ce0c29bf
...
...
@@ -109,6 +109,7 @@ export const DICT_TYPE = {
ECW_PRICE_TYPE
:
'
price_type
'
,
ECW_RELEASE_STATUS
:
'
release_status
'
,
// 放货状态
ECW_PICK_RECURRENT_NUCLEAR_TYPE
:
'
PICK_RECURRENT_NUCLEAR_TYPE
'
,
// 放货反复核类型
ECW_COST_FEE_TYPE
:
'
cost_fee_type
'
,
// 清单费用类型
//--------ecw---------
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
...
...
src/views/ecw/customer/query.vue
View file @
ce0c29bf
...
...
@@ -97,7 +97,83 @@
<
el
-
tabs
style
=
"
margin-top: 15px
"
type
=
"
border-card
"
>
<
el
-
tab
-
pane
label
=
"
订单
"
>
订单
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
el
-
form
:
inline
=
"
true
"
>
<
el
-
form
-
item
label
=
"
运输方式:
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
v
-
model
=
"
queryParams.transportType
"
formatter
=
"
number
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
订单状态:
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.ORDER_STATUS
"
v
-
model
=
"
queryParams.status
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
报关方式:
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.ECW_CUSTOMS_TYPE
"
v
-
model
=
"
queryParams.customsType
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
控货
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.INFRA_BOOLEAN_STRING
"
v
-
model
=
"
queryParams.isCargoControl
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
入仓时间:
"
>
<
el
-
date
-
picker
v
-
model
=
"
queryParams.rucangtime
"
style
=
"
width: 240px
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
type
=
"
daterange
"
range
-
separator
=
"
-
"
start
-
placeholder
=
"
开始日期
"
end
-
placeholder
=
"
结束日期
"
/>
<
/el-form-item
>
<
el
-
form
-
item
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
getorderList
"
>
搜索
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
()=>{
queryParams = { rows:10,page:1
}
; getorderList()
}
"
>
重置
<
/el-button
>
<
/el-form-item
>
<
/el-form
>
<
/div
>
<
el
-
table
:
data
=
"
orderList
"
>
<
el
-
table
-
column
:
label
=
"
$t('订单编号')
"
width
=
"
120px
"
align
=
"
center
"
prop
=
"
orderNo
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
router
-
link
:
to
=
"
{path: '/order/detail',query: {orderId: scope.row.orderId
}}
"
class
=
"
link-type
"
>
<
span
>
{{
scope
.
row
.
orderNo
}}
<
/span
>
<
/router-link
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('唛头')
"
align
=
"
center
"
prop
=
"
marks
"
/>
<
el
-
table
-
column
:
label
=
"
$t('总箱数/入仓箱数')
"
align
=
"
center
"
prop
=
"
sumNum
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
totalNum
}}
{{
$t
(
'
箱
'
)
}}
/
{{
row
.
sumNum
}}
{{
$t
(
'
箱
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('体积/重量')
"
align
=
"
center
"
prop
=
"
sumWeight
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<!--
入仓前是填单数据,入仓后是入仓数据
-->
<
template
v
-
if
=
"
row.inWarehouseState <= 1
"
>
{{
row
.
costVO
.
totalVolume
}}
m
³
/
{{
row
.
costVO
.
totalWeight
}}
Kg
<
/template
>
<
template
v
-
else
>
{{
row
.
sumVolume
}}
m
³
/
{{
row
.
sumWeight
}}
Kg
<
/template
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('始发仓')
"
align
=
"
center
"
prop
=
"
departureName
"
/>
<
el
-
table
-
column
:
label
=
"
$t('运输方式/目的地')
"
align
=
"
center
"
prop
=
"
transportId
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
:
value
=
"
row.transportId
"
/>
/ {{row.objectiveName
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('控货')
"
align
=
"
center
"
prop
=
"
transportId
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.INFRA_BOOLEAN_STRING
"
:
value
=
"
row.isCargoControl
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('订单状态')
"
align
=
"
center
"
prop
=
"
status
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ORDER_STATUS
"
:
value
=
"
scope.row.status
"
/>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
@
pagination
=
"
creditLogPage
"
:
page
.
sync
=
"
queryParams.page
"
:
limit
.
sync
=
"
queryParams.row
"
:
total
=
"
orderTotal
"
><
/pagination
>
<
/el-card
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
报价
"
>
<
el
-
table
...
...
@@ -312,6 +388,7 @@ import { parseTime } from '@/utils/ruoyi'
import
CustomerComplaint
from
'
@/views/ecw/customerComplaint
'
import
{
listServiceUser
}
from
'
@/api/system/user
'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
export
default
{
name
:
'
query
'
,
...
...
@@ -346,6 +423,7 @@ export default {
this
.
getBrankByCustomerList
()
this
.
getCustomerGrade
()
this
.
creditLogPage
()
this
.
getorderList
()
}
,
data
()
{
return
{
...
...
@@ -412,7 +490,13 @@ export default {
rows
:
10
,
total
:
0
,
}
,
customerCreditLogList
:[]
customerCreditLogList
:[],
queryParams
:{
rows
:
10
,
page
:
1
}
,
orderList
:[],
orderTotal
:
0
}
}
,
computed
:
{
...
...
@@ -454,6 +538,15 @@ export default {
this
.
customerCreditLogFrom
.
total
=
r
.
data
.
total
;
}
}
)
}
,
getorderList
(){
getOrderPage
({
consignorId
:
this
.
id
,...
this
.
queryParams
}
).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
code
===
0
){
this
.
orderList
=
r
.
data
.
list
this
.
orderTotal
=
r
.
data
.
total
}
}
)
}
}
}
...
...
src/views/ecw/customerComplaint/index.vue
View file @
ce0c29bf
...
...
@@ -116,7 +116,6 @@
v-model=
"form.orderId"
filterable
remote
reserve-keyword
placeholder=
"请输入订单号"
:remote-method=
"getOrderList"
:loading=
"loading"
>
...
...
@@ -133,7 +132,6 @@
v-model=
"form.ladingbillId"
filterable
remote
reserve-keyword
placeholder=
"请输入提单号"
:remote-method=
"getBillList"
:loading=
"loading"
>
...
...
src/views/ecw/messageLeave/index.vue
View file @
ce0c29bf
...
...
@@ -141,7 +141,7 @@
<el-col
:span=
"4"
>
{{messageVal.type === 1 ? '咨询':'建议'}}时间:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.createTime)}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ? '咨询':'建议'}}
类
容:
</el-col><el-col
:span=
"12"
>
{{messageVal.content}}
</el-col>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ? '咨询':'建议'}}
内
容:
</el-col><el-col
:span=
"12"
>
{{messageVal.content}}
</el-col>
</el-row>
</div>
<div
style=
"background-color:#f6f6f6;padding:10px 20px;margin-top: 20px;"
>
...
...
@@ -152,7 +152,7 @@
<el-col
:span=
"4"
>
回复时间:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.replyTime)}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
回复
类
容:
</el-col><el-col
:span=
"12"
><el-input
type=
"textarea"
v-model=
"messageVal.replyContent"
:disabled=
"messageVal.status === 2"
></el-input></el-col><el-col
:span=
"4"
><el-button
v-if=
"messageVal.status === 1"
@
click=
"replyFn"
>
回复
</el-button></el-col>
<el-col
:span=
"4"
>
回复
内
容:
</el-col><el-col
:span=
"12"
><el-input
type=
"textarea"
v-model=
"messageVal.replyContent"
:disabled=
"messageVal.status === 2"
></el-input></el-col><el-col
:span=
"4"
><el-button
v-if=
"messageVal.status === 1"
@
click=
"replyFn"
>
回复
</el-button></el-col>
</el-row>
</div>
<div
slot=
"footer"
style=
"text-align: center;"
>
...
...
src/views/ecw/offer/edit.vue
View file @
ce0c29bf
...
...
@@ -224,16 +224,16 @@
<template
v-if=
"row.fee && row.fee.charging == 1"
>
<template
v-if=
"!row.fee.freight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
fee
.
freight
}}
{{
curren
t
cyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
fee
.
freight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</
template
>
</template>
<
template
v-else-if=
"!row.fee || !row.fee.freight && !row.fee.clearanceFee"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else-if=
"row.fee"
>
<div>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
fee
.
freight
}}
{{
curren
t
cyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
fee
.
freight
}}
{{
currencyMap
[
row
.
fee
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
freightVolume
]
}}
</div>
<div>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
fee
.
oneClearanceFee
}}
{{
curren
t
cyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFeeVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
fee
.
oneClearanceFee
}}
{{
currencyMap
[
row
.
fee
.
clearanceFeeCurrency
]
}}
/
{{
unitMap
[
row
.
fee
.
clearanceFeeVolume
]
}}
</div>
</
template
>
</template>
...
...
@@ -295,13 +295,13 @@
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总运费')"
>
<
template
v-for=
"item in clearanceFeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
curren
t
cyMap
[
item
.
currencyId
]
}}
</div>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item
:label=
"$t('总清关费')"
>
<
template
v-for=
"item in freightFeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
curren
t
cyMap
[
item
.
currencyId
]
}}
</div>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('其他费用')"
>
...
...
@@ -310,7 +310,7 @@
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('原价')"
:span=
"2"
>
<
template
v-for=
"item in originalFeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
curren
t
cyMap
[
item
.
currencyId
]
}}
</div>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
</el-descriptions>
...
...
@@ -337,7 +337,7 @@
<el-table-column
label=
""
>
<
template
slot-scope=
"{row}"
>
-
{{
row
.
reduceAmount
}}
{{
curren
t
cyMap
[
row
.
reduceCurrencyId
]
}}
{{
currencyMap
[
row
.
reduceCurrencyId
]
}}
</
template
>
</el-table-column>
<el-table-column
label=
""
>
...
...
@@ -350,12 +350,12 @@
<el-descriptions
:column=
"1"
class=
"mt-20"
>
<el-descriptions-item
:label=
"$t('优惠费用')"
v-if=
"couponTotalAmountList && couponTotalAmountList.length"
>
<div
v-for=
"(item, discountIndex) in couponTotalAmountList"
:key=
"discountIndex"
>
{{item.totalAmount}} {{curren
t
cyMap[item.currencyId]}}
{{item.totalAmount}} {{currencyMap[item.currencyId]}}
</div>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('预计费用')"
>
<
template
v-for=
"item in estimatedCosts"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
curren
t
cyMap
[
item
.
currencyId
]
}}
</div>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
</el-descriptions>
...
...
@@ -529,6 +529,7 @@ export default {
endTime
:
[{
required
:
true
,
message
:
"
有效期结束时间不能为空
"
}],
transportId
:
[{
required
:
true
,
message
:
"
选择运输方式
"
}],
channelId
:
[{
required
:
true
,
message
:
"
选择出货渠道
"
}],
stopTime
:
[{
required
:
true
,
message
:
"
不能为空
"
}]
/*sendstatus: [{ required: true, message: "站内信状态,0未发送,1已发送不能为空", trigger: "blur" }], */
},
labelStyle
:
'
width:120px
'
,
...
...
@@ -576,17 +577,17 @@ export default {
if
(
!
this
.
form
.
lineId
)
return
null
return
this
.
routerList
.
find
(
item
=>
item
.
id
==
this
.
form
.
lineId
)
},
curren
t
cyMap
(){
currencyMap
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
},
unitMap
(){
let
map
=
{}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
},
...
...
@@ -669,9 +670,6 @@ export default {
if
(
!
this
.
selectedRouter
||
!
this
.
selectedRouter
.
otherService
)
return
[]
return
this
.
selectedRouter
.
otherService
.
split
(
'
,
'
)
}
/* productKeyd(){
return arrryToKeyedObjectBy(this.productList, 'prodId')
} */
},
watch
:{
// 始发地
...
...
@@ -745,14 +743,6 @@ export default {
this
.
contactChooseType
=
'
consignor
'
this
.
onContactChoose
(
data
.
list
.
find
(
item
=>
item
.
customerContactsId
==
res
.
data
.
consignorId
))
})
/* res.data.transportRespVOList.forEach(item => {
let transport = this.transportList.find(t => t.transportId == item.transportId)
console.log(item.transportId, transport)
Object.assign(transport, item, {_enabled: true})
}) */
/* this.$nextTick(() => {
this.updateEnabledTransports()
}) */
})
}
//else this.addProduct()
},
...
...
@@ -773,12 +763,6 @@ export default {
this
.
contactChooseType
=
null
this
.
quickCreateType
=
null
},
/* onProductChange(row, product){
row.goodsType = product.typeId;
// 保存商品id和品名,用于优惠信息显示
this.$set(this.productNames, product.id, product.titleZh)
this.calculationPrice()
}, */
onProductChange
(
row
,
product
){
console
.
log
(
product
)
// row.goodsType = product ? product.typeId : null
...
...
@@ -888,7 +872,7 @@ export default {
// 添加的提交
createOffer
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
));
this
.
$r
outer
.
replace
(
'
index
'
)
this
.
$r
edirect
(
'
index
'
)
});
});
},
...
...
src/views/ecw/offer/index.vue
View file @
ce0c29bf
...
...
@@ -47,63 +47,49 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('运输方式')
"
align
=
"
left
"
>
<
template
slot
-
scope
=
"
scope
"
v
-
if
=
"
scope.row.transportIds
"
>
<
span
v
-
for
=
"
(item, index) in scope.row.transportIds.split(',')
"
:
key
=
"
index
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
:
value
=
"
item
"
/>
<
/span
>
<
template
slot
-
scope
=
"
scope
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_TRANSPORT_TYPE
"
:
value
=
"
scope.row.transportId
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('业务员')
"
align
=
"
left
"
>
<
template
slot
-
scope
=
"
scope
"
>
暂无
<
/template
>
<
el
-
table
-
column
:
label
=
"
$t('业务员')
"
align
=
"
left
"
prop
=
"
creatorName
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
center
"
prop
=
"
estCost
"
>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
left
"
prop
=
"
estCost
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
div
class
=
""
v
-
if
=
"
row.estCostVO.clearanceNGN || row.estCostVO.clearanceRMB || row.estCostVO.clearanceUSD
"
>
{{
$t
(
'
清关费
'
)
}}
:
<
span
v
-
if
=
"
row.estCostVO.clearanceNGN
"
>
{{
row
.
estCostVO
.
clearanceNGN
}}
N
<
/span
>
<
span
v
-
if
=
"
row.estCostVO.clearanceRMB
"
>
{{
row
.
estCostVO
.
clearanceRMB
}}
¥
<
/span
>
<
span
v
-
if
=
"
row.estCostVO.clearanceUSD
"
>
{{
row
.
estCostVO
.
clearanceUSD
}}
$
<
/span
>
<
div
class
=
""
v
-
for
=
"
item in row.estCostVO.feeDtoList
"
:
key
=
"
item.feeType
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COST_FEE_TYPE
"
:
value
=
"
item.feeType
"
/>
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
<
/div
>
<
div
class
=
""
v
-
if
=
"
row.estCostVO.seaNGN || row.estCostVO.seaRMB || row.estCostVO.seaUSD
"
>
{{
$t
(
'
运费
'
)
}}
:
<
span
v
-
if
=
"
row.estCostVO.seaNGN
"
>
{{
row
.
estCostVO
.
seaNGN
}}
N
<
/span
>
<
span
v
-
if
=
"
row.estCostVO.seaRMB
"
>
{{
row
.
estCostVO
.
seaRMB
}}
¥
<
/span
>
<
span
v
-
if
=
"
row.estCostVO.seaUSD
"
>
{{
row
.
estCostVO
.
seaUSD
}}
$
<
/span
>
<
/div
>
<
/template
>
<
/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
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('edit?id=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
编辑
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
跟进
'
)
}}
<
/el-button
>
<
/template
>
<
template
v
-
if
=
"
scope.row.status == 2
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
结果
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
特价
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
恢复
'
)
}}
<
/el-button
>
<
/template
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-delete
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-button
>
<
/template
>
<
/el-table-column
>
...
...
@@ -116,7 +102,8 @@
<
/template
>
<
script
>
import
{
createOffer
,
updateOffer
,
deleteOffer
,
getOffer
,
getOfferPage
,
exportOfferExcel
}
from
"
@/api/ecw/offer
"
;
import
{
deleteOffer
,
getOfferPage
,
exportOfferExcel
}
from
"
@/api/ecw/offer
"
;
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
export
default
{
name
:
"
Offer
"
,
...
...
@@ -173,12 +160,24 @@ export default {
estCost
:
null
,
sendstatus
:
null
,
}
,
currencyList
:
[]
}
;
}
,
computed
:{
currencyMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
,
}
,
created
()
{
this
.
getList
();
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
}
)
}
,
methods
:
{
/** 查询列表 */
...
...
src/views/ecw/order/edit.vue
View file @
ce0c29bf
...
...
@@ -934,7 +934,7 @@ export default {
// 添加的提交
createOrder
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
));
this
.
$r
outer
.
replace
(
'
success?orderId=
'
+
response
.
data
)
this
.
$r
edirect
(
'
success?orderId=
'
+
response
.
data
)
});
});
},
...
...
src/views/ecw/order/special/discount.vue
View file @
ce0c29bf
...
...
@@ -4,7 +4,7 @@
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"20"
:xl=
"16"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
v-if=
"!readonly"
>
<span
>
优惠申请
</span>
<span
style=
"font-size: 18px;font-weight: bold"
>
{{
isDiscount
?
'
折扣管理
'
:
'
优惠申请
'
}}
</span>
</div>
<el-form
v-if=
"!readonly"
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"商品类型"
>
...
...
@@ -216,7 +216,7 @@ export default {
methods
:
{
handleSubmit
(){
createOrderSpecial
({
"
applyType
"
:
'
1
'
,
"
applyType
"
:
this
.
isDiscount
?
'
2
'
:
'
1
'
,
clearanceFreight
:
this
.
form
.
clearanceFreight
,
clearanceFreightCurrency
:
this
.
form
.
clearanceFreightCurrency
,
clearanceFreightVolume
:
this
.
form
.
clearanceFreightVolume
,
...
...
@@ -244,6 +244,10 @@ export default {
}
}
,
computed
:
{
// 折扣管理页面
isDiscount
(){
return
this
.
$route
.
query
.
discount
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
...
...
src/views/ecw/order/special/index.vue
View file @
ce0c29bf
...
...
@@ -80,7 +80,7 @@
<
template
v-slot=
"{row}"
>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/discount/$
{row.orderItemId}?orderId=${row.orderId}`)">优惠申请
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/specialCommission/$
{row.orderItemId}`)">佣金规则
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
>
管理折扣
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/discount1/$
{row.orderItemId}?orderId=${row.orderId}
&
discount=1`)"
>管理折扣
</el-button>
</
template
>
</el-table-column>
...
...
src/views/ecw/order/success.vue
View file @
ce0c29bf
...
...
@@ -22,9 +22,9 @@
</el-col>
</el-row>
<div
class=
"actions"
>
<el-button
type=
"primary"
@
click=
"$r
outer.replace
('detail?orderId=' + order.orderId)"
>
{{$t('查看订单')}}
</el-button>
<el-button
type=
"primary"
@
click=
"$r
edirect
('detail?orderId=' + order.orderId)"
>
{{$t('查看订单')}}
</el-button>
<el-button
type=
"warning"
@
click=
"showNotice = true"
>
{{$t('入仓须知')}}
</el-button>
<el-button
type=
"info"
@
click=
"$r
outer.replace
('create')"
>
{{$t('再来一单')}}
</el-button>
<el-button
type=
"info"
@
click=
"$r
edirect
('create')"
>
{{$t('再来一单')}}
</el-button>
</div>
<el-dialog
:title=
"$t('查看须知')"
:visible.sync=
"showNotice"
width=
"700px"
>
...
...
@@ -60,31 +60,7 @@ export default {
.
then
(
res
=>
{
this
.
order
=
res
.
data
})
},
/* download(){
let el = document.getElementById('noticeImg')
this.downloadIamge(this.noticeUrl, 'ce')
},
downloadIamge(imgsrc, name) {
//下载图片地址和图片名
var image = new Image()
// 解决跨域 Canvas 污染问题
image.setAttribute('crossOrigin', 'anonymous')
image.onload = function () {
var canvas = document.createElement('canvas')
canvas.width = image.width
canvas.height = image.height
var context = canvas.getContext('2d')
context.drawImage(image, 0, 0, image.width, image.height)
var base64 = canvas.toDataURL('image/png') //得到图片的base64编码数据
document.getElementById('noticeImg').setAttribute('src', base64)
window.base64 = base64
let blob = dataURLtoBlob(base64)
FileSaver.saveAs(blob, '入仓须知.png');
}
image.src = imgsrc
} */
}
}
</
script
>
...
...
src/views/ecw/supplier/edit.vue
View file @
ce0c29bf
...
...
@@ -69,40 +69,137 @@
:style=
"
{width: '100%'}">
</el-input>
</el-form-item>
</div>
<div>
<el-form-item
label-width=
"0"
>
<table-form
:title=
"$t('联系人')"
:fields=
"[
{ label: this.$t('部门'), field: 'department'},
{ label: this.$t('职位'), field: 'position'},
{ label: this.$t('名称'), field: 'name', required: true},
{ label: this.$t('电话'), field: 'phone', required: true},
]" v-model="formData.contactList" class="w-1000">
</table-form>
</el-form-item>
<el-card>
<div
class=
"card-header"
slot=
"header"
>
<div
class=
"title"
>
{{
$t
(
'
联系人
'
)
}}
</div>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"formData.contactList.push(
{})">
</el-button>
</div>
<div>
<el-form-item
label-width=
"0"
prop=
"field110"
>
<table-form
:title=
"$t('银行信息')"
:fields=
"[
{ label: this.$t('账户名称'), field: 'accountName', required: true},
{ label: this.$t('币别') , field: 'currency', tag: 'selector', attr: currentcyAttr, required: true},
{ label: this.$t('银行名称'), field: 'bankName', required: true},
{ label: this.$t('银行账户'), field: 'bankAccount', required: true},
{ label: this.$t('银行代码'), field: 'bankCode'},
{ label: this.$t('账户类型'), field: 'accountType'},
{ label: this.$t('银行地址'), field: 'bankAddress'},
{ label: this.$t('状态'), field: 'status', tag:'el-switch', attrs: bankStatusAttr},
{label: this.$t('操作'), buttons: [
{
type: 'danger',
text: '删除',
hander: delBank
}
]}
]" v-model="formData.bankList" class="w-1000">
</table-form>
<el-table
:data=
"formData.contactList"
border
class=
"data-list"
>
<el-table-column
:label=
"$t('序号')"
width=
"80px"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('部门')"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.department"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('职位')"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.position"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('名称') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`contactList.$
{scope.$index}.name`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<el-input
v-model=
"scope.row.name"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('电话') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`contactList.$
{scope.$index}.phone`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<el-input
v-model=
"scope.row.phone"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"danger"
size=
"mini"
@
click=
"delContact(scope.$index)"
icon=
"el-icon-delete"
></el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
class=
"card-header"
slot=
"header"
>
<div
class=
"title"
>
{{$t('银行信息')}}
</div>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"formData.bankList.push({})"
></el-button>
</div>
<el-form-item
size=
"large"
>
<el-table
:data=
"formData.bankList"
border
class=
"data-list"
>
<el-table-column
:label=
"$t('序号')"
width=
"80px"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('账户名称') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`bankList.$
{scope.$index}.accountName`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<el-input
v-model=
"scope.row.accountName"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('币别') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`bankList.$
{scope.$index}.currency`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<selector
:options=
"currencyList"
v-model=
"scope.row.currency"
value-field=
"id"
:label-field=
"'title' + $l()"
></selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行名称') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`bankList.$
{scope.$index}.bankName`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<el-input
v-model=
"scope.row.bankName"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行账户') + '*'"
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
:prop=
"`bankList.$
{scope.$index}.bankAccount`"
:rules="{required: true, message: $t('不能为空'), trigger: 'blur'}"
>
<el-input
v-model=
"scope.row.bankAccount"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行代码')"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.bankCode"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('账户类型')"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.accountType"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
>
<
template
slot-scope=
"scope"
>
<dict-selector
:type=
"DICT_TYPE.COMMON_STATUS"
v-model=
"scope.row.status"
defaultable
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行地址')"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.bankAddress"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"danger"
size=
"mini"
@
click=
"delBank(scope.$index)"
icon=
"el-icon-delete"
></el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-form-item
size=
"large"
class=
"mt-20"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{$t('提交')}}
</el-button>
<el-button
@
click=
"resetForm"
>
{{$t('重置')}}
</el-button>
</el-form-item>
...
...
@@ -113,10 +210,12 @@
import
{
createSupplier
,
updateSupplier
,
getSupplier
}
from
"
@/api/ecw/supplier
"
;
import
upload
from
'
@/components/ImageUpload
'
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
import
TableForm
from
'
@/components/TableForm
'
import
AreaSelector
from
'
@/components/AreaSelector
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
Selector
from
'
@/components/Selector
'
import
{
validatePwd
}
from
'
@/api/ecw/busiPwd
'
export
default
{
components
:
{
upload
,
TableForm
,
Area
Selector
},
components
:
{
upload
,
AreaSelector
,
Selector
},
props
:
[],
data
()
{
return
{
...
...
@@ -132,6 +231,8 @@ export default {
license
:
null
,
contract
:
null
,
licenseNumber
:
undefined
,
contactList
:[],
bankList
:
[]
},
rules
:
{
companyZh
:
[{
...
...
@@ -159,11 +260,7 @@ export default {
treeList
:[],
provinceList
:[],
cityList
:[],
bankStatusAttr
:{
"
active-value
"
:
1
,
"
inactive-value
"
:
0
},
currentcyAttr
:
[]
currencyList
:[]
}
},
computed
:
{
...
...
@@ -186,6 +283,9 @@ export default {
}
},
created
()
{
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
})
// 回显数据需要在加载了地区数据之后,否则无法正常回显
getListTree
({
treeType
:
1
}).
then
(
response
=>
{
...
...
@@ -202,8 +302,37 @@ export default {
},
mounted
()
{},
methods
:
{
delBank
(){
console
.
log
(
'
删除银行卡
'
)
delContact
(
index
){
this
.
$confirm
(
this
.
$t
(
'
确定删除此联系人么?
'
)).
then
(()
=>
{
this
.
formData
.
contactList
.
splice
(
index
,
1
)
})
},
delBank
(
index
){
if
(
this
.
formData
.
bankList
[
index
].
id
){
this
.
$prompt
(
this
.
$t
(
"
请输入密码
"
),
{
inputType
:
'
password
'
})
.
then
(({
value
})
=>
{
if
(
value
&&
value
!=
''
){
return
validatePwd
({
busiType
:
5
,
pwd
:
value
})
}
this
.
$message
.
error
(
this
.
$t
(
'
密码不能为空
'
))
})
.
then
(
res
=>
{
if
(
!
res
.
data
){
return
this
.
$message
.
error
(
this
.
$t
(
'
密码错误
'
))
}
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
return
}
this
.
$confirm
(
this
.
$t
(
'
确定删除此银行信息么?
'
)).
then
(()
=>
{
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
},
onAreaChange
(
type
,
val
){
this
.
$set
(
this
.
formData
,
type
,
val
)
...
...
@@ -226,8 +355,8 @@ export default {
}
// 添加的提交
createSupplier
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
));
this
.
$r
outer
.
replace
(
'
supplier
'
)
this
.
$modal
.
msgSuccess
(
this
.
$t
(
this
.
$t
(
"
新增成功
"
)
));
this
.
$r
edirect
(
'
supplier
'
)
});
});
},
...
...
@@ -238,9 +367,19 @@ export default {
}
</
script
>
<
style
>
<
style
lang=
"scss"
scoped
>
.el-upload__tip
{
line-height
:
1
.2
;
}
.card-header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.title
{
font-size
:
18px
;
}
}
::v-deep
.data-list
.el-form-item__error
{
position
:
static
;
}
</
style
>
src/views/ecw/zhongPao/index.vue
View file @
ce0c29bf
...
...
@@ -93,7 +93,7 @@
<el-form-item
label=
"始发地"
prop=
"departureId"
>
<el-select
v-model=
"form.departureId"
placeholder=
"请选择始发地"
>
<el-option
label=
"全部"
:value=
"0"
></el-option>
<el-option
v-for=
"(item) in
warehouse
List"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"(item) in
expoerCity
List"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"objectiveIds"
>
...
...
@@ -171,7 +171,8 @@ export default {
rules
:
{
},
importCityList
:
[],
warehouseList
:
[]
warehouseList
:
[],
tradeCityList
:[]
};
},
created
()
{
...
...
@@ -182,6 +183,12 @@ export default {
getWarehouseList
().
then
(
r
=>
{
this
.
warehouseList
=
r
.
data
})
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
},
computed
:{
expoerCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
},
methods
:
{
handleStatusChange
(
row
){
...
...
src/views/system/internalMessage/index.vue
View file @
ce0c29bf
...
...
@@ -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>
...
...
@@ -79,9 +79,9 @@
<!-- 对话框(添加 / 修改) -->
<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="站内信来源ID" 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>
...
...
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