修改bug
This commit is contained in:
parent
2d327ea307
commit
440470d9e4
|
@ -7,17 +7,23 @@
|
|||
<a-col :span="24">
|
||||
<a-row>
|
||||
<a-col :lg="24" :xs="18">
|
||||
<div style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;">课程名称:{{kcxxInfo.kcmc}}</div>
|
||||
<div style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;">
|
||||
|
||||
<a-button type="primary" @click="toggleCollapsed">
|
||||
<MenuUnfoldOutlined v-if="collapsed" />
|
||||
<MenuUnfoldOutlined v-else />
|
||||
</a-button>
|
||||
课程名称:{{kcxxInfo.kcmc}}</div>
|
||||
</a-col>
|
||||
<a-col :lg="0" :xs="6">
|
||||
<dqxqkcMenu/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :lg="5" :xs="0">
|
||||
<dqxqkcMenu/>
|
||||
<a-col :lg="spanlg" :xs="0">
|
||||
<dqxqkcMenu ref="dqxqkcMenuTag"/>
|
||||
</a-col>
|
||||
<a-col :lg="19" :xs="24">
|
||||
<a-col :lg="spanlt" :xs="24">
|
||||
<RouterView/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -35,12 +41,14 @@
|
|||
import { useRouter } from 'vue-router';
|
||||
|
||||
|
||||
import { MenuUnfoldOutlined } from '@ant-design/icons-vue';
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
import dqxqkcMenu from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue';
|
||||
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
|
||||
|
||||
const maxClassName = ref<any>({});
|
||||
const dqxqkcMenuTag = ref();
|
||||
const selectedKeys = ref<string[]>([]);
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
|
@ -48,8 +56,22 @@
|
|||
const { rwbh,xqxn } = query;//获取传递参数
|
||||
let router = useRouter();
|
||||
const kcxxInfo = ref<string>('');
|
||||
const spanlg = ref<number>(5);
|
||||
const spanlt = ref<number>(19);
|
||||
const collapsed = ref<any>(false);
|
||||
|
||||
|
||||
function toggleCollapsed() {
|
||||
collapsed.value = !collapsed.value;
|
||||
dqxqkcMenuTag.value.toggleCollapsed();
|
||||
if(collapsed.value){
|
||||
spanlg.value = 1;
|
||||
spanlt.value = 23;
|
||||
}else{
|
||||
spanlg.value = 5;
|
||||
spanlt.value = 19;
|
||||
}
|
||||
}
|
||||
//进入就加载
|
||||
onMounted(() => {
|
||||
// console.log('rwbh:',rwbh);
|
||||
|
|
|
@ -5,21 +5,34 @@
|
|||
<a-menu
|
||||
v-model:openKeys="openKeys"
|
||||
v-model:selectedKeys="selectedKeys"
|
||||
style="width: 98%;min-height: calc(100vh - 225px);margin: 10px 0;"
|
||||
style="width: 98%; min-height: calc(100vh - 225px); margin: 10px 0"
|
||||
mode="inline"
|
||||
:inline-collapsed="collapsed"
|
||||
>
|
||||
<a-menu-item key="sub0">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('gonggao')">通知公告</span>
|
||||
</a-menu-item>
|
||||
<a-sub-menu key="sub1">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<template #title>教学内容</template>
|
||||
<a-menu-item key="1" @click="getGzt('kcjs')">课程简介</a-menu-item>
|
||||
<a-menu-item key="3" @click="gotoPageByName('jiaoXueDanYuanNeiRong')">教学单元</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-menu-item key="sub2">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('dqzy')">课程作业</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub21">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjc')">课程测验</span>
|
||||
</a-menu-item>
|
||||
<!-- <a-sub-menu key="sub2">
|
||||
|
@ -28,18 +41,27 @@
|
|||
<a-menu-item key="5" @click="getGzt('kcjc')">课程测验</a-menu-item>
|
||||
</a-sub-menu> -->
|
||||
<a-sub-menu key="sub3">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<template #title>教学工具</template>
|
||||
<a-menu-item key="6" @click="getGzt('dcwj')">问卷调查</a-menu-item>
|
||||
<a-menu-item key="7" @click="getGzt('gongju')">到课识别率</a-menu-item>
|
||||
<a-menu-item key="8" @click="getGzt('zycd')">作业存档</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-menu-item key="sub4">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('yiykzyk')">教学资源库</span>
|
||||
</a-menu-item>
|
||||
<!-- <a-menu-item key="sub5">
|
||||
<span @click="getGzt('jxzyk')">教学资源库</span>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item key="sub6">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('tlq')">讨论区</span>
|
||||
</a-menu-item>
|
||||
<!-- <a-menu-item key="sub3">
|
||||
|
@ -56,12 +78,7 @@
|
|||
</a-menu>
|
||||
</a-col>
|
||||
<a-col :lg="0" :xs="24">
|
||||
<a-menu
|
||||
v-model:openKeys="openKeys"
|
||||
v-model:selectedKeys="selectedKeys"
|
||||
style="width: 98%;margin: 10px 0;"
|
||||
mode="horizontal"
|
||||
>
|
||||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 98%; margin: 10px 0" mode="horizontal">
|
||||
<a-sub-menu key="min0">
|
||||
<template #icon>
|
||||
<!-- <SettingOutlined /> -->
|
||||
|
@ -106,13 +123,12 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted, unref } from 'vue';
|
||||
import { ref, onMounted, unref,defineExpose } from 'vue';
|
||||
|
||||
import { getUserSf, getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined,MenuUnfoldOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
|
@ -121,6 +137,7 @@
|
|||
const maxClassName = ref<any>({});
|
||||
const selectedKeys = ref<string[]>(['sub0']);
|
||||
const openKeys = ref<string[]>(['sub0']);
|
||||
const collapsed = ref<any>(false);
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
|
@ -130,34 +147,39 @@
|
|||
function getGzt(zytype) {
|
||||
var param = { rwbh, xqxn, type };
|
||||
// console.log(`🚀 ~ getGzt ~ type:`, zytype)
|
||||
var href = "/zy/dqkcDqzy";
|
||||
var href = '/zy/dqkcDqzy';
|
||||
if (zytype == 'dqzy') {
|
||||
href = "/zy/dqkcDqzy";
|
||||
href = '/zy/dqkcDqzy';
|
||||
} else if (zytype == 'dcwj') {
|
||||
href = "/zy/dcwjWenjuan";
|
||||
href = '/zy/dcwjWenjuan';
|
||||
} else if (zytype == 'lszy') {
|
||||
href = "/zy/dqkcLszy";
|
||||
href = '/zy/dqkcLszy';
|
||||
} else if (zytype == 'gonggao') {
|
||||
href = "/zy/tuGonggao";
|
||||
href = '/zy/tuGonggao';
|
||||
} else if (zytype == 'kcjs') {
|
||||
href = "/zy/dqkcDetail";
|
||||
href = '/zy/dqkcDetail';
|
||||
} else if (zytype == 'kcjc') {
|
||||
href = "/zy/ceshiWenjuan";
|
||||
href = '/zy/ceshiWenjuan';
|
||||
} else if (zytype == 'gongju') {
|
||||
href = "/zy/dqkcGongju";
|
||||
href = '/zy/dqkcGongju';
|
||||
} else if (zytype == 'yiykzyk') {
|
||||
href = "/zy/yiykzyk";
|
||||
href = '/zy/yiykzyk';
|
||||
} else if (zytype == 'jxzyk') {
|
||||
href = "/zy/dqkcJxzyk";
|
||||
href = '/zy/dqkcJxzyk';
|
||||
} else if (zytype == 'tlq') {
|
||||
href = "/zy/dqkcTlq";
|
||||
href = '/zy/dqkcTlq';
|
||||
} else if (zytype == 'zycd') {
|
||||
href = "/zy/dqkcCdxx";
|
||||
href = '/zy/dqkcCdxx';
|
||||
}
|
||||
|
||||
router.push({ path: href, query: { rwbh, xqxn, type, teano } });
|
||||
}
|
||||
|
||||
function toggleCollapsed() {
|
||||
collapsed.value = !collapsed.value;
|
||||
openKeys.value = collapsed.value ? [] : selectedKeys.value;
|
||||
}
|
||||
|
||||
function gotoPageByName(name) {
|
||||
router.push({ name, query: { rwbh, xqxn, type, teano } });
|
||||
}
|
||||
|
@ -167,6 +189,9 @@
|
|||
// console.log('rwbh:',rwbh);
|
||||
});
|
||||
|
||||
defineExpose({
|
||||
toggleCollapsed
|
||||
});
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
#siteMain {
|
||||
|
@ -190,7 +215,7 @@
|
|||
}
|
||||
.ant-layout-footer {
|
||||
line-height: 1.5;
|
||||
background: #FFF;
|
||||
background: #fff;
|
||||
}
|
||||
.ant-layout-sider {
|
||||
color: #fff;
|
||||
|
@ -206,6 +231,6 @@
|
|||
}
|
||||
}
|
||||
.ant-menu-overflow {
|
||||
flex-direction: row-reverse
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,17 +7,23 @@
|
|||
<a-col :span="24">
|
||||
<a-row>
|
||||
<a-col :lg="24" :xs="18">
|
||||
<div style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;">课程名称:{{kcxxInfo.kcmc}}</div>
|
||||
<div style="width:100%;background: #fff;font-size: 18px;font-weight: bold;margin-top:10px;padding: 10px;">
|
||||
|
||||
<a-button type="primary" @click="toggleCollapsed">
|
||||
<MenuUnfoldOutlined v-if="collapsed" />
|
||||
<MenuUnfoldOutlined v-else />
|
||||
</a-button>
|
||||
课程名称:{{kcxxInfo.kcmc}}</div>
|
||||
</a-col>
|
||||
<a-col :lg="0" :xs="6">
|
||||
<studentMenu/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :lg="5" :xs="0">
|
||||
<studentMenu/>
|
||||
<a-col :lg="spanlg" :xs="0">
|
||||
<studentMenu ref="dqxqkcMenuTag"/>
|
||||
</a-col>
|
||||
<a-col :lg="19" :xs="24">
|
||||
<a-col :lg="spanlt" :xs="24">
|
||||
<RouterView/>
|
||||
</a-col>
|
||||
|
||||
|
@ -40,6 +46,7 @@
|
|||
import { getUserSf,getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { MenuUnfoldOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
|
@ -49,13 +56,28 @@
|
|||
const maxClassName = ref<any>({});
|
||||
const selectedKeys = ref<string[]>([]);
|
||||
const kcxxInfo = ref<string>('');
|
||||
const dqxqkcMenuTag = ref();
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh,xqxn } = query;//获取传递参数
|
||||
let router = useRouter();
|
||||
const spanlg = ref<number>(5);
|
||||
const spanlt = ref<number>(19);
|
||||
const collapsed = ref<any>(false);
|
||||
|
||||
|
||||
function toggleCollapsed() {
|
||||
collapsed.value = !collapsed.value;
|
||||
dqxqkcMenuTag.value.toggleCollapsed();
|
||||
if(collapsed.value){
|
||||
spanlg.value = 1;
|
||||
spanlt.value = 23;
|
||||
}else{
|
||||
spanlg.value = 5;
|
||||
spanlt.value = 19;
|
||||
}
|
||||
}
|
||||
//进入就加载
|
||||
onMounted(() => {
|
||||
defHttp.get({ url: '/ktgl/kcKechengbiao/getKcxxByRwbhXqxn', params: { rwbh: rwbh,xqxn:xqxn } }).then((res) => {
|
||||
|
|
|
@ -3,26 +3,40 @@
|
|||
<a-row>
|
||||
<a-col :lg="24" :xs="{ span: 0 }">
|
||||
<a-menu
|
||||
v-model:openKeys="openKeys"
|
||||
v-model:selectedKeys="selectedKeys"
|
||||
style="width: 98%;min-height: calc(100vh - 225px); margin: 10px 0;"
|
||||
mode="inline"
|
||||
:inline-collapsed="collapsed"
|
||||
>
|
||||
<a-menu-item key="sub1">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('tzgg')">通知公告</span>
|
||||
</a-menu-item>
|
||||
<a-sub-menu key="sub2">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<template #title>课程内容</template>
|
||||
<a-menu-item key="1" @click="getGzt('kcjs')">课程简介</a-menu-item>
|
||||
<!-- <a-menu-item key="2" @click="getGzt('tzgg')">通知公告</a-menu-item> -->
|
||||
<a-menu-item key="3" @click="getGzt('stuJiaoXueDanYuanNeiRong')">教学单元</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-menu-item key="sub4">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('dqzy')">课程作业</span>
|
||||
</a-menu-item>
|
||||
<!-- <a-menu-item key="sub8">
|
||||
<span @click="getGzt('zyhp')">作业互评</span>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item key="sub7">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjc')">课程测验</span>
|
||||
</a-menu-item>
|
||||
<!-- <a-sub-menu key="sub4">
|
||||
|
@ -31,9 +45,15 @@
|
|||
<a-menu-item key="5" @click="getGzt('kcjc')">课程测验</a-menu-item>
|
||||
</a-sub-menu> -->
|
||||
<a-menu-item key="sub5">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('dcwj')">问卷调查</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub6">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('tlq')">讨论区</span>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
|
@ -79,7 +99,7 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted, unref } from 'vue';
|
||||
import { ref, onMounted, unref ,defineExpose } from 'vue';
|
||||
|
||||
import { getUserSf,getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
|
@ -89,15 +109,18 @@
|
|||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined,MenuUnfoldOutlined } from '@ant-design/icons-vue';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
|
||||
const maxClassName = ref<any>({});
|
||||
const selectedKeys = ref<string[]>([]);
|
||||
const openKeys = ref<string[]>(['sub0']);
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh,xqxn,type,teano } = query;//获取传递参数
|
||||
let router = useRouter();
|
||||
const collapsed = ref<any>(false);
|
||||
|
||||
|
||||
function getGzt(zytype){
|
||||
|
@ -125,10 +148,17 @@
|
|||
router.push({path:href,query: {rwbh,xqxn,type,teano}});
|
||||
}
|
||||
|
||||
function toggleCollapsed() {
|
||||
collapsed.value = !collapsed.value;
|
||||
openKeys.value = collapsed.value ? [] : selectedKeys.value;
|
||||
}
|
||||
//进入就加载
|
||||
onMounted(() => {
|
||||
console.log('rwbh:',rwbh);
|
||||
});
|
||||
defineExpose({
|
||||
toggleCollapsed
|
||||
});
|
||||
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
|
|
@ -21,20 +21,21 @@
|
|||
</a-form>
|
||||
</div> -->
|
||||
<a-row>
|
||||
<a-col :span="12" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 5px 5px; border-radius: 10px; overflow: hidden;">
|
||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 5px 5px; border-radius: 10px; overflow: hidden;">
|
||||
<div style="width: 100%; height:40px;border-radius: 10px 10px 0 0; background-color: #cdf5ed">
|
||||
<a-col :span="24" style="height:40px; line-height:40px; padding-left:15px; color:#333; overflow: hidden;" :title="item.title">
|
||||
<a-col :span="24" style="height:40px; line-height:40px; padding-left:15px; color:#333; overflow: hidden;" >
|
||||
<!-- <div style="font-size: 18px;font-weight: bold;" class="ellipsis">{{item.title}}</div> -->
|
||||
<div style="font-size: 18px; font-weight: bold">{{ item.title }}</div>
|
||||
<div style="font-size: 18px; font-weight: bold">第{{ item.sort }}次作业</div>
|
||||
</a-col>
|
||||
</div>
|
||||
<a-card style="height:310px; border: 1px solid #eeeeee">
|
||||
<a-card style="height:165px; border: 1px solid #eeeeee">
|
||||
<div class="rotate" :style="classFun(item)">{{ callText(item) }}</div>
|
||||
<a-row style="top: -60px; position: relative">
|
||||
<a-col :span="24" class="zyCon"><span class="zyCon-word">作业时间:</span>{{ 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 class="zyCon-word">互评时间:</span><span v-if="item.xshpkg == '1'">{{ dayjs(item.xshpkssj).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.xshpjssj).format('YYYY.MM.DD HH:mm') }}</span><span v-else>未设置互评</span></a-col>
|
||||
<a-col :span="24" class="zyCon Score-List">
|
||||
<div class="Score-List-row">
|
||||
<a-col :span="24" class="zytitle" :title="item.title">{{ item.title }}</a-col>
|
||||
<a-col :span="12" class="zyCon"><span class="zyCon-word">作业时间:</span>{{ dayjs(item.startTime).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</a-col>
|
||||
<a-col :span="12" class="zyCon"><span class="zyCon-word">互评时间:</span><span v-if="item.xshpkg == '1'">{{ dayjs(item.xshpkssj).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.xshpjssj).format('YYYY.MM.DD HH:mm') }}</span><span v-else>未设置互评</span></a-col>
|
||||
<a-col :span="12" class="zyCon Score-List">
|
||||
<!-- <div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.stuscore ? item.stuscore : '未评' }}分</span>
|
||||
<span class="List-row-word">作业得分</span>
|
||||
</div>
|
||||
|
@ -45,21 +46,43 @@
|
|||
<div class="Score-List-row" v-if="handleSfkshp(item)">
|
||||
<span class="List-row-number">{{ item.jxfs ? item.jxfs : '未评' }}分</span>
|
||||
<span class="List-row-word">互评奖励</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<a-popover title="得分情况">
|
||||
<template #content>
|
||||
<p>作业得分:{{ item.stuscore ? item.stuscore : '未评' }}分</p>
|
||||
<p v-if="item.jxfs">互评奖励:{{ item.jxfs ? item.jxfs : '未评' }}分</p>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zzdf ? item.zzdf : '未评' }}分</span>
|
||||
<span class="List-row-word">总分</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
<a-popover title="查重情况">
|
||||
<template #content>
|
||||
<p><span class="zyCon-word">维普资源库查重:</span>{{ getCctype(item, '1') }}</p>
|
||||
<p><span class="zyCon-word">本次作业查重:</span>{{ getCctype(item, '2') }}</p>
|
||||
<p><span class="zyCon-word">学校作业库查重:</span>{{ getCctype(item, '4') }}</p>
|
||||
<p><span class="zyCon-word">Aigc查重:</span>{{ getCctype(item, '3') }}</p>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zgccl?item.zgccl:'-' }}</span>
|
||||
<span class="List-row-word">查重率</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
<!-- <div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zgccl?item.zgccl:'-' }}</span>
|
||||
<span class="List-row-word">查重率</span>
|
||||
</div> -->
|
||||
</a-col>
|
||||
<a-col :span="24" class="zyCon">
|
||||
<!-- <a-col :span="24" class="zyCon">
|
||||
<div style="float: left" class="wpopen" :title="item.wwsftg" @click="handleOpenCcjg(item, '0')"><span class="zyCon-word">维普资源库查重:</span>{{ getCctype(item, '1') }}</div>
|
||||
<div style="float: right" class="wpopen" :title="item.nwsftg" @click="handleOpenCcjg(item, '1')"><span class="zyCon-word">本次作业查重:</span>{{ getCctype(item, '2') }}</div>
|
||||
</a-col>
|
||||
<a-col :span="24" class="zyCon">
|
||||
<div style="float: left" class="wpopen" :title="item.xnsftg" @click="handleOpenCcjg(item, '3')"><span class="zyCon-word">学校作业库查重:</span>{{ getCctype(item, '4') }}</div>
|
||||
<div style="float: right" class="wpopen" :title="item.aigcsftg" @click="handleOpenCcjg(item, '2')"><span class="zyCon-word">Aigc查重:</span>{{ getCctype(item, '3') }}</div>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align: center; margin-top:12px; border-top: 1px solid #f6f6f6; padding-top:15px">
|
||||
</a-col> -->
|
||||
<a-col :span="12" style="text-align: center; margin-top:12px; border-top: 1px solid #f6f6f6; padding-top:15px">
|
||||
<a-button class="zyCon-button" type="primary" @click="handleDetail(item)">
|
||||
详情
|
||||
</a-button>
|
||||
|
@ -72,7 +95,7 @@
|
|||
<a-button class="zyCon-button" type="primary" @click="handlePreview(item)" v-if="item.stuFilePath">
|
||||
预览
|
||||
</a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleHuping(item)" v-if="handleSfkshp(item)">
|
||||
<a-button class="zyCon-button" type="primary" @click="handleHuping(item)" v-if="handleSfkshp(item)==1 || handleSfkshp(item)==2" :disabled="handleSfkshp(item)!=1" :title="handleSfkshp(item)==1?'':'未到互评时间或已过互评时间'">
|
||||
互评
|
||||
</a-button>
|
||||
</a-col>
|
||||
|
@ -198,9 +221,12 @@ function handleSfkshp(record) {
|
|||
var xshpjssj = new Date(record.xshpjssj);
|
||||
var nowTime = new Date();
|
||||
if (record.stuFilePath && sfkshp == '1' && nowTime.getTime() >= xshpkssj.getTime() && nowTime.getTime() <= xshpjssj.getTime()) {
|
||||
return true;
|
||||
return 1;
|
||||
}else if(record.stuFilePath && sfkshp == '1'){
|
||||
return 2
|
||||
}else{
|
||||
return 3;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function handleHuping(record) {
|
||||
|
@ -439,8 +465,8 @@ onMounted(() => {
|
|||
color: #fff;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
top: -60px;
|
||||
right: -183px;
|
||||
top: -68px;
|
||||
right: -400px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
@ -457,7 +483,7 @@ onMounted(() => {
|
|||
}
|
||||
.Score-List-row{
|
||||
display: flex;
|
||||
width: 25%;
|
||||
width: 50%;
|
||||
flex-direction:column;
|
||||
margin-right: 10px;
|
||||
justify-content: center;
|
||||
|
@ -481,4 +507,11 @@ onMounted(() => {
|
|||
.zyCon-button{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.zytitle{
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
overflow: hidden; /* 确保超出容器的内容被裁剪 */
|
||||
white-space: nowrap; /* 确保文本在一行内显示 */
|
||||
text-overflow: ellipsis; /* 超出部分显示省略号 */
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -93,6 +93,7 @@ d<template>
|
|||
valueFormat="YYYY-MM-DD HH:mm"
|
||||
format="YYYY-MM-DD HH:mm"
|
||||
style="width: 100%"
|
||||
@change="handleEndTime"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -113,7 +114,7 @@ d<template>
|
|||
<a-form-item label="作业要求" v-bind="validateInfos.content">
|
||||
<j-editor v-model:value="zyInfo.content" v-if="zyyqShow" @blur="handleZyyqShow(0)" />
|
||||
<div style="color: #777777" v-html="zyInfo.content" v-if="!zyyqShow"></div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi" v-if="zyInfo.xshpkg == '1'">温馨提示:点击可编辑作业要求</div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi">温馨提示:点击可编辑作业要求</div>
|
||||
<!-- <div @click="handleZyyqShow(1)"><span style="cursor: pointer; color: #18a689">温馨提示:点击可编辑作业要求</span></div> -->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -123,7 +124,7 @@ d<template>
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="评分标准" layout="inline">
|
||||
<a-form-item label="评分标准" layout="inline" v-bind="validateInfos.pfbz">
|
||||
<a-form-item
|
||||
label="是否允许学生查看"
|
||||
:labelCol="labelCol2"
|
||||
|
@ -132,7 +133,7 @@ d<template>
|
|||
>
|
||||
<j-dict-select-tag type="radio" v-model:value="zyInfo.sturead" dictCode="yn" placeholder="请选择评分标准是否允许学生查看" />
|
||||
</a-form-item>
|
||||
<a-form-item label="" v-if="zyInfo.sturead == '1'">
|
||||
<a-form-item label="">
|
||||
<j-editor v-model:value="zyInfo.pfbz" v-if="pfbzShow" @blur="handlePfbzShow(0)" />
|
||||
<div v-html="zyInfo.pfbz" v-if="!pfbzShow"></div>
|
||||
<div class="tishi" @click="handlePfbzShow(1)">温馨提示:点击可编辑评分标准</div>
|
||||
|
@ -144,7 +145,6 @@ d<template>
|
|||
<a-col :span="24">
|
||||
<div class="region">
|
||||
<div class="region-title">学生互评</div>
|
||||
<div style="float:right;margin-right:8px;" v-if="zyInfo.xshpkg == '1'"><span style="color:#18a689; cursor: pointer;" @click="handleHpsf">预览互评算法</span></div>
|
||||
<a-form-item label="学生互评">
|
||||
<div class="tishi" v-if="zyInfo.xshpkg == '1'">温馨提示:每份作业至少互评3次,每个学生互评5份作业</div>
|
||||
<j-dict-select-tag
|
||||
|
@ -185,7 +185,7 @@ d<template>
|
|||
style="margin-top: 15px"
|
||||
/> -->
|
||||
</a-form-item>
|
||||
<a-form-item label="互评开始时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
||||
<a-form-item label="互评开始时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2" hidden>
|
||||
<a-date-picker
|
||||
placeholder="请选择互评开始时间"
|
||||
v-model:value="zyInfo.xshpkssj"
|
||||
|
@ -251,7 +251,7 @@ d<template>
|
|||
</a-form-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align: center; margin-top: 10px; margin-bottom: 40px; ">
|
||||
<a-col :span="24" style="text-align: center; margin-top: 10px; margin-bottom: 40px">
|
||||
<a-button type="primary" @click="submitForm">保存</a-button>
|
||||
<a-button type="primary" @click="reloadZy" style="margin-left: 15px">返回</a-button>
|
||||
</a-col>
|
||||
|
@ -276,7 +276,6 @@ d<template>
|
|||
温馨提示:<br />
|
||||
1、非高峰期预计30分钟内返回检测结果,高峰期预计时间会更长,请您耐心等待! <br />
|
||||
2、点击互评分数,可查看同学间互评作业详情
|
||||
<span style="color:#18a689; cursor: pointer;" @click="handleHpsf">预览互评算法</span>
|
||||
<br />
|
||||
3、点击最高查重率,可分别查看学生“维普作业库查重”、“学校作业库查重”、“本次作业查重”、“AIGC查重”相似率<br />
|
||||
4、学生上传的课程作业全部存档<br />
|
||||
|
@ -345,7 +344,9 @@ d<template>
|
|||
<a-row>
|
||||
<a-col :span="24"
|
||||
><span class="title">查重相似度详情</span>
|
||||
<a-button type="primary" @click="handleShowType(3)" style="float: right; margin-right: 8px"><Icon icon="ant-design:export-outlined" />返回</a-button>
|
||||
<a-button type="primary" @click="handleShowType(3)" style="float: right; margin-right: 8px"
|
||||
><Icon icon="ant-design:export-outlined" />返回</a-button
|
||||
>
|
||||
<a-divider
|
||||
/></a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -365,7 +366,9 @@ d<template>
|
|||
<a-row>
|
||||
<a-col :span="24"
|
||||
><span class="title">学生互评详情</span>
|
||||
<a-button type="primary" @click="handleShowType(3)" style="float: right; margin-right: 8px"><Icon icon="ant-design:export-outlined" />返回</a-button>
|
||||
<a-button type="primary" @click="handleShowType(3)" style="float: right; margin-right: 8px"
|
||||
><Icon icon="ant-design:export-outlined" />返回</a-button
|
||||
>
|
||||
<a-divider
|
||||
/></a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -384,7 +387,7 @@ d<template>
|
|||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-row style="padding: 10px">
|
||||
<a-col :lg="12" v-for="(item, index) in tableData" style="padding: 0 5px 5px 5px" :key="index">
|
||||
<a-col :lg="24" v-for="(item, index) in tableData" style="padding: 0 5px 5px 5px" :key="index">
|
||||
<a-card
|
||||
:title="'第' + item.sort + '次作业(占比' + item.score + '%)'"
|
||||
v-if="!item.endTime"
|
||||
|
@ -411,7 +414,7 @@ d<template>
|
|||
><span style="color: #02aa56; font-weight: bold"><Icon icon="ant-design:check-outlined" />已发布</span>
|
||||
</template>
|
||||
<div class="ellip-title">
|
||||
<span class="ellipsis elli-title" :title="item.title">作业名称:{{ item.title }}</span>
|
||||
<span class="ellipsis elli-title" :title="item.title">{{ item.title }}</span>
|
||||
<a class="button-zhta" @click="openXkrs(item)">{{ item.xkxs }}人选课</a>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
|
@ -420,13 +423,13 @@ d<template>
|
|||
</div>
|
||||
<div style="width: 100%; display: flex">
|
||||
<div class="data-suggest zuanqu" @click="handleZyxx(item, '1')"
|
||||
><span>{{ item.wtjnum }}人</span><span>未提交</span></div
|
||||
><span>{{ item.wtjnum }}人</span><span>待提交</span></div
|
||||
>
|
||||
<div class="data-suggest zuanqu" @click="handleZyxx(item, '2')"
|
||||
<!-- <div class="data-suggest zuanqu" @click="handleZyxx(item, '2')"
|
||||
><span>{{ item.ytjnum }}人</span><span>已提交</span></div
|
||||
>
|
||||
<div class="data-suggest zuanqu" @click="handleZyxx(item, '3')"
|
||||
><span>{{ item.wpynum }}人</span><span>未评阅</span></div
|
||||
> -->
|
||||
<div class="data-suggest zuanqu" @click="handleZyxx(item, '5')"
|
||||
><span>{{ item.dpynum }}人</span><span>待评阅</span></div
|
||||
>
|
||||
<div class="data-suggest zuanqu" @click="handleZyxx(item, '4')"
|
||||
><span>{{ item.ypynum }}人</span><span>已评阅</span></div
|
||||
|
@ -436,9 +439,9 @@ d<template>
|
|||
<div style="text-align: right; margin-top: 10px; margin-bottom: -10px; width: 100%">
|
||||
<a @click="handleEdit(item, true)">编辑作业</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleZyxx(item, '')">查看作业</a>
|
||||
<a @click="handleZyxx(item, '')">批阅作业</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)">删除</a>
|
||||
<a @click="handleDelete(item)" v-if="item.ytjnum == '0'">删除</a>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card
|
||||
|
@ -451,7 +454,7 @@ d<template>
|
|||
><span style="color: #ff8710; font-weight: bold"><Icon icon="ant-design:send-outlined" />待发布</span>
|
||||
</template>
|
||||
<div class="ellip-title">
|
||||
<span class="ellipsis elli-title" :title="item.title">作业名称:{{ item.title }}</span>
|
||||
<span class="ellipsis elli-title" :title="item.title">{{ item.title }}</span>
|
||||
<a class="button-zhta" @click="openXkrs(item)">{{ item.xkxs }}人选课</a>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
|
@ -607,15 +610,11 @@ function handleXshpkg(record) {
|
|||
console.log('👨👧👦', record);
|
||||
}
|
||||
|
||||
//预览互评算法
|
||||
function handleHpsf(){
|
||||
// openByUrl({url:'/downPath/ylhpsf.pdf',target: '_blank',fileName:'算法说明.pdf'})
|
||||
// window.open(pdfUrl.value, '_blank');
|
||||
// window.open(require('../../../downPath/ylhpsf.pdf'), '_blank');
|
||||
window.open(baseApiUrl+'/temp/ylhpsf.pdf');
|
||||
function handleEndTime(record) {
|
||||
console.log('👽', record);
|
||||
zyInfo.value.xshpkssj = record;
|
||||
}
|
||||
|
||||
|
||||
//获取查重结果
|
||||
function handleViewInfo(record) {
|
||||
defHttp.get({ url: '/zyCcjg/zyCcjg/ccjglist', params: { zyStuId: record.id } }).then((res) => {
|
||||
|
@ -717,8 +716,6 @@ function yulanFile(record) {
|
|||
}
|
||||
//驳回
|
||||
function handleBohui(record: Recordable) {
|
||||
|
||||
|
||||
createConfirm({
|
||||
iconType: 'warning',
|
||||
title: '驳回',
|
||||
|
@ -834,6 +831,7 @@ async function batchHandleFabu() {
|
|||
const validatorRules = {
|
||||
title: [{ required: true, message: '请输入作业名称!' }],
|
||||
endTime: [{ required: true, message: '请输入结束时间!' }],
|
||||
pfbz: [{ required: true, message: '请输入评分标准!' }],
|
||||
};
|
||||
const { resetFields, validate, validateInfos } = useForm(zyInfo, validatorRules, { immediate: true });
|
||||
const labelCol = reactive({
|
||||
|
@ -857,10 +855,10 @@ const wrapperCol3 = reactive({
|
|||
sm: { span: 20 },
|
||||
});
|
||||
const labelCol4 = reactive({
|
||||
sm: { span: 8 },
|
||||
sm: { span: 10 },
|
||||
});
|
||||
const wrapperCol4 = reactive({
|
||||
sm: { span: 14 },
|
||||
sm: { span: 12 },
|
||||
});
|
||||
//作业要求切换
|
||||
function handleZyyqShow(type) {
|
||||
|
@ -1242,9 +1240,23 @@ function handleAdd() {
|
|||
* 编辑事件
|
||||
*/
|
||||
function handleEdit(record, type) {
|
||||
console.log('👩🎓1111111', record);
|
||||
if (!record.sturead) {
|
||||
record.sturead = '1';
|
||||
}
|
||||
if (!record.xshpkg) {
|
||||
record.xshpkg = '1';
|
||||
}
|
||||
if (!record.sfzzcj) {
|
||||
record.sfzzcj = '1';
|
||||
}
|
||||
if (!record.xssfck) {
|
||||
record.xssfck = '1';
|
||||
}
|
||||
console.log('💂♀️2222222', record);
|
||||
editDisabled.value = type;
|
||||
console.log('👨👨👧👧', editDisabled);
|
||||
zyInfo.value = record;
|
||||
console.log('😔3333333', zyInfo.value);
|
||||
dataKhnr.value = [];
|
||||
var kcnr = zyInfo.value.kcnr;
|
||||
if (kcnr) {
|
||||
|
@ -1269,7 +1281,7 @@ function handleDetail(record: Recordable) {
|
|||
registerDetialModal.value.edit(record);
|
||||
}
|
||||
|
||||
//查看作业信息
|
||||
//批阅作业信息
|
||||
function handleZyxx(record, type) {
|
||||
if (type == '1') {
|
||||
if (!record.wtjnum || record.wtjnum == '0') {
|
||||
|
@ -1291,6 +1303,11 @@ function handleZyxx(record, type) {
|
|||
createMessage.error('当前人数为0,不能进行查询');
|
||||
return;
|
||||
}
|
||||
} else if (type == '4') {
|
||||
if (!record.dpynum || record.dpynum == '0') {
|
||||
createMessage.error('当前人数为0,不能进行查询');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
zyInfo.value = record;
|
||||
|
@ -1450,7 +1467,7 @@ onMounted(() => {
|
|||
min-height: 200px;
|
||||
}
|
||||
.sznrClass {
|
||||
line-height: 126px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.ant-card {
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
</a-col>
|
||||
<a-col :span="24" v-if="formData.filePath">
|
||||
<a-form-item label="参考资料">
|
||||
<span>{{ lastString(formData.filePath) }}</span>
|
||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(formData.filePath)">下载</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -49,14 +50,7 @@
|
|||
<a-form-item layout="inline" style="margin-left: 100px">
|
||||
<a-form-item label="检测通过率" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
||||
<span style="padding: 7px 20px"></span>
|
||||
<a-input-number
|
||||
v-model:value="formData.wwtgl"
|
||||
placeholder="检测通过率"
|
||||
style="width: 60%"
|
||||
:max="100"
|
||||
:min="0"
|
||||
disabled
|
||||
>
|
||||
<a-input-number v-model:value="formData.wwtgl" placeholder="检测通过率" style="width: 60%" :max="100" :min="0" disabled>
|
||||
<template #addonAfter> % </template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
|
@ -131,7 +125,7 @@
|
|||
import { useRouter } from 'vue-router';
|
||||
import dayjs, { Dayjs } from 'dayjs';
|
||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||
import {getFileAccessHttpUrl} from "/@/utils/common/compUtils";
|
||||
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
//当前路由信息
|
||||
|
@ -141,7 +135,7 @@
|
|||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
formData: { type: Object, default: () => {} },
|
||||
formBpm: { type: Boolean, default: true }
|
||||
formBpm: { type: Boolean, default: true },
|
||||
});
|
||||
const formRef = ref();
|
||||
const useForm = Form.useForm;
|
||||
|
@ -171,7 +165,6 @@
|
|||
// const labelCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 3 } });
|
||||
// const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 20 } });
|
||||
|
||||
|
||||
const labelCol2 = reactive({
|
||||
sm: { span: 10 },
|
||||
});
|
||||
|
@ -188,18 +181,18 @@
|
|||
const confirmLoading = ref<boolean>(false);
|
||||
//表单验证
|
||||
const validatorRules = {
|
||||
title: [{ required: true, message: '请输入作业名称!'},],
|
||||
title: [{ required: true, message: '请输入作业名称!' }],
|
||||
// zyType: [{ required: true, message: '请输入类型!'},],
|
||||
startTime: [{ required: true, message: '请输入开始时间!'},],
|
||||
endTime: [{ required: true, message: '请输入结束时间!'},],
|
||||
wwcc: [{ required: true, message: '请输入外网是否查重!'},],
|
||||
wwtgl: [{ required: false}, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'},],
|
||||
nwcc: [{ required: true, message: '请输入内网查重!'},],
|
||||
nwtgl: [{ required: false}, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'},],
|
||||
aigccc: [{ required: true, message: '请输入aigc查重!'},],
|
||||
aigctgl: [{ required: false}, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'},],
|
||||
xncc: [{ required: true, message: '请输入aigc查重!'},],
|
||||
xntgl: [{ required: false}, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!'},],
|
||||
startTime: [{ required: true, message: '请输入开始时间!' }],
|
||||
endTime: [{ required: true, message: '请输入结束时间!' }],
|
||||
wwcc: [{ required: true, message: '请输入外网是否查重!' }],
|
||||
wwtgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
nwcc: [{ required: true, message: '请输入内网查重!' }],
|
||||
nwtgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
aigccc: [{ required: true, message: '请输入aigc查重!' }],
|
||||
aigctgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
xncc: [{ required: true, message: '请输入aigc查重!' }],
|
||||
xntgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
};
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
const disabledDate = (current: Dayjs) => {
|
||||
|
@ -217,7 +210,6 @@
|
|||
return props.formDisabled;
|
||||
});
|
||||
|
||||
|
||||
const columnsKhnr = [
|
||||
{
|
||||
title: '序号',
|
||||
|
@ -251,7 +243,6 @@ const columnsKhnr = [
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
|
@ -271,6 +262,12 @@ const columnsKhnr = [
|
|||
});
|
||||
}
|
||||
|
||||
function lastString(record) {
|
||||
console.log('😓', record);
|
||||
const parts = record.split('/');
|
||||
console.log('🧔', parts);
|
||||
return parts[parts.length - 1];
|
||||
}
|
||||
/**
|
||||
* 提交数据
|
||||
*/
|
||||
|
@ -386,12 +383,13 @@ function handleKcnr(kcnr) {
|
|||
border-radius: 10px;
|
||||
margin-top: 10px;
|
||||
padding-top: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.wrapper-title {
|
||||
font-size: 18px;
|
||||
border-left: 4px solid #1ab394;
|
||||
font-weight: bold;
|
||||
padding-left: 20PX;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,336 @@
|
|||
<template>
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row>
|
||||
<div class="wrapper-back">
|
||||
<div class="wrapper-title">评分标准</div>
|
||||
<a-col :span="24" v-show="formData.sturead == '1' && formData.pfbz">
|
||||
<a-form-item label="评分标准" layout="inline">
|
||||
<div class="spanb-word" v-html="formData.pfbz"></div>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</div>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-col>
|
||||
<!-- <a-col :span="24">
|
||||
<span class="spana">作业分值:{{formData.score?formData.score:'未填写'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<span class="spana">描述:
|
||||
<span v-if="formData.content">
|
||||
{{formData.content}}
|
||||
</span>
|
||||
<span v-else>暂无内容</span>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">附件:
|
||||
<span v-if="formData.filePath">
|
||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download" size="small" @click="downloadFile(formData.filePath)"> 下载 </a-button>
|
||||
</span>
|
||||
<span v-else>暂无内容</span>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">上传时间:{{formData.startTime}} ~ {{formData.endTime}}</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">是否网络查重:{{formData.wwcc=='0'?'否':'是'}}</span> <span class="spanb">网络通过率:{{formData.wwtgl?formData.wwtgl+"%":'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">是否课程内查重:{{formData.nwcc=='0'?'否':'是'}}</span> <span class="spanb">网络通过率:{{formData.nwtgl?formData.nwtgl+"%":'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">Aigc是否查重:{{formData.aigccc=='0'?'否':'是'}}</span> <span class="spanb">网络通过率:{{formData.aigctgl?formData.aigctgl+"%":'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="spana">是否校内查重:{{formData.xncc=='0'?'否':'是'}}</span> <span class="spanb">网络通过率:{{formData.xntgl?formData.xntgl+"%":'未配置'}}</span>
|
||||
</a-col> -->
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted, unref } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
import { getValueType } from '/@/utils';
|
||||
import { saveOrUpdate } from '../ZyInfo.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import dayjs, { Dayjs } from 'dayjs';
|
||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh } = query; //获取传递参数
|
||||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
formData: { type: Object, default: () => {} },
|
||||
formBpm: { type: Boolean, default: true },
|
||||
});
|
||||
const formRef = ref();
|
||||
const useForm = Form.useForm;
|
||||
const emit = defineEmits(['register', 'ok']);
|
||||
const dataKhnr = ref<any>([]);
|
||||
const formData = reactive<Record<string, any>>({
|
||||
id: '',
|
||||
title: '',
|
||||
zyType: '0',
|
||||
content: '',
|
||||
filePath: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
wwcc: '0',
|
||||
wwtgl: undefined,
|
||||
nwcc: '0',
|
||||
nwtgl: undefined,
|
||||
aigccc: '0',
|
||||
aigctgl: undefined,
|
||||
rwbh: '',
|
||||
xncc: '0',
|
||||
xntgl: undefined,
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
|
||||
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
|
||||
// const labelCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 3 } });
|
||||
// const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 20 } });
|
||||
|
||||
const labelCol2 = reactive({
|
||||
sm: { span: 10 },
|
||||
});
|
||||
const wrapperCol2 = reactive({
|
||||
sm: { span: 10 },
|
||||
});
|
||||
const labelCol3 = reactive({
|
||||
sm: { span: 4 },
|
||||
});
|
||||
const wrapperCol3 = reactive({
|
||||
sm: { span: 20 },
|
||||
});
|
||||
|
||||
const confirmLoading = ref<boolean>(false);
|
||||
//表单验证
|
||||
const validatorRules = {
|
||||
title: [{ required: true, message: '请输入作业名称!' }],
|
||||
// zyType: [{ required: true, message: '请输入类型!'},],
|
||||
startTime: [{ required: true, message: '请输入开始时间!' }],
|
||||
endTime: [{ required: true, message: '请输入结束时间!' }],
|
||||
wwcc: [{ required: true, message: '请输入外网是否查重!' }],
|
||||
wwtgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
nwcc: [{ required: true, message: '请输入内网查重!' }],
|
||||
nwtgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
aigccc: [{ required: true, message: '请输入aigc查重!' }],
|
||||
aigctgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
xncc: [{ required: true, message: '请输入aigc查重!' }],
|
||||
xntgl: [{ required: false }, { pattern: /^-?\d+\.?\d*$/, message: '请输入数字!' }],
|
||||
};
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
const disabledDate = (current: Dayjs) => {
|
||||
return current && current < dayjs().subtract(1, 'days').endOf('day');
|
||||
};
|
||||
// 表单禁用
|
||||
const disabled = computed(() => {
|
||||
if (props.formBpm === true) {
|
||||
if (props.formData.disabled === false) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return props.formDisabled;
|
||||
});
|
||||
|
||||
const columnsKhnr = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: 'no',
|
||||
key: 'no',
|
||||
customRender: (text) => {
|
||||
return text.index + 1;
|
||||
},
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '章次',
|
||||
dataIndex: 'title',
|
||||
key: 'title',
|
||||
},
|
||||
{
|
||||
title: '节次',
|
||||
dataIndex: 'twoTitle',
|
||||
key: 'twoTitle',
|
||||
},
|
||||
];
|
||||
|
||||
function downLoad(file) {
|
||||
if (file) {
|
||||
let url = getFileAccessHttpUrl(file);
|
||||
if (url) {
|
||||
window.open(url);
|
||||
}
|
||||
} else {
|
||||
createMessage.warning('暂无文件或文件上传中');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
function add() {
|
||||
edit({ rwbh });
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
function edit(record) {
|
||||
nextTick(() => {
|
||||
resetFields();
|
||||
//赋值
|
||||
Object.assign(formData, record);
|
||||
handleKcnr(formData.kcnr);
|
||||
});
|
||||
}
|
||||
|
||||
function lastString(record) {
|
||||
console.log('😓', record);
|
||||
const parts = record.split('/');
|
||||
console.log('🧔', parts);
|
||||
return parts[parts.length - 1];
|
||||
}
|
||||
/**
|
||||
* 提交数据
|
||||
*/
|
||||
async function submitForm() {
|
||||
// 触发表单验证
|
||||
await validate();
|
||||
confirmLoading.value = true;
|
||||
const isUpdate = ref<boolean>(false);
|
||||
//时间格式化
|
||||
let model = formData;
|
||||
if (model.id) {
|
||||
isUpdate.value = true;
|
||||
}
|
||||
//循环数据
|
||||
for (let data in model) {
|
||||
//如果该数据是数组并且是字符串类型
|
||||
if (model[data] instanceof Array) {
|
||||
let valueType = getValueType(formRef.value.getProps, data);
|
||||
//如果是字符串类型的需要变成以逗号分割的字符串
|
||||
if (valueType === 'string') {
|
||||
model[data] = model[data].join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (model.wwcc == '1') {
|
||||
if (!model.wwtgl) {
|
||||
createMessage.warning('网络通过率不能为空');
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (model.nwcc == '1') {
|
||||
if (!model.nwtgl) {
|
||||
createMessage.warning('内网通过率不能为空');
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (model.aigccc == '1') {
|
||||
if (!model.aigctgl) {
|
||||
createMessage.warning('AIGC通过率不能为空');
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (model.xncc == '1') {
|
||||
if (!model.xntgl) {
|
||||
createMessage.warning('校内通过率不能为空');
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
await saveOrUpdate(model, isUpdate.value)
|
||||
.then((res) => {
|
||||
if (res.success) {
|
||||
createMessage.success(res.message);
|
||||
emit('ok');
|
||||
} else {
|
||||
createMessage.warning(res.message);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
confirmLoading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
//选择考察内容
|
||||
function handleKcnr(kcnr) {
|
||||
if (kcnr) {
|
||||
defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
|
||||
console.log('🤦♀️', res);
|
||||
dataKhnr.value = res;
|
||||
});
|
||||
} else {
|
||||
dataKhnr.value = [];
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
add,
|
||||
edit,
|
||||
submitForm,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.antd-modal-form {
|
||||
min-height: 300px !important;
|
||||
overflow-y: auto;
|
||||
padding: 24px 24px 24px 24px;
|
||||
}
|
||||
.spanSm {
|
||||
top: -22px;
|
||||
position: inherit;
|
||||
padding: 0 0 0 164px;
|
||||
color: #a9a9a9;
|
||||
}
|
||||
.spana {
|
||||
margin-left: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.spanb {
|
||||
margin-left: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.spanb-word {
|
||||
color: #999999;
|
||||
}
|
||||
.wrapper-back {
|
||||
background: #f7f7f7;
|
||||
border-radius: 10px;
|
||||
margin-top: 10px;
|
||||
padding-top: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
.wrapper-title {
|
||||
font-size: 18px;
|
||||
border-left: 4px solid #1ab394;
|
||||
font-weight: bold;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,75 @@
|
|||
<template>
|
||||
<a-modal :title="title" :width="width" :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭">
|
||||
<ZyInfoForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></ZyInfoForm>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, nextTick, defineExpose } from 'vue';
|
||||
import ZyInfoForm from './ZyInfoPfbzForm.vue'
|
||||
|
||||
const title = ref<string>('');
|
||||
const width = ref<number>(1000);
|
||||
const visible = ref<boolean>(false);
|
||||
const disableSubmit = ref<boolean>(false);
|
||||
const registerForm = ref();
|
||||
const emit = defineEmits(['register', 'success']);
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
function add() {
|
||||
title.value = '新增';
|
||||
visible.value = true;
|
||||
nextTick(() => {
|
||||
registerForm.value.add();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param record
|
||||
*/
|
||||
function edit(record) {
|
||||
title.value = disableSubmit.value ? '详情' : '编辑';
|
||||
visible.value = true;
|
||||
nextTick(() => {
|
||||
registerForm.value.edit(record);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 确定按钮点击事件
|
||||
*/
|
||||
function handleOk() {
|
||||
registerForm.value.submitForm();
|
||||
}
|
||||
|
||||
/**
|
||||
* form保存回调事件
|
||||
*/
|
||||
function submitCallback() {
|
||||
handleCancel();
|
||||
emit('success');
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消按钮回调事件
|
||||
*/
|
||||
function handleCancel() {
|
||||
visible.value = false;
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
add,
|
||||
edit,
|
||||
disableSubmit,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/**隐藏样式-modal确定按钮 */
|
||||
.jee-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
|
@ -87,7 +87,7 @@ export const newcolumns: BasicColumn[] = [
|
|||
sorter: true,
|
||||
},
|
||||
{
|
||||
title: '学生评分',
|
||||
title: '互评分数',
|
||||
align: "center",
|
||||
dataIndex: 'xshpfs',
|
||||
sorter: true,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="jeecg-basic-table-form-con tainer">
|
||||
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="8" :sm="24">
|
||||
<!-- <a-col :lg="8" :sm="24">
|
||||
<a-form-item label="作业名称">
|
||||
<a-input placeholder="请输入作业名称" v-model:value="queryParam.zytitle"></a-input>
|
||||
</a-form-item>
|
||||
|
@ -14,11 +14,12 @@
|
|||
<a-form-item label="学生姓名">
|
||||
<j-input placeholder="请输入学生姓名" v-model:value="queryParam.studentName"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="8" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" @click="handleZyxxDetail" style="margin-left: 8px;;">作业信息</a-button>
|
||||
</a-col> -->
|
||||
<a-col :span="24" style="text-align: right;">
|
||||
<span style="overflow: hidden" class="table-page-search-submitButtons">
|
||||
<!-- <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button> -->
|
||||
<a-button type="primary" @click="handleZyxxDetail" style="margin-right: 8px;;">作业信息</a-button>
|
||||
<a-button type="primary" @click="handlePfbz" style="margin-right: 8px;;" v-if="zyInfo.sturead == '1' && zyInfo.pfbz">评分标准</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -53,12 +54,13 @@
|
|||
<!-- 表单区域 -->
|
||||
<ZyInfoStudentHpModal ref="registerModal" @success="handleSuccess"></ZyInfoStudentHpModal>
|
||||
<ZyInfoDetailModal ref="registerZyxxModal" @success="handleSuccess"></ZyInfoDetailModal>
|
||||
<ZyInfoPfbzModal ref="registerPfbzModal" @success="handleSuccess"></ZyInfoPfbzModal>
|
||||
<ZyInfoStudentHpOneModal ref="registerOneModal" @success="handleSuccess"></ZyInfoStudentHpOneModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="zyInfoStudentHp-zyInfoStudentHp" setup>
|
||||
import { ref, reactive, unref,defineExpose } from 'vue';
|
||||
import { ref, reactive, unref,defineExpose,onMounted } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import { columns, columnsZyhp } from './ZyInfoStudentHp.data';
|
||||
|
@ -66,6 +68,7 @@ import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getHpxxList }
|
|||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import ZyInfoStudentHpModal from './components/ZyInfoStudentHpModal.vue';
|
||||
import ZyInfoDetailModal from '/@/views/zy/zyInfo/components/ZyInfoDetailModal.vue';
|
||||
import ZyInfoPfbzModal from '/@/views/zy/zyInfo/components/ZyInfoPfbzModal.vue';
|
||||
import ZyInfoStudentHpOneModal from '/@/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneModal.vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { JInput } from '/@/components/Form';
|
||||
|
@ -87,6 +90,8 @@ const toggleSearchStatus = ref<boolean>(false);
|
|||
const registerModal = ref();
|
||||
const registerZyxxModal = ref();
|
||||
const registerOneModal = ref();
|
||||
const registerPfbzModal = ref();
|
||||
const zyInfo = ref<any>({});
|
||||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
|
@ -142,6 +147,15 @@ function handleAdd() {
|
|||
registerModal.value.add();
|
||||
}
|
||||
|
||||
function handlePfbz(){
|
||||
// defHttp.get({ url: '/zyInfo/zyInfo/queryById', params: { id: mainId } }).then((res) => {
|
||||
// console.log('😒', res);
|
||||
// registerPfbzModal.value.disableSubmit = true;
|
||||
// registerPfbzModal.value.edit(res);
|
||||
// });
|
||||
registerPfbzModal.value.disableSubmit = true;
|
||||
registerPfbzModal.value.edit(zyInfo.value);
|
||||
}
|
||||
/**
|
||||
* 编辑事件
|
||||
*/
|
||||
|
@ -186,11 +200,13 @@ function handleSuccess() {
|
|||
}
|
||||
|
||||
function handleZyxxDetail(record: Recordable) {
|
||||
defHttp.get({ url: '/zyInfo/zyInfo/queryById', params: { id: mainId } }).then((res) => {
|
||||
console.log('😒', res);
|
||||
// defHttp.get({ url: '/zyInfo/zyInfo/queryById', params: { id: mainId } }).then((res) => {
|
||||
// console.log('😒', res);
|
||||
// registerZyxxModal.value.disableSubmit = true;
|
||||
// registerZyxxModal.value.edit(res);
|
||||
// });
|
||||
registerZyxxModal.value.disableSubmit = true;
|
||||
registerZyxxModal.value.edit(res);
|
||||
});
|
||||
registerZyxxModal.value.edit(zyInfo.value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -238,6 +254,18 @@ function getDropDownAction(record) {
|
|||
];
|
||||
}
|
||||
|
||||
function getZyinfo(){
|
||||
|
||||
defHttp.get({ url: '/zyInfo/zyInfo/queryById', params: { id: mainId } }).then((res) => {
|
||||
zyInfo.value = res;
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getZyinfo();
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<div style="width:100%;text-align: right;"><a-button type="primary" @click="handleZyxxDetail" style="margin-left: 8px;;">作业信息</a-button></div>
|
||||
<div style="width:100%;text-align: right;"><a-button type="primary" @click="handleZyxxDetail" style="margin-right: 8px;;">作业信息</a-button></div>
|
||||
<!--引用表格-->
|
||||
<BasicTable @register="registerTable">
|
||||
<!--操作栏-->
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<template>
|
||||
<div>
|
||||
<!--查询区域-->
|
||||
<!-- <div class="jeecg-basic-table-form-container"> -->
|
||||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="8" :sm="24">
|
||||
<!-- <a-col :lg="8" :sm="24">
|
||||
<a-form-item label="作业名称">
|
||||
<a-input placeholder="请输入作业名称" v-model:value="queryParam.zytitle"></a-input>
|
||||
</a-form-item>
|
||||
|
@ -19,6 +20,12 @@
|
|||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" @click="handleZyxxDetail" style="margin-left: 8px;;">作业信息</a-button>
|
||||
</span>
|
||||
</a-col> -->
|
||||
<a-col :span="24" style="text-align: right">
|
||||
<span style="overflow: hidden" class="table-page-search-submitButtons">
|
||||
<!-- <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button> -->
|
||||
<a-button type="primary" @click="handleZyxxDetail" style="margin-right: 8px;;">作业信息</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
<div style="background: #fff; margin: 10px 0;padding:10px;">
|
||||
<div style="width:100%;">
|
||||
<a-row>
|
||||
<a-col :span="12" style="text-align: left;"><span style="color:#18a689; cursor: pointer;" @click="handleHpsf">预览互评算法</span></a-col>
|
||||
<a-col :span="12" style="text-align: right;"><a-button type="primary" @click="handleback">返回</a-button></a-col>
|
||||
<a-col :span="24" style="text-align: right;"><a-button type="primary" @click="handleback">返回</a-button></a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-tabs v-model:activeKey="activeKey" @change="handleChange">
|
||||
|
@ -51,13 +50,6 @@ function handleChange(record) {
|
|||
}
|
||||
}
|
||||
|
||||
//预览互评算法
|
||||
function handleHpsf(){
|
||||
// openByUrl({url:'/downPath/ylhpsf.pdf',target: '_blank',fileName:'算法说明.pdf'})
|
||||
// window.open(pdfUrl.value, '_blank');
|
||||
// window.open(require('../../../downPath/ylhpsf.pdf'), '_blank');
|
||||
window.open(baseApiUrl+'/temp/ylhpsf.pdf');
|
||||
}
|
||||
function handleback(){
|
||||
var href = "/stuzy/studentDqzy";
|
||||
router.push({path:href,query: {rwbh,xqxn,type,teano}});
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
<a-spin :spinning="confirmLoading">
|
||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row>
|
||||
<a-col :span="24" v-show="formData.sturead == '1' && formData.pfbz">
|
||||
<!-- <a-col :span="24" v-show="formData.sturead == '1' && formData.pfbz">
|
||||
<a-form-item label="评分标准" layout="inline">
|
||||
<div v-html="formData.pfbz" style="margin-top: 5px"></div>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :span="24">
|
||||
<a-form-item label="评分" v-bind="validateInfos.stuScore">
|
||||
<div style="width: 100%; padding: 5px 10px; font-size: 14px; color: darkgrey">说明:评分范围0-100之间;</div>
|
||||
<a-input-number
|
||||
v-model:value="formData.stuScore"
|
||||
placeholder="请输入评分"
|
||||
|
@ -18,6 +17,7 @@
|
|||
:disabled="disabled"
|
||||
@change="handleScoreChange"
|
||||
></a-input-number>
|
||||
<div style="width: 100%; padding: 5px 10px; font-size: 14px; color: darkgrey">说明:评分范围0-100之间;</div>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
|
Loading…
Reference in New Issue