Compare commits

...

9 Commits

4 changed files with 37 additions and 28 deletions

View File

@ -242,7 +242,7 @@ const initData = () => {
}
// def: type active: points: , accSum
return { def: o, id: o.id, type: o.worktype, active: [], points, accSum, rightSum, children,hasAnswers,timeAnalyse,score:o.score }
return { def: o, id: o.id, type: o.worktype, active: [], points, accSum, rightSum, children,hasAnswers,timeAnalyse,score:o.workScore }
})
if (data.length === 0) return
useOverview.getAllData([...data])

View File

@ -27,7 +27,9 @@ const tableData = ref([])
const konwledge = ref([])
const hasStudents = ref([])
//
const allScore = ref([])
const allScore = ref(0)
//
const avatarScore = ref()
//
const getKonwledge = () => {
const getScoreRate = []
@ -41,7 +43,7 @@ const getKonwledge = () => {
if(!ledges.includes(title.id)){
ledges.push(title.id)
// 0
konwledge.value.push({title:title.title,allPoint:allScore.value,id:title.id})
konwledge.value.push({title:title.title,allPoint:allScore.value,id:title.id,point:avatarScore.value})
}
//
if(useOverview.allData[0].hasAnswers.includes(item.studentid))
@ -51,29 +53,12 @@ const getKonwledge = () => {
//
konwledge.value.forEach(item => {
let sunRate = 0
let num = 0
if(getScoreRate.length === 0) return
getScoreRate.forEach(item2 => {
if(item.id === item2.id){
sunRate += extractedNumber(item2.rate)
num ++
}
})
const scoreRate = sunRate / num
tableData.value.push({
scoingRate:scoreRate.toFixed(2),
scoingRate:(item.point / item.allPoint * 100).toFixed(2),
...item,
point:(item.allPoint * scoreRate / 100).toFixed(2)
})
})
}
//
const extractedNumber = (score) => {
const match = score.match(/\d+/);
return match ? parseInt(match[0], 10) : null;
}
//tableList
watch(() => useOverview.tableList,() => {
@ -93,6 +78,12 @@ watch(() => useOverview.tableList,() => {
allScore.value = useOverview.allData.reduce((acc, cur) => {
return acc + Number(cur.score)
},0)
//
avatarScore.value = hasStudents.value.reduce((acc, cur) => {
return acc + Number(cur.getScore)
},0) / hasStudents.value.length
//
getKonwledge()
})
</script>

View File

@ -34,7 +34,7 @@
</div>
</template>
<script setup>
import { computed, defineProps, ref, reactive, watchEffect, onMounted } from 'vue'
import { computed, defineProps, ref, reactive, watchEffect, onMounted} from 'vue'
import { sessionStore } from '@/utils/store'
import homework from './homework.vue';
@ -100,10 +100,10 @@ const clickHandel = (o, e) => {
}
emit('change', o)
}
const closeActive = () =>{
isVisible.value = false
}
defineExpose({closeActive})
</script>
<style lang="scss" scoped>
.warp{
@ -115,7 +115,13 @@ const closeActive = () =>{
//min-height: 40vh;
min-width: 4em;
border-radius: 4em;
background-color: #121212;
background-color: rgba(18,18,18,0.3);
border-color: rgba(1, 1, 1, 0.1);
&:hover{
opacity: 1;
background-color: rgba(18,18,18,1);
border-color: rgba(1, 1, 1, 1);
}
.el-space{margin: 20px 0 0;}
.c-btn{
color: #d9dce3;

View File

@ -4,7 +4,7 @@
<board-vue v-model="tabActive" v-show="isShow" ref="boardVueRef"></board-vue>
<!-- 侧边工具栏 -->
<side-vue v-ignore @ignore-mounted="sideMouse" @change="sideChange"></side-vue>
<side-vue ref="sideVueRef" v-ignore @ignore-mounted="sideMouse" @change="sideChange"></side-vue>
<!-- 点赞组件 -->
<upvote-vue ref="upvoteRef" type="2"></upvote-vue>
@ -13,7 +13,7 @@
<im-chat ref="imChatRef" @change="chatChange" group />
<!-- 底部工具栏 -->
<div class="tool-bottom-all"
<!-- <div class="tool-bottom-all"
@mouseenter="mouseChange(0)" @mouseleave="mouseChange(1)">
<div v-drag="{handle:'.tool-bottom-all', dragtime}"
@v-drag-start="dragtime = Date.now()">
@ -34,7 +34,7 @@
</el-segmented>
</div>
</transition>
</div>
</div> -->
</div>
</template>
@ -67,6 +67,7 @@ const toolStore = useToolState() // 状态管理
const boardVueRef=ref(null) // ref
const upvoteRef = ref(null) // ref
const imChatRef = ref(null) // im-chat ref
const sideVueRef = ref(null) // ref
const classObj = reactive({ //
id: route.query.reservId, // id
data: {} //
@ -83,6 +84,8 @@ const btnList = [ // 工具栏按钮列表
// { label: '', value: 'focus', icon: 'icon-jujiao' },
// { label: '', value: 'more', icon: 'icon-xiazai9' },
]
let timingSide = null // -
// === ===
onMounted(async() => {
if (!electron) return //
@ -140,7 +143,8 @@ const logoHandle = (e,t) => {
// -穿
const mouseChange = (bool) => {
let resBool = false
if (bool == 0) return setIgnore(resBool) // 穿
console.log('mouseChange:', bool, resBool)
if (!bool) return setIgnore(resBool) // 穿
if (tabActive.value == 'select') resBool = !!bool
else {
if (!isShow.value) resBool = !!bool
@ -203,6 +207,14 @@ const sideMouse = e => {
return
}
mouseChange(type == 'mouseleave')
//
if (type == 'mouseleave') {
timingSide = setTimeout(() => {
sideVueRef.value.closeActive()
}, 500)
} else { //
if (!!timingSide) clearTimeout(timingSide)
}
}
// :
const sideChange = async o => {