Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
marketing
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
marketing-web
marketing
Commits
c9f67a18
Commit
c9f67a18
authored
Jun 30, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: dist
parent
d2c2ca90
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
35 additions
and
175 deletions
+35
-175
dm-drop-down.vue
src/components/dm-drop-down/dm-drop-down.vue
+0
-80
readme.md
src/components/dm-drop-down/readme.md
+0
-82
task.vue
src/views/ai/task/task.vue
+1
-4
record-get.vue
src/views/card/record-get.vue
+33
-7
index.vue
src/views/game/cmh/index.vue
+1
-2
No files found.
src/components/dm-drop-down/dm-drop-down.vue
deleted
100644 → 0
View file @
d2c2ca90
<
template
>
<div>
<el-button
v-for=
"item in notDropdownList"
:disabled=
"typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled"
v-bind=
"
{ type: 'text', ...item.props }" :key="item.text" @click="handleCommand(item)">
{{
item
.
text
}}
</el-button>
<el-dropdown
v-if=
"buttonArray.length > max"
v-bind=
"
{ type: 'text', ...dropdownProps }" @click="() => emitEventHandler('click')" @command="handleCommand" @visible-change="bool => emitEventHandler('visible-change', bool)">
<span
class=
"el-dropdown-link"
>
<i
class=
"iconfont icon-more"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
v-for=
"item in dropdownList"
:class=
"
{ 'item-disabled': typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled }" :command="item" :key="item.text">
<el-button
:disabled=
"typeof item.disabled === 'function' ? item.disabled(scopeData) : item.disabled"
v-bind=
"
{ type: 'text', ...item.props }">
{{
item
.
text
}}
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</
template
>
<
script
>
export
default
{
name
:
'dm-dropdown'
,
components
:
{},
props
:
{
dropdownProps
:
{
//Dropdown Attributes
type
:
Object
,
default
:
()
=>
{}
},
configs
:
{
type
:
Array
,
default
:
()
=>
[]
},
max
:
{
type
:
[
Number
,
String
],
default
:
3
},
scopeData
:
Object
},
methods
:
{
emitEventHandler
(
event
)
{
this
.
$emit
(
event
,
...
Array
.
from
(
arguments
).
slice
(
1
));
},
handleCommand
(
config
)
{
if
(
typeof
config
.
disabled
==
'function'
?
config
.
disabled
(
this
.
scopeData
)
:
config
.
disabled
)
return
;
config
.
handler
&&
config
.
handler
(
this
.
scopeData
);
this
.
emitEventHandler
(
'command'
,
{
config
,
data
:
this
.
scopeData
});
}
},
computed
:
{
buttonArray
()
{
return
this
.
configs
.
filter
(
item
=>
{
let
visible
=
item
.
visible
;
if
(
typeof
visible
===
'boolean'
)
{
return
item
.
visible
;
}
else
if
(
typeof
visible
===
'function'
)
{
return
item
.
visible
(
this
.
scopeData
);
}
else
{
return
true
;
}
});
},
notDropdownList
()
{
return
this
.
buttonArray
.
length
>
this
.
max
?
this
.
buttonArray
.
slice
(
0
,
this
.
max
-
1
)
:
this
.
buttonArray
;
},
dropdownList
()
{
return
this
.
buttonArray
.
length
>
this
.
max
?
this
.
buttonArray
.
slice
(
this
.
max
-
1
)
:
[];
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.el-dropdown-link
{
cursor
:
pointer
;
color
:
#2f54eb
;
}
.el-button--text
+
.el-dropdown
{
margin-left
:
8px
;
}
.item-disabled
{
cursor
:
not-allowed
;
}
</
style
>
src/components/dm-drop-down/readme.md
deleted
100644 → 0
View file @
d2c2ca90
## 示例
```
<el-table-column
fixed="right"
label="操作"
>
<template slot-scope="scope">
<dm-dropdown :scope-data="scope.row" :configs="btnArr" @command="onCommand"/>
</template>
</el-table-column>
export default {
name: 'btn',
data() {
return {
dropdownAttr: {
// splitButton: true
},
btnArr: [
{
text: '查看',
visible: (row)=>row.status === 2, // 不写visible属性默认为true
handler: (row) =>{
console.log(row)
console.log('查看')
},
},
{
text: '编辑',
handler: (row) =>{
console.log(row)
console.log('编辑')
},
},
{
text: '删除',
handler: (row) =>{
console.log(row)
console.log('删除')
}
},
{
text: '复制',
handler: (row) =>{
console.log(row)
console.log('复制')
},
},
{
text: '禁用',
handler: (row) =>{
console.log(row)
console.log('禁用')
},
}
],
}
},
methods: {
onCommand(item) {
console.log(item)
},
}
}
```
### props
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 是否必传 |
| ------------ | ------------ | ------------ | ------------ | ------------ | ------------ |
| scopeData | - | Object | -- | -- | 否 |
| configs | 按钮数组 | Array |
[
{text:string(必传), visible: boolean \| function, handler: function,props:按钮属性配置(非必传)}
]
| -- | 是 |
| dropdownProps | el-dropDown的属性 | Object | -- | -- | 否 |
| max | 最多展示几个按钮 | String/Number | -- | 3 | 否 |
#### events
| 事件名称 | 说明 | 参数 |
| ------------ | ------------ | ------------ |
| command | 按钮触发事件 | {config, data} |
### 更新日志:
-
v1.0.0 cr by 黄冷
<br>
src/views/ai/task/task.vue
View file @
c9f67a18
...
...
@@ -93,7 +93,7 @@
import
{
page
,
rechargeCenter
,
stopActivityPlan
,
startActivityPlan
,
pageStatistics
,
aiAccountCheck
}
from
'@/service/api/aiApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
filterAvater
from
'@/mixins/filterAvater.js'
;
import
dmDropdown
from
'@/components/dm-drop-down/dm-drop-down'
;
const
maxTimeRange
=
365
*
24
*
60
*
60
*
1000
;
// 12个月
export
default
{
mixins
:
[
filterAvater
],
...
...
@@ -326,9 +326,6 @@ export default {
}
next
();
},
components
:
{
dmDropdown
},
filters
:
{
activePlanStatusFilter
(
val
)
{
let
str
=
'- -'
;
...
...
src/views/card/record-get.vue
View file @
c9f67a18
...
...
@@ -18,7 +18,9 @@
<el-select
class=
"dm-select pl10"
v-model=
"listParams.cardStatus"
placeholder=
"选择卡券状态"
@
change=
"refresh"
>
<el-option
v-for=
"(item, index) in cardStatusOptions"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<span
class=
"vertical-middle"
>
领取时间:
</span><el-date-picker
v-model=
"dateTime"
:clearable=
"false"
@
change=
"changeTime"
class=
"w250"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
<span
class=
"vertical-middle"
>
核销时间:
</span><el-date-picker
v-model=
"dateTime2"
@
change=
"refresh"
class=
"w250"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
<span
class=
"vertical-middle"
>
领取时间:
</span>
<el-date-picker
v-model=
"dateTime"
:clearable=
"false"
@
change=
"changeTime"
:picker-options=
"pickerOptionsGet"
class=
"w250"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
<span
class=
"vertical-middle"
>
核销时间:
</span><el-date-picker
v-model=
"dateTime2"
@
change=
"refresh"
class=
"w250"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</div>
<!-- 列表 -->
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width: 100%"
@
sort-change=
"sortList"
>
...
...
@@ -130,6 +132,17 @@ import qs from 'qs';
import
cardOrder
from
'./card-order'
;
import
tableMethods
from
'@/mixins/tableMethods.js'
;
import
filterAvater
from
'@/mixins/filterAvater.js'
;
let
maxTime
=
null
;
let
minTime
=
null
;
const
daysFun
=
()
=>
{
let
y
=
new
Date
().
getFullYear
()
-
1
;
let
isLeap
=
(
0
===
y
%
4
&&
0
===
y
%
100
)
||
0
===
y
%
400
;
let
days
=
isLeap
?
366
:
365
;
let
preY
=
new
Date
().
getFullYear
()
-
2
;
let
preYisLeap
=
(
0
===
preY
%
4
&&
0
===
preY
%
100
)
||
0
===
preY
%
400
;
let
prevDays
=
preYisLeap
?
366
:
365
;
return
{
days
,
prevDays
};
};
export
default
{
name
:
'record-get'
,
mixins
:
[
tableMethods
,
filterAvater
],
...
...
@@ -142,6 +155,7 @@ export default {
formatDateTimeByType
,
dateTime
:
[],
dateTimeCopy
:
[],
daysFun
,
dateTime2
:
[
''
,
''
],
// limit: false, // 限制筛选时间前后七天
cardStatusOptions
:
[
...
...
@@ -186,15 +200,27 @@ export default {
dataArr
:
[],
pickerOptions
:
{
disabledDate
:
time
=>
{
let
y
=
new
Date
().
getFullYear
()
-
1
;
let
isLeap
=
(
0
===
y
%
4
&&
0
===
y
%
100
)
||
0
===
y
%
400
;
let
days
=
isLeap
?
366
:
365
;
let
preY
=
new
Date
().
getFullYear
()
-
2
;
let
preYisLeap
=
(
0
===
preY
%
4
&&
0
===
preY
%
100
)
||
0
===
preY
%
400
;
let
prevDays
=
preYisLeap
?
366
:
365
;
const
{
days
,
prevDays
}
=
daysFun
();
// let monthDayNum = new Date().getDate() + 1;
return
time
.
getTime
()
<
Date
.
now
()
-
(
days
*
8.64e7
+
prevDays
*
8.64e7
)
||
time
.
getTime
()
>=
new
Date
().
getTime
();
}
},
pickerOptionsGet
:
{
onPick
(
time
)
{
if
(
!
time
.
maxDate
)
{
const
minTimeRange
=
7
*
24
*
60
*
60
*
1000
;
// 7day
minTime
=
time
.
minDate
.
getTime
()
-
minTimeRange
;
maxTime
=
time
.
minDate
.
getTime
()
+
minTimeRange
<
new
Date
().
getTime
()
?
time
.
minDate
.
getTime
()
+
minTimeRange
:
new
Date
().
getTime
();
}
},
disabledDate
:
time
=>
{
if
(
minTime
&&
maxTime
&&
this
.
listParams
.
allCouponFlag
==
1
)
{
return
time
.
getTime
()
<
minTime
||
time
.
getTime
()
>
maxTime
;
}
else
{
const
{
days
,
prevDays
}
=
daysFun
();
return
time
.
getTime
()
<
Date
.
now
()
-
(
days
*
8.64e7
+
prevDays
*
8.64e7
)
||
time
.
getTime
()
>
new
Date
().
getTime
();
}
}
}
};
},
...
...
src/views/game/cmh/index.vue
View file @
c9f67a18
...
...
@@ -93,10 +93,9 @@ import { cmhPage, stopGame, pageStatistics } from '@/service/api/gameApi.js';
import
links
from
'../common/links'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
img
from
'@/assets/img/template1/mould_share_page.png'
;
import
dmDropdown
from
'@/components/dm-drop-down/dm-drop-down'
;
export
default
{
components
:
{
dmDropdown
,
links
},
data
()
{
...
...
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