修改bug

This commit is contained in:
yangjun 2024-05-22 13:43:18 +08:00
parent 7c5b7c0540
commit 2bba0ffa2c
12 changed files with 99 additions and 45 deletions

View File

@ -3,6 +3,22 @@
// Custom builds see https://www.tinymce.com/download/custom-builds/ // Custom builds see https://www.tinymce.com/download/custom-builds/
// colorpicker/contextmenu/textcolor plugin is now built in to the core editor, please remove it from your editor configuration // colorpicker/contextmenu/textcolor plugin is now built in to the core editor, please remove it from your editor configuration
// export const plugins = [
// 'advlist anchor autolink autosave code codesample directionality fullscreen hr insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus template textpattern visualblocks visualchars wordcount image',
// ];
// export const toolbar =
// 'fullscreen code preview | undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent lineheight|subscript superscript blockquote| numlist bullist checklist | forecolor backcolor casechange permanentpen formatpainter removeformat | pagebreak | charmap emoticons | insertfile image media pageembed link anchor codesample insertdatetime hr| a11ycheck ltr rtl';
// export const simplePlugins = ['lists image link media table textcolor wordcount contextmenu fullscreen'];
// export const simpleToolbar = [
// 'undo redo formatselect bold italic alignleft aligncenter alignright alignjustify bullist numlist outdent indent',
// 'lists link unlink image media table removeformat fullscreen',
// ];
// export const menubar = 'file edit insert view format table';
export const plugins = [ export const plugins = [
'advlist anchor autolink autosave code codesample directionality fullscreen hr insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus template textpattern visualblocks visualchars wordcount image', 'advlist anchor autolink autosave code codesample directionality fullscreen hr insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus template textpattern visualblocks visualchars wordcount image',
]; ];
@ -17,4 +33,4 @@ export const simpleToolbar = [
'lists link unlink image media table removeformat fullscreen', 'lists link unlink image media table removeformat fullscreen',
]; ];
export const menubar = 'file edit insert view format table'; export const menubar = '';

View File

@ -13,7 +13,7 @@
<a-form-item label="问卷类型"> <a-form-item label="问卷类型">
<a-select placeholder="请选择问卷类型" ref="select" v-model:value="queryParam.qpublish"> <a-select placeholder="请选择问卷类型" ref="select" v-model:value="queryParam.qpublish">
<a-select-option value="">全部</a-select-option> <a-select-option value="">全部</a-select-option>
<a-select-option value="0">发布</a-select-option> <a-select-option value="0">发布</a-select-option>
<a-select-option value="1">已发布</a-select-option> <a-select-option value="1">已发布</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>

View File

@ -187,7 +187,6 @@ function handleRemTmxx(record,index,list){
} }
} }
function getType(value,type){ function getType(value,type){
// console.log(`🚀 ~ getType ~ value,type:`, value,type)
if(type=='3'){ if(type=='3'){
return parseInt(value); return parseInt(value);
}else if(type=='4'){ }else if(type=='4'){
@ -205,7 +204,6 @@ function edit(record,type){
isShow.value = false; isShow.value = false;
} }
defHttp.get({url:'/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId',params:{id:record.id}}).then(res =>{ defHttp.get({url:'/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId',params:{id:record.id}}).then(res =>{
// console.log(`🚀 ~ defHttp.get ~ res:`, res)
var list = res; var list = res;
for(var i=0;i<list.length;i++){ for(var i=0;i<list.length;i++){
var par = list[i]; var par = list[i];
@ -222,15 +220,12 @@ function edit(record,type){
// //
async function submitForm(){ async function submitForm(){
const data = tiganData.value; const data = tiganData.value;
// console.log(`🚀 ~ submitForm ~ data:`, data)
const values = Object.assign([], data); const values = Object.assign([], data);
if(values.length>0){ if(values.length>0){
var sfjx = "1"; var sfjx = "1";
for(let i=0;i<values.length;i++){ for(let i=0;i<values.length;i++){
let param = values[i]; let param = values[i];
console.log(`🚀 ~ submitForm ~ param:`, param)
values[i].itemSelected = param.itemSelected+""; values[i].itemSelected = param.itemSelected+"";
console.log(`🚀 ~ submitForm ~ isShow:`, isShow)
if(isShow.value){ if(isShow.value){
if(!param.wjScore){ if(!param.wjScore){
createMessage.error('请填写题目分数'); createMessage.error('请填写题目分数');
@ -244,12 +239,15 @@ async function submitForm(){
sfjx = "0"; sfjx = "0";
return; return;
} }
var itemlist = param.wjxWjxxTmxxList; var wjType = param.wjType;
for(let j=0;j < itemlist.length; j++){ if(wjType != 5){
if(!itemlist[j].itemTitle){ var itemlist = param.wjxWjxxTmxxList;
createMessage.error('请填写选项信息'); for(let j=0;j < itemlist.length; j++){
sfjx = "0"; if(!itemlist[j].itemTitle){
return; createMessage.error('请填写选项信息');
sfjx = "0";
return;
}
} }
} }
} }

View File

@ -96,7 +96,7 @@
</span> </span>
<template #overlay> <template #overlay>
<a-menu> <a-menu>
<a-menu-item v-if="getUserSf()=='T'"> <a-menu-item v-if="sfxx=='1'">
<RouterLink to="/dashboard/analysis" target="_blank">后台管理</RouterLink> <RouterLink to="/dashboard/analysis" target="_blank">后台管理</RouterLink>
</a-menu-item> </a-menu-item>
<a-menu-item> <a-menu-item>
@ -122,6 +122,7 @@
const tkyqcs = ref<string>('未配置'); const tkyqcs = ref<string>('未配置');
const tkyqywc = ref<string>('0'); const tkyqywc = ref<string>('0');
const sfxx = ref<string>('0');
const props = defineProps({ const props = defineProps({
showRightButton: { type: Boolean, default: false } showRightButton: { type: Boolean, default: false }
}); });
@ -148,6 +149,15 @@ function toIndex(){
tkyqywc.value = list.sjtksl||'0' tkyqywc.value = list.sjtksl||'0'
} }
}) })
let roleList = userStore?.getLoginInfo?.roleList
for(var i=0;i<roleList.length;i++){
var roleCode = roleList[i].roleCode
if(roleCode == 'admin' || roleCode == 'jwms'){
sfxx.value = "1";
}
}
}); });
function smoothScroll(topNum){ function smoothScroll(topNum){
setTimeout(() => { setTimeout(() => {

View File

@ -25,11 +25,11 @@
<a-menu-item key="7" @click="getGzt('gongju')">到课率识别</a-menu-item> <a-menu-item key="7" @click="getGzt('gongju')">到课率识别</a-menu-item>
</a-sub-menu> </a-sub-menu>
<a-menu-item key="sub4"> <a-menu-item key="sub4">
<span @click="getGzt('yiykzyk')">一师一</span> <span @click="getGzt('yiykzyk')">教学资源</span>
</a-menu-item> </a-menu-item>
<a-menu-item key="sub5"> <!-- <a-menu-item key="sub5">
<span @click="getGzt('jxzyk')">教学资源库</span> <span @click="getGzt('jxzyk')">教学资源库</span>
</a-menu-item> </a-menu-item> -->
<a-menu-item key="sub6"> <a-menu-item key="sub6">
<span @click="getGzt('tlq')">讨论区</span> <span @click="getGzt('tlq')">讨论区</span>
</a-menu-item> </a-menu-item>

View File

@ -81,7 +81,7 @@
</a-col> </a-col>
<!-- -- yiKaiKeTang jinRiTingKe --> <!-- -- yiKaiKeTang jinRiTingKe -->
<a-col :xs="{ span: 15 }" :sm="{ span: 9 }" :lg="{ span: 5 }"> <a-col :xs="{ span: 15 }" :sm="{ span: `${sfxx =='1'?5:9}` }" :lg="{ span: `${sfxx =='1'?5:7}` }">
<a-card class="cardDiv" title="今日听课"> <a-card class="cardDiv" title="今日听课">
<!-- -<i class="fa-sharp fa-solid fa-user"></i>- --> <!-- -<i class="fa-sharp fa-solid fa-user"></i>- -->
<a-row class="" :gutter="gutter"> <a-row class="" :gutter="gutter">
@ -89,7 +89,6 @@
<div class="numberBlob handleCss"> <div class="numberBlob handleCss">
<div class="numSpan blue" @click="showList('jrtkkts')">{{ tjData?.jinRiTingKe?.btkktnum??0 }}</div> <div class="numSpan blue" @click="showList('jrtkkts')">{{ tjData?.jinRiTingKe?.btkktnum??0 }}</div>
<div class="numberName"> <div class="numberName">
<!-- <StockOutlined class="blue"/> -->
<i class="fa fa-bolt blue"></i> <i class="fa fa-bolt blue"></i>
课堂数 课堂数
</div> </div>
@ -99,18 +98,15 @@
<div class="numberBlob handleCss"> <div class="numberBlob handleCss">
<div class="numSpan orange" @click="showList('jrtktkrc')">{{ tjData?.jinRiTingKe?.tkrcnum??0 }}</div> <div class="numSpan orange" @click="showList('jrtktkrc')">{{ tjData?.jinRiTingKe?.tkrcnum??0 }}</div>
<div class="numberName"> <div class="numberName">
<!-- <RiseOutlined class="orange"/> -->
<i class="fa fa-level-up orange"></i> <i class="fa fa-level-up orange"></i>
听课人次 听课人次
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- <a-divider /> -->
<!-- <div class="buttomDiv"></div> -->
</a-card> </a-card>
</a-col> </a-col>
<a-col :xs="{ span: 9 }" :sm="{ span: 1 }" :lg="{ span: 2 }"> <a-col :xs="{ span: 9 }" :sm="{ span: 1 }" :lg="{ span: 2 }" v-if="sfxx =='1'">
<div style="margin: 0 auto;width: fit-content;font-size: 6rem;font-weight: 700;color: #cccccc8c;padding: 29px 0;"> <div style="margin: 0 auto;width: fit-content;font-size: 6rem;font-weight: 700;color: #cccccc8c;padding: 29px 0;">
<!-- <RouterLink class="plusButton" to="/dashboard/analysis"><PlusOutlined/></RouterLink> --> <!-- <RouterLink class="plusButton" to="/dashboard/analysis"><PlusOutlined/></RouterLink> -->
<RouterLink class="plusButton" to="/dashboard/analysis" target="_blank" >+</RouterLink> <RouterLink class="plusButton" to="/dashboard/analysis" target="_blank" >+</RouterLink>
@ -140,6 +136,7 @@ import ykkttkkt from './show/ykkttkkt.vue';
import ykkttkrc from './show/ykkttkrc.vue'; import ykkttkrc from './show/ykkttkrc.vue';
import jrtkkts from './show/jrtkkts.vue'; import jrtkkts from './show/jrtkkts.vue';
import jrtktkrc from './show/jrtktkrc.vue'; import jrtktkrc from './show/jrtktkrc.vue';
import { useUserStore } from '/@/store/modules/user';
// import { useMessage } from "/@/hooks/web/useMessage"; // import { useMessage } from "/@/hooks/web/useMessage";
// const { createConfirm } = useMessage(); // const { createConfirm } = useMessage();
@ -147,6 +144,9 @@ enum Api {
list = '/ktgl/kcKetangbiao/getCountList', list = '/ktgl/kcKetangbiao/getCountList',
} }
const userStore = useUserStore();
const sfxx = ref<string>('0');
// interface Data { // interface Data {
// num: Number,// // num: Number,//
// txktnum: Number,// // txktnum: Number,//
@ -192,6 +192,14 @@ onMounted(() => {
list({ skrq }).then(res => { list({ skrq }).then(res => {
tjData.value = res; tjData.value = res;
}); });
let roleList = userStore?.getLoginInfo?.roleList
for(var i=0;i<roleList.length;i++){
var roleCode = roleList[i].roleCode
if(roleCode == 'admin' || roleCode == 'jwms'){
sfxx.value = "1";
}
}
}); });
function showList(type){ function showList(type){

View File

@ -235,6 +235,8 @@
function searchReset() { function searchReset() {
queryParam.value = {}; queryParam.value = {};
selectedRowKeys.value = []; selectedRowKeys.value = [];
queryParam.value.rwbh = rwbh;
queryParam.value.xqxn = xqxn;
// //
reload(); reload();
} }

View File

@ -33,7 +33,7 @@
<a-row> <a-row>
<a-col :span="8" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 10px 5px;overflow:hidden;"> <a-col :span="8" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 10px 5px;overflow:hidden;">
<div style="width: 100%; height: 20px; background-color: rgb(28, 132, 198);"></div> <div style="width: 100%; height: 20px; background-color: rgb(28, 132, 198);"></div>
<a-card style="height: 210px;border: 1px solid rgb(28, 132, 198);"> <a-card style="height: 240px;border: 1px solid rgb(28, 132, 198);">
<div class="rotate" :style="classFun(item)">{{callText(item)}}</div> <div class="rotate" :style="classFun(item)">{{callText(item)}}</div>
<a-row style="top: -48px;position: relative;"> <a-row style="top: -48px;position: relative;">
<a-col :span="24" style="margin-bottom: 10px;height:53px;overflow:hidden;" :title="item.title"> <a-col :span="24" style="margin-bottom: 10px;height:53px;overflow:hidden;" :title="item.title">
@ -42,11 +42,12 @@
</a-col> </a-col>
<a-col :span="24" class="zyCon">时间{{item.startTime}} - {{item.endTime}}</a-col> <a-col :span="24" class="zyCon">时间{{item.startTime}} - {{item.endTime}}</a-col>
<a-col :span="24" class="zyCon"> <a-col :span="24" class="zyCon">
<div style="float:left" v-if="item.score">{{item.score}}</div> <div style="float:left" >评分{{item.score?item.score:'未评'}}</div>
<div style="float:right;"> <div style="float:right;">网络查重:{{item.wwtgl?item.wwtgl:'-'}}</div>
&nbsp; </a-col>
<!-- <a>{{item.xkxs}}人选课</a> --> <a-col :span="24" class="zyCon">
</div> <div style="float:left" >课程内查重:{{item.nwtgl?item.nwtgl:'-'}}</div>
<div style="float:right;">Aigc查重:{{item.aigctgl?item.aigctgl:'-'}}</div>
</a-col> </a-col>
<a-col :span="24" style="text-align:center;margin-top:20px;"> <a-col :span="24" style="text-align:center;margin-top:20px;">
<a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;background:rgb(28, 132, 198);">详情</a-button> <a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;background:rgb(28, 132, 198);">详情</a-button>

View File

@ -240,8 +240,8 @@
queryParam.value.rwbh = rwbh; queryParam.value.rwbh = rwbh;
queryParam.value.xqxn = xqxn; queryParam.value.xqxn = xqxn;
// queryParam.value.sflssj = '0'; // queryParam.value.sflssj = '0';
queryParam.value.column="startTime"; queryParam.value.column="endTime";
queryParam.value.order="asc"; queryParam.value.order="desc";
defHttp.get({ url: '/zyInfo/zyInfo/list', params: queryParam.value }).then(res => { defHttp.get({ url: '/zyInfo/zyInfo/list', params: queryParam.value }).then(res => {
console.log(`🚀 ~ defHttp.get ~ res:`, res) console.log(`🚀 ~ defHttp.get ~ res:`, res)
total.value = res.total; total.value = res.total;

View File

@ -22,7 +22,8 @@ export const columns: BasicColumn[] = [
{ {
title: '评分', title: '评分',
align: "center", align: "center",
dataIndex: 'score' dataIndex: 'score',
width: '80px'
}, },
// { // {
// title: '作业附件', // title: '作业附件',

View File

@ -103,6 +103,7 @@
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils'; import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
import ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue' import ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue'
import { useGlobSetting } from '/@/hooks/setting'; import { useGlobSetting } from '/@/hooks/setting';
import { defHttp } from '/@/utils/http/axios';
const globSetting = useGlobSetting(); const globSetting = useGlobSetting();
const baseApiUrl = globSetting.domainUrl; const baseApiUrl = globSetting.domainUrl;
@ -122,7 +123,7 @@ const baseApiUrl = globSetting.domainUrl;
canResize:false, canResize:false,
useSearchForm: false, useSearchForm: false,
actionColumn: { actionColumn: {
width: 220, width: 320,
// fixed: 'right', // fixed: 'right',
}, },
beforeFetch: (params) => { beforeFetch: (params) => {
@ -180,6 +181,12 @@ const baseApiUrl = globSetting.domainUrl;
registerScoreModal.value.disableSubmit = false; registerScoreModal.value.disableSubmit = false;
registerScoreModal.value.edit(record); registerScoreModal.value.edit(record);
} }
function handleScoreFabu(record: Recordable){
defHttp.post({url:'/zyInfoStudent/zyInfoStudent/editFabu',params:{id:record.id,scoreFabu:'1'}}).then(res =>{
handleSuccess()
})
}
/** /**
* 详情 * 详情
@ -211,7 +218,7 @@ const baseApiUrl = globSetting.domainUrl;
} }
function handleDown(record){ function handleDown(record){
downloadFile(text); downloadFile(record.filePath);
} }
/** /**
@ -219,7 +226,7 @@ const baseApiUrl = globSetting.domainUrl;
*/ */
function getTableAction(record) { function getTableAction(record) {
if(record.filePath){ if(record.filePath){
if(record.score){ if(record.scoreFabu=='1'){
var list = [ var list = [
{ {
label: '详情', label: '详情',
@ -240,6 +247,10 @@ const baseApiUrl = globSetting.domainUrl;
label: '评分', label: '评分',
onClick: handleScore.bind(null, record), onClick: handleScore.bind(null, record),
}, },
{
label: '发布评分',
onClick: handleScoreFabu.bind(null, record),
},
{ {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),

View File

@ -98,18 +98,25 @@
} }
} }
} }
await saveOrUpdate(model, isUpdate.value)
.then((res) => { defHttp.post({url:'/zyInfoStudent/zyInfoStudent/editFabu',params:model}).then(res =>{
if (res.success) { emit('ok');
createMessage.success(res.message); })
emit('ok');
} else {
createMessage.warning(res.message);
}
})
.finally(() => { .finally(() => {
confirmLoading.value = false; confirmLoading.value = false;
}); });
// 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;
// });
} }
@ -122,7 +129,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.antd-modal-form { .antd-modal-form {
min-height: 500px !important; min-height: 300px !important;
overflow-y: auto; overflow-y: auto;
padding: 24px 24px 24px 24px; padding: 24px 24px 24px 24px;
} }