|
@@ -53,8 +53,8 @@
|
|
|
');background-color: ' +
|
|
|
(v ? '#409eff' : '#ffffff00')
|
|
|
"
|
|
|
- v-for="v in item.datesList"
|
|
|
- :key="v"
|
|
|
+ v-for="(v, i) in item.datesList"
|
|
|
+ :key="i + 'level2'"
|
|
|
>
|
|
|
<el-tooltip v-if="v" effect="dark" :content="v" placement="top-start">
|
|
|
<div style="width: 100%; height: 100%"></div>
|
|
@@ -84,16 +84,21 @@ const firstDay = ref<Date>()
|
|
|
|
|
|
const changeDate = (date: string[][]): string[] => {
|
|
|
if (!firstDay.value) return []
|
|
|
- const list: string[] = new Array(dayCha.value)
|
|
|
- const e = dayCha.value || 0
|
|
|
- for (let i = 0; i < e; i++) {
|
|
|
+ const list: string[] = new Array(dayCha.value || 0)
|
|
|
+ for (let i = 0; i < list.length; i++) {
|
|
|
const li: string[] = []
|
|
|
const D = firstDay.value.getTime() + 86400000 * i
|
|
|
for (let p = 0; p < date.length; p++) {
|
|
|
const v = date[p]
|
|
|
+ const timeInterval = v[3] || ''
|
|
|
const s = new Date(v[0] + ' 00:00:00').getTime()
|
|
|
const e = new Date(v[1] + ' 23:59:59').getTime()
|
|
|
- if (D >= s && D <= e) {
|
|
|
+ // 判定当前日期D是否与date[3]冲突
|
|
|
+ let DDate = new Date(D).getDay()
|
|
|
+ if (DDate === 0) DDate = 6
|
|
|
+ else DDate--
|
|
|
+ const isTrue = timeInterval.slice(DDate * 24, DDate * 24 + 24).includes('1')
|
|
|
+ if (D >= s && D <= e && isTrue) {
|
|
|
li.push(v[2])
|
|
|
}
|
|
|
}
|
|
@@ -123,7 +128,7 @@ const getDataList = () => {
|
|
|
dayCha.value = DateDifference(from.value.datas[0], from.value.datas[1])
|
|
|
dataList.value = records.map((item: AsSpaceItem) => {
|
|
|
const dates = item.creativesList.map((v: CreativesList) => {
|
|
|
- return [v.startDate, v.endDate, v.creativeName]
|
|
|
+ return [v.startDate, v.endDate, v.creativeName, v.timeInterval]
|
|
|
})
|
|
|
const datesList: string[] = changeDate(dates)
|
|
|
return {
|