|
@@ -6,7 +6,7 @@
|
|
|
<div class="short-name">{{item.abbreviation || item.name}}</div>
|
|
|
<div class="numbers">
|
|
|
<template v-for="(n, nI) in item.numberList">
|
|
|
- <div class="number" :class="{active: n.value}" :style="`z-index: ${item.numberList.length - nI};transform: translateX(${8 * (item.numberList.length - 1 -nI)}px);`">{{n.label}}</div>
|
|
|
+ <div class="number" :class="{active: n.value === '1'}" :style="`z-index: ${item.numberList.length - nI};transform: translateX(${8 * (item.numberList.length - 1 -nI)}px);`">{{n.label}}</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -20,7 +20,7 @@
|
|
|
<template v-else>
|
|
|
<SvgIcon name="tips" size="14" :color="$store.state.dictionary.signStatusColor.get(item.signInStatus)"/>
|
|
|
</template>
|
|
|
- <div v-if="item.signIn" class="time">{{$util.Hm(item.signIn)}}</div>
|
|
|
+ <div v-if="item.signInStatus != '0' && item.signInStatus != '4'" class="time">{{item.signIn}}</div>
|
|
|
<div>{{$store.state.dictionary.signStatusMap.get(item.signInStatus)}}</div>
|
|
|
<template v-if="item.signOutStatus === '1'">
|
|
|
<SvgIcon name="true" size="14" :color="$store.state.dictionary.signStatusColor.get(item.signOutStatus)"/>
|
|
@@ -28,31 +28,31 @@
|
|
|
<template v-else>
|
|
|
<SvgIcon name="tips" size="14" :color="$store.state.dictionary.signStatusColor.get(item.signOutStatus)"/>
|
|
|
</template>
|
|
|
- <div v-if="item.signOut" class="time">{{$util.Hm(item.signOut)}}</div>
|
|
|
+ <div v-if="item.signOutStatus != '0' && item.signOutStatus != '4'" class="time">{{item.signOut}}</div>
|
|
|
<div>{{$store.state.dictionary.signStatusMap.get(item.signOutStatus)}}</div>
|
|
|
</div>
|
|
|
<div class="daily">
|
|
|
<img src="@/assets/images/business/seat-dept_icon.png"/>
|
|
|
<div class="label">日志</div>
|
|
|
- <template v-if="item.dailyTime">
|
|
|
- <SvgIcon name="true" size="14" color="#3EFFBB"/>
|
|
|
+ <template v-if="item.dailyStatus == '1'">
|
|
|
+ <SvgIcon name="true" size="14" :color="$store.state.dictionary.dailyStatusColor.get(item.dailyStatus)"/>
|
|
|
<div class="time">{{$util.Hm(item.dailyTime)}}</div>
|
|
|
<img v-if="item.dailyFiles?.length > 0" class="download __hover" src="@/assets/images/business/download.png" @click="onDownload(item.dailyFiles)"/>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <SvgIcon name="true" size="14" color="#01C869"/>
|
|
|
+ <SvgIcon name="tips" size="14" :color="$store.state.dictionary.dailyStatusColor.get(item.dailyStatus)"/>
|
|
|
</template>
|
|
|
</div>
|
|
|
<div class="weekly">
|
|
|
<img src="@/assets/images/business/seat-dept_icon.png"/>
|
|
|
<div class="label">周报</div>
|
|
|
- <template v-if="item.weeklyTime">
|
|
|
- <SvgIcon name="true" size="14" color="#3EFFBB"/>
|
|
|
+ <template v-if="item.weeklyStatus == '1'">
|
|
|
+ <SvgIcon name="true" size="14" :color="$store.state.dictionary.weeklyStatusColor.get(item.weeklyStatus)"/>
|
|
|
<div class="time">{{$util.Hm(item.weeklyTime)}}</div>
|
|
|
<img v-if="item.weeklyFiles?.length > 0" class="download __hover" src="@/assets/images/business/download.png" @click="onDownload(item.weeklyFiles)"/>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <SvgIcon name="true" size="14" color="#01C869"/>
|
|
|
+ <SvgIcon name="tips" size="14" :color="$store.state.dictionary.weeklyStatusColor.get(item.weeklyStatus)"/>
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -98,34 +98,64 @@ export default defineComponent({
|
|
|
state.data = []
|
|
|
that.$api.zbglyWorkbenchAdminSeatUnit().then(res => {
|
|
|
if (res.code === 200) {
|
|
|
- // state.data = res.data || []
|
|
|
- for (let i = 1; i <= 48; i++) {
|
|
|
+ res.data?.forEach(v => {
|
|
|
+ const numbers = v.number?.split(',')
|
|
|
+ const numbersState = v.state?.split(',')
|
|
|
+ const dailyUrl = v.dailyUrl?.split(',')
|
|
|
+ const dailyName = v.dailyName?.split(',')
|
|
|
+ const weeklyUrl = v.weekUrl?.split(',')
|
|
|
+ const weeklyName = v.weekName?.split(',')
|
|
|
const obj = {
|
|
|
- name: '中电科',
|
|
|
- abbreviation: '',
|
|
|
- numberList: [
|
|
|
- {label: '33', value: false},
|
|
|
- {label: '34', value: true},
|
|
|
- {label: '35', value: false},
|
|
|
- {label: '36', value: true},
|
|
|
- ],
|
|
|
- signIn: '2023-03-02 22:34:22',
|
|
|
- signInStatus: '1',
|
|
|
- signOut: '2023-03-02 22:34:22',
|
|
|
- signOutStatus: '2',
|
|
|
- dailyTime: '2023-03-02 22:34:22',
|
|
|
- dailyFiles: [
|
|
|
- {url: '222', name: 'ss'},
|
|
|
- {url: '222', name: 'ss'},
|
|
|
- ],
|
|
|
- weeklyTime: '2023-03-02 22:34:22',
|
|
|
- weeklyFiles: [
|
|
|
- {url: '222', name: 'ss'},
|
|
|
- {url: '222', name: 'ss'},
|
|
|
- ],
|
|
|
+ name: v.name,
|
|
|
+ abbreviation: v.abbreviation || v.name,
|
|
|
+ numberList: numbers.map((v, i) => {
|
|
|
+ return {label: v, value: numbersState?.[i] || '0'}
|
|
|
+ }),
|
|
|
+ signInStatus: v.inStatus,
|
|
|
+ signIn: v.inTime,
|
|
|
+ signOutStatus: v.outStatus,
|
|
|
+ signOut: v.outTime,
|
|
|
+ dailyStatus: v.dailyStatus,
|
|
|
+ dailyTime: v.dailyTime,
|
|
|
+ dailyFiles: dailyUrl.map((v, i) => {
|
|
|
+ return {label: v, value: dailyName?.[i] || v}
|
|
|
+ }),
|
|
|
+ weeklyStatus: v.weekStatus,
|
|
|
+ weeklyTime: v.weekTime,
|
|
|
+ weeklyFiles: weeklyUrl.map((v, i) => {
|
|
|
+ return {label: v, value: weeklyName?.[i] || v}
|
|
|
+ }),
|
|
|
}
|
|
|
state.data.push(obj)
|
|
|
- }
|
|
|
+ })
|
|
|
+ // state.data = res.data || []
|
|
|
+ // for (let i = 1; i <= 48; i++) {
|
|
|
+ // const obj = {
|
|
|
+ // name: '中电科',
|
|
|
+ // abbreviation: '',
|
|
|
+ // numberList: [
|
|
|
+ // {label: '33', value: false},
|
|
|
+ // {label: '34', value: true},
|
|
|
+ // {label: '35', value: false},
|
|
|
+ // {label: '36', value: true},
|
|
|
+ // ],
|
|
|
+ // signIn: '2023-03-02 22:34:22',
|
|
|
+ // signInStatus: '1',
|
|
|
+ // signOut: '2023-03-02 22:34:22',
|
|
|
+ // signOutStatus: '2',
|
|
|
+ // dailyTime: '2023-03-02 22:34:22',
|
|
|
+ // dailyFiles: [
|
|
|
+ // {url: '222', name: 'ss'},
|
|
|
+ // {url: '222', name: 'ss'},
|
|
|
+ // ],
|
|
|
+ // weeklyTime: '2023-03-02 22:34:22',
|
|
|
+ // weeklyFiles: [
|
|
|
+ // {url: '222', name: 'ss'},
|
|
|
+ // {url: '222', name: 'ss'},
|
|
|
+ // ],
|
|
|
+ // }
|
|
|
+ // state.data.push(obj)
|
|
|
+ // }
|
|
|
} else {
|
|
|
ElMessage.error(res.message)
|
|
|
}
|