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
1df20f6a
Commit
1df20f6a
authored
Sep 27, 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
50fe2f07
275abef7
Changes
29
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
835 additions
and
456 deletions
+835
-456
boxSea.js
src/api/ecw/boxSea.js
+14
-0
index.vue
src/components/DictSelector/index.vue
+7
-14
index.vue
src/components/UserSelector/index.vue
+12
-3
ProcessViewer.vue
...ts/bpmnProcessDesigner/package/designer/ProcessViewer.vue
+1
-2
detail.vue
src/views/bpm/processInstance/detail.vue
+4
-4
indexFutureBox.vue
src/views/ecw/box/indexFutureBox.vue
+6
-5
index.vue
src/views/ecw/box/ladingBill/index.vue
+5
-1
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+188
-239
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+2
-2
review.vue
src/views/ecw/box/shippingSea/nodePage/review.vue
+24
-3
index.vue
src/views/ecw/channel/index.vue
+2
-12
index.vue
src/views/ecw/customer/index.vue
+67
-25
transferCustomer.vue
src/views/ecw/customer/transferCustomer.vue
+72
-0
index.vue
src/views/ecw/deptTarget/index.vue
+2
-2
index.vue
src/views/ecw/myCustomerService/index.vue
+88
-16
edit.vue
src/views/ecw/offer/edit.vue
+46
-8
index.vue
src/views/ecw/offer/index.vue
+15
-60
result.vue
src/views/ecw/offer/result.vue
+2
-1
a订单列表操作按钮状态判断.txt
src/views/ecw/order/a订单列表操作按钮状态判断.txt
+75
-0
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+6
-6
edit.vue
src/views/ecw/order/edit.vue
+9
-6
index.vue
src/views/ecw/order/index.vue
+166
-30
discount.vue
src/views/ecw/order/special/discount.vue
+2
-0
index.vue
src/views/ecw/order/special/index.vue
+5
-3
index.vue
src/views/ecw/order/warehousing/index.vue
+4
-3
index.vue
src/views/ecw/productPrice/index.vue
+5
-5
index.vue
src/views/ecw/supplier/index.vue
+2
-2
index.vue
src/views/system/menu/index.vue
+1
-1
index.vue
src/views/system/myInternalMessage/index.vue
+3
-3
No files found.
src/api/ecw/boxSea.js
View file @
1df20f6a
...
@@ -610,6 +610,20 @@ export function boxUpdate(data) {
...
@@ -610,6 +610,20 @@ export function boxUpdate(data) {
});
});
}
}
/**
* 拆单审核
*
* @param {*} params
* @returns
*/
export
function
createApproval
(
data
)
{
return
request
({
url
:
"
/ecw/box-approval/create
"
,
method
:
"
post
"
,
data
,
});
}
/***************************** 装柜 end **********************************/
/***************************** 装柜 end **********************************/
/***************************** 卸柜 start **********************************/
/***************************** 卸柜 start **********************************/
...
...
src/components/DictSelector/index.vue
View file @
1df20f6a
...
@@ -40,10 +40,6 @@ export default {
...
@@ -40,10 +40,6 @@ export default {
type
:
[
Function
,
String
],
type
:
[
Function
,
String
],
default
:
String
default
:
String
},
},
/* forceString: {
type: Boolean,
default: true
}, */
defaultable
:
Boolean
,
// 是否默认选择第一个
defaultable
:
Boolean
,
// 是否默认选择第一个
disabled
:
Boolean
,
disabled
:
Boolean
,
/**
/**
...
@@ -80,11 +76,10 @@ export default {
...
@@ -80,11 +76,10 @@ export default {
},
},
watch
:{
watch
:{
valueSync
(
val
){
valueSync
(
val
){
//this.$emit('input', this.forceString ? String(this.valueSync) : this.valueSync)
this
.
$emit
(
'
input
'
,
val
)
this
.
$emit
(
'
input
'
,
this
.
format
(
val
))
},
},
value
(
val
){
value
(
val
){
this
.
setValueSync
()
if
(
val
!=
this
.
valueSync
)
this
.
setValueSync
()
},
},
dictList
(){
dictList
(){
this
.
setDefault
()
this
.
setDefault
()
...
@@ -96,7 +91,7 @@ export default {
...
@@ -96,7 +91,7 @@ export default {
},
},
methods
:{
methods
:{
format
(
val
){
format
(
val
){
if
(
val
===
null
||
val
==
undefined
)
return
val
if
(
val
===
null
||
val
==
undefined
||
val
==
''
)
return
val
let
formatter
=
typeof
this
.
formatter
==
'
function
'
?
this
.
formatter
:
FORMATTERS
[
this
.
formatter
]
let
formatter
=
typeof
this
.
formatter
==
'
function
'
?
this
.
formatter
:
FORMATTERS
[
this
.
formatter
]
if
(
!
formatter
){
if
(
!
formatter
){
console
.
warn
(
'
格式器无效
'
,
this
.
formatter
)
console
.
warn
(
'
格式器无效
'
,
this
.
formatter
)
...
@@ -108,7 +103,9 @@ export default {
...
@@ -108,7 +103,9 @@ export default {
this
.
valueSync
=
val
this
.
valueSync
=
val
},
},
setValueSync
(){
setValueSync
(){
if
(
this
.
value
===
null
||
this
.
value
===
undefined
||
this
.
value
===
''
)
return
if
(
this
.
value
===
null
||
this
.
value
===
undefined
||
this
.
value
===
''
){
return
this
.
valueSync
=
this
.
multiple
?
[]
:
this
.
value
}
if
(
this
.
multiple
){
if
(
this
.
multiple
){
let
value
=
[]
let
value
=
[]
if
(
typeof
this
.
value
==
'
string
'
){
if
(
typeof
this
.
value
==
'
string
'
){
...
@@ -118,17 +115,13 @@ export default {
...
@@ -118,17 +115,13 @@ export default {
}
else
{
}
else
{
this
.
valueSync
=
this
.
format
(
this
.
value
)
this
.
valueSync
=
this
.
format
(
this
.
value
)
}
}
/* if(this.forceString && this.multiple){
this.valueSync = this.value.split(',')
}else this.valueSync = this.forceString ? String(this.value) : this.value */
},
},
getList
(){
getList
(){
return
this
.
getDictDatas
(
this
.
type
)
return
this
.
getDictDatas
(
this
.
type
)
},
},
setDefault
(){
setDefault
(){
if
(
!
this
.
defaultable
)
return
if
(
!
this
.
defaultable
)
return
if
(
this
.
dictList
.
length
&&
(
this
.
valueSync
===
null
||
this
.
valueSync
==
''
)){
if
(
this
.
dictList
.
length
&&
(
this
.
valueSync
===
null
||
this
.
valueSync
==
undefined
||
this
.
valueSync
==
''
)){
this
.
valueSync
=
this
.
multiple
?
[]
:
this
.
formattedList
[
0
].
value
this
.
valueSync
=
this
.
multiple
?
[]
:
this
.
formattedList
[
0
].
value
}
}
}
}
...
...
src/components/UserSelector/index.vue
View file @
1df20f6a
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<el-select
<el-select
v-model=
"index"
v-model=
"index"
filterable
filterable
clearable
:clearable=
"clearable"
remote
remote
reserve-keyword
reserve-keyword
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -20,7 +20,8 @@ import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customer
...
@@ -20,7 +20,8 @@ import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customer
import
{
listSimpleUsers
}
from
'
@/api/system/user
'
import
{
listSimpleUsers
}
from
'
@/api/system/user
'
export
default
{
export
default
{
props
:{
props
:{
value
:
[
String
,
Number
]
value
:
[
String
,
Number
],
clearable
:
Boolean
},
},
data
(){
data
(){
return
{
return
{
...
@@ -36,7 +37,10 @@ export default {
...
@@ -36,7 +37,10 @@ export default {
this
.
$emit
(
'
change
'
,
val
!==
null
?
this
.
list
[
val
]:
null
)
this
.
$emit
(
'
change
'
,
val
!==
null
?
this
.
list
[
val
]:
null
)
},
},
value
(
val
){
value
(
val
){
// this.init()
this
.
resetIndex
()
},
list
(){
this
.
resetIndex
()
}
}
},
},
created
(){
created
(){
...
@@ -46,6 +50,11 @@ export default {
...
@@ -46,6 +50,11 @@ export default {
// this.init()
// this.init()
},
},
methods
:{
methods
:{
resetIndex
(){
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
if
(
index
<
0
)
this
.
index
=
null
else
this
.
index
=
index
}
/* init(){
/* init(){
console.log('初始化联系人选择', this.value)
console.log('初始化联系人选择', this.value)
if(!this.value) return
if(!this.value) return
...
...
src/components/bpmnProcessDesigner/package/designer/ProcessViewer.vue
View file @
1df20f6a
...
@@ -317,8 +317,7 @@ export default {
...
@@ -317,8 +317,7 @@ export default {
};
};
</
script
>
</
script
>
<
style
>
<
style
scoped
>
/** 处理中 */
/** 处理中 */
.highlight-todo.djs-connection
>
.djs-visual
>
path
{
.highlight-todo.djs-connection
>
.djs-visual
>
path
{
stroke
:
#1890ff
!important
;
stroke
:
#1890ff
!important
;
...
...
src/views/bpm/processInstance/detail.vue
View file @
1df20f6a
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
</el-col>
</el-col>
</el-card>
</el-card>
<!-- 申请信息 -->
<!-- 申请信息 -->
<el-card
class=
"box-card"
v-loading=
"processInstanceLoading"
>
<el-card
class=
"box-card
mt-10
"
v-loading=
"processInstanceLoading"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"el-icon-document"
>
申请信息【
{{
processInstance
.
name
}}
】
</span>
<span
class=
"el-icon-document"
>
申请信息【
{{
processInstance
.
name
}}
】
</span>
</div>
</div>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
</div>
</div>
</el-card>
</el-card>
<el-card
class=
"box-card"
v-loading=
"tasksLoad"
>
<el-card
class=
"box-card
mt-10
"
v-loading=
"tasksLoad"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"el-icon-picture-outline"
>
审批记录
</span>
<span
class=
"el-icon-picture-outline"
>
审批记录
</span>
</div>
</div>
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
</el-card>
</el-card>
<!-- 高亮流程图 -->
<!-- 高亮流程图 -->
<el-card
class=
"box-card"
v-loading=
"processInstanceLoading"
>
<el-card
class=
"box-card
mt-10
"
v-loading=
"processInstanceLoading"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"el-icon-picture-outline"
>
流程图
</span>
<span
class=
"el-icon-picture-outline"
>
流程图
</span>
</div>
</div>
...
@@ -594,7 +594,7 @@ export default {
...
@@ -594,7 +594,7 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
.my-process-designer
{
.my-process-designer
{
height
:
calc
(
100vh
-
200px
);
height
:
calc
(
100vh
-
200px
);
}
}
...
...
src/views/ecw/box/indexFutureBox.vue
View file @
1df20f6a
...
@@ -7,16 +7,16 @@
...
@@ -7,16 +7,16 @@
<!--
<el-select
v-model=
"queryParams.transportType"
placeholder=
"请选择运输方式"
clearable
size=
"small"
>
<!--
<el-select
v-model=
"queryParams.transportType"
placeholder=
"请选择运输方式"
clearable
size=
"small"
>
<el-option
v-for=
"dict in transportTypes"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
<el-option
v-for=
"dict in transportTypes"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
-->
</el-select>
-->
<dict-selector
:type=
"DICT_TYPE.TRANSPORT_TYPE"
v-model=
"queryParams.transportType"
/>
<dict-selector
:type=
"DICT_TYPE.TRANSPORT_TYPE"
v-model=
"queryParams.transportType"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"始发仓"
prop=
"startWarehouseId"
>
<el-form-item
label=
"始发仓"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
placeholder=
"请选择始发地"
>
<el-select
v-model=
"queryParams.startWarehouseId"
placeholder=
"请选择始发地"
clearable
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"目的仓"
prop=
"destWarehouseId"
>
<el-form-item
label=
"目的仓"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
placeholder=
"请选择目的地"
>
<el-select
v-model=
"queryParams.destWarehouseId"
placeholder=
"请选择目的地"
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -179,6 +179,7 @@ import {getCabinetPage} from "@/api/ecw/cabinet";
...
@@ -179,6 +179,7 @@ import {getCabinetPage} from "@/api/ecw/cabinet";
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
Decimal
from
'
decimal.js
'
export
default
{
export
default
{
name
:
"
indexFutureBox
"
,
name
:
"
indexFutureBox
"
,
components
:
{
components
:
{
...
@@ -327,11 +328,11 @@ export default {
...
@@ -327,11 +328,11 @@ export default {
},
},
'
form.warehousedNumber
'
(){
'
form.warehousedNumber
'
(){
//在仓 = 已入仓-已封柜
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
this
.
form
.
warehousedNumber
-
this
.
form
.
loadingNumber
)
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
)
)
},
},
'
form.loadingNumber
'
(){
'
form.loadingNumber
'
(){
//在仓 = 已入仓-已封柜
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
this
.
form
.
warehousedNumber
-
this
.
form
.
loadingNumber
)
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
)
)
}
}
},
},
methods
:
{
methods
:
{
...
...
src/views/ecw/box/ladingBill/index.vue
View file @
1df20f6a
...
@@ -175,7 +175,11 @@ export default {
...
@@ -175,7 +175,11 @@ export default {
this.$set(this.dialogCfg, "visible", true);
this.$set(this.dialogCfg, "visible", true);
},
},
makeBill(row) {
makeBill(row) {
makeBillService({ orderId: row.orderId }).then((res) => {
const { bookSeaInfo } = this.shipmentObj;
makeBillService({
orderId: row.orderId,
zgDate: bookSeaInfo.sailTime,
}).then((res) => {
const { data } = res;
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
let billContent = `
$
{
titleZh
}
$
{
contentZh
}
`,
let billContent = `
$
{
titleZh
}
$
{
contentZh
}
`,
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
View file @
1df20f6a
This diff is collapsed.
Click to expand it.
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
1df20f6a
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<
!--
<el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button>
--
>
<
el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -194,7 +194,7 @@
...
@@ -194,7 +194,7 @@
</el-row>
</el-row>
</
template
>
</
template
>
<!-- 拆单 -->
<!-- 拆单 -->
<splitOrder
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog"
/>
<splitOrder
v-
bind=
"$attrs"
:shipmentObj=
"shipmentObj"
v-
if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog"
/>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
...
src/views/ecw/box/shippingSea/nodePage/review.vue
View file @
1df20f6a
...
@@ -2,11 +2,12 @@
...
@@ -2,11 +2,12 @@
<div>
<div>
<el-form
ref=
"reviewForm"
:model=
"reviewObj"
label-width=
"120px"
>
<el-form
ref=
"reviewForm"
:model=
"reviewObj"
label-width=
"120px"
>
<el-form-item
label=
"申请理由"
>
<el-form-item
label=
"申请理由"
>
<el-input
v-model=
"reviewObj.applyReason"
type=
"textarea"
rows=
"2"
placeholder=
"请输入申请理由"
></el-input>
<el-input
v-model=
"reviewObj.applyReason"
type=
"textarea"
rows=
"2"
placeholder=
"请输入申请理由"
:disabled=
"isReview"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-row
class=
"operate-button"
>
<el-row
class=
"operate-button"
>
<el-button
type=
"success"
@
click=
"onSubmit"
>
发起申请
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit"
:disabled=
"isReview"
>
发起申请
</el-button>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
:disabled=
"!isReview"
>
审核中
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
</el-row>
</el-row>
</div>
</div>
...
@@ -14,7 +15,7 @@
...
@@ -14,7 +15,7 @@
<
script
>
<
script
>
import
{
approvalCreate
}
from
"
@/api/ecw/boxSea
"
;
import
{
approvalCreate
}
from
"
@/api/ecw/boxSea
"
;
import
{
serviceMsg
}
from
"
../utils
"
;
import
{
serviceMsg
,
toReviewDetail
}
from
"
../utils
"
;
/**
/**
* 反审
* 反审
...
@@ -26,9 +27,29 @@ export default {
...
@@ -26,9 +27,29 @@ export default {
return
{
return
{
// 反审对象
// 反审对象
reviewObj
:
{},
reviewObj
:
{},
isReview
:
false
,
bpmProcessId
:
""
,
};
};
},
},
created
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
if
(
currNode
.
type
===
"
preinstall
"
)
{
this
.
isReview
=
shipmentObj
[
"
preInstallBackInfo
"
]
?
true
:
false
;
this
.
bpmProcessId
=
shipmentObj
[
"
preInstallBackInfo
"
]?.
bpmProcessId
;
}
if
(
currNode
.
type
===
"
unloading
"
)
{
this
.
isReview
=
shipmentObj
[
"
cabinetUnloadBackApprovalInfo
"
]
?
true
:
false
;
this
.
bpmProcessId
=
shipmentObj
[
"
cabinetUnloadBackApprovalInfo
"
]?.
bpmProcessId
;
}
},
methods
:
{
methods
:
{
jumpReviewDetail
()
{
toReviewDetail
.
apply
(
this
,
[
this
.
bpmProcessId
]);
this
.
$emit
(
"
closeDialog
"
);
},
/** 提交 */
/** 提交 */
onSubmit
()
{
onSubmit
()
{
this
.
$refs
[
"
reviewForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
reviewForm
"
].
validate
((
valid
)
=>
{
...
...
src/views/ecw/channel/index.vue
View file @
1df20f6a
...
@@ -229,21 +229,11 @@ export default {
...
@@ -229,21 +229,11 @@ export default {
},
},
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
return
this
.
$router
.
push
(
'
edit
'
)
return
this
.
$router
.
push
(
'
create_channel
'
)
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加渠道管理
"
;
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
return
this
.
$router
.
push
(
'
edit?id=
'
+
row
.
channelId
)
return
this
.
$router
.
push
(
'
edit_channel?id=
'
+
row
.
channelId
)
this
.
reset
();
const
channelId
=
row
.
channelId
;
getChannel
(
channelId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改渠道管理
"
;
});
},
},
/** 删除按钮操作 */
/** 删除按钮操作 */
...
...
src/views/ecw/customer/index.vue
View file @
1df20f6a
...
@@ -10,36 +10,50 @@
...
@@ -10,36 +10,50 @@
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系方式"
>
<el-input
placeholder=
"请输入联系方式"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
label=
"客户类别"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-select
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
客户经理"
prop=
"customerServi
ce"
>
<el-form-item
label=
"
国家"
prop=
"sour
ce"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small
"
>
<el-select
clearable
v-model=
"form.country"
placeholder=
"请选择国家
"
>
<el-option
v-for=
"dict in c
ustomerService
List"
<el-option
v-for=
"dict in c
ountry
List"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"queryParams.department"
placeholder=
"请输入部门"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"信用等级"
prop=
"department"
>
<el-select
clearable
v-model=
"form.level"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
@@ -56,36 +70,42 @@
...
@@ -56,36 +70,42 @@
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
导出
</el-button>
v-hasPermi=
"['ecw:customer:export']"
>
导出
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"transferShow = true;"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
批量移交
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
</el-row>
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
level
"
>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
vipLevelNameZh
"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
:formatter=
"countryFormatter"
></el-table-column>
<el-table-column
label=
"信用等级"
prop=
"creditLevelNameZh"
></el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"部门"
align=
"center"
prop=
"department"
>
<el-table-column
label=
"主联系人"
prop=
"defaultContactName"
></el-table-column>
<
template
v-slot:default=
"scope"
>
<el-table-column
label=
"主联系方式"
prop=
"defaultContactPhone"
></el-table-column>
{{
scope
.
row
.
department
}}
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
:formatter=
"countryFormatter"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"handleView(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"handleView(scope.row)"
...
@@ -451,6 +471,7 @@
...
@@ -451,6 +471,7 @@
</el-dialog>
</el-dialog>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
ref=
"CustomerFollowList"
></customer-follow-list>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
ref=
"CustomerFollowList"
></customer-follow-list>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<transfer-customer
:show.sync=
"transferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
</div>
</div>
</template>
</template>
...
@@ -467,13 +488,16 @@ import CustomerFollowList from "@/components/CustomerFollowList"
...
@@ -467,13 +488,16 @@ import CustomerFollowList from "@/components/CustomerFollowList"
import
customerComplaints
from
"
@/components/customerComplaints
"
import
customerComplaints
from
"
@/components/customerComplaints
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
export
default
{
export
default
{
name
:
"
Customer
"
,
name
:
"
Customer
"
,
components
:
{
components
:
{
upload
,
upload
,
CustomerFollowList
,
CustomerFollowList
,
customerComplaints
customerComplaints
,
transferCustomer
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -525,11 +549,16 @@ export default {
...
@@ -525,11 +549,16 @@ export default {
showLine
:
false
,
showLine
:
false
,
customerId
:
undefined
,
customerId
:
undefined
,
customerServiceList
:[],
customerServiceList
:[],
countryList
:
[],
countryList
:
[]
creditList
:[],
selectCustomerList
:[],
transferShow
:
false
};
};
},
},
created
()
{
created
()
{
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
this
.
creditList
=
r
.
data
.
list
})
this
.
getList
();
this
.
getList
();
// getNodeList().then(r => {
// getNodeList().then(r => {
// this.nodeList = r.data
// this.nodeList = r.data
...
@@ -682,7 +711,6 @@ export default {
...
@@ -682,7 +711,6 @@ export default {
/** 导出按钮操作 */
/** 导出按钮操作 */
handleExport
()
{
handleExport
()
{
// 处理查询参数
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
let
params
=
{...
this
.
queryParams
};
params
.
pageNo
=
undefined
;
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
params
.
pageSize
=
undefined
;
...
@@ -693,6 +721,8 @@ export default {
...
@@ -693,6 +721,8 @@ export default {
return
exportCustomerExcel
(
params
);
return
exportCustomerExcel
(
params
);
}).
then
(
response
=>
{
}).
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
客户信息.xls
'
);
this
.
$download
.
excel
(
response
,
'
客户信息.xls
'
);
console
.
log
(
response
,
'
response
'
)
this
.
$download
.
excel
(
response
,
'
全部客户信息.xls
'
);
this
.
exportLoading
=
false
;
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}).
catch
(()
=>
{});
},
},
...
@@ -707,7 +737,19 @@ export default {
...
@@ -707,7 +737,19 @@ export default {
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
customerComplaints
.
handleAdd
();
this
.
$refs
.
customerComplaints
.
handleAdd
();
})
})
},
handleSelectionChange
(
val
){
this
.
selectCustomerList
=
val
.
map
(
i
=>
i
.
id
);
}
}
},
watch
:{
selectCustomerList
(
val
){
if
(
val
.
length
===
0
){
this
.
getList
()
this
.
$refs
.
multipleTable
.
clearSelection
();
}
},
}
}
};
};
</
script
>
</
script
>
src/views/ecw/customer/transferCustomer.vue
0 → 100644
View file @
1df20f6a
<
template
>
<el-dialog
center
title=
"客服"
:visible.sync=
"show"
width=
"30%"
>
<div
style=
"width: 100%;min-height: 200px;text-align: center"
>
<el-select
filterable
v-model=
"service"
>
<el-option
v-for=
"(item,index) in customerServiceList"
:key=
"index"
:label=
"item.nickname"
:value=
"item.id"
></el-option>
</el-select>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
确 定
</el-button>
</span>
</el-dialog>
</
template
>
<
script
>
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
handOverCustomer
}
from
"
@/api/ecw/customer
"
;
export
default
{
name
:
"
transferCustomer
"
,
props
:{
show
:{
type
:
Boolean
,
default
:
false
},
customerIds
:[
Array
,
String
],
tableName
:
String
},
created
()
{
listServiceUser
().
then
(
r
=>
{
this
.
customerServiceList
=
r
.
data
;
})
},
computed
:{
getCustomerIds
(){
if
(
this
.
customerIds
instanceof
Array
)
return
this
.
customerIds
else
return
this
.
customerIds
.
split
(
'
,
'
)
}
},
data
(){
return
{
customerServiceList
:[],
service
:
''
,
}
},
methods
:{
submit
(){
if
(
!
this
.
service
){
return
this
.
$message
.
warning
(
'
请选择客户经理!
'
);
}
handOverCustomer
({
customerServiceId
:
this
.
service
,
customerIdList
:
this
.
getCustomerIds
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:customerIds
'
,[])
this
.
$message
.
success
(
'
用户批量转移成功!
'
)
}
})
},
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ecw/deptTarget/index.vue
View file @
1df20f6a
...
@@ -315,8 +315,8 @@
...
@@ -315,8 +315,8 @@
setTime
(
item
)
{
setTime
(
item
)
{
this
.
targetPeriod
.
forEach
((
i
,
index
)
=>
{
this
.
targetPeriod
.
forEach
((
i
,
index
)
=>
{
if
(
i
.
name
===
item
)
{
if
(
i
.
name
===
item
)
{
this
.
form
.
startTime
=
i
.
startDate
;
this
.
form
.
startTime
=
i
.
startDate
+
"
00:00:00
"
;
this
.
form
.
endTime
=
i
.
endDate
;
this
.
form
.
endTime
=
i
.
endDate
+
"
23:59:59
"
;
}
}
})
})
},
},
...
...
src/views/ecw/myCustomerService/index.vue
View file @
1df20f6a
...
@@ -11,30 +11,50 @@
...
@@ -11,30 +11,50 @@
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系方式"
>
<el-input
placeholder=
"请输入联系方式"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
label=
"客户类别"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-select
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"国家"
prop=
"source"
>
<el-select
clearable
v-model=
"form.country"
placeholder=
"请选择国家"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"dict.nameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"queryParams.department"
placeholder=
"请输入部门"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"信用等级"
prop=
"department"
>
<el-select
clearable
v-model=
"form.level"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
@@ -51,34 +71,42 @@
...
@@ -51,34 +71,42 @@
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
导出
</el-button>
v-hasPermi=
"['ecw:customer:export']"
>
导出
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"show = true;"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
批量移交
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
</el-row>
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
level
"
>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
vipLevelNameZh
"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
>
<el-table-column
label=
"信用等级"
prop=
"creditLevelNameZh"
></el-table-column>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"部门"
align=
"center"
prop=
"department"
/>
<el-table-column
label=
"主联系人"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
label=
"主联系方式"
prop=
"defaultContactPhone"
></el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
:formatter=
"countryFormatter"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"handleView(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"handleView(scope.row)"
...
@@ -98,6 +126,7 @@
...
@@ -98,6 +126,7 @@
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<customer-follow-list
ref=
"customerFollowList"
:customer-id=
"customerId"
:id=
"customerId"
></customer-follow-list>
<customer-follow-list
ref=
"customerFollowList"
:customer-id=
"customerId"
:id=
"customerId"
></customer-follow-list>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<transfer-customer
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
</div>
</div>
</template>
</template>
...
@@ -108,15 +137,24 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
...
@@ -108,15 +137,24 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import
upload
from
'
@/components/ImageUpload
'
import
upload
from
'
@/components/ImageUpload
'
import
customerFollowList
from
"
@/components/CustomerFollowList
"
;
import
customerFollowList
from
"
@/components/CustomerFollowList
"
;
import
customerComplaints
from
"
@/components/customerComplaints
"
;
import
customerComplaints
from
"
@/components/customerComplaints
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
export
default
{
export
default
{
name
:
"
myCustomerService
"
,
name
:
"
myCustomerService
"
,
components
:
{
components
:
{
upload
,
upload
,
customerFollowList
,
customerFollowList
,
customerComplaints
customerComplaints
,
transferCustomer
},
},
data
()
{
data
()
{
return
{
return
{
show
:
false
,
creditList
:[],
countryList
:[],
customerServiceList
:[],
getDictDatas
,
getDictDatas
,
DICT_TYPE
,
DICT_TYPE
,
// 遮罩层
// 遮罩层
...
@@ -163,6 +201,7 @@ export default {
...
@@ -163,6 +201,7 @@ export default {
nodeList
:
[],
nodeList
:
[],
showLine
:
false
,
showLine
:
false
,
customerId
:
undefined
,
customerId
:
undefined
,
selectCustomerList
:[],
};
};
},
},
created
()
{
created
()
{
...
@@ -170,8 +209,32 @@ export default {
...
@@ -170,8 +209,32 @@ export default {
// getNodeList().then(r => {
// getNodeList().then(r => {
// this.nodeList = r.data
// this.nodeList = r.data
// })
// })
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
this
.
creditList
=
r
.
data
.
list
})
listServiceUser
().
then
(
r
=>
{
this
.
customerServiceList
=
r
.
data
;
})
getCountryListAll
().
then
(
r
=>
{
this
.
countryList
=
r
.
data
})
},
},
methods
:
{
methods
:
{
handleSelectionChange
(
val
){
this
.
selectCustomerList
=
val
.
map
(
i
=>
i
.
id
);
},
countryFormatter
(
row
,
column
,
cellValue
)
{
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
return
country
?.
nameZh
},
customerServiceFn
(
val
){
if
(
this
.
customerServiceList
.
length
>
0
){
let
index
=
this
.
customerServiceList
.
findIndex
(
item
=>
item
.
id
===
val
.
customerService
);
return
index
!==
-
1
?
this
.
customerServiceList
[
index
]?.
nickname
:
''
}
else
{
return
''
}
},
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
...
@@ -323,6 +386,15 @@ export default {
...
@@ -323,6 +386,15 @@ export default {
this
.
$refs
[
'
customerComplaint
'
].
handleAdd
()
this
.
$refs
[
'
customerComplaint
'
].
handleAdd
()
})
})
}
}
},
watch
:{
selectCustomerList
(
val
){
if
(
val
.
length
===
0
){
this
.
getList
()
this
.
$refs
.
multipleTable
.
clearSelection
();
}
},
}
}
};
};
</
script
>
</
script
>
src/views/ecw/offer/edit.vue
View file @
1df20f6a
...
@@ -499,7 +499,7 @@ import ChooseContactDialog from '@/components/ChooseContactDialog'
...
@@ -499,7 +499,7 @@ import ChooseContactDialog from '@/components/ChooseContactDialog'
import
QuickCreateCustomer
from
'
@/components/QuickCreateCustomer
'
import
QuickCreateCustomer
from
'
@/components/QuickCreateCustomer
'
import
{
getCustomerContactsSelect
}
from
'
@/api/ecw/customerContacts
'
import
{
getCustomerContactsSelect
}
from
'
@/api/ecw/customerContacts
'
import
Decimal
from
'
decimal.js
'
import
Decimal
from
'
decimal.js
'
window
.
Decimal
=
Decimal
export
default
{
export
default
{
name
:
"
EcwOfferEdit
"
,
name
:
"
EcwOfferEdit
"
,
components
:
{
components
:
{
...
@@ -657,26 +657,61 @@ export default {
...
@@ -657,26 +657,61 @@ export default {
originalFeeList
(){
originalFeeList
(){
let
arr
=
[]
let
arr
=
[]
this
.
clearanceFeeList
.
forEach
(
item
=>
{
this
.
clearanceFeeList
.
forEach
(
item
=>
{
let
it
=
{...
item
}
let
it
=
{
src
:
'
清关费
'
,
currencyId
:
item
.
currencyId
,
amount
:
Decimal
(
item
.
amount
)
}
let
freight
=
this
.
freightFeeList
.
find
(
fee
=>
fee
.
currencyId
==
item
.
currencyId
)
let
freight
=
this
.
freightFeeList
.
find
(
fee
=>
fee
.
currencyId
==
item
.
currencyId
)
if
(
freight
){
if
(
freight
){
it
.
amount
+=
freight
.
amount
it
.
amount
=
it
.
amount
.
plus
(
freight
.
amount
)
}
}
arr
.
push
(
it
)
arr
.
push
(
it
)
})
})
// 判断是否有运费单位不在清关费里的
this
.
freightFeeList
.
forEach
(
item
=>
{
if
(
!
arr
.
find
(
arrItem
=>
arrItem
.
currencyId
==
item
.
currencyId
)){
arr
.
push
({
src
:
'
未计算的运费
'
,
currencyId
:
item
.
currencyId
,
amount
:
Decimal
(
item
.
amount
)
})
}
})
return
arr
return
arr
},
},
// 预计费用(原价 - 优惠金额)
// 预计费用(原价 - 优惠金额
+ 其他费用 + 保价费
)
estimatedCosts
(){
estimatedCosts
(){
let
arr
=
[]
let
arr
=
[]
let
withInsuranceFee
=
false
this
.
originalFeeList
.
forEach
(
item
=>
{
this
.
originalFeeList
.
forEach
(
item
=>
{
let
it
=
{...
item
}
let
it
=
{
currencyId
:
item
.
currencyId
,
amount
:
Decimal
(
item
.
amount
)
}
let
coupon
=
this
.
couponList
.
find
(
coupon
=>
coupon
.
reduceCurrencyId
==
item
.
currencyId
)
let
coupon
=
this
.
couponList
.
find
(
coupon
=>
coupon
.
reduceCurrencyId
==
item
.
currencyId
)
if
(
coupon
){
if
(
coupon
){
it
.
amount
-=
coupon
.
reduceAmount
it
.
amount
=
it
.
amount
.
minus
(
coupon
.
reduceAmount
)
}
if
(
this
.
form
.
otherFee
&&
this
.
form
.
otherFeeCurrencyId
==
item
.
currencyId
){
it
.
amount
=
it
.
amount
.
plus
(
this
.
form
.
otherFee
)
}
// 保价费(美元)
if
(
item
.
currencyId
==
1
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
){
it
.
amount
=
it
.
amount
.
plus
(
this
.
fee
.
insuranceFee
)
withInsuranceFee
=
true
}
}
arr
.
push
(
it
)
arr
.
push
(
it
)
})
})
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if
(
!
withInsuranceFee
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
){
arr
.
push
({
currencyId
:
1
,
amount
:
Decimal
(
this
.
fee
.
insuranceFee
)
})
}
return
arr
return
arr
},
},
// 路线开通的服务
// 路线开通的服务
...
@@ -935,8 +970,11 @@ export default {
...
@@ -935,8 +970,11 @@ export default {
orderType
:
this
.
form
.
orderType
,
orderType
:
this
.
form
.
orderType
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
$set
(
this
,
'
fee
'
,
res
.
data
.
costDto
)
this
.
$set
(
this
,
'
fee
'
,
res
.
data
.
costDto
)
if
(
res
.
data
.
availableDto
){
this
.
$set
(
this
,
'
couponTotalAmountList
'
,
res
.
data
.
availableDto
.
couponTotalAmountList
)
this
.
$set
(
this
,
'
couponTotalAmountList
'
,
res
.
data
.
availableDto
.
couponTotalAmountList
)
this
.
$set
(
this
,
'
couponAvailableGroupDtoList
'
,
res
.
data
.
availableDto
.
couponAvailableGroupDtoList
)
this
.
$set
(
this
,
'
couponAvailableGroupDtoList
'
,
res
.
data
.
availableDto
.
couponAvailableGroupDtoList
)
}
this
.
form
.
prodCreateReqVOList
.
map
((
item
,
index
)
=>
{
this
.
form
.
prodCreateReqVOList
.
map
((
item
,
index
)
=>
{
this
.
$set
(
item
,
'
fee
'
,
res
.
data
.
prodCostDtoList
[
index
]
||
null
)
this
.
$set
(
item
,
'
fee
'
,
res
.
data
.
prodCostDtoList
[
index
]
||
null
)
...
...
src/views/ecw/offer/index.vue
View file @
1df20f6a
...
@@ -18,33 +18,33 @@
...
@@ -18,33 +18,33 @@
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('始发地')"
prop=
"departureId"
>
<el-form-item
:label=
"$t('始发地')"
prop=
"departureId"
>
<el-select
v-model=
"queryParams.departureId"
:placeholder=
"$t('请选择始发地')"
>
<el-select
v-model=
"queryParams.departureId"
:placeholder=
"$t('请选择始发地')"
clearable
>
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('目的地')"
prop=
"objectiveId"
>
<el-form-item
:label=
"$t('目的地')"
prop=
"objectiveId"
>
<el-select
v-model=
"queryParams.objectiveId"
:placeholder=
"$t('请选择目的地')"
>
<el-select
v-model=
"queryParams.objectiveId"
:placeholder=
"$t('请选择目的地')"
clearable
>
<el-option
v-for=
"item in importCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in importCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('商品')"
prop=
"prodTitle"
>
<el-form-item
:label=
"$t('商品')"
prop=
"prodTitle"
>
<el-input
v-model=
"queryParams.prodTitle"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.prodTitle"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"control"
>
<el-form-item
:label=
"$t('控货')"
prop=
"control"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model=
"queryParams.control"
/>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model=
"queryParams.control"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUpSalesmanId"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUpSalesmanId"
>
<user-selector
v-model=
"queryParams.followUpSalesmanId"
/>
<user-selector
v-model=
"queryParams.followUpSalesmanId"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"status"
>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"status"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
v-model=
"queryParams.status"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
v-model=
"queryParams.status"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('报关方式')"
prop=
"customsType"
>
<el-form-item
:label=
"$t('报关方式')"
prop=
"customsType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsType"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsType"
clearable
/>
</el-form-item>
</el-form-item>
<div>
<div>
...
@@ -164,44 +164,10 @@ export default {
...
@@ -164,44 +164,10 @@ export default {
total
:
0
,
total
:
0
,
// 报价单管理列表
// 报价单管理列表
list
:
[],
list
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
dateRangeStopTime
:
[],
dateRangeStartTime
:
[],
dateRangeEndTime
:
[],
dateRangeCreateTime
:
[],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
number
:
null
,
orderIds
:
null
,
orderNo
:
null
,
consignorId
:
null
,
consigneeId
:
null
,
marks
:
null
,
customsType
:
null
,
departureId
:
null
,
departure
:
null
,
objectiveId
:
null
,
objective
:
null
,
control
:
null
,
competitor
:
null
,
importance
:
null
,
tradeType
:
null
,
tradeAdress
:
null
,
remarks
:
null
,
status
:
null
,
oldStatus
:
null
,
relation
:
null
,
relationId
:
null
,
commissionType
:
null
,
warehousingType
:
null
,
reason
:
null
,
estCost
:
null
,
sendstatus
:
null
,
}
,
}
,
currencyList
:
[],
currencyList
:
[],
tradeCityList
:[]
tradeCityList
:[]
...
@@ -236,14 +202,8 @@ export default {
...
@@ -236,14 +202,8 @@ export default {
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
}
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeStopTime
,
'
stopTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeStartTime
,
'
startTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeEndTime
,
'
endTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
// 执行查询
getOfferPage
(
p
arams
).
then
(
response
=>
{
getOfferPage
(
this
.
queryP
arams
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
this
.
loading
=
false
;
...
@@ -257,16 +217,15 @@ export default {
...
@@ -257,16 +217,15 @@ export default {
}
,
}
,
/** 重置按钮操作 */
/** 重置按钮操作 */
resetQuery
()
{
resetQuery
()
{
this
.
dateRangeStopTime
=
[];
this
.
queryParams
=
{
this
.
dateRangeStartTime
=
[];
pageNo
:
1
,
this
.
dateRangeEndTime
=
[];
pageSize
:
10
this
.
dateRangeCreateTime
=
[];
}
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
this
.
handleQuery
();
}
,
}
,
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
return
this
.
$router
.
push
(
'
edit
'
)
return
this
.
$router
.
push
(
'
create
'
)
}
,
}
,
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
...
@@ -289,16 +248,12 @@ export default {
...
@@ -289,16 +248,12 @@ export default {
let
params
=
{...
this
.
queryParams
}
;
let
params
=
{...
this
.
queryParams
}
;
params
.
pageNo
=
undefined
;
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
params
.
pageSize
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeStopTime
,
'
stopTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeStartTime
,
'
startTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeEndTime
,
'
endTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行导出
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出所有报价单管理数据项?
'
)).
then
(()
=>
{
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出所有报价单管理数据项?
'
)).
then
(()
=>
{
this
.
exportLoading
=
true
;
this
.
exportLoading
=
true
;
return
exportOfferExcel
(
params
);
return
exportOfferExcel
(
params
);
}
).
then
(
response
=>
{
}
).
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
${table.classComment
}
.xls
'
);
this
.
$download
.
excel
(
response
,
'
报价列表
.xls
'
);
this
.
exportLoading
=
false
;
this
.
exportLoading
=
false
;
}
).
catch
(()
=>
{
}
);
}
).
catch
(()
=>
{
}
);
}
,
}
,
...
...
src/views/ecw/offer/result.vue
View file @
1df20f6a
...
@@ -87,11 +87,12 @@ export default {
...
@@ -87,11 +87,12 @@ export default {
}
}
let
data
=
Object
.
assign
({},
this
.
form
)
let
data
=
Object
.
assign
({},
this
.
form
)
updateOfferResult
(
data
).
then
(
response
=>
{
updateOfferResult
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
赢单成功
"
));
if
(
response
.
data
>
0
){
if
(
response
.
data
>
0
){
this
.
$message
.
success
(
this
.
$t
(
'
赢单成功
'
))
this
.
$redirect
(
'
../order/edit?id=
'
+
response
.
data
)
this
.
$redirect
(
'
../order/edit?id=
'
+
response
.
data
)
return
return
}
}
this
.
$message
.
success
(
this
.
$t
(
'
输单成功
'
))
this
.
$router
.
back
();
this
.
$router
.
back
();
});
});
});
});
...
...
src/views/ecw/order/a订单列表操作按钮状态判断.txt
0 → 100644
View file @
1df20f6a
编辑
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status != 20,21
shipmentState != 320,322,323
inWarehouseState != 212, 218, 213, 214, 215 && status != 5,8
取消
status = 0,2
费用申请
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
特需,关联,互斥
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status > 5
inWarehouseState == 204
特价
status !=0
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
确认提货
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
合单,拆单
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState > 320
入仓操作
status == 0,2
abnormalState == 1
入仓补充
inWarehouseState == 201,202, 208, 202, 210, 202, 211, 202, 213, 214, 215, 216
abnormalState != 99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
入仓修改
inWarehouseState == 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206
退仓
inWarehouseState == 201, 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216
abnormalState != 1
调仓
inWarehouseState == 201, 202, 208, 202, 210, 202, 211, 202, 213, 215, 216
取消调仓
inWarehouseState == 212,213,214
调拨出仓
inWarehouseState == 213
调拨到仓
inWarehouseState= 214
打印标签
status != 0
shipmentState != 320,322,323
abnormalState !=5,6,7,8
打印入仓单
status != 0,2
abnormalState != 1,5,6,7,8
shipmentState != 320,322,323
打印提单
src/views/ecw/order/cargoControl.vue
View file @
1df20f6a
...
@@ -8,29 +8,29 @@
...
@@ -8,29 +8,29 @@
<el-date-picker
v-model=
"dateFilter"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"dateFilter"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('始发地')"
prop=
"startWarehouseId"
>
<el-form-item
:label=
"$t('始发地')"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
:placeholder=
"$t('请选择始发地')"
>
<el-select
v-model=
"queryParams.startWarehouseId"
:placeholder=
"$t('请选择始发地')"
clearable
>
<el-option
v-for=
"item in expoerCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in expoerCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('目的地')"
prop=
"destWarehouseId"
>
<el-form-item
:label=
"$t('目的地')"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
:placeholder=
"$t('请选择目的地')"
>
<el-select
v-model=
"queryParams.destWarehouseId"
:placeholder=
"$t('请选择目的地')"
clearable
>
<el-option
v-for=
"item in importCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in importCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model
=
"queryParams.transportId"
formatter=
"number"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model
.number=
"queryParams.transportId"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('订单编号')"
prop=
"orderNo"
>
<el-form-item
:label=
"$t('订单编号')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
:placeholder=
"$t('订单编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.orderNo"
:placeholder=
"$t('订单编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('品名')"
prop=
"prodId"
>
<el-form-item
:label=
"$t('品名')"
prop=
"prodId"
>
<product-selector
v-model=
"queryParams.prodId"
@
keyup.enter.native=
"handleQuery"
/>
<product-selector
v-model=
"queryParams.prodId"
@
keyup.enter.native=
"handleQuery"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
>
<dict-selector
v-model=
"queryParams.isCargoControl"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"queryParams.isCargoControl"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('订单状态')"
prop=
"status"
>
<el-form-item
:label=
"$t('订单状态')"
prop=
"status"
>
<dict-selector
:type=
"DICT_TYPE.PAY_ORDER_STATUS"
v-model=
"queryParams.status"
<dict-selector
:type=
"DICT_TYPE.PAY_ORDER_STATUS"
v-model=
"queryParams.status"
clearable
@
keyup.enter.native=
"handleQuery"
/>
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('提单号')"
prop=
"tidanNo"
>
<el-form-item
:label=
"$t('提单号')"
prop=
"tidanNo"
>
...
...
src/views/ecw/order/edit.vue
View file @
1df20f6a
...
@@ -409,7 +409,7 @@
...
@@ -409,7 +409,7 @@
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('是否双清')"
>
<el-form-item
:label=
"$t('是否双清')"
>
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
/>
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
defaultable
/>
</el-form-item>
</el-form-item>
</div>
</div>
...
@@ -425,7 +425,7 @@
...
@@ -425,7 +425,7 @@
</div>
</div>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('清关证书')"
>
<el-form-item
:label=
"$t('清关证书')"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
defaultable
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"清关证书备注"
>
<el-form-item
label=
"清关证书备注"
>
<el-input
v-model=
"form.remarks"
></el-input>
<el-input
v-model=
"form.remarks"
></el-input>
...
@@ -433,18 +433,18 @@
...
@@ -433,18 +433,18 @@
</div>
</div>
<div
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<div
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
label=
"是否拆包"
>
<el-form-item
label=
"是否拆包"
>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
defaultable
/>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
defaultable
/>
<span
style=
"margin-left:10px"
>
{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}
</span>
<span
style=
"margin-left:10px"
>
{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}
</span>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('特殊要求')"
>
<el-form-item
:label=
"$t('特殊要求')"
>
<dict-selector
v-model=
"form.packageType"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
<dict-selector
v-model=
"form.packageType
Arr
"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
/>
</el-form-item>
</el-form-item>
</div>
</div>
<el-form-item
:label=
"$t('特殊要求备注')"
>
<el-form-item
:label=
"$t('特殊要求备注')"
>
...
@@ -462,7 +462,7 @@
...
@@ -462,7 +462,7 @@
<el-dialog
:title=
"$t('批量导入')"
:visible.sync=
"showBatchImportDialog"
width=
"1000px"
:close-on-click-modal=
"false"
>
<el-dialog
:title=
"$t('批量导入')"
:visible.sync=
"showBatchImportDialog"
width=
"1000px"
:close-on-click-modal=
"false"
>
<el-steps
:active=
"importList.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-steps
:active=
"importList.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-step
:title=
"$t('上传
集装箱
')"
></el-step>
<el-step
:title=
"$t('上传
装箱单
')"
></el-step>
<el-step
:title=
"$t('开始导入')"
></el-step>
<el-step
:title=
"$t('开始导入')"
></el-step>
<el-step
:title=
"$t('完成')"
></el-step>
<el-step
:title=
"$t('完成')"
></el-step>
</el-steps>
</el-steps>
...
@@ -718,6 +718,9 @@ export default {
...
@@ -718,6 +718,9 @@ export default {
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
},
},
'
form.packageTypeArr
'
(
val
){
this
.
$set
(
this
.
form
,
'
form.packageType
'
,
val
.
join
(
'
,
'
))
},
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter
(
val
){
selectedRouter
(
val
){
if
(
!
val
)
return
if
(
!
val
)
return
...
...
src/views/ecw/order/index.vue
View file @
1df20f6a
This diff is collapsed.
Click to expand it.
src/views/ecw/order/special/discount.vue
View file @
1df20f6a
...
@@ -214,6 +214,8 @@ export default {
...
@@ -214,6 +214,8 @@ export default {
getOrderSpecial
(){
getOrderSpecial
(){
getOrderSpecial
(
this
.
form
.
orderItemId
).
then
(
r
=>
{
getOrderSpecial
(
this
.
form
.
orderItemId
).
then
(
r
=>
{
this
.
form
=
r
.
data
this
.
form
=
r
.
data
this
.
form
.
freight
=
''
this
.
form
.
clearanceFreight
=
''
}
)
}
)
}
,
}
,
getOrderSpecialByApproveId
(){
getOrderSpecialByApproveId
(){
...
...
src/views/ecw/order/special/index.vue
View file @
1df20f6a
...
@@ -79,10 +79,12 @@
...
@@ -79,10 +79,12 @@
prop=
"address"
prop=
"address"
label=
"操作"
>
label=
"操作"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<template
v-if=
"row.originalSeaFreight !== 0 && row.originalClearanceFreight !== 0"
>
<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/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']"
@
click=
"$router.push(`/order/specialCommission/$
{row.orderItemId}`)">佣金规则
</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>
<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
>
</
template
>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
...
src/views/ecw/order/warehousing/index.vue
View file @
1df20f6a
...
@@ -76,11 +76,12 @@
...
@@ -76,11 +76,12 @@
<
template
v-slot=
"{ row, column, $index }"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-button
v-if=
"order.status === 5"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<el-button
v-if=
"order.status === 5"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<template
v-else
>
<template
v-else
>
<
el-button
v-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button
>
<
template
v-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
</
template
>
</
template
>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
</template>
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
...
src/views/ecw/productPrice/index.vue
View file @
1df20f6a
...
@@ -29,27 +29,27 @@
...
@@ -29,27 +29,27 @@
// TODO
// TODO
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportType"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportType"
formatter=
"number"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportType"
formatter=
"number"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"shippingChannelId"
>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"shippingChannelId"
>
<el-select
v-model=
"queryParams.shippingChannelId"
clearable
>
<el-select
v-model=
"queryParams.shippingChannelId"
clearable
>
<el-option
v-for=
"item in channelList"
:key=
"item.id"
:label=
"
item.nameZh
"
:value=
"item.channelId"
/>
<el-option
v-for=
"item in channelList"
:key=
"item.id"
:label=
"
$l(item, 'name')
"
:value=
"item.channelId"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('始发地')"
prop=
"startCityId"
>
<el-form-item
:label=
"$t('始发地')"
prop=
"startCityId"
>
<el-select
v-model=
"queryParams.startCityId"
clearable
>
<el-select
v-model=
"queryParams.startCityId"
clearable
>
<el-option
v-for=
"city in startCityList"
:key=
"city.id"
:label=
"
city.titleZh
"
:value=
"city.id"
/>
<el-option
v-for=
"city in startCityList"
:key=
"city.id"
:label=
"
$l(city, 'title')
"
:value=
"city.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('目的地')"
prop=
"destCityId"
>
<el-form-item
:label=
"$t('目的地')"
prop=
"destCityId"
>
<el-select
v-model=
"queryParams.destCityId"
clearable
>
<el-select
v-model=
"queryParams.destCityId"
clearable
>
<el-option
v-for=
"city in destCityList"
:key=
"city.id"
:label=
"
city.titleZh
"
:value=
"city.id"
/>
<el-option
v-for=
"city in destCityList"
:key=
"city.id"
:label=
"
$l(city, 'title')
"
:value=
"city.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('审核状态')"
prop=
"auditStatus"
>
<el-form-item
:label=
"$t('审核状态')"
prop=
"auditStatus"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_AUDIT_STATUS"
v-model=
"queryParams.auditStatus"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_AUDIT_STATUS"
v-model=
"queryParams.auditStatus"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('状态')"
prop=
"status"
>
<el-form-item
:label=
"$t('状态')"
prop=
"status"
>
// TODO
// TODO
...
...
src/views/ecw/supplier/index.vue
View file @
1df20f6a
...
@@ -44,10 +44,10 @@
...
@@ -44,10 +44,10 @@
<el-option
v-for=
"dict in this.getDictDatas('company_type')"
<el-option
v-for=
"dict in this.getDictDatas('company_type')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select-->
</el-select-->
<dict-selector
:type=
"DICT_TYPE.ECW_COMPANY_TYPE"
v-model=
"queryParams.companyType"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_COMPANY_TYPE"
v-model=
"queryParams.companyType"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('合作类型')"
prop=
"cooperationType"
>
<el-form-item
:label=
"$t('合作类型')"
prop=
"cooperationType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_COOPERATION_TYPE"
v-model=
"queryParams.cooperationType"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_COOPERATION_TYPE"
v-model=
"queryParams.cooperationType"
clearable
/>
<!--el-select v-model="queryParams.cooperationType" placeholder="请选择合作类型" clearable size="small">
<!--el-select v-model="queryParams.cooperationType" placeholder="请选择合作类型" clearable size="small">
<el-option
label=
"请选择字典生成"
value=
""
/>
<el-option
label=
"请选择字典生成"
value=
""
/>
</el-select-->
</el-select-->
...
...
src/views/system/menu/index.vue
View file @
1df20f6a
...
@@ -318,7 +318,7 @@ export default {
...
@@ -318,7 +318,7 @@ export default {
||
this
.
form
.
type
===
SystemMenuTypeEnum
.
MENU
)
{
||
this
.
form
.
type
===
SystemMenuTypeEnum
.
MENU
)
{
// 如果是外链,则不进行校验
// 如果是外链,则不进行校验
const
path
=
this
.
form
.
path
const
path
=
this
.
form
.
path
if
(
path
.
indexOf
(
'
http://
'
)
===
-
1
||
path
.
indexOf
(
'
https://
'
)
===
-
1
)
{
if
(
path
&&
path
.
indexOf
(
'
http://
'
)
===
-
1
||
path
.
indexOf
(
'
https://
'
)
===
-
1
)
{
// 父权限为根节点,path 必须以 / 开头
// 父权限为根节点,path 必须以 / 开头
if
(
this
.
form
.
parentId
===
0
&&
path
.
charAt
(
0
)
!==
'
/
'
)
{
if
(
this
.
form
.
parentId
===
0
&&
path
.
charAt
(
0
)
!==
'
/
'
)
{
this
.
$modal
.
msgSuccess
(
'
前端必须以 / 开头
'
)
this
.
$modal
.
msgSuccess
(
'
前端必须以 / 开头
'
)
...
...
src/views/system/myInternalMessage/index.vue
View file @
1df20f6a
...
@@ -3,9 +3,9 @@
...
@@ -3,9 +3,9 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<!--
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"queryParams.fromId"
placeholder=
"请输入站内信来源"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.fromId"
placeholder=
"请输入站内信来源"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"发送时间"
>
<el-form-item
label=
"发送时间"
>
<el-date-picker
v-model=
"dateRangeSendTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
v-model=
"dateRangeSendTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<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"
>
<el-table-column
label=
"发送时间"
align=
"center"
prop=
"sendTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment