修改bug

This commit is contained in:
yangjun 2024-08-02 14:48:20 +08:00
parent 141183368b
commit b023cb8fb9
10 changed files with 516 additions and 40 deletions

View File

@ -84,7 +84,16 @@ const site: AppRouteModule = {
component: () => import('/@/views/site/studentWdkc/teacherYiyueMore.vue'),
meta: {
// affix: true,
title: '教师已读',
title: '已读',
},
},
{
path: 'teacherWeiduMore',
name: 'teacherWeiduMore',
component: () => import('/@/views/site/studentWdkc/teacherWeiduMore.vue'),
meta: {
// affix: true,
title: '未读',
},
},
{
@ -93,7 +102,16 @@ const site: AppRouteModule = {
component: () => import('/@/views/site/studentWdkc/studentYiyueMore.vue'),
meta: {
// affix: true,
title: '学生已读',
title: '已读',
},
},
{
path: 'studentWeiduMore',
name: 'studentWeiduMore',
component: () => import('/@/views/site/studentWdkc/studentWeiduMore.vue'),
meta: {
// affix: true,
title: '未读',
},
},
{

View File

@ -6,6 +6,9 @@
<a-tabs v-model:activeKey="activeKey" style="padding: 10px;">
<a-tab-pane key="1" tab="未读">
<div style="width: 100%; text-align: right; ">
<RouterLink target='_blank' to="/site/studentWeiduMore">查看更多</RouterLink>
</div>
<div style="min-height:70px;">
<a-row>
<a-col :span="24" style="padding: 0 10px;margin-bottom: 10px;" v-for="(item,index2) in dataSource" :key="index2">
@ -24,9 +27,14 @@
</a-row>
</div>
</a-tab-pane>
<a-tab-pane key="2" tab="已读" force-render>
<a-tab-pane key="2" force-render >
<template #tab>
<span style="color: black;">
已读
</span>
</template>
<div style="width: 100%; text-align: right; ">
<RouterLink target='_blank' to="/site/studentYiyueMore">查看更多</RouterLink>
<RouterLink target='_blank' to="/site/teacherYiyueMore">查看更多</RouterLink>
</div>
<div style="min-height:70px;">
<a-row>
@ -93,11 +101,11 @@ function loaddata(){
// dataSource.value = res.records;
// });
defHttp.get({ url: '/zyDbtx/zyDbtx/list',params:{pageSize:10,pageNo:1,createBy:userStore.getUserInfo.username,flag:'0'} }).then((res) => {
defHttp.get({ url: '/zyDbtx/zyDbtx/list',params:{pageSize:5,pageNo:1,createBy:userStore.getUserInfo.username,flag:'0'} }).then((res) => {
dataSource.value = res.records;
});
defHttp.get({ url: '/zyDbtx/zyDbtx/list',params:{pageSize:10,pageNo:1,createBy:userStore.getUserInfo.username,flag:'1'} }).then((res) => {
defHttp.get({ url: '/zyDbtx/zyDbtx/list',params:{pageSize:5,pageNo:1,createBy:userStore.getUserInfo.username,flag:'1'} }).then((res) => {
dataYySource.value = res.records;
});
}

View File

@ -0,0 +1,220 @@
<template>
<div id="siteMain">
<div id="maxSite">
<a-layout>
<!-- 页头 -->
<headerPage />
<!-- 主体部分 -->
<a-layout-content>
<a-card class="rowGutter" id="jcgkkDom">
<template #title>
<div style="font-size: 24px; font-weight: bold">未读信息</div>
</template>
<a-row :gutter="[16, 16]" style="margin-top: 20px">
<a-col v-for="(item, index) in listData" :key="index" :span="24">
<a-row style="margin-top: 15px">
<a-col :span="22" style="text-align: left; padding-left: 15px">
<div style="margin-top: 5px">{{ index + 1 }}{{ item.content }}</div>
</a-col>
<a-col :span="2" style="text-align: right">
<a-button type="primary" @click="openKecheng(item)" style="margin-left: 10px">查看</a-button>
</a-col>
</a-row>
</a-col>
<a-col :span="24" v-if="listData.length > 0" style="text-align: right;">
<a-pagination v-model:current="pageNo" size="small" :total="current" show-quick-jumper @change="onPageChange" />
</a-col>
<a-col :span="24" style="line-height: 50px" v-if="listData.length == 0">
<div style="text-align: center"> 暂无数据 </div>
</a-col>
</a-row>
</a-card>
</a-layout-content>
<!-- 页尾 -->
<footerPage />
</a-layout>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { defHttp } from '/@/utils/http/axios';
import { dateFormat } from '/@/utils/common/compUtils';
import { Image as AImage } from 'ant-design-vue';
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
import { useMessage } from '/@/hooks/web/useMessage';
import { useUserStore } from '/@/store/modules/user';
import headerPage from '/@/views/site/common/header.vue';
import footerPage from '/@/views/site/common/footer.vue';
import { JDictSelectTag, JInput } from '/@/components/Form';
import { getSysConfig } from '/@/views/site/utils/index';
import { Pagination } from 'ant-design-vue';
const APagination = Pagination;
const userStore = useUserStore();
let listData = ref<any>([]);
const list = (params) => defHttp.get({ url: '/zyDbtx/zyDbtx/list', params });
const { createMessage } = useMessage();
const queryParam = ref<any>({});
const pageNo = ref(1);
let current = 0;
async function onPageChange() {
console.log('onPageChange', pageNo.value);
await loadData();
}
function openKecheng(record) {
defHttp.post({ url: '/zyDbtx/zyDbtx/deleteById',params:{id:record.id} }).then((res) => {
onPageChange()
});
var url = "/stuzy/studentMain";
if(record.type=='0'||record.type=='1'){//+
url = "/stuzy/studentDqzy";
}else if(record.type=='2'){//
url = "/stuzy/stuCeshiWenjuan";
}else if(record.type=='3'){//
url = "/stuzy/stuDcwjWenjuan";
}else if(record.type=='4'){//
url = "/stuzy/stuTlq";
}else if(record.type=='9'){//
url = "/stuzy/StudentGonggaoList";
}
url = url +"?rwbh="+record.rwbh+"&xqxn="+getSysConfig().flag1+"&teano="+record.fbr;
window.open(url,'_blank')
}
//
onMounted(() => {
loadData();
});
/**
* 加载数据
*/
function loadData() {
queryParam.value.pageSize = 10;
queryParam.value.pageNo = pageNo;
queryParam.value.createBy = userStore.getUserInfo.username;
queryParam.value.flag = '0'
listData.value = [];
list(queryParam.value).then((res) => {
console.log('🤞', res);
var list = res.records;
listData.value = list;
current = res.total;
});
}
</script>
<style lang="less" scoped>
.ggkTimeClass {
display: inline-block;
width: 90%;
margin-bottom: 10px;
margin-left: 12px;
padding: 0 15px;
height: 40px;
font-size: 16px;
font-weight: 500;
line-height: 39px;
border-radius: 36px;
background-color: #f3f3f3;
text-align: center;
}
.ggkTitle {
line-height: 2rem;
font-size: 18px;
font-weight: 600;
color: black;
}
.ggkTwoTitle {
color: black;
font-size: 14px;
line-height: 25px;
}
.ggkThreeTitle {
font-size: 16px;
color: #337ab7;
font-weight: 700;
line-height: 50px;
}
.ggkFourTitle {
line-height: 40px;
color: black;
}
.ggkButton {
width: 100%;
height: 40px;
background: #1c84c6;
color: #fff;
font-weight: 600;
font-size: 18px;
border-radius: 5px;
line-height: 37px;
}
.ggkCcxs {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.redImgClass {
background: linear-gradient(45deg, #b23d59, #d3718a);
}
.blueImgClass {
background: linear-gradient(45deg, #53637a, #8590a6);
}
.greenImgClass {
background: linear-gradient(45deg, #7999fc, #79bdfc);
}
#siteMain {
// font-size: ;
// height: 100%;
background: #f3f3f4;
#maxSite {
//
max-width: 1170px;
//
margin: 0 auto;
.rowGutter {
margin-top: 1rem;
margin-bottom: 1rem;
}
.ant-layout-header {
color: #fff;
background: #1ab394;
}
.ant-layout-footer {
line-height: 1.5;
background: #fff;
}
.ant-layout-sider {
color: #fff;
line-height: 120px;
background: #3ba0e9;
}
.ant-layout-content {
min-height: 120px;
color: #000;
line-height: 120px;
background: #f3f3f4;
}
.dictBox :deep(.ant-select) {
width: 100%;
}
}
}
/**暗黑模式特殊配色*/
[data-theme='dark'] #siteMain #maxSite {
.ant-layout-header,
.ant-layout-footer {
background: #6aa0c7;
}
.ant-layout-content {
background: #107bcb;
}
.ant-layout-sider {
background: #3499ec;
}
}
</style>

View File

@ -8,7 +8,7 @@
<a-layout-content>
<a-card class="rowGutter" id="jcgkkDom">
<template #title>
<div style="font-size: 24px; font-weight: bold">教师已阅信息</div>
<div style="font-size: 24px; font-weight: bold">已读信息</div>
</template>
<a-row :gutter="[16, 16]" style="margin-top: 20px">
<a-col v-for="(item, index) in listData" :key="index" :span="24">
@ -17,11 +17,11 @@
<div style="margin-top: 5px">{{ index + 1 }}{{ item.content }}</div>
</a-col>
<a-col :span="2" style="text-align: right">
<a-button type="primary" @click="openKecheng(item)" style="margin-left: 10px">已读</a-button>
<a-button type="primary" @click="openKecheng(item)" style="margin-left: 10px">查看</a-button>
</a-col>
</a-row>
</a-col>
<a-col v-if="listData.length > 0">
<a-col v-if="listData.length > 0" style="text-align: right;">
<a-pagination v-model:current="pageNo" size="small" :total="current" show-quick-jumper @change="onPageChange" />
</a-col>
<a-col :span="24" style="line-height: 50px" v-if="listData.length == 0">
@ -66,16 +66,17 @@ async function onPageChange() {
await loadData();
}
function openKecheng(record) {
var url = '/zy/zuoyeMain';
if (record.type == '5') {
//
url = '/zy/dqkcDqzy';
} else if (record.type == '6') {
//
url = '/zy/ceshiWenjuan';
} else if (record.type == '7') {
//
url = '/zy/dcwjWenjuan';
var url = "/stuzy/studentMain";
if(record.type=='0'||record.type=='1'){//+
url = "/stuzy/studentDqzy";
}else if(record.type=='2'){//
url = "/stuzy/stuCeshiWenjuan";
}else if(record.type=='3'){//
url = "/stuzy/stuDcwjWenjuan";
}else if(record.type=='4'){//
url = "/stuzy/stuTlq";
}else if(record.type=='9'){//
url = "/stuzy/StudentGonggaoList";
}
url = url + '?rwbh=' + record.rwbh + '&xqxn=' + getSysConfig().flag1 + '&teano=' + record.fbr;
window.open(url, '_blank');
@ -91,7 +92,7 @@ function loadData() {
queryParam.value.pageSize = 10;
queryParam.value.pageNo = pageNo;
queryParam.value.createBy = userStore.getUserInfo.username;
queryParam.value.flag = '1'
queryParam.value.flag = '0'
listData.value = [];
list(queryParam.value).then((res) => {
console.log('🤞', res);

View File

@ -5,6 +5,9 @@
</div>
<a-tabs v-model:activeKey="activeKey" style="padding: 10px">
<a-tab-pane key="1" tab="未读">
<div style="width: 100%; text-align: right; ">
<RouterLink target='_blank' to="/site/teacherYiyueMore">查看更多</RouterLink>
</div>
<div style="min-height: 70px">
<a-row>
<a-col :span="24" style="padding: 0 10px; margin-bottom: 10px" v-for="(item, index2) in dataSource" :key="index2">
@ -23,7 +26,12 @@
</a-row>
</div>
</a-tab-pane>
<a-tab-pane key="2" tab="已读" force-render>
<a-tab-pane key="2" force-render>
<template #tab>
<span style="color: black;">
已读
</span>
</template>
<div style="width: 100%; text-align: right; ">
<RouterLink target='_blank' to="/site/teacherYiyueMore">查看更多</RouterLink>
</div>
@ -68,13 +76,13 @@ onMounted(() => {
});
function loaddata() {
defHttp
.get({ url: '/zyDbtx/zyDbtx/list', params: { pageSize: 10, pageNo: 1, createBy: userStore.getUserInfo.username, flag: '0' } })
.get({ url: '/zyDbtx/zyDbtx/list', params: { pageSize: 5, pageNo: 1, createBy: userStore.getUserInfo.username, flag: '0' } })
.then((res) => {
dataSource.value = res.records;
});
defHttp
.get({ url: '/zyDbtx/zyDbtx/list', params: { pageSize: 10, pageNo: 1, createBy: userStore.getUserInfo.username, flag: '1' } })
.get({ url: '/zyDbtx/zyDbtx/list', params: { pageSize: 5, pageNo: 1, createBy: userStore.getUserInfo.username, flag: '1' } })
.then((res) => {
dataYySource.value = res.records;
});

View File

@ -0,0 +1,218 @@
<template>
<div id="siteMain">
<div id="maxSite">
<a-layout>
<!-- 页头 -->
<headerPage />
<!-- 主体部分 -->
<a-layout-content>
<a-card class="rowGutter" id="jcgkkDom">
<template #title>
<div style="font-size: 24px; font-weight: bold">已读信息</div>
</template>
<a-row :gutter="[16, 16]" style="margin-top: 20px">
<a-col v-for="(item, index) in listData" :key="index" :span="24">
<a-row style="margin-top: 15px">
<a-col :span="22" style="text-align: left; padding-left: 15px">
<div style="margin-top: 5px">{{ index + 1 }}{{ item.content }}</div>
</a-col>
<a-col :span="2" style="text-align: right">
<a-button type="primary" @click="openKecheng(item)" style="margin-left: 10px">已读</a-button>
</a-col>
</a-row>
</a-col>
<a-col v-if="listData.length > 0" style="text-align: right;">
<a-pagination v-model:current="pageNo" size="small" :total="current" show-quick-jumper @change="onPageChange" />
</a-col>
<a-col :span="24" style="line-height: 50px" v-if="listData.length == 0">
<div style="text-align: center"> 暂无数据 </div>
</a-col>
</a-row>
</a-card>
</a-layout-content>
<!-- 页尾 -->
<footerPage />
</a-layout>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { defHttp } from '/@/utils/http/axios';
import { dateFormat } from '/@/utils/common/compUtils';
import { Image as AImage } from 'ant-design-vue';
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
import { useMessage } from '/@/hooks/web/useMessage';
import { useUserStore } from '/@/store/modules/user';
import headerPage from '/@/views/site/common/header.vue';
import footerPage from '/@/views/site/common/footer.vue';
import { JDictSelectTag, JInput } from '/@/components/Form';
import { getSysConfig } from '/@/views/site/utils/index';
import { Pagination } from 'ant-design-vue';
const APagination = Pagination;
const userStore = useUserStore();
let listData = ref<any>([]);
const list = (params) => defHttp.get({ url: '/zyDbtx/zyDbtx/list', params });
const { createMessage } = useMessage();
const queryParam = ref<any>({});
const pageNo = ref(1);
let current = 0;
async function onPageChange() {
console.log('onPageChange', pageNo.value);
await loadData();
}
function openKecheng(record) {
defHttp.post({ url: '/zyDbtx/zyDbtx/deleteById',params:{id:record.id} }).then((res) => {
});
var url = '/zy/zuoyeMain';
if (record.type == '5') {
//
url = '/zy/dqkcDqzy';
} else if (record.type == '6') {
//
url = '/zy/ceshiWenjuan';
} else if (record.type == '7') {
//
url = '/zy/dcwjWenjuan';
}
url = url + '?rwbh=' + record.rwbh + '&xqxn=' + getSysConfig().flag1 + '&teano=' + record.fbr;
window.open(url, '_blank');
}
//
onMounted(() => {
loadData();
});
/**
* 加载数据
*/
function loadData() {
queryParam.value.pageSize = 10;
queryParam.value.pageNo = pageNo;
queryParam.value.createBy = userStore.getUserInfo.username;
queryParam.value.flag = '1'
listData.value = [];
list(queryParam.value).then((res) => {
console.log('🤞', res);
var list = res.records;
listData.value = list;
current = res.total;
});
}
</script>
<style lang="less" scoped>
.ggkTimeClass {
display: inline-block;
width: 90%;
margin-bottom: 10px;
margin-left: 12px;
padding: 0 15px;
height: 40px;
font-size: 16px;
font-weight: 500;
line-height: 39px;
border-radius: 36px;
background-color: #f3f3f3;
text-align: center;
}
.ggkTitle {
line-height: 2rem;
font-size: 18px;
font-weight: 600;
color: black;
}
.ggkTwoTitle {
color: black;
font-size: 14px;
line-height: 25px;
}
.ggkThreeTitle {
font-size: 16px;
color: #337ab7;
font-weight: 700;
line-height: 50px;
}
.ggkFourTitle {
line-height: 40px;
color: black;
}
.ggkButton {
width: 100%;
height: 40px;
background: #1c84c6;
color: #fff;
font-weight: 600;
font-size: 18px;
border-radius: 5px;
line-height: 37px;
}
.ggkCcxs {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.redImgClass {
background: linear-gradient(45deg, #b23d59, #d3718a);
}
.blueImgClass {
background: linear-gradient(45deg, #53637a, #8590a6);
}
.greenImgClass {
background: linear-gradient(45deg, #7999fc, #79bdfc);
}
#siteMain {
// font-size: ;
// height: 100%;
background: #f3f3f4;
#maxSite {
//
max-width: 1170px;
//
margin: 0 auto;
.rowGutter {
margin-top: 1rem;
margin-bottom: 1rem;
}
.ant-layout-header {
color: #fff;
background: #1ab394;
}
.ant-layout-footer {
line-height: 1.5;
background: #fff;
}
.ant-layout-sider {
color: #fff;
line-height: 120px;
background: #3ba0e9;
}
.ant-layout-content {
min-height: 120px;
color: #000;
line-height: 120px;
background: #f3f3f4;
}
.dictBox :deep(.ant-select) {
width: 100%;
}
}
}
/**暗黑模式特殊配色*/
[data-theme='dark'] #siteMain #maxSite {
.ant-layout-header,
.ant-layout-footer {
background: #6aa0c7;
}
.ant-layout-content {
background: #107bcb;
}
.ant-layout-sider {
background: #3499ec;
}
}
</style>

View File

@ -8,7 +8,7 @@
<a-layout-content>
<a-card class="rowGutter" id="jcgkkDom">
<template #title>
<div style="font-size: 24px; font-weight: bold">教师已阅信息</div>
<div style="font-size: 24px; font-weight: bold">已读信息</div>
</template>
<a-row :gutter="[16, 16]" style="margin-top: 20px">
<a-col v-for="(item, index) in listData" :key="index" :span="24">
@ -21,7 +21,7 @@
</a-col>
</a-row>
</a-col>
<a-col v-if="listData.length > 0">
<a-col :span="24" v-if="listData.length > 0" style="text-align: right;">
<a-pagination v-model:current="pageNo" size="small" :total="current" show-quick-jumper @change="onPageChange" />
</a-col>
<a-col :span="24" style="line-height: 50px" v-if="listData.length == 0">

View File

@ -23,7 +23,7 @@
<a-row>
<a-col :span="12" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 5px 5px; overflow: hidden">
<div style="width: 100%; height: 20px; background-color: rgb(28, 132, 198)"></div>
<a-card style="height: 300px; border: 1px solid rgb(28, 132, 198)">
<a-card style="height: 330px; border: 1px solid rgb(28, 132, 198)">
<div class="rotate" :style="classFun(item)">{{ callText(item) }}</div>
<a-row style="top: -48px; position: relative">
<a-col :span="24" style="margin-bottom: 10px; height: 53px; overflow: hidden" :title="item.title">
@ -33,8 +33,10 @@
<a-col :span="24" class="zyCon">作业时间{{ dayjs(item.startTime).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</a-col>
<a-col :span="24" class="zyCon">互评时间<span v-if="item.xshpkg == '1'">{{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</span><span v-else>未设置互评</span></a-col>
<a-col :span="24" class="zyCon">
<div style="float: left">作业评分{{ item.zzdf ? item.zzdf : item.stuscore ? item.stuscore : '未评' }}</div>
<div style="float: right" class="wpopen" v-if="handleSfkshp(item)" @click="handleHpfs(item)">互评分数:{{ item.xshpfs ? item.xshpfs : '未评' }}</div>
<span style="text-align: left;width:50%;display: block;float:left;">作业得分{{ item.stuscore ? item.stuscore : '未评' }}</span>
<span style="text-align: right;width:50%;display: block;float:left;" class="wpopen" v-if="handleSfkshp(item)" @click="handleHpfs(item)">互评分数:{{ item.xshpfs ? item.xshpfs : '未评' }}</span>
<span style="text-align: left;width:50%;display: block;float:left;" v-if="handleSfkshp(item)">绩效分数{{ item.jxfs ? item.jxfs : '未评' }}</span>
<span style="text-align: right;width:50%;display: block;float:left;">总分:{{ item.zzdf ? item.zzdf : '未评' }}</span>
</a-col>
<a-col :span="24" class="zyCon">
<div style="float: left" class="wpopen" :title="item.wwsftg" @click="handleOpenCcjg(item, '0')">维普资源库查重:{{ getCctype(item, '1') }}</div>

View File

@ -184,12 +184,12 @@ export const columnsStu: BasicColumn[] = [
dataIndex: 'stuscore',
// sorter: true,
},
{
title: '存档类型',
align: "center",
dataIndex: 'cdlx_dictText',
// sorter: true,
},
// {
// title: '存档类型',
// align: "center",
// dataIndex: 'cdlx_dictText',
// // sorter: true,
// },
{
title: '网络查重',
align: "center",
@ -382,12 +382,12 @@ export const cdxxcolumns: BasicColumn[] = [
slots: { customRender: 'xnsftgaction' },
width: '100px'
},
{
title: '存档类型',
align: "center",
dataIndex: 'cdlx_dictText',
width: '100px'
},
// {
// title: '存档类型',
// align: "center",
// dataIndex: 'cdlx_dictText',
// width: '100px'
// },
];
//查询数据
export const searchFormSchema: FormSchema[] = [

View File

@ -94,6 +94,7 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
columns: columnsZyhp,
canResize: false,
useSearchForm: false,
pagination: false,
actionColumn: {
width: 120,
fixed: 'right',