添加导入导出功能
This commit is contained in:
parent
9cf96035d8
commit
88fdde0cd4
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<BasicModal v-bind="$attrs" @register="registerModal" :title="title" :width="800" @ok="handleSubmit">
|
<BasicModal v-bind="$attrs" @register="registerModal" :title="title" :width="800" @ok="handleSubmit">
|
||||||
<bl-teacher-main-form ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></bl-teacher-main-form>
|
<BlTeacherMainForm ref="formComponent" :formDisabled="formDisabled" :formBpm="false" @success="submitSuccess"></BlTeacherMainForm>
|
||||||
</BasicModal>
|
</BasicModal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -170,6 +170,11 @@
|
||||||
>填空</a-button
|
>填空</a-button
|
||||||
></p
|
></p
|
||||||
>
|
>
|
||||||
|
<!-- <p
|
||||||
|
><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(8)" :disabled="editDisabled"
|
||||||
|
>文件</a-button
|
||||||
|
></p
|
||||||
|
> -->
|
||||||
</a-card>
|
</a-card>
|
||||||
<a-card title="引用题库">
|
<a-card title="引用题库">
|
||||||
<p><a-button type="primary" @click="handleYylx('0')" :disabled="editDisabled">我的题库</a-button></p>
|
<p><a-button type="primary" @click="handleYylx('0')" :disabled="editDisabled">我的题库</a-button></p>
|
||||||
|
@ -181,7 +186,7 @@
|
||||||
<template #item="{ index, element: item }">
|
<template #item="{ index, element: item }">
|
||||||
<div>
|
<div>
|
||||||
<!-- 单选题 -->
|
<!-- 单选题 -->
|
||||||
<div style="width: 100%" v-if="item.wjType == 3">
|
<div style="width: 100%" v-if="item.wjType == 3 || item.wjType == '3'">
|
||||||
<a-card>
|
<a-card>
|
||||||
<template #title>
|
<template #title>
|
||||||
<span>{{ index + 1 }}、</span>
|
<span>{{ index + 1 }}、</span>
|
||||||
|
@ -265,7 +270,7 @@
|
||||||
</a-card>
|
</a-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 多选题 -->
|
<!-- 多选题 -->
|
||||||
<div style="width: 100%" v-else-if="item.wjType == 4">
|
<div style="width: 100%" v-else-if="item.wjType == 4 || item.wjType == '4'">
|
||||||
<a-card>
|
<a-card>
|
||||||
<template #title>
|
<template #title>
|
||||||
<span>{{ index + 1 }}、</span
|
<span>{{ index + 1 }}、</span
|
||||||
|
@ -351,7 +356,7 @@
|
||||||
</a-card>
|
</a-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 填空题 -->
|
<!-- 填空题 -->
|
||||||
<div style="width: 100%" v-else-if="item.wjType == 5">
|
<div style="width: 100%" v-else-if="item.wjType == 5 || item.wjType == '5'">
|
||||||
<a-card>
|
<a-card>
|
||||||
<template #title>
|
<template #title>
|
||||||
<span>{{ index + 1 }}、</span
|
<span>{{ index + 1 }}、</span
|
||||||
|
@ -415,7 +420,63 @@
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-card>
|
</a-card>
|
||||||
</div>
|
</div>
|
||||||
<div v-else> 无对应类型 </div>
|
<!-- 文件上传 -->
|
||||||
|
<div style="width: 100%" v-else-if="item.wjType == 8 || item.wjType == '8'">
|
||||||
|
<a-card>
|
||||||
|
<template #title>
|
||||||
|
<span>{{ index + 1 }}、</span>
|
||||||
|
<a-textarea
|
||||||
|
placeholder="请填写文件上传题题干"
|
||||||
|
v-model:value="item.wjTitle"
|
||||||
|
:bordered="false"
|
||||||
|
:style="{ width: handinpwei(item.wjTitle) }"
|
||||||
|
:auto-size="{ minRows: 1, maxRows: 5 }"
|
||||||
|
:disabled="editDisabled"
|
||||||
|
/>
|
||||||
|
<span style="color: #c2bfbf">[文件上传]</span>
|
||||||
|
</template>
|
||||||
|
<template #extra>
|
||||||
|
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||||
|
<a-select
|
||||||
|
style="width: 120px"
|
||||||
|
v-model:value="item.wjScore"
|
||||||
|
placeholder="请选择分数"
|
||||||
|
v-if="item.wjSfqh == '0'"
|
||||||
|
:disabled="editDisabled"
|
||||||
|
>
|
||||||
|
<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" :disabled="editDisabled"
|
||||||
|
>自定义分数</span
|
||||||
|
>
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="item.wjScore"
|
||||||
|
style="width: 120px"
|
||||||
|
v-if="item.wjSfqh == '1'"
|
||||||
|
:disabled="editDisabled"
|
||||||
|
></a-input-number>
|
||||||
|
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
|
||||||
|
>返回</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)"
|
||||||
|
v-if="!editDisabled"
|
||||||
|
/></a-tooltip>
|
||||||
|
</template>
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div v-else> 无对应类型 -{{item.wjType}}- </div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</draggable>
|
</draggable>
|
||||||
|
@ -567,7 +628,13 @@
|
||||||
<a-col :span="24" style="text-align: right; margin-top: 5px">
|
<a-col :span="24" style="text-align: right; margin-top: 5px">
|
||||||
<a-button type="primary" @click="handleSzzycs(1)"><Icon icon="ant-design:edit-outlined" />修改课程测验次数</a-button>
|
<a-button type="primary" @click="handleSzzycs(1)"><Icon icon="ant-design:edit-outlined" />修改课程测验次数</a-button>
|
||||||
<a-divider type="vertical" />
|
<a-divider type="vertical" />
|
||||||
<a-button type="primary" @click="handleAddOne" class="mar-right20"><Icon icon="ant-design:file-add-outlined" />新增测验</a-button>
|
<a-button type="primary" @click="handleAddOne"><Icon icon="ant-design:file-add-outlined" />新增测验</a-button>
|
||||||
|
<!-- <a-divider type="vertical" />
|
||||||
|
<a-button type="primary" @click="handleTiku('6')" style="margin-left: 8px">题库</a-button>
|
||||||
|
<a-divider type="vertical" />
|
||||||
|
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="importXls">导入试题</j-upload-button>
|
||||||
|
<a-divider type="vertical" />
|
||||||
|
<a-button type="primary" @click="downloadByUrl({url:'/downPath/stdrmb.xls',target: '_self',fileName:'试题导入模板.xls'})" class="mar-right20"><Icon icon="ant-design:file-add-outlined" />下载试题模板</a-button> -->
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-row style="padding: 10px">
|
<a-row style="padding: 10px">
|
||||||
|
@ -840,6 +907,7 @@
|
||||||
|
|
||||||
<YinyongTikuListModal ref="YinyongTikuListModalpage" @success="handleYytkSuccess" />
|
<YinyongTikuListModal ref="YinyongTikuListModalpage" @success="handleYytkSuccess" />
|
||||||
<YinyongTikuDcListModal ref="YinyongTikuDcListModalpage" @success="handleYytkSuccess" />
|
<YinyongTikuDcListModal ref="YinyongTikuDcListModalpage" @success="handleYytkSuccess" />
|
||||||
|
<TikuListModal ref="TikuListModalPage"></TikuListModal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -863,15 +931,28 @@ import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
|
||||||
import KcTeachingUnitContentOneListModal from '/@/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneListModal.vue';
|
import KcTeachingUnitContentOneListModal from '/@/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneListModal.vue';
|
||||||
import YinyongTikuListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuListModal.vue';
|
import YinyongTikuListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuListModal.vue';
|
||||||
import YinyongTikuDcListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuDcListModal.vue';
|
import YinyongTikuDcListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuDcListModal.vue';
|
||||||
|
import TikuListModal from '/@/views/kc/wjxWjxxTmlb/TikuListModal.vue';
|
||||||
import { create } from 'sortablejs';
|
import { create } from 'sortablejs';
|
||||||
|
import { downloadByUrl } from '/@/utils/file/download';
|
||||||
|
|
||||||
|
const glob = useGlobSetting();
|
||||||
const globSetting = useGlobSetting();
|
const globSetting = useGlobSetting();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出文件xlsx的mime-type
|
||||||
|
*/
|
||||||
|
const XLSX_MIME_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
||||||
|
/**
|
||||||
|
* 导出文件xlsx的文件后缀
|
||||||
|
*/
|
||||||
|
const XLSX_FILE_SUFFIX = '.xlsx';
|
||||||
|
|
||||||
//当前路由信息
|
//当前路由信息
|
||||||
const { currentRoute } = useRouter();
|
const { currentRoute } = useRouter();
|
||||||
const { query } = unref(currentRoute);
|
const { query } = unref(currentRoute);
|
||||||
const { rwbh, xqxn, type, teano } = query; //获取传递参数
|
const { rwbh, xqxn, type, teano } = query; //获取传递参数
|
||||||
const { createConfirm, createMessage } = useMessage();
|
const { createConfirm, createMessage,createWarningModal } = useMessage();
|
||||||
//用户相关
|
//用户相关
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const XxhbbksListModalPage = ref();
|
const XxhbbksListModalPage = ref();
|
||||||
|
@ -879,6 +960,7 @@ const WjxWjxxTmlbDjjgsModalPage = ref();
|
||||||
const registerZcjcModal = ref();
|
const registerZcjcModal = ref();
|
||||||
const YinyongTikuListModalpage = ref();
|
const YinyongTikuListModalpage = ref();
|
||||||
const YinyongTikuDcListModalpage = ref();
|
const YinyongTikuDcListModalpage = ref();
|
||||||
|
const TikuListModalPage = ref();
|
||||||
|
|
||||||
const showType = ref<number>(0);
|
const showType = ref<number>(0);
|
||||||
const zycs = ref<number>(0);
|
const zycs = ref<number>(0);
|
||||||
|
@ -953,6 +1035,92 @@ function handleViewEwm(record) {
|
||||||
ewmInfo.value = record;
|
ewmInfo.value = record;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//题库类型(6作业,1问卷)
|
||||||
|
function handleTiku(wjLeixing){
|
||||||
|
var record = {wjLeixing}
|
||||||
|
TikuListModalPage.value.disableSubmit = true;
|
||||||
|
TikuListModalPage.value.init(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function exportTmlbXls(isXlsx = false) {
|
||||||
|
var name = "问卷导入模板";var url = "/wjxWjxxTmlb/wjxWjxxTmlb/exportDownXls"; var params ={title: '-1'} ;
|
||||||
|
const data = await defHttp.get({ url: url, params: params, responseType: 'blob', timeout: 9000000 }, { isTransformResponse: false });
|
||||||
|
if (!data) {
|
||||||
|
createMessage.warning('文件下载失败');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!name || typeof name != 'string') {
|
||||||
|
name = '导出文件';
|
||||||
|
}
|
||||||
|
let blobOptions = { type: 'application/vnd.ms-excel' };
|
||||||
|
let fileSuffix = '.xls';
|
||||||
|
if (isXlsx === true) {
|
||||||
|
blobOptions['type'] = XLSX_MIME_TYPE;
|
||||||
|
fileSuffix = XLSX_FILE_SUFFIX;
|
||||||
|
}
|
||||||
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
||||||
|
window.navigator.msSaveBlob(new Blob([data], blobOptions), name + fileSuffix);
|
||||||
|
} else {
|
||||||
|
let url = window.URL.createObjectURL(new Blob([data], blobOptions));
|
||||||
|
let link = document.createElement('a');
|
||||||
|
link.style.display = 'none';
|
||||||
|
link.href = url;
|
||||||
|
link.setAttribute('download', name + fileSuffix);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link); //下载完成移除元素
|
||||||
|
window.URL.revokeObjectURL(url); //释放掉blob对象
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入xls
|
||||||
|
* @param data 导入的数据
|
||||||
|
* @param url
|
||||||
|
*/
|
||||||
|
async function importXls(data, url) {
|
||||||
|
url = "/wjxWjxxTmlb/wjxWjxxTmlb/importExcel";
|
||||||
|
const isReturn = (fileInfo) => {
|
||||||
|
try {
|
||||||
|
if (fileInfo.code === 201) {
|
||||||
|
let {
|
||||||
|
message,
|
||||||
|
result: { msg, fileUrl, fileName },
|
||||||
|
} = fileInfo;
|
||||||
|
let href = glob.uploadUrl + fileUrl;
|
||||||
|
createWarningModal({
|
||||||
|
title: message,
|
||||||
|
centered: false,
|
||||||
|
content: `<div>
|
||||||
|
<span>${msg}</span><br/>
|
||||||
|
<span>具体详情请<a href = ${href} download = ${fileName}> 点击下载 </a> </span>
|
||||||
|
</div>`,
|
||||||
|
});
|
||||||
|
//update-begin---author:wangshuai ---date:20221121 for:[VUEN-2827]导入无权限,提示图标错误------------
|
||||||
|
} else if (fileInfo.code === 500 || fileInfo.code === 510) {
|
||||||
|
createMessage.error(fileInfo.message || `${data.file.name} 导入失败`);
|
||||||
|
//update-end---author:wangshuai ---date:20221121 for:[VUEN-2827]导入无权限,提示图标错误------------
|
||||||
|
} else {
|
||||||
|
createWarningModal({
|
||||||
|
centered: false,
|
||||||
|
content: `<div>
|
||||||
|
<span>${fileInfo.message}</span><br/>
|
||||||
|
</div>`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log('导入的数据异常', error);
|
||||||
|
} finally {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
await defHttp.uploadFile({ url }, { file: data.file }, { success: isReturn });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//答题结果
|
//答题结果
|
||||||
function handleTeaDtjg(item) {
|
function handleTeaDtjg(item) {
|
||||||
console.log('🧳', item);
|
console.log('🧳', item);
|
||||||
|
@ -1253,6 +1421,22 @@ function addTigan(type) {
|
||||||
};
|
};
|
||||||
list.push(params);
|
list.push(params);
|
||||||
tiganData.value = [...list];
|
tiganData.value = [...list];
|
||||||
|
}else if (type == 8) {
|
||||||
|
var chk = '';
|
||||||
|
if (isShow.value) {
|
||||||
|
chk = '1';
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
wjType: parseInt(type),
|
||||||
|
wjIndex: list.length + 1,
|
||||||
|
mainId: mainId,
|
||||||
|
wjTitle: null,
|
||||||
|
wjScore: null,
|
||||||
|
wjLeixing,
|
||||||
|
wjSfqh: '0',
|
||||||
|
};
|
||||||
|
list.push(params);
|
||||||
|
tiganData.value = [...list];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1543,7 +1727,7 @@ async function submitForm() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var wjType = param.wjType;
|
var wjType = param.wjType;
|
||||||
if (wjType != 5) {
|
if (wjType == 3 && wjType == 4) {
|
||||||
var itemlist = param.wjxWjxxTmxxList;
|
var itemlist = param.wjxWjxxTmxxList;
|
||||||
for (let j = 0; j < itemlist.length; j++) {
|
for (let j = 0; j < itemlist.length; j++) {
|
||||||
if (!itemlist[j].itemTitle) {
|
if (!itemlist[j].itemTitle) {
|
||||||
|
@ -1563,7 +1747,9 @@ async function submitForm() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}else if(wjType == 8){
|
||||||
|
|
||||||
|
} else if(wjType == 6) {
|
||||||
if (isShow.value) {
|
if (isShow.value) {
|
||||||
var wjAnswer = values[i].wjAnswer;
|
var wjAnswer = values[i].wjAnswer;
|
||||||
if (!wjAnswer || wjAnswer == 'NaN' || wjAnswer == 'undefined') {
|
if (!wjAnswer || wjAnswer == 'NaN' || wjAnswer == 'undefined') {
|
||||||
|
@ -2008,4 +2194,12 @@ onMounted(() => {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
/deep/.ant-card-head-title {
|
||||||
|
display: inline-block;
|
||||||
|
flex: 1;
|
||||||
|
padding: 16px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: clip;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -11,6 +11,8 @@ enum Api {
|
||||||
deleteBatch = '/wjxWjxx/wjxWjxx/deleteBatch',
|
deleteBatch = '/wjxWjxx/wjxWjxx/deleteBatch',
|
||||||
importExcel = '/wjxWjxx/wjxWjxx/importExcel',
|
importExcel = '/wjxWjxx/wjxWjxx/importExcel',
|
||||||
exportXls = '/wjxWjxx/wjxWjxx/exportXls',
|
exportXls = '/wjxWjxx/wjxWjxx/exportXls',
|
||||||
|
exportTmlbXls = '/wjxWjxxTmlb/wjxWjxxTmlb/exportXls',
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,6 +20,7 @@ enum Api {
|
||||||
* @param params
|
* @param params
|
||||||
*/
|
*/
|
||||||
export const getExportUrl = Api.exportXls;
|
export const getExportUrl = Api.exportXls;
|
||||||
|
export const exportTmlbXls = Api.exportTmlbXls;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入api
|
* 导入api
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
</a-checkbox-group>
|
</a-checkbox-group>
|
||||||
</a-card>
|
</a-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 多选题 -->
|
<!-- 填空题 -->
|
||||||
<div style="width: 100%" v-else-if="item.wjType == 5">
|
<div style="width: 100%" v-else-if="item.wjType == 5">
|
||||||
<div style="text-align: left; width: 100%; font-weight: bold; line-height: 80px; font-size: 18px">填空题</div>
|
<div style="text-align: left; width: 100%; font-weight: bold; line-height: 80px; font-size: 18px">填空题</div>
|
||||||
<a-card>
|
<a-card>
|
||||||
|
@ -85,6 +85,26 @@
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-card>
|
</a-card>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 填空题 -->
|
||||||
|
<div style="width: 100%" v-else-if="item.wjType == 8">
|
||||||
|
<div style="text-align: left; width: 100%; font-weight: bold; line-height: 80px; font-size: 18px">文件上传</div>
|
||||||
|
<a-card>
|
||||||
|
<template #title>
|
||||||
|
<span>{{ index + 1 }}、</span
|
||||||
|
><span v-html="item.wjTitle" style="font-weight: bold; white-space: pre-wrap; word-wrap: break-word" />
|
||||||
|
</template>
|
||||||
|
<template #extra>
|
||||||
|
<span style="margin-left: 40px" v-if="isShow"
|
||||||
|
>题目分值: <span class="answer-word">{{ item.wjScore }}</span> 分</span
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="24">
|
||||||
|
<j-upload v-model:value="item.wjAnswer" :disabled="disabled" ></j-upload>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
<div v-else> 无对应类型 </div>
|
<div v-else> 无对应类型 </div>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
@ -151,6 +171,7 @@ import { defHttp } from '/@/utils/http/axios';
|
||||||
import { queryWjxWjxxTmxxListByMainId, queryDataById, saveOrUpdate, djtj } from '/@/views/kc/wjxWjxxTmlb/WjxWjxxTmlb.api';
|
import { queryWjxWjxxTmxxListByMainId, queryDataById, saveOrUpdate, djtj } from '/@/views/kc/wjxWjxxTmlb/WjxWjxxTmlb.api';
|
||||||
import headerPage from '/@/views/site/common/header.vue';
|
import headerPage from '/@/views/site/common/header.vue';
|
||||||
import footerPage from '/@/views/site/common/footer.vue';
|
import footerPage from '/@/views/site/common/footer.vue';
|
||||||
|
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||||
|
|
||||||
const title = ref<string>('');
|
const title = ref<string>('');
|
||||||
const content = ref<string>('');
|
const content = ref<string>('');
|
||||||
|
@ -213,7 +234,6 @@ function edit(record, isDisabled, type, flag) {
|
||||||
//提交数据
|
//提交数据
|
||||||
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);
|
||||||
for (let i = 0; i < values.length; i++) {
|
for (let i = 0; i < values.length; i++) {
|
||||||
let param = values[i];
|
let param = values[i];
|
||||||
|
|
|
@ -90,6 +90,7 @@
|
||||||
fixed:'right'
|
fixed:'right'
|
||||||
},
|
},
|
||||||
beforeFetch: (params) => {
|
beforeFetch: (params) => {
|
||||||
|
params.column = 'id',params.order = 'desc';//新生成的默认不带排序
|
||||||
return Object.assign(params, queryParam.value);
|
return Object.assign(params, queryParam.value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -93,6 +93,7 @@
|
||||||
fixed:'right'
|
fixed:'right'
|
||||||
},
|
},
|
||||||
beforeFetch: (params) => {
|
beforeFetch: (params) => {
|
||||||
|
params.column = 'id',params.order = 'desc';//新生成的默认不带排序
|
||||||
return Object.assign(params, queryParam.value);
|
return Object.assign(params, queryParam.value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -481,7 +481,7 @@
|
||||||
</a-card>
|
</a-card>
|
||||||
<a-card
|
<a-card
|
||||||
:title="'第' + item.sort + '次作业(占比' + item.score + '%)'"
|
:title="'第' + item.sort + '次作业(占比' + item.score + '%)'"
|
||||||
v-if="item.endTime && item.zyStatus == '1'"
|
v-if="item.endTime && (item.zyStatus == '1' || item.zyStatus == '2')"
|
||||||
class="cardClass module-bg"
|
class="cardClass module-bg"
|
||||||
>
|
>
|
||||||
<template #extra><span class="card-label">已发布</span> </template>
|
<template #extra><span class="card-label">已发布</span> </template>
|
||||||
|
@ -820,7 +820,7 @@ function handleKcnr() {
|
||||||
function searchQueryZyxq() {
|
function searchQueryZyxq() {
|
||||||
selectedRowKeys.value = [];
|
selectedRowKeys.value = [];
|
||||||
|
|
||||||
queryParam.value.mainId = zyInfo.value.id;
|
// queryParam.value.mainId = zyInfo.value.id;
|
||||||
queryParam.value.queryType = queryType.value;
|
queryParam.value.queryType = queryType.value;
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue