修改bug
This commit is contained in:
parent
dc26c0cbd6
commit
f6fe5a2105
|
@ -3,11 +3,11 @@
|
|||
<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">
|
||||
<!-- <a-col :lg="8">
|
||||
<a-form-item label="课程名称">
|
||||
<j-input placeholder="请输入课程名称" v-model:value="queryParam.kcmc"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="授课日期">
|
||||
<a-date-picker :showTime="false" valueFormat="YYYY-MM-DD" :placeholder="'请选择授课日期'" style="width:100%;" v-model:value="queryParam.searchSkrq"></a-date-picker>
|
||||
|
@ -69,11 +69,14 @@ import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './KcDe
|
|||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { JDictSelectTag, JInput } from '/@/components/Form';
|
||||
import { useRouter } from 'vue-router';
|
||||
//用户相关
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
const userStore = useUserStore();
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh,xqxn } = query;//获取传递参数
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const queryParam = ref<any>({ rwbh });
|
||||
const queryParam = ref<any>({ rwbh,skjs:userStore?.getUserInfo?.realname });
|
||||
|
||||
const labelCol = reactive({
|
||||
xs: { span: 24 },
|
||||
|
|
|
@ -60,10 +60,10 @@
|
|||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align:center;margin-top:8px;">
|
||||
<a-button type="primary" @click="handleEdit(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">设置试卷</a-button>
|
||||
<a-button type="primary" @click="handleFabu(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">发布试卷</a-button>
|
||||
<a-button type="primary" @click="handleDelete(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">删除试卷</a-button>
|
||||
<a-button type="primary" @click="handlePeizhi(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">编辑题目</a-button>
|
||||
<a-button type="primary" @click="handleEdit(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">设置测验</a-button>
|
||||
<a-button type="primary" @click="handlePeizhi(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">修改题目</a-button>
|
||||
<a-button type="primary" @click="handleFabu(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">发布测验</a-button>
|
||||
<a-button type="primary" @click="handleDelete(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">删除测验</a-button>
|
||||
<a-button type="primary" @click="handlePeizhiXq(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">预览题目</a-button>
|
||||
<a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==1||item.qpublish==2">测验详情</a-button>
|
||||
<a-button type="primary" @click="handlePeizhiXq(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==1||item.qpublish==2">预览题目</a-button>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div style="background: #fff;height: 97%;margin: 10px 0;">
|
||||
<div style="text-align:right;width:100%;">
|
||||
<a-switch v-model:checked="checked1" @change="onChange1"/>
|
||||
<a-switch v-model:checked="checked1" checkedChildren="卡片" unCheckedChildren="列表" @change="onChange1"/>
|
||||
</div>
|
||||
<div v-if="checked1">
|
||||
<WjxCswjList/>
|
||||
|
|
|
@ -51,9 +51,9 @@
|
|||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align:center;margin-top:20px;">
|
||||
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='-1'">答卷</a-button>
|
||||
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='-1'">开始测验</a-button>
|
||||
<a-button type="primary" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);color:#ffffff" v-if="item.flag=='0'" disabled>正在批卷</a-button>
|
||||
<a-button type="primary" @click="handleDjjg(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='1'">查看答卷</a-button>
|
||||
<a-button type="primary" @click="handleDjjg(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='1'">查看结果</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<!-- <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button> -->
|
||||
<a-button type="primary" preIcon="ant-design:plus-outlined" @click="handleAdd" style="margin-left: 8px"> 新增</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
|
|
|
@ -139,7 +139,7 @@ import {ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted,
|
|||
|
||||
<style lang="less" scoped>
|
||||
.antd-modal-form {
|
||||
min-height: 500px !important;
|
||||
min-height: 300px !important;
|
||||
overflow-y: auto;
|
||||
padding: 24px 24px 24px 24px;
|
||||
}
|
||||
|
|
|
@ -60,9 +60,9 @@
|
|||
</a-col>
|
||||
<a-col :span="24" style="text-align:center;margin-top:8px;">
|
||||
<a-button type="primary" @click="handleEdit(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">基本信息</a-button>
|
||||
<a-button type="primary" @click="handlePeizhi(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">添加试题</a-button>
|
||||
<a-button type="primary" @click="handleFabu(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">发布问卷</a-button>
|
||||
<a-button type="primary" @click="handleDelete(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">删除问卷</a-button>
|
||||
<a-button type="primary" @click="handlePeizhi(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">添加试题</a-button>
|
||||
<a-button type="primary" @click="handlePeizhiXq(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==0">预览问卷</a-button>
|
||||
<a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==1||item.qpublish==2">问卷详情</a-button>
|
||||
<a-button type="primary" @click="handlePeizhiXq(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.qpublish==1||item.qpublish==2">预览问卷</a-button>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div style="background: #fff;height: 97%;margin: 10px 0;">
|
||||
<div style="text-align:right;width:100%;">
|
||||
<a-switch v-model:checked="checked1" @change="onChange1"/>
|
||||
<a-switch v-model:checked="checked1" checkedChildren="卡片" unCheckedChildren="列表" @change="onChange1"/>
|
||||
</div>
|
||||
<div v-if="checked1">
|
||||
<WjxDcwjList/>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align:center;margin-top:20px;">
|
||||
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='-1'">答卷</a-button>
|
||||
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='-1'">开始答卷</a-button>
|
||||
<a-button type="primary" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);color:#ffffff;" v-if="item.flag=='0'" disabled>正在批卷</a-button>
|
||||
<a-button type="primary" @click="handleDjjg(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='1'">查看答卷</a-button>
|
||||
</a-col>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:plus-outlined" @click="handleAdd" style="margin-left: 8px"> 新增</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
|
|
|
@ -26,7 +26,8 @@
|
|||
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" disabled>
|
||||
<div style="width: 100%" v-for="(tmxx,index) in item.wjxWjxxTmxxList">
|
||||
<a-radio :value="tmxx.itemIndex+``" style="width: 100%;margin-bottom: 5px;">
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;"></span>
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;color:#000;"></span>
|
||||
<span v-if="tmxx.itemSelected == 'true'" style="color:#9e9e9e;margin-left:30px;font-size:12px;">(此选项是正确答案)</span>
|
||||
</a-radio>
|
||||
</div>
|
||||
</a-radio-group>
|
||||
|
@ -49,7 +50,8 @@
|
|||
<a-col :span="24" v-for="(tmxx,index) in item.wjxWjxxTmxxList">
|
||||
<!-- -{{tmxx}}- -->
|
||||
<a-checkbox :value="tmxx.itemIndex" style="width: 100%;margin-bottom: 5px;">
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;"></span>
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;color:#000;"></span>
|
||||
<span v-if="tmxx.itemSelected == 'true'" style="color:#9e9e9e;margin-left:30px;font-size:12px;">(此选项是正确答案)</span>
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -61,7 +63,8 @@
|
|||
<div style="text-align: left;width: 100%;font-weight: bold;font-size: 18px;padding: 20px;">填空题</div>
|
||||
<a-card >
|
||||
<template #title>
|
||||
<span>{{index+1}}、</span><span v-html:value="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"/>
|
||||
<span>{{index+1}}、</span><span v-html:value="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word" />
|
||||
<span v-if="item.tktda" style="color:#9e9e9e;margin-left:30px;font-size:12px;">(正确答案:{{item.tktda}})</span>
|
||||
</template>
|
||||
<template #extra v-if="djxxData.atype == 6">
|
||||
<div style="margin-left: 40px;">题目分值: {{item.wjScore}} 分</div>
|
||||
|
@ -69,7 +72,8 @@
|
|||
</template>
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-textarea v-model:value="item.answerText" style="width:100%;" :auto-size="{ minRows: 2, maxRows: 5 }" disabled/>
|
||||
<span v-html="item.answerText"></span>
|
||||
<!-- <a-textarea v-model:value="item.answerText" style="width:100%;" :auto-size="{ minRows: 2, maxRows: 5 }" disabled/> -->
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
|
@ -162,4 +166,8 @@ async function submitForm(){
|
|||
padding-left: 8px;
|
||||
width: 100%;
|
||||
}
|
||||
.ant-checkbox-wrapper[aria-disabled='true'] {
|
||||
color: rgb(2, 2, 2); /* 例如,将文本颜色设置为灰色 */
|
||||
cursor: not-allowed; /* 将鼠标指针设置为禁用状态 */
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -27,14 +27,17 @@
|
|||
<span style="color: #c2bfbf;">[单选]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topRight" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数">
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh=='0'">
|
||||
<a-select-option value="5">5</a-select-option>
|
||||
<a-select-option value="4">4</a-select-option>
|
||||
<a-select-option value="3">3</a-select-option>
|
||||
<a-select-option value="2">2</a-select-option>
|
||||
<a-select-option value="1">1</a-select-option>
|
||||
</a-select>
|
||||
<span v-if="item.wjSfqh=='0'" @click="handleQiehuan(item,'1')" style="color:#9e9e9e;">自定义分数</span>
|
||||
<a-input v-model:value="item.wjScore" style="width:120px;" v-if="item.wjSfqh=='1'"></a-input>
|
||||
<span v-if="item.wjSfqh=='1'" @click="handleQiehuan(item,'0')" style="color:#9e9e9e;">返回</span>
|
||||
</a-tooltip >
|
||||
<a-tooltip placement="topRight" title="删除此题"><Icon icon="ant-design:delete-outlined" style="cursor: pointer;font-size: 20px;margin: 10px" @click="handleDelTigan(item,index)" /></a-tooltip >
|
||||
</template>
|
||||
|
@ -63,14 +66,17 @@
|
|||
<span style="color: #c2bfbf;">[多选]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topRight" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数">
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh=='0'">
|
||||
<a-select-option value="5">5</a-select-option>
|
||||
<a-select-option value="4">4</a-select-option>
|
||||
<a-select-option value="3">3</a-select-option>
|
||||
<a-select-option value="2">2</a-select-option>
|
||||
<a-select-option value="1">1</a-select-option>
|
||||
</a-select>
|
||||
<span v-if="item.wjSfqh=='0'" @click="handleQiehuan(item,'1')" style="color:#9e9e9e;">自定义分数</span>
|
||||
<a-input v-model:value="item.wjScore" style="width:120px;" v-if="item.wjSfqh=='1'"></a-input>
|
||||
<span v-if="item.wjSfqh=='1'" @click="handleQiehuan(item,'0')" style="color:#9e9e9e;">返回</span>
|
||||
</a-tooltip >
|
||||
<a-tooltip placement="topRight" title="删除此题"><Icon icon="ant-design:delete-outlined" style="cursor: pointer;font-size: 20px;margin: 10px" @click="handleDelTigan(item,index)" /></a-tooltip >
|
||||
</template>
|
||||
|
@ -100,14 +106,17 @@
|
|||
<span style="color: #c2bfbf;">[填空]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topRight" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数">
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh=='0'">
|
||||
<a-select-option value="5">5</a-select-option>
|
||||
<a-select-option value="4">4</a-select-option>
|
||||
<a-select-option value="3">3</a-select-option>
|
||||
<a-select-option value="2">2</a-select-option>
|
||||
<a-select-option value="1">1</a-select-option>
|
||||
</a-select>
|
||||
<span v-if="item.wjSfqh=='0'" @click="handleQiehuan(item,'1')" style="color:#9e9e9e;">自定义分数</span>
|
||||
<a-input v-model:value="item.wjScore" style="width:120px;" v-if="item.wjSfqh=='1'"></a-input>
|
||||
<span v-if="item.wjSfqh=='1'" @click="handleQiehuan(item,'0')" style="color:#9e9e9e;">返回</span>
|
||||
</a-tooltip >
|
||||
<a-tooltip placement="topRight" title="删除此题"><Icon icon="ant-design:delete-outlined" style="cursor: pointer;font-size: 20px;margin: 10px" @click="handleDelTigan(item,index)" /></a-tooltip >
|
||||
</template>
|
||||
|
@ -160,7 +169,6 @@ function addTigan(type){
|
|||
var list = tiganData.value;
|
||||
if(type==3){
|
||||
var chk = "";
|
||||
console.log(`🚀 ~ addTigan ~ isShow:`, isShow)
|
||||
if(isShow.value){
|
||||
chk = "1";
|
||||
}
|
||||
|
@ -172,6 +180,7 @@ function addTigan(type){
|
|||
wjScore:null,
|
||||
wjLeixing,
|
||||
itemSelected:chk,
|
||||
wjSfqh:'0',
|
||||
wjxWjxxTmxxList:[{itemTitle:null,itemIndex:'1'},{itemTitle:null,itemIndex:'2'}],
|
||||
}
|
||||
list.push(params);
|
||||
|
@ -190,6 +199,7 @@ function addTigan(type){
|
|||
wjScore:null,
|
||||
wjLeixing,
|
||||
itemSelected:chk,
|
||||
wjSfqh:'0',
|
||||
wjxWjxxTmxxList:[{itemTitle:null,itemIndex:'1'},{itemTitle:null,itemIndex:'2'}],
|
||||
}
|
||||
list.push(params);
|
||||
|
@ -203,12 +213,18 @@ function addTigan(type){
|
|||
wjScore:null,
|
||||
wjLeixing,
|
||||
wjAnswer:null,
|
||||
wjSfqh:'0',
|
||||
}
|
||||
list.push(params);
|
||||
tiganData.value = [...list];
|
||||
}
|
||||
}
|
||||
|
||||
function handleQiehuan(record,type){
|
||||
console.log(`🚀 ~ handleQiehuan ~ type:`, type)
|
||||
console.log(`🚀 ~ handleQiehuan ~ record:`, record)
|
||||
record.wjSfqh=type
|
||||
}
|
||||
|
||||
function cheGrp(a,b){
|
||||
var retChe = false;
|
||||
|
@ -260,7 +276,6 @@ function handleYylx(sylx){
|
|||
}
|
||||
//引用题库回调
|
||||
function handleYytkSuccess(record){
|
||||
console.log(`🚀 ~ handleYytkSuccess ~ record:`, record)
|
||||
|
||||
for(var i=0;i<record.length;i++){
|
||||
var type = record[i].wjType;
|
||||
|
@ -268,7 +283,6 @@ for(var i=0;i<record.length;i++){
|
|||
|
||||
var wjxWjxxTmxxList = record[i].wjxWjxxTmxxList;
|
||||
|
||||
console.log(`🚀 ~ handleYytkSuccess ~ addwjxWjxxTmxxList:`, addwjxWjxxTmxxList)
|
||||
if(type==3){
|
||||
var addwjxWjxxTmxxList = []
|
||||
var sfxz = "";
|
||||
|
@ -281,7 +295,6 @@ for(var i=0;i<record.length;i++){
|
|||
if(wjLeixing=='1'){
|
||||
sfxz = "";
|
||||
}
|
||||
console.log(`🚀 ~ handleYytkSuccess ~ sfxz:`, sfxz)
|
||||
let params = {
|
||||
wjType:parseInt(type),
|
||||
wjIndex:list.length+1,
|
||||
|
@ -290,6 +303,7 @@ for(var i=0;i<record.length;i++){
|
|||
wjScore:record[i].wjScore,
|
||||
wjLeixing,
|
||||
itemSelected:sfxz+"",
|
||||
wjSfqh:'0',
|
||||
wjxWjxxTmxxList:addwjxWjxxTmxxList,
|
||||
}
|
||||
list.push(params);
|
||||
|
@ -314,13 +328,13 @@ for(var i=0;i<record.length;i++){
|
|||
wjScore:record[i].wjScore,
|
||||
wjLeixing,
|
||||
itemSelected:sfxz,
|
||||
wjSfqh:'0',
|
||||
wjxWjxxTmxxList:addwjxWjxxTmxxList,
|
||||
}
|
||||
list.push(params);
|
||||
tiganData.value = [...list];
|
||||
}else if(type==5){
|
||||
var huida = record[i].wjAnswer
|
||||
console.log(`🚀 ~ handleYytkSuccess ~ wjLeixing:`, wjLeixing)
|
||||
if(wjLeixing=='1'){
|
||||
huida = "";
|
||||
}
|
||||
|
@ -332,6 +346,7 @@ for(var i=0;i<record.length;i++){
|
|||
wjScore:record[i].wjScore,
|
||||
wjLeixing,
|
||||
wjAnswer:huida,
|
||||
wjSfqh:'0',
|
||||
}
|
||||
list.push(params);
|
||||
tiganData.value = [...list];
|
||||
|
@ -435,7 +450,6 @@ async function submitForm(){
|
|||
|
||||
if(isShow.value){
|
||||
var zqda = values[i].itemSelected;
|
||||
console.log(`🚀 ~ submitForm ~ zqda:`, zqda)
|
||||
if(!zqda||zqda=='NaN'||zqda=='undefined'){
|
||||
createMessage.error('请选择正确答案');
|
||||
sfjx = "0";
|
||||
|
@ -447,7 +461,6 @@ async function submitForm(){
|
|||
|
||||
if(isShow.value){
|
||||
var wjAnswer = values[i].wjAnswer;
|
||||
console.log(`🚀 ~ submitForm ~ wjAnswer:`, wjAnswer)
|
||||
if(!wjAnswer||wjAnswer=='NaN'||wjAnswer=='undefined'){
|
||||
createMessage.error('请选择正确答案');
|
||||
sfjx = "0";
|
||||
|
@ -460,6 +473,7 @@ async function submitForm(){
|
|||
return;
|
||||
}
|
||||
const isUpdate = false
|
||||
console.log(`🚀 ~ submitForm ~ values:`, values)
|
||||
await saveOrUpdate(values, isUpdate);
|
||||
// 关闭弹窗
|
||||
emit('ok');
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
<!-- 页头 -->
|
||||
<headerPage showRightButton/>
|
||||
<!-- 主体部分 -->
|
||||
<a-layout-content>
|
||||
<a-layout-content v-if="getUserSf()=='T'">
|
||||
<!-- 白名单说明文字 -->
|
||||
<div class="bmdTitle" v-if="getSysConfig().sfbmd=='y'&&getSysConfig().bmdTitle">{{getSysConfig().bmdTitle}}</div>
|
||||
<!-- 统计 -->
|
||||
<tongjiPage v-if="getUserSf()=='T'&&getSysConfig().flag7=='1'&&getSysConfig().sfbmd=='n'"/>
|
||||
<tongjiPage v-if="getUserSf()=='T'&&getSysConfig().flag7=='1'&&getSysConfig().sfbmd=='n'&&sfxx=='1'"/>
|
||||
<!-- 轮播图 -->
|
||||
<lunboPage v-if="getSysConfig().sfbmd=='n'"/>
|
||||
<!-- 通知公告 -->
|
||||
|
@ -103,7 +103,7 @@
|
|||
|
||||
import pjjgPage from '/@/views/site/pjjgPage/index.vue';
|
||||
|
||||
import { getUserSf,getSysConfig } from '/@/views/site/utils/index';
|
||||
import { getUserSf,getSysConfig,getUserInfo } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
|
||||
// const headerPage = () => import('/@/views/site/common/header.vue');
|
||||
|
@ -135,6 +135,8 @@
|
|||
const maxClassName = ref<any>({});
|
||||
const zzskTitle = ref('正在上课');
|
||||
const queryParam = ref<any>({});
|
||||
|
||||
const sfxx = ref<string>('0');
|
||||
|
||||
const jclist = (queryParam) => defHttp.get({ url: '/kcJieci/kcJieci/getIndexJcList', params:queryParam });
|
||||
// 实时计算浏览器的宽度
|
||||
|
@ -166,6 +168,19 @@
|
|||
// maxClassName.value = {width:width+"px"}
|
||||
// }
|
||||
|
||||
let roleList = getUserInfo().roleList;
|
||||
if(roleList){
|
||||
for(var i=0;i<roleList.length;i++){
|
||||
var roleCode = roleList[i].roleCode
|
||||
console.log(`🚀 ~ onMounted ~ roleCode:`, roleCode)
|
||||
if(roleCode == 'admin' || roleCode == 'jwms'){
|
||||
sfxx.value = "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
jclist(queryParam.value).then(res=>{
|
||||
var list = res
|
||||
let sjsksj = list[0].sjsksj
|
||||
|
|
|
@ -1,269 +1,378 @@
|
|||
<template>
|
||||
<div style="margin-top:10px;background:#fff;height: calc(100vh - 225px);overflow:auto;">
|
||||
<div style="width:100%;text-align:right;">
|
||||
<a-button type="primary" style="margin-left:10px;" @click="handleZtyl(jxdgInfo)">预览</a-button>
|
||||
<div style="margin-top: 10px; background: #fff; height: calc(100vh - 225px); overflow: auto">
|
||||
<div v-if="showYl">
|
||||
<div style="width: 100%; text-align: right">
|
||||
<a-button type="primary" style="margin-left: 10px" @click="handleYulan(0)">学生预览页面</a-button>
|
||||
</div>
|
||||
<a-card>
|
||||
<div>
|
||||
<a-row>
|
||||
<a-col :lg="3" style="font-size: 18px;font-weight: bold;">课程简介:</a-col>
|
||||
<a-col :lg="15"><a-textarea style="width: 100%;" v-model:value="jxdgInfo.kcjs"></a-textarea></a-col>
|
||||
<a-col :lg="6" style="text-align:right;"><a-button type="primary" @click="addKcjsHandle(1)">提交</a-button><a-button type="primary" style="margin-left:10px;" @click="handleYinyong(jxdgInfo)">引用</a-button></a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div>
|
||||
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学大纲:</span>
|
||||
<span style="width:300px;float: left;">
|
||||
<span style="float:left;"><j-upload v-model:value="jxdgInfo.filePath" maxCount="1" accept=".doc,.docx,.pdf" @change="jxdgChange" :forceAcceptVerify="true"></j-upload></span>
|
||||
</span>
|
||||
<span style="float: right;">
|
||||
<!-- <a-button type="primary" @click="addKcjsHandle(2)">提交</a-button> -->
|
||||
<a-button type="primary" style="margin-left:10px;" @click="openPdf(jxdgInfo)">预览</a-button>
|
||||
</span>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div>
|
||||
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学日历:</span>
|
||||
<span style="width:300px;float: left;">
|
||||
<span style="float:left;"><j-upload v-model:value="jxdgInfo.jxrlFilePath" maxCount="1" accept=".doc,.docx,.pdf" @change="jxrlChange" :forceAcceptVerify="true"></j-upload></span>
|
||||
</span>
|
||||
<span style="float: right;">
|
||||
<!-- <a-button type="primary" @click="addKcjsHandle(3)">提交</a-button> -->
|
||||
<a-button type="primary" style="margin-left:10px;" @click="openJxrlPdf(jxdgInfo)">预览</a-button>
|
||||
</span>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div style="line-height: 30px; font-size: 18px; font-weight: bold;width:100%;">
|
||||
<span style="float: left;">常见问题</span>
|
||||
<span style="float: right;"><a-button type="primary" @click="addCjwtHanle">新增</a-button></span>
|
||||
</div>
|
||||
<a-row style="margin-top: 50px;width:100%;display: block;">
|
||||
<a-col :span="24" v-for="(item,index) in cjwtSource" :key="index">
|
||||
<a-card>
|
||||
<div>
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<span style="float: left;">{{(current-1)*pageSize+index+1}}.{{item.question}}</span>
|
||||
<span style="float: right;">
|
||||
<a title="修改" @click="handleEdit(item)"><Icon icon="ant-design:form-outlined" /></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" />
|
||||
<a title="删除" @click="handleDelete(item)"><Icon icon="ant-design:delete-outlined" /></a>
|
||||
</span>
|
||||
<a-col :lg="3" style="font-size: 18px; font-weight: bold">课程简介:</a-col>
|
||||
<a-col :lg="15" v-show="kcjsShow">
|
||||
<j-editor v-model:value="jxdgInfo.kcjs" />
|
||||
<!-- <a-textarea style="width: 100%;min-height: 200px;" v-model:value="jxdgInfo.kcjs" @blur="handleEditKcjs(0)"></a-textarea> -->
|
||||
</a-col>
|
||||
<a-col :span="24"><span><Icon icon="ant-design:caret-right-outlined" />答:{{item.answer}}</span></a-col>
|
||||
<a-col :span="24">
|
||||
<a-divider />
|
||||
<a-col :lg="15" v-show="!kcjsShow">
|
||||
<div
|
||||
style="width: 100%; min-height: 50px; margin-top: 10px; color: #cfcfcf; font-size: 13px"
|
||||
v-if="!jxdgInfo.kcjs"
|
||||
@click="handleEditKcjs(1)"
|
||||
>暂无内容,点击进行编辑</div
|
||||
>
|
||||
<div style="width: 100%; min-height: 50px" v-else @click="handleEditKcjs(1)">
|
||||
<div v-html="jxdgInfo.kcjs"></div>
|
||||
<div style="color: #cfcfcf; font-size: 13px">说明:点击进行编辑</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :lg="6" style="text-align: right"
|
||||
><a-button type="primary" @click="addKcjsHandle(1)">提交</a-button
|
||||
><a-button type="primary" style="margin-left: 10px" @click="handleYinyong(jxdgInfo)">引用</a-button></a-col
|
||||
>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="24" v-show="cjwtSource.length>0">
|
||||
<a-pagination v-model="current" :total="total" @change="handlePageChange" :pageSize="pageSize" style="text-align: right;"/>
|
||||
</a-col>
|
||||
<a-col :span="24" v-show="cjwtSource.length==0">
|
||||
<a-empty/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div style="line-height: 30px; font-size: 18px; font-weight: bold;width:100%;">
|
||||
<span style="float: left;">往届学生评价</span>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div>
|
||||
<span style="float: left; line-height: 30px; font-size: 18px; font-weight: bold">教学大纲:</span>
|
||||
<span style="width: 300px; float: left">
|
||||
<span style="float: left"
|
||||
><j-upload
|
||||
v-model:value="jxdgInfo.filePath"
|
||||
maxCount="1"
|
||||
accept=".doc,.docx,.pdf"
|
||||
@change="jxdgChange"
|
||||
:forceAcceptVerify="true"
|
||||
></j-upload
|
||||
></span>
|
||||
</span>
|
||||
<span style="float: right">
|
||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(jxdgInfo.filePath)">下载</a-button>
|
||||
<a-button type="danger" style="margin-left: 10px" @click="fileRemove(jxdgInfo, 1)">删除</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px" @click="openPdf(jxdgInfo)">预览大纲</a-button>
|
||||
</span>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div>
|
||||
<span style="float: left; line-height: 30px; font-size: 18px; font-weight: bold">教学日历:</span>
|
||||
<span style="width: 300px; float: left">
|
||||
<span style="float: left"
|
||||
><j-upload
|
||||
v-model:value="jxdgInfo.jxrlFilePath"
|
||||
maxCount="1"
|
||||
accept=".doc,.docx,.pdf"
|
||||
@change="jxrlChange"
|
||||
:forceAcceptVerify="true"
|
||||
></j-upload
|
||||
></span>
|
||||
</span>
|
||||
<span style="float: right">
|
||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(jxdgInfo.jxrlFilePath)">下载</a-button>
|
||||
<a-button type="danger" style="margin-left: 10px" @click="fileRemove(jxdgInfo, 2)">删除</a-button>
|
||||
<a-button type="primary" style="margin-left: 10px" @click="openJxrlPdf(jxdgInfo)">预览日历</a-button>
|
||||
</span>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div style="line-height: 30px; font-size: 18px; font-weight: bold; width: 100%">
|
||||
<span style="float: left">常见问题</span>
|
||||
<span style="float: right"><a-button type="primary" @click="addCjwtHanle">新增</a-button></span>
|
||||
</div>
|
||||
<a-row style="margin-top: 50px; width: 100%; display: block">
|
||||
<a-col :span="24" v-for="(item, index) in cjwtSource" :key="index">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<span style="float: left">{{ (current - 1) * pageSize + index + 1 }}.{{ item.question }}</span>
|
||||
<span style="float: left; margin-left: 10px" v-if="item.sffb == '0'">
|
||||
<a title="修改" @click="handleEdit(item)"><Icon icon="ant-design:form-outlined" /></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" />
|
||||
<a title="删除" @click="handleDelete(item)"><Icon icon="ant-design:delete-outlined" /></a>
|
||||
</span>
|
||||
<span style="float: right; " v-if="item.sffb == '0'">
|
||||
<a-button type="primary" @click="handleFabu(item, '1')">发布</a-button>
|
||||
</span>
|
||||
<span style="float: left" v-if="item.sffb == '1'">
|
||||
<a @click="handleFabu(item, '0')" style="margin-left: 5px; padding: 0px 8px" title="撤回"
|
||||
><Icon icon="ant-design:rollback-outlined"
|
||||
/></a>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="24"
|
||||
><span><Icon icon="ant-design:caret-right-outlined" />答:<div v-html="item.answer"></div> </span
|
||||
></a-col>
|
||||
<a-col :span="24">
|
||||
<a-divider />
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="24" v-show="cjwtSource.length > 0">
|
||||
<a-pagination v-model="current" :total="total" @change="handlePageChange" :pageSize="pageSize" style="text-align: right" />
|
||||
</a-col>
|
||||
<a-col :span="24" v-show="cjwtSource.length == 0">
|
||||
<a-empty />
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
<a-card>
|
||||
<div style="line-height: 30px; font-size: 18px; font-weight: bold; width: 100%">
|
||||
<span style="float: left">往届学生评价</span>
|
||||
</div>
|
||||
<studentPjjgTeaList :queryParam="{ pageSize: 3, ...tkzjParam, kcbh: '' }" style="max-height: 106px" />
|
||||
</a-card>
|
||||
</div>
|
||||
<div v-if="!showYl">
|
||||
<div>
|
||||
<a-button type="primary" @click="handleYulan(1)" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 返回</a-button>
|
||||
<studentZyxx/>
|
||||
</div>
|
||||
<studentPjjgTeaList :queryParam="{ pageSize: 3, ...tkzjParam,kcbh:'' }" style="max-height: 106px;"/>
|
||||
</a-card>
|
||||
<ZyCjwtModal ref="ZyCjwtModalPage" @success="handleCjwtOk" />
|
||||
<ZyJxdgListModal ref="ZyJxdgListModalPage" @success="getKcjsJxdg" />
|
||||
<studentZyxxModal ref="studentZyxxModalPage" />
|
||||
</div>
|
||||
|
||||
<ZyCjwtModal ref="ZyCjwtModalPage" @success="handleCjwtOk" />
|
||||
<ZyJxdgListModal ref="ZyJxdgListModalPage" @success="getKcjsJxdg" />
|
||||
<studentZyxxModal ref="studentZyxxModalPage" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted, unref } from 'vue';
|
||||
import { getUserSf,getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { Icon } from '/@/components/Icon';
|
||||
import { Pagination, Empty } from 'ant-design-vue';
|
||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||
import { deleteOne } from '/@/views/zy/zyCjwt/ZyCjwt.api';
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
import studentPjjgTeaList from '/@/views/site/pjjgPage/studentPjjgTeaList.vue';
|
||||
import ZyCjwtModal from '/@/views/zy/zyCjwt/components/ZyCjwtModal.vue';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import ZyJxdgListModal from '/@/views/zy/zyJxdg/ZyJxdgListModal.vue';
|
||||
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||
import JeecgPdfView from '/@/views/demo/jeecg/JeecgPdfView.vue';
|
||||
import { useGlobSetting } from '/@/hooks/setting';
|
||||
import studentZyxxModal from '/@/views/site/studentWdkc/studentZyxxModal.vue';
|
||||
import { ref, onMounted, unref } from 'vue';
|
||||
import { getUserSf, getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { Icon } from '/@/components/Icon';
|
||||
import { Pagination, Empty } from 'ant-design-vue';
|
||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||
import { deleteOne } from '/@/views/zy/zyCjwt/ZyCjwt.api';
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
import studentPjjgTeaList from '/@/views/site/pjjgPage/studentPjjgTeaList.vue';
|
||||
import ZyCjwtModal from '/@/views/zy/zyCjwt/components/ZyCjwtModal.vue';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import ZyJxdgListModal from '/@/views/zy/zyJxdg/ZyJxdgListModal.vue';
|
||||
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||
import JeecgPdfView from '/@/views/demo/jeecg/JeecgPdfView.vue';
|
||||
import { useGlobSetting } from '/@/hooks/setting';
|
||||
import studentZyxxModal from '/@/views/site/studentWdkc/studentZyxxModal.vue';
|
||||
import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue';
|
||||
import studentZyxx from '/@/views/site/studentWdkc/studentZyxx.vue';
|
||||
|
||||
const globSetting = useGlobSetting();
|
||||
const baseApiUrl = globSetting.domainUrl;
|
||||
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh,xqxn,teano } = query;//获取传递参数
|
||||
const APagination = Pagination;
|
||||
const current = ref<number>(1);
|
||||
const total = ref<number>(0);
|
||||
const pageNo = ref<number>(0);
|
||||
const pageSize = ref<number>(3);
|
||||
const tkzjParam = ref({rwbh:rwbh});
|
||||
const ZyCjwtModalPage = ref();
|
||||
const ZyJxdgListModalPage = ref();
|
||||
const studentZyxxModalPage = ref();
|
||||
const cjwtSource = ref([]);
|
||||
let router = useRouter();
|
||||
const { createMessage } = useMessage();
|
||||
const jxdgInfo = ref({
|
||||
id:'',
|
||||
filePath:null,
|
||||
jxrlFilePath:null,
|
||||
kcjs:'',
|
||||
pdfPath:null,
|
||||
jxrlPdfPath:null,
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh, xqxn, teano } = query; //获取传递参数
|
||||
const APagination = Pagination;
|
||||
const current = ref<number>(1);
|
||||
const total = ref<number>(0);
|
||||
const pageNo = ref<number>(0);
|
||||
const pageSize = ref<number>(3);
|
||||
const tkzjParam = ref({ rwbh: rwbh });
|
||||
const ZyCjwtModalPage = ref();
|
||||
const ZyJxdgListModalPage = ref();
|
||||
const studentZyxxModalPage = ref();
|
||||
const cjwtSource = ref([]);
|
||||
let kcjsShow = ref<boolean>(false);
|
||||
const showYl = ref<boolean>(true);
|
||||
let router = useRouter();
|
||||
const { createMessage } = useMessage();
|
||||
const jxdgInfo = ref({
|
||||
id: '',
|
||||
filePath: null,
|
||||
jxrlFilePath: null,
|
||||
kcjs: '',
|
||||
pdfPath: null,
|
||||
jxrlPdfPath: null,
|
||||
});
|
||||
function handleEditKcjs(type) {
|
||||
console.log(`🚀 ~ handleEditKcjs ~ type:`, type);
|
||||
if (type == 1) {
|
||||
kcjsShow.value = true;
|
||||
} else {
|
||||
kcjsShow.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
//预览
|
||||
function handleYulan(type) {
|
||||
if (type == 1) {
|
||||
showYl.value = true;
|
||||
} else if (type == 0) {
|
||||
showYl.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
//教学大纲提交附件
|
||||
function jxdgChange(record) {
|
||||
console.log(`🚀 ~ jxdgChange ~ record:`, record);
|
||||
var model = { id: jxdgInfo.value.id, filePath: record, rwbh, xqxn };
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/jxdgScfj', params: model }).then((res) => {
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
|
||||
//教学大纲提交附件
|
||||
function jxdgChange(record){
|
||||
console.log(`🚀 ~ jxdgChange ~ record:`, record)
|
||||
var model = {id:jxdgInfo.value.id,filePath:record,rwbh,xqxn}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/jxdgScfj', params: model }).then((res) => {
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
|
||||
function jxrlChange(record){
|
||||
console.log(`🚀 ~ jxdgChange ~ record:`, record)
|
||||
var model = {id:jxdgInfo.value.id,jxrlFilePath:record,rwbh,xqxn}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/jxrlScfj', params: model }).then((res) => {
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
|
||||
function handleZtyl(record){
|
||||
studentZyxxModalPage.value.disableSubmit = true;
|
||||
studentZyxxModalPage.value.edit(record);
|
||||
}
|
||||
|
||||
//引用功能
|
||||
function handleYinyong(record){
|
||||
ZyJxdgListModalPage.value.disableSubmit = true;
|
||||
ZyJxdgListModalPage.value.init(record);
|
||||
}
|
||||
//常见问题新增
|
||||
function addCjwtHanle(){
|
||||
var params = { rwbh:rwbh,xqxn:xqxn };
|
||||
ZyCjwtModalPage.value.disableSubmit = false;
|
||||
ZyCjwtModalPage.value.add(params);
|
||||
}
|
||||
/**
|
||||
* 常见问题编辑事件
|
||||
*/
|
||||
function handleEdit(record: Recordable) {
|
||||
ZyCjwtModalPage.value.disableSubmit = false;
|
||||
ZyCjwtModalPage.value.edit(record);
|
||||
}
|
||||
/**
|
||||
* 删除事件
|
||||
*/
|
||||
async function handleDelete(record) {
|
||||
await deleteOne({ id: record.id }, handleCjwtOk2);
|
||||
}
|
||||
|
||||
function openPdf(record){
|
||||
if(record.pdfPath){
|
||||
var url2 = getFileAccessHttpUrl(record.pdfPath)
|
||||
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
|
||||
window.open(url,"_blank")
|
||||
}else{
|
||||
createMessage.warning("暂无文件或文件上传中")
|
||||
function downLoad(file) {
|
||||
if (file) {
|
||||
let url = getFileAccessHttpUrl(file);
|
||||
if (url) {
|
||||
window.open(url);
|
||||
}
|
||||
} else {
|
||||
createMessage.warning('暂无文件或文件上传中');
|
||||
}
|
||||
}
|
||||
//删除附件
|
||||
function fileRemove(record, type) {
|
||||
var model = { id: record.id, type: type };
|
||||
console.log(`🚀 ~ fileRemove ~ model:`, model);
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/deleteJxdgJxrl', params: model }).then((res) => {
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
function jxrlChange(record) {
|
||||
console.log(`🚀 ~ jxdgChange ~ record:`, record);
|
||||
var model = { id: jxdgInfo.value.id, jxrlFilePath: record, rwbh, xqxn };
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/jxrlScfj', params: model }).then((res) => {
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
|
||||
function openJxrlPdf(record){
|
||||
if(record.jxrlPdfPath){
|
||||
var url2 = getFileAccessHttpUrl(record.jxrlPdfPath)
|
||||
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
|
||||
window.open(url,"_blank")
|
||||
}else{
|
||||
createMessage.warning("暂无文件或文件上传中")
|
||||
}
|
||||
}
|
||||
function handleZtyl(record) {
|
||||
studentZyxxModalPage.value.disableSubmit = true;
|
||||
studentZyxxModalPage.value.edit(record);
|
||||
}
|
||||
|
||||
//常见问题回调刷新
|
||||
function handleCjwtOk() {
|
||||
// console.log('--------cjwt ok -----------')
|
||||
//引用功能
|
||||
function handleYinyong(record) {
|
||||
ZyJxdgListModalPage.value.disableSubmit = true;
|
||||
ZyJxdgListModalPage.value.init(record);
|
||||
}
|
||||
//常见问题新增
|
||||
function addCjwtHanle() {
|
||||
var params = { rwbh: rwbh, xqxn: xqxn };
|
||||
ZyCjwtModalPage.value.disableSubmit = false;
|
||||
ZyCjwtModalPage.value.add(params);
|
||||
}
|
||||
/**
|
||||
* 常见问题编辑事件
|
||||
*/
|
||||
function handleEdit(record: Recordable) {
|
||||
ZyCjwtModalPage.value.disableSubmit = false;
|
||||
ZyCjwtModalPage.value.edit(record);
|
||||
}
|
||||
/**
|
||||
* 常见问题发布
|
||||
*/
|
||||
function handleFabu(record, type) {
|
||||
var model = { id: record.id, sffb: type };
|
||||
console.log(`🚀 ~ fileRemove ~ model:`, model);
|
||||
defHttp.post({ url: '/zyCjwt/zyCjwt/edit', params: model }).then((res) => {
|
||||
cjwtData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//常见问题回调刷新
|
||||
function handleCjwtOk2() {
|
||||
total.value = 1;
|
||||
handlePageChange(1);
|
||||
}
|
||||
/**
|
||||
* 删除事件
|
||||
*/
|
||||
async function handleDelete(record) {
|
||||
await deleteOne({ id: record.id }, handleCjwtOk2);
|
||||
}
|
||||
|
||||
//常见问题新增翻页
|
||||
function handlePageChange(page: number) {
|
||||
current.value = page;
|
||||
cjwtData();
|
||||
function openPdf(record) {
|
||||
if (record.pdfPath) {
|
||||
var url2 = getFileAccessHttpUrl(record.pdfPath);
|
||||
let url = baseApiUrl + '/generic/web/viewer.html?file=' + encodeURIComponent(url2);
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
createMessage.warning('暂无文件或文件上传中');
|
||||
}
|
||||
}
|
||||
|
||||
function cjwtData(){
|
||||
defHttp.get({ url: '/zyCjwt/zyCjwt/list', params: { pageSize: 3,pageNo:current.value, rwbh:rwbh,xqxn:xqxn,teano:teano,column:'createTime',order:'desc' } }).then((res) => {
|
||||
// console.log(`🚀 ~ defHttp.get ~ res:`, res)
|
||||
function openJxrlPdf(record) {
|
||||
if (record.jxrlPdfPath) {
|
||||
var url2 = getFileAccessHttpUrl(record.jxrlPdfPath);
|
||||
let url = baseApiUrl + '/generic/web/viewer.html?file=' + encodeURIComponent(url2);
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
createMessage.warning('暂无文件或文件上传中');
|
||||
}
|
||||
}
|
||||
|
||||
//常见问题回调刷新
|
||||
function handleCjwtOk() {
|
||||
// console.log('--------cjwt ok -----------')
|
||||
cjwtData();
|
||||
}
|
||||
|
||||
//常见问题回调刷新
|
||||
function handleCjwtOk2() {
|
||||
total.value = 1;
|
||||
handlePageChange(1);
|
||||
}
|
||||
|
||||
//常见问题新增翻页
|
||||
function handlePageChange(page: number) {
|
||||
current.value = page;
|
||||
cjwtData();
|
||||
}
|
||||
|
||||
function cjwtData() {
|
||||
defHttp
|
||||
.get({
|
||||
url: '/zyCjwt/zyCjwt/list',
|
||||
params: { pageSize: 3, pageNo: current.value, rwbh: rwbh, xqxn: xqxn, teano: teano, column: 'createTime', order: 'desc' },
|
||||
})
|
||||
.then((res) => {
|
||||
// console.log(`🚀 ~ defHttp.get ~ res:`, res)
|
||||
cjwtSource.value = res.records;
|
||||
total.value = res.total;
|
||||
pageNo.value = res.pages;
|
||||
current.value = res.current;
|
||||
// console.log(`🚀 ~ defHttp.get ~ cjwtSource:`, cjwtSource)
|
||||
});
|
||||
}
|
||||
//获取课程简介和教学大纲内容
|
||||
function getKcjsJxdg(){
|
||||
console.log(`🚀 ~111111111111111:`)
|
||||
defHttp.get({ url: '/zyJxdg/zyJxdg/getKcjsJxdg', params: { rwbh:rwbh,xqxn:xqxn,teano:teano } }).then((res) => {
|
||||
console.log(`🚀 ~2222222222222222:`,res)
|
||||
if(res){
|
||||
jxdgInfo.value = res;
|
||||
}
|
||||
}
|
||||
//获取课程简介和教学大纲内容
|
||||
function getKcjsJxdg() {
|
||||
console.log(`🚀 ~111111111111111:`);
|
||||
defHttp.get({ url: '/zyJxdg/zyJxdg/getKcjsJxdg', params: { rwbh: rwbh, xqxn: xqxn, teano: teano } }).then((res) => {
|
||||
console.log(`🚀 ~2222222222222222:`, res);
|
||||
if (res) {
|
||||
jxdgInfo.value = res;
|
||||
}
|
||||
});
|
||||
}
|
||||
function addKcjsHandle(type) {
|
||||
const isUpdate = true;
|
||||
var model = jxdgInfo.value;
|
||||
model.rwbh = rwbh;
|
||||
model.xqxn = xqxn;
|
||||
model.teano = teano;
|
||||
console.log(`🚀 ~ addKcjsHandle ~ model:`, model);
|
||||
if (model.id) {
|
||||
if (type == '1') {
|
||||
model.filePath = '';
|
||||
}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/edit', params: model }).then((res) => {
|
||||
console.log(`🚀 ~ defHttp.post 111~ res:`, res);
|
||||
kcjsShow.value = false;
|
||||
getKcjsJxdg();
|
||||
});
|
||||
} else {
|
||||
if (type == '1') {
|
||||
model.filePath = '';
|
||||
}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/add', params: model }).then((res) => {
|
||||
console.log(`🚀 ~ defHttp.post 222~ res:`, res);
|
||||
kcjsShow.value = false;
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
function addKcjsHandle(type){
|
||||
const isUpdate = true;
|
||||
var model = jxdgInfo.value;
|
||||
model.rwbh = rwbh;
|
||||
model.xqxn = xqxn;
|
||||
model.teano = teano;
|
||||
console.log(`🚀 ~ addKcjsHandle ~ model:`, model)
|
||||
if(model.id){
|
||||
if(type=='1'){
|
||||
model.filePath = '';
|
||||
}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/edit', params: model }).then((res) => {
|
||||
console.log(`🚀 ~ defHttp.post 111~ res:`, res)
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}else{
|
||||
if(type=='1'){
|
||||
model.filePath = '';
|
||||
}
|
||||
defHttp.post({ url: '/zyJxdg/zyJxdg/add', params: model }).then((res) => {
|
||||
console.log(`🚀 ~ defHttp.post 222~ res:`, res)
|
||||
getKcjsJxdg();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
//进入就加载
|
||||
onMounted(() => {
|
||||
getKcjsJxdg();
|
||||
cjwtData();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
//进入就加载
|
||||
onMounted(() => {
|
||||
getKcjsJxdg();
|
||||
cjwtData();
|
||||
});
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
</style>
|
||||
|
|
|
@ -113,8 +113,8 @@
|
|||
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
|
||||
|
||||
const maxClassName = ref<any>({});
|
||||
const selectedKeys = ref<string[]>(['1']);
|
||||
const openKeys = ref<string[]>(['sub1']);
|
||||
const selectedKeys = ref<string[]>(['sub0']);
|
||||
const openKeys = ref<string[]>(['sub0']);
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div>
|
||||
<a-row>
|
||||
<a-col :lg="3" style="font-size: 18px;font-weight: bold;">课程简介:</a-col>
|
||||
<a-col :lg="20">{{jxdgInfo.kcjs}}</a-col>
|
||||
<a-col :lg="20"><div v-html="jxdgInfo.kcjs"></div></a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-card>
|
||||
|
@ -46,7 +46,7 @@
|
|||
<a-col :span="24">
|
||||
<span style="float: left;">{{(current-1)*pageSize+index+1}}.{{item.question}}</span>
|
||||
</a-col>
|
||||
<a-col :span="24"><span><Icon icon="ant-design:caret-right-outlined" />答:{{item.answer}}</span></a-col>
|
||||
<a-col :span="24"><span><Icon icon="ant-design:caret-right-outlined" />答:<div v-html="item.answer"></div></span></a-col>
|
||||
<a-col :span="24">
|
||||
<a-divider />
|
||||
</a-col>
|
||||
|
@ -72,7 +72,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';
|
||||
import { useRouter } from 'vue-router';
|
||||
|
@ -168,7 +168,7 @@ function openJxrlPdf(record){
|
|||
}
|
||||
|
||||
function cjwtData(){
|
||||
defHttp.get({ url: '/zyCjwt/zyCjwt/list', params: { pageSize: 3,pageNo:current.value, rwbh:rwbh,xqxn:xqxn,teano:teano,column:'createTime',order:'desc' } }).then((res) => {
|
||||
defHttp.get({ url: '/zyCjwt/zyCjwt/list', params: { sffb: 1,pageSize: 3,pageNo:current.value, rwbh:rwbh,xqxn:xqxn,teano:teano,column:'createTime',order:'desc' } }).then((res) => {
|
||||
// console.log(`🚀 ~ defHttp.get ~ res:`, res)
|
||||
cjwtSource.value = res.records;
|
||||
total.value = res.total;
|
||||
|
@ -180,7 +180,7 @@ function openJxrlPdf(record){
|
|||
//获取课程简介和教学大纲内容
|
||||
function getKcjsJxdg(){
|
||||
defHttp.get({ url: '/zyJxdg/zyJxdg/getKcjsJxdg', params: { rwbh:rwbh,xqxn:xqxn,teano:teano} }).then((res) => {
|
||||
// console.log(`🚀 1111111111111~ getKcjsJxdg ~ res:`, res)
|
||||
console.log(`🚀 1111111111111~ getKcjsJxdg ~ res:`, res)
|
||||
if(res){
|
||||
jxdgInfo.value = res;
|
||||
}
|
||||
|
@ -217,7 +217,14 @@ function openJxrlPdf(record){
|
|||
cjwtData();
|
||||
|
||||
});
|
||||
|
||||
function edit(record){
|
||||
getKcjsJxdg();
|
||||
cjwtData();
|
||||
console.log(1111);
|
||||
}
|
||||
defineExpose({
|
||||
edit,
|
||||
});
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
</style>
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
function edit(record) {
|
||||
title.value = '预览';
|
||||
visible.value = true;
|
||||
// nextTick(() => {
|
||||
// registerForm.value.edit(record);
|
||||
// });
|
||||
nextTick(() => {
|
||||
registerForm.value.edit(record);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
>{{ t('sys.login.mobileSignInFormTitle') }}
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="aui-form-box" style="height: 180px">
|
||||
<div class="aui-form-box" style="height: 120px">
|
||||
<a-form ref="loginRef" :model="formData" v-if="activeIndex === 'accountLogin'" @keyup.enter.native="loginHandleClick">
|
||||
<div class="aui-account">
|
||||
<div class="aui-inputClear">
|
||||
|
@ -48,7 +48,7 @@
|
|||
<a-input class="fix-auto-fill" type="password" :placeholder="t('sys.login.password')" v-model:value="formData.password" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="aui-inputClear">
|
||||
<!-- <div class="aui-inputClear">
|
||||
<i class="icon icon-code"></i>
|
||||
<a-form-item>
|
||||
<a-input class="fix-auto-fill" type="text" :placeholder="t('sys.login.inputCode')" v-model:value="formData.inputCode" />
|
||||
|
@ -57,7 +57,7 @@
|
|||
<img v-if="randCodeData.requestCodeSuccess" :src="randCodeData.randCodeImage" @click="handleChangeCheckCode" />
|
||||
<img v-else style="margin-top: 2px; max-width: initial" :src="codeImg" @click="handleChangeCheckCode" />
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div class="aui-flex">
|
||||
<div class="aui-flex-box">
|
||||
<div class="aui-choice">
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
<a-space v-if="!isPreview">
|
||||
<!-- <a-button type="primary" @click="save" :loading="saveLoading" title="保存"><Icon icon="ant-design:save-outlined"/>保存</a-button> -->
|
||||
<a-button type="primary" @click="addOne()" class="addBtn" title="新增章节"><Icon icon="ant-design:plus-outlined"/>新增章节</a-button>
|
||||
<a-button type="" v-if="!isPreview" @click="() => { isPreview = true; reloadStn(); }" class="addBtn" title="预览"><Icon icon="ant-design:fund-view-outlined"/>预览</a-button>
|
||||
<a-button @click="reload"><Icon icon="ant-design:reload-outlined"/>刷新</a-button>
|
||||
<a-button type="primary" v-if="!isPreview" @click="() => { isPreview = true; reloadStn(); }" class="addBtn" title="预览"><Icon icon="ant-design:fund-view-outlined"/>预览</a-button>
|
||||
<!-- <a-button @click="reload"><Icon icon="ant-design:reload-outlined"/>刷新</a-button> -->
|
||||
</a-space>
|
||||
<template v-else>
|
||||
<a-space>
|
||||
<a-button @click="reloadStn"><Icon icon="ant-design:reload-outlined"/>刷新</a-button>
|
||||
<a-button type="" @click="() => { isPreview = false }" class="addBtn" title="返回"><Icon icon="ant-design:fund-view-outlined"/>返回</a-button>
|
||||
<!-- <a-button @click="reloadStn"><Icon icon="ant-design:reload-outlined"/>刷新</a-button> -->
|
||||
<a-button type="primary" @click="() => { isPreview = false }" class="addBtn" title="返回"><Icon icon="ant-design:fund-view-outlined"/>返回</a-button>
|
||||
</a-space>
|
||||
</template>
|
||||
</div>
|
||||
|
@ -35,18 +35,24 @@
|
|||
<Icon icon="ant-design:holder-outlined"/>
|
||||
<div>{{ one.sort }}:</div>
|
||||
<div class="inputd">
|
||||
<a-input v-if="one.isEdit" :value="one.title" @change="changeInput($event, one, 'title')" @blur="() => { one.isEdit = false; editOne(one) }" @click="stop" class="ainput inputpad"/>
|
||||
<a-input v-if="one.isEdit" :value="one.title" style="border:0;" @change="changeInput($event, one, 'title')" @blur="() => { one.isEdit = false; editOne(one) }" @click="stop" class="ainput inputpad"/>
|
||||
<div v-else class="ainput ainputpad ainputNoEdit" @click="(e) => { stop(e);one.isEdit = true }" > {{ one.title }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template #extra>
|
||||
<span v-show="!one.showBtn">
|
||||
<div v-show="one.fabu=='0'" style="color:#b2b2b2;width: 3rem;">未发布</div>
|
||||
<div v-show="one.fabu=='1'" style="color:#b2b2b2;width: 3rem">已发布</div>
|
||||
</span>
|
||||
<span v-show="one.showBtn">
|
||||
<a-space>
|
||||
<div v-show="one.fabu=='0'||!one.fabu"><a-button type="primary" size="small" @click="handleFabu(one,'1')" class="addBtn" title="发布"><Icon icon="ant-design:check-outlined"/></a-button></div>
|
||||
<div v-show="one.fabu=='1'"><a-button type="primary" size="small" @click="handleFabu(one,'0')" class="addBtn" title="取消发布"><Icon icon="ant-design:rollback-outlined"/></a-button></div>
|
||||
<div v-show="one.fabu=='0'" style="color:#b2b2b2;width: 3rem;">未发布</div>
|
||||
<div v-show="one.fabu=='1'" style="color:#b2b2b2;width: 3rem">已发布</div>
|
||||
<div><a-button type="primary" size="small" @click="addTwo($event, one)" class="twoBtn addBtn" title="新增节次"><Icon icon="ant-design:plus-outlined"/></a-button></div>
|
||||
<div><a-button type="primary" size="small" danger @click="delOne($event, one)" class="addBtn" title="删除"><Icon icon="ant-design:delete"/></a-button></div>
|
||||
<div v-show="one.fabu=='0'||!one.fabu"><a-button type="primary" size="small" @click="handleFabu(one,'1')" class="addBtn" title="发布">发布</a-button></div>
|
||||
<div v-show="one.fabu=='1'"><a-button type="primary" size="small" @click="handleFabu(one,'0')" class="addBtn" title="取消发布">取消发布</a-button></div>
|
||||
</a-space>
|
||||
</span>
|
||||
</template>
|
||||
|
@ -72,7 +78,7 @@
|
|||
<template #extra>
|
||||
<span v-show="two.showBtn">
|
||||
<a-space>
|
||||
<a-button type="primary" size="small" class="addBtn" title="上传资源"><Icon icon="ant-design:plus-outlined"/></a-button>
|
||||
<a-button type="primary" size="small" class="addBtn" title="上传资源"><Icon icon="ant-design:swap-outlined" style="transform: rotate(90deg)"/></a-button>
|
||||
<a-button type="primary" size="small" danger @click="delTwo($event, one, two)" class="addBtn" title="删除"><Icon icon="ant-design:delete"/></a-button>
|
||||
</a-space>
|
||||
</span>
|
||||
|
@ -97,7 +103,7 @@
|
|||
<template v-if="three.type == 'richText'"><Icon icon="ant-design:file-text-outlined" />富文本</template>
|
||||
</a-tag>
|
||||
<span class="hand" @click="viewThreePage(three)">{{ three.title }}</span>
|
||||
<span v-show="three.showBtn">
|
||||
<span v-show="three.showBtn" style="margin-left: 10px;">
|
||||
<a-space>
|
||||
<a-button type="primary" size="small" title="下载" v-if="three.type == 'video' || three.type == 'document'" @click="downloadFile(three)" class="addBtn"><Icon icon="ant-design:vertical-align-bottom-outlined"/></a-button>
|
||||
<a-button type="primary" size="small" title="查看" v-if="three.type == 'richText'" @click="viewThreePage(three)" class="addBtn"><Icon icon="ant-design:fund-view-outlined"/></a-button>
|
||||
|
@ -681,12 +687,12 @@
|
|||
cursor:pointer;
|
||||
}
|
||||
.max {
|
||||
height: calc(100vh - 225px);
|
||||
height: calc(100vh - 216px);
|
||||
//height: calc(-132px + 100vh);
|
||||
// min-height: calc(-132px + 100vh);
|
||||
// max-height: calc(-132px + 100vh);
|
||||
overflow: auto;
|
||||
//overflow: hidden;
|
||||
// overflow: auto;
|
||||
overflow: hidden;
|
||||
.maxDiv {
|
||||
height: calc(100% - 94px);
|
||||
overflow-y: auto;
|
||||
|
@ -706,6 +712,7 @@
|
|||
|
||||
.ainput {
|
||||
width: 100%;
|
||||
border:0px;
|
||||
}
|
||||
.ainputpad {
|
||||
padding: 3px 0;
|
||||
|
@ -713,7 +720,6 @@
|
|||
|
||||
}
|
||||
.ainputNoEdit {
|
||||
border: #d9d9d9 solid 1px;
|
||||
}
|
||||
|
||||
.inputd {
|
||||
|
|
|
@ -2,13 +2,11 @@
|
|||
<div class="max">
|
||||
|
||||
<!-- <a-affix :offset-top="0" :target="() => doctomen"> -->
|
||||
<div class="topButton" v-if="!props.hiddenBtn">
|
||||
<!-- <div class="topButton" v-if="!props.hiddenBtn">
|
||||
<a-space>
|
||||
<!-- <a-button type="primary" @click="save" :loading="saveLoading">保存</a-button> -->
|
||||
<a-button @click="reload"><Icon icon="ant-design:reload-outlined"/>刷新</a-button>
|
||||
<!-- <a-button type="primary" @click="addOne()" class="addBtn" title="新增一级"><Icon icon="ant-design:plus-outlined"/>新增标题</a-button> -->
|
||||
</a-space>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- </a-affix> -->
|
||||
|
||||
<div class="maxDiv">
|
||||
|
@ -73,7 +71,7 @@
|
|||
<template v-if="three.type == 'richText'"><Icon icon="ant-design:file-text-outlined" />富文本</template>
|
||||
</a-tag>
|
||||
<span class="hand" @click="viewThreePage(three)">{{ three.title }}</span>
|
||||
<span v-show="three.showBtn">
|
||||
<span v-show="three.showBtn" style="margin-left:10px;">
|
||||
<a-space>
|
||||
<a-button type="primary" size="small" title="下载" v-if="three.type == 'video' || three.type == 'document'" @click="downloadFile(three)" class="addBtn"><Icon icon="ant-design:vertical-align-bottom-outlined"/></a-button>
|
||||
<a-button type="primary" size="small" title="查看" v-if="three.type == 'richText'" @click="viewThreePage(three)" class="addBtn"><Icon icon="ant-design:fund-view-outlined"/></a-button>
|
||||
|
@ -530,14 +528,14 @@
|
|||
cursor:pointer;
|
||||
}
|
||||
.max {
|
||||
height: calc(100vh - 225px);
|
||||
height: calc(100vh - 210px);
|
||||
//height: calc(-132px + 100vh);
|
||||
// min-height: calc(-132px + 100vh);
|
||||
// max-height: calc(-132px + 100vh);
|
||||
overflow: auto;
|
||||
//overflow: hidden;
|
||||
.maxDiv {
|
||||
height: calc(100% - 94px);
|
||||
height: calc(100% - 5px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
@ -557,7 +555,7 @@
|
|||
width: 100%;
|
||||
}
|
||||
.ainputNoEdit {
|
||||
border: #d9d9d9 solid 1px;
|
||||
// border: #d9d9d9 solid 1px;
|
||||
}
|
||||
|
||||
.inputd {
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="答案" v-bind="validateInfos.answer">
|
||||
<a-textarea v-model:value="formData.answer" rows="4" placeholder="请输入答案" :disabled="disabled"/>
|
||||
<j-editor v-model:value="formData.answer"/>
|
||||
<!-- <a-textarea v-model:value="formData.answer" rows="4" placeholder="请输入答案" :disabled="disabled"/> -->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -24,6 +25,7 @@
|
|||
import { getValueType } from '/@/utils';
|
||||
import { saveOrUpdate } from '../ZyCjwt.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue';
|
||||
|
||||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
|
|
|
@ -1,77 +1,77 @@
|
|||
<template>
|
||||
<div style="background: #fff;height: calc(100vh - 225px);overflow-y: auto;overflow-x: hidden;margin-top:10px;">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container" style="border-bottom: 2px solid #f0f0f0;">
|
||||
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" style="padding: 20px 10px 0px 10px;">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="标题">
|
||||
<j-input placeholder="请输入标题" v-model:value="queryParam.title"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 新增</a-button>
|
||||
<div v-if="showYl">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container" style="border-bottom: 2px solid #f0f0f0;">
|
||||
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" style="padding: 20px 10px 0px 10px;">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="标题">
|
||||
<j-input placeholder="请输入标题" v-model:value="queryParam.title"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 新增</a-button>
|
||||
<a-button type="primary" @click="handleZtyl(0)" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 预览</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding:10px;overflow:hidden;border-bottom: 1px solid #f0f0f0;">
|
||||
<div>
|
||||
<a-row style="padding:10px;line-height: 30px;">
|
||||
<a-col :span="item.ggStatus==0?20:24">
|
||||
<span style="font-size: 16px;color: #515151 ;font-weight: bold; ">{{item.title}}</span>
|
||||
<span v-if="item.ggStatus==0" style="margin-left:15px;"><a-tag color="blue">草稿</a-tag></span>
|
||||
<span style="margin-left:15px;">
|
||||
<a @click="handleEdit(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0" title="编辑"><Icon icon="ant-design:form-outlined"/></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0"/>
|
||||
<a @click="handleDelete(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0" title="删除"><Icon icon="ant-design:delete-outlined" /></a>
|
||||
<a @click="handleCh(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==1" title="撤回"><Icon icon="ant-design:rollback-outlined" /></a>
|
||||
</span>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
<a-col :span="item.ggStatus==0?4:24">
|
||||
<div v-if="item.ggStatus==0" style="text-align: right;color:#9e9e9e;">
|
||||
<a-button type="primary" @click="handleFabu(item)">发布</a-button>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="padding:10px;">
|
||||
<a-col :span="24">
|
||||
<div style="color: #515151" v-html="item.content"></div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="padding:10px;">
|
||||
<a-col :span="24">
|
||||
<div style="text-align: right;color:#9e9e9e;font-weight: bold;">{{item.createTime}}</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" style="padding:10px;">
|
||||
<div v-show="tableData.length>0">
|
||||
<a-pagination v-model="current" :total="total" @change="handlePageChange" :pageSize="pageSize" style="text-align: right;"/>
|
||||
</div>
|
||||
<div v-show="tableData.length==0">
|
||||
<a-empty/>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding:10px;overflow:hidden;border-bottom: 1px solid #f0f0f0;">
|
||||
<div>
|
||||
<a-row style="padding:10px;line-height: 30px;">
|
||||
<a-col :span="14">
|
||||
<span style="font-size: 16px;color: #515151 ;font-weight: bold;">{{item.title}}</span>
|
||||
<span v-if="item.ggStatus==0" style="margin-left: 20px;"><a-tag color="blue">草稿</a-tag></span>
|
||||
</a-col>
|
||||
<a-col :span="10">
|
||||
<div v-if="item.ggStatus==0" style="text-align: right;color:#9e9e9e;">尚未发布,学生端页面看不到这条通知</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="padding:10px;">
|
||||
<a-col :span="24">
|
||||
<div style="color: #515151" v-html="item.content"></div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="padding:10px;">
|
||||
<a-col :span="16">
|
||||
<a @click="handleEdit(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0" title="编辑"><Icon icon="ant-design:form-outlined"/></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0"/>
|
||||
<a @click="handleDelete(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0" title="删除"><Icon icon="ant-design:delete-outlined" /></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0"/>
|
||||
<a @click="handleCh(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==1" title="撤回"><Icon icon="ant-design:rollback-outlined" /></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==1"/>
|
||||
<a @click="handleDetail(item)" style="margin-left:5px;padding: 0px 8px;" title="预览"><Icon icon="ant-design:copy-outlined" /></a>
|
||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0"/>
|
||||
<a @click="handleFabu(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0" title="发布"><Icon icon="ant-design:check-circle-outlined" /></a>
|
||||
|
||||
<!-- <a-button type="primary" @click="handleEdit(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.ggStatus==0" title="编辑"><Icon icon="ant-design:form-outlined"/></a-button>
|
||||
<a-button type="primary" @click="handleDelete(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.ggStatus==0" title="删除"><Icon icon="ant-design:delete-outlined" /></a-button>
|
||||
<a-button type="primary" @click="handleCh(item)" style="margin-left:5px;padding: 0px 8px;background:#a7a6a6;" v-if="item.ggStatus==1" title="撤回"><Icon icon="ant-design:rollback-outlined" /></a-button>
|
||||
<a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;padding: 0px 8px;background:#18a689;" title="预览"><Icon icon="ant-design:copy-outlined" /></a-button>
|
||||
<a-button type="primary" @click="handleFabu(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.ggStatus==0" title="发布"><Icon icon="ant-design:check-circle-outlined" /></a-button> -->
|
||||
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<div style="text-align: right;color:#9e9e9e;font-weight: bold;">{{item.createTime}}</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" style="padding:10px;">
|
||||
<div v-show="tableData.length>0">
|
||||
<a-pagination v-model="current" :total="total" @change="handlePageChange" :pageSize="pageSize" style="text-align: right;"/>
|
||||
</div>
|
||||
<div v-show="tableData.length==0">
|
||||
<a-empty/>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div v-if="!showYl">
|
||||
<div>
|
||||
<a-button type="primary" @click="handleZtyl(1)" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 返回</a-button>
|
||||
</div>
|
||||
<TeacherYulanList />
|
||||
</div>
|
||||
|
||||
|
||||
<ZyGonggaoModal ref="registerModal" @success="handleSuccess"></ZyGonggaoModal>
|
||||
<ZyGonggaoYlModal ref="registerYlModal" @success="handleSuccess"></ZyGonggaoYlModal>
|
||||
<!-- <ZyGonggaoHistoryModal ref="registerHistoryModal" @success="handleSuccess"></ZyGonggaoHistoryModal>-->
|
||||
|
@ -84,6 +84,7 @@
|
|||
import { deleteOne } from './ZyGonggao.api';
|
||||
import ZyGonggaoModal from './components/ZyGonggaoModal.vue';
|
||||
import ZyGonggaoYlModal from './components/ZyGonggaoYlModal.vue';
|
||||
import TeacherYulanList from '/@/views/zy/zyGonggao/TeacherYulanList.vue';
|
||||
// import ZyGonggaoHistoryModal from './components/ZyGonggaoHistoryModal.vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from "/@/hooks/web/useMessage";
|
||||
|
@ -107,6 +108,7 @@
|
|||
const pageNo = ref<number>(0);
|
||||
const pageSize = ref<number>(5);
|
||||
const tableData = ref<any>([]);
|
||||
const showYl = ref<boolean>(true);
|
||||
|
||||
const labelCol = reactive({
|
||||
xs: { span: 24 },
|
||||
|
@ -117,6 +119,14 @@
|
|||
sm: { span: 16 },
|
||||
});
|
||||
|
||||
function handleZtyl(type){
|
||||
if(type==1){
|
||||
showYl.value = true;
|
||||
}else if(type==0){
|
||||
showYl.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增事件
|
||||
*/
|
||||
|
|
|
@ -132,6 +132,8 @@ const baseApiUrl = globSetting.domainUrl;
|
|||
if(record.wwcc=='1'){
|
||||
if(record.wwxsl){
|
||||
text = record.wwxsl+"%";
|
||||
}else if(!record.filePath){
|
||||
text = "-";
|
||||
}else{
|
||||
text = "检测中";
|
||||
}
|
||||
|
@ -140,6 +142,8 @@ const baseApiUrl = globSetting.domainUrl;
|
|||
if(record.nwcc=='1'){
|
||||
if(record.nwxsl){
|
||||
text = record.nwxsl+"%";
|
||||
}else if(!record.filePath){
|
||||
text = "-";
|
||||
}else{
|
||||
text = "检测中";
|
||||
}
|
||||
|
@ -148,6 +152,8 @@ const baseApiUrl = globSetting.domainUrl;
|
|||
if(record.aigccc=='1'){
|
||||
if(record.aigcxsl){
|
||||
text = record.aigcxsl+"%";
|
||||
}else if(!record.filePath){
|
||||
text = "-";
|
||||
}else{
|
||||
text = "检测中";
|
||||
}
|
||||
|
@ -156,6 +162,8 @@ const baseApiUrl = globSetting.domainUrl;
|
|||
if(record.xncc=='1'){
|
||||
if(record.xnxsl){
|
||||
text = record.xnxsl+"%";
|
||||
}else if(!record.filePath){
|
||||
text = "-";
|
||||
}else{
|
||||
text = "检测中";
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" style="margin-left: 8px;"> 新增</a-button>
|
||||
<!--<a @click="toggleSearchStatus = !toggleSearchStatus" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:plus-outlined" @click="handleAdd" style="margin-left: 8px"> 新增</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
|
@ -45,7 +44,7 @@
|
|||
<a-col :span="24" style="margin-bottom: 10px;height:53px;overflow:hidden;" :title="item.title">
|
||||
<div style="font-size: 18px;font-weight: bold;">{{item.title}}</div>
|
||||
</a-col>
|
||||
<a-col :span="24" class="zyCon">时间:{{dayjs(item.startTime).format('YYYY.MM.DD')}} - {{dayjs(item.endTime).format('YYYY.MM.DD')}}</a-col>
|
||||
<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"><div style="float:left"> </div><div style="float:right;" @click="openXkrs(item)"><a>{{item.xkxs}}人选课</a></div></a-col>
|
||||
<a-col :span="24" class="zyCon"><div style="float:left">未提交:{{item.wtjnum}}人;</div><div style="float:right;" >已提交:{{item.ytjnum}}人</div></a-col>
|
||||
<a-col :span="24" class="zyCon"><div style="float:left">未评阅:{{item.wpynum}}人;</div><div style="float:right;" >已评阅:{{item.ypynum}}人</div></a-col>
|
||||
|
@ -54,7 +53,8 @@
|
|||
<a-button type="primary" @click="handleEdit(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==0">编辑作业</a-button>
|
||||
<a-button type="primary" @click="handleFabu(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==0">发布作业</a-button>
|
||||
<a-button type="primary" @click="handleDelete(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==0">删除作业</a-button>
|
||||
<a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==1||item.zyStatus==2||item.zyStatus==3">作业详情</a-button>
|
||||
<a-button type="primary" @click="handleBjzy(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==1||item.zyStatus==2||item.zyStatus==3">编辑作业</a-button>
|
||||
<!-- <a-button type="primary" @click="handleDetail(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==1||item.zyStatus==2||item.zyStatus==3">作业详情</a-button> -->
|
||||
<a-button type="primary" @click="handleZyxx(item)" style="margin-left:5px;margin-bottom:5px;padding: 0px 4px;background:rgb(28, 132, 198);" v-if="item.zyStatus==1||item.zyStatus==2||item.zyStatus==3">查看作业</a-button>
|
||||
<!-- <a-button type="primary" @click="handleShangchuan(item)" style="margin-left:5px;background:rgb(28, 132, 198);" v-if="item.zyStatus==1||item.zyStatus==2||item.zyStatus==3">上传</a-button> -->
|
||||
</a-col>
|
||||
|
@ -72,6 +72,7 @@
|
|||
</a-row>
|
||||
|
||||
<ZyInfoModal ref="registerModal" @success="handleSuccess"></ZyInfoModal>
|
||||
<ZyInfoEditModal ref="registerEditModal" @success="handleSuccess"></ZyInfoEditModal>
|
||||
<ZyInfoStudentListModal ref="ZyInfoStudentListModalPage" @success="handleSuccess"></ZyInfoStudentListModal>
|
||||
<ZyInfoStudentModal ref="ZyInfoStudentModalPage"></ZyInfoStudentModal>
|
||||
<XxhbbksListModal ref="XxhbbksListModalPage"></XxhbbksListModal>
|
||||
|
@ -92,8 +93,9 @@ import dayjs from 'dayjs';
|
|||
import ZyInfoStudentListModal from '/@/views/zy/zyInfoStudent/ZyInfoStudentListModal.vue';
|
||||
import ZyInfoStudentModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue';
|
||||
import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
|
||||
import ZyInfoEditModal from './components/ZyInfoEditModal.vue';
|
||||
|
||||
|
||||
|
||||
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
|
@ -107,6 +109,7 @@ import dayjs from 'dayjs';
|
|||
const ZyInfoStudentListModalPage = ref();
|
||||
const ZyInfoStudentModalPage = ref();
|
||||
const XxhbbksListModalPage = ref();
|
||||
const registerEditModal = ref();
|
||||
const current = ref<number>(0);
|
||||
const total = ref<number>(0);
|
||||
const pageNo = ref<number>(0);
|
||||
|
@ -148,6 +151,12 @@ import dayjs from 'dayjs';
|
|||
registerModal.value.edit(record);
|
||||
}
|
||||
|
||||
function handleBjzy(record){
|
||||
registerEditModal.value.disableSubmit = false;
|
||||
registerEditModal.value.edit(record);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 详情
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div style="background: #fff;height: 97%;margin: 10px 0;">
|
||||
<div style="text-align:right;width:100%;">
|
||||
<a-switch v-model:checked="checked1" @change="onChange1"/>
|
||||
<a-switch v-model:checked="checked1" checkedChildren="卡片" unCheckedChildren="列表" @change="onChange1"/>
|
||||
</div>
|
||||
<div v-if="checked1">
|
||||
<ZyInfoList/>
|
||||
|
|
|
@ -24,12 +24,12 @@
|
|||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="开始时间" v-bind="validateInfos.startTime">
|
||||
<a-date-picker placeholder="请选择开始时间" v-model:value="formData.startTime" :disabled-date="disabledDate" value-format="YYYY-MM-DD" style="width: 100%" :disabled="disabled"/>
|
||||
<a-date-picker placeholder="请选择开始时间" v-model:value="formData.startTime" :disabled-date="disabledDate" :show-time="{ format: 'YYYY-MM-DD HH:mm' }" valueFormat="YYYY-MM-DD HH:mm" format="YYYY-MM-DD HH:mm" style="width: 100%" :disabled="disabled"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="结束时间" v-bind="validateInfos.endTime">
|
||||
<a-date-picker placeholder="请选择结束时间" v-model:value="formData.endTime" :disabled-date="disabledDate" value-format="YYYY-MM-DD" style="width: 100%" :disabled="disabled"/>
|
||||
<a-date-picker placeholder="请选择结束时间" v-model:value="formData.endTime" :disabled-date="disabledDate" :show-time="{ format: 'YYYY-MM-DD HH:mm' }" valueFormat="YYYY-MM-DD HH:mm" format="YYYY-MM-DD HH:mm" style="width: 100%" :disabled="disabled"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
|
|
|
@ -13,54 +13,46 @@ export const columns: BasicColumn[] = [
|
|||
title: '学生学号',
|
||||
align: "center",
|
||||
dataIndex: 'createBy',
|
||||
width: '100px'
|
||||
},
|
||||
{
|
||||
title: '提交时间',
|
||||
align: "center",
|
||||
dataIndex: 'createTime',
|
||||
width: '100px'
|
||||
dataIndex: 'publishTime',
|
||||
},
|
||||
{
|
||||
title: '评分',
|
||||
align: "center",
|
||||
dataIndex: 'score',
|
||||
width: '80px'
|
||||
},
|
||||
{
|
||||
title: '网络查重',
|
||||
align: "center",
|
||||
dataIndex: 'wwsftg',
|
||||
slots: { customRender: 'wwsftgaction' },
|
||||
width: '100px'
|
||||
},
|
||||
{
|
||||
title: '作业查重',
|
||||
align: "center",
|
||||
dataIndex: 'nwsftg',
|
||||
slots: { customRender: 'nwsftgaction' },
|
||||
width: '100px'
|
||||
},
|
||||
{
|
||||
title: 'Aigc查重',
|
||||
align: "center",
|
||||
dataIndex: 'aigcsftg',
|
||||
slots: { customRender: 'aigcsftgaction' },
|
||||
width: '100px'
|
||||
},
|
||||
{
|
||||
title: '校内查重',
|
||||
align: "center",
|
||||
dataIndex: 'xnsftg',
|
||||
slots: { customRender: 'xnsftgaction' },
|
||||
width: '100px'
|
||||
},
|
||||
|
||||
{
|
||||
title: '存档类型',
|
||||
align: "center",
|
||||
dataIndex: 'cdlx_dictText',
|
||||
width: '100px'
|
||||
},
|
||||
];
|
||||
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
<span :title="record.wwmessage?record.wwmessage:'暂无原因,请联系管理员'" style="color:red;">检测失败</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;" title="通过" @click="handleYulan(record.wwpaperviewurl)">{{record.wwxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;" title="未通过" @click="handleYulan(record.wwpaperviewurl)">{{record.wwxsl}}%</span>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;cursor:pointer" title="通过(点击可查看对比结果)" @click="handleYulan(record.wwpaperviewurl)">{{record.wwxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;cursor:pointer" title="未通过(点击可查看对比结果)" @click="handleYulan(record.wwpaperviewurl)">{{record.wwxsl}}%</span>
|
||||
<span v-else>
|
||||
<span v-if="record.filePath">检测中</span>
|
||||
<span v-else>未提交</span>
|
||||
|
@ -79,8 +79,8 @@
|
|||
<span :title="record.zymessage?record.zymessage:'暂无原因,请联系管理员'" style="color:red;">检测失败</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;" title="通过" @click="handleYulan(record.zypaperviewurl)">{{record.nwxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;" title="未通过" @click="handleYulan(record.zypaperviewurl)">{{record.nwxsl}}%</span>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;cursor:pointer" title="通过(点击可查看对比结果)" @click="handleYulan(record.zypaperviewurl)">{{record.nwxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;cursor:pointer" title="未通过(点击可查看对比结果)" @click="handleYulan(record.zypaperviewurl)">{{record.nwxsl}}%</span>
|
||||
<span v-else>
|
||||
<span v-if="record.filePath">检测中</span>
|
||||
<span v-else>未提交</span>
|
||||
|
@ -95,8 +95,8 @@
|
|||
<span :title="record.aigcmessage?record.aigcmessage:'暂无原因,请联系管理员'" style="color:red;">检测失败</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;" title="通过" @click="handleYulan(record.aigcpaperviewurl)">{{record.aigcxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;" title="未通过" @click="handleYulan(record.aigcpaperviewurl)">{{record.aigcxsl}}%</span>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;cursor:pointer" title="通过(点击可查看对比结果)" @click="handleYulan(record.aigcpaperviewurl)">{{record.aigcxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;cursor:pointer" title="未通过(点击可查看对比结果)" @click="handleYulan(record.aigcpaperviewurl)">{{record.aigcxsl}}%</span>
|
||||
<span v-else>
|
||||
<span v-if="record.filePath">检测中</span>
|
||||
<span v-else>未提交</span>
|
||||
|
@ -111,8 +111,8 @@
|
|||
<span :title="record.xxmessage?record.xxmessage:'暂无原因,请联系管理员'" style="color:red;">检测失败</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;" title="通过" @click="handleYulan(record.xxpaperviewurl)">{{record.xnxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;" title="未通过" @click="handleYulan(record.xxpaperviewurl)">{{record.xnxsl}}%</span>
|
||||
<span v-if="text=='通过'" style="color: green;padding: 5px 15px;cursor:pointer" title="通过(点击可查看对比结果)" @click="handleYulan(record.xxpaperviewurl)">{{record.xnxsl}}%</span>
|
||||
<span v-else-if="text=='未通过'" style="color: red;padding: 5px 15px;cursor:pointer" title="未通过(点击可查看对比结果)" @click="handleYulan(record.xxpaperviewurl)">{{record.xnxsl}}%</span>
|
||||
<span v-else>
|
||||
<span v-if="record.filePath">检测中</span>
|
||||
<span v-else>未提交</span>
|
||||
|
@ -180,7 +180,7 @@
|
|||
// fixed: 'right',
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
params.column = '',params.order = '';//新生成的默认不带排序
|
||||
params.column = 'publishTime',params.order = 'desc';//新生成的默认不带排序
|
||||
return Object.assign(params, queryParam.value);
|
||||
},
|
||||
},
|
||||
|
|
|
@ -29,6 +29,19 @@ export const columns: BasicColumn[] = [
|
|||
title: '文件名称',
|
||||
align:"center",
|
||||
dataIndex: 'fileName',
|
||||
customRender: ({ record,text }) => {
|
||||
console.log(`🚀 1~ text:`, text)
|
||||
if(text){
|
||||
text = text.substring(text.lastIndexOf("/")+1,text.length)
|
||||
}
|
||||
console.log(`🚀 2~ text:`, text)
|
||||
return text;
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '文件下载',
|
||||
align:"center",
|
||||
dataIndex: 'fileName',
|
||||
slots: { customRender: 'fileSlot' },
|
||||
}
|
||||
];
|
||||
|
|
|
@ -4,22 +4,6 @@
|
|||
<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">
|
||||
<a-form-item label="学期学年">
|
||||
<j-dict-select-tag ref="xqDictTag" placeholder="请选择学年学期" v-model:value="queryParam.xqxn" :dictCode="xqxnDic" @change="changeXqxnDic"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="开课单位">
|
||||
<j-dict-select-tag ref="dwDictTag" placeholder="请选择开课单位" v-model:value="queryParam.kkdw" :dictCode="kkdwDic" @change="changeKkdwDic"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--<template v-if="toggleSearchStatus">-->
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="课程名称">
|
||||
<j-dict-select-tag ref="kcDictTag" placeholder="请选择课程名称" v-model:value="queryParam.kcmc" :dictCode="kcmcDic" @change="changeKcmcDic"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="8">
|
||||
<a-form-item label="文件类型">
|
||||
<j-dict-select-tag ref="wjDictTag" placeholder="请选择文件类型" v-model:value="queryParam.wjlx" :dictCode="wjlxDic"/>
|
||||
|
@ -30,7 +14,6 @@
|
|||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="handleAdd" style="margin-left: 8px">新增</a-button>
|
||||
<!--<a @click="toggleSearchStatus = !toggleSearchStatus" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
|
|
Loading…
Reference in New Issue