+
{{ index + 1 }}、
@@ -265,7 +270,7 @@
-
+
-
+
-
无对应类型
+
+
+
+
+ {{ index + 1 }}、
+
+ [文件上传]
+
+
+
+
+ 5
+ 4
+ 3
+ 2
+ 1
+
+ 自定义分数
+
+ 返回
+
+
+
+
+
+
+
+
+
无对应类型 -{{item.wjType}}-
@@ -567,7 +628,13 @@
修改课程测验次数
- 新增测验
+ 新增测验
+
@@ -840,6 +907,7 @@
+
@@ -863,15 +931,28 @@ import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
import KcTeachingUnitContentOneListModal from '/@/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneListModal.vue';
import YinyongTikuListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuListModal.vue';
import YinyongTikuDcListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuDcListModal.vue';
+import TikuListModal from '/@/views/kc/wjxWjxxTmlb/TikuListModal.vue';
import { create } from 'sortablejs';
+import { downloadByUrl } from '/@/utils/file/download';
+const glob = 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 { query } = unref(currentRoute);
const { rwbh, xqxn, type, teano } = query; //获取传递参数
-const { createConfirm, createMessage } = useMessage();
+const { createConfirm, createMessage,createWarningModal } = useMessage();
//用户相关
const userStore = useUserStore();
const XxhbbksListModalPage = ref();
@@ -879,6 +960,7 @@ const WjxWjxxTmlbDjjgsModalPage = ref();
const registerZcjcModal = ref();
const YinyongTikuListModalpage = ref();
const YinyongTikuDcListModalpage = ref();
+const TikuListModalPage = ref();
const showType = ref
(0);
const zycs = ref(0);
@@ -953,6 +1035,92 @@ function handleViewEwm(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: ``,
+ });
+ //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: `
+ ${fileInfo.message}
+
`,
+ });
+ }
+ } catch (error) {
+ console.log('导入的数据异常', error);
+ } finally {
+ }
+ };
+ await defHttp.uploadFile({ url }, { file: data.file }, { success: isReturn });
+ }
+
+
+
+
//答题结果
function handleTeaDtjg(item) {
console.log('🧳', item);
@@ -1253,6 +1421,22 @@ function addTigan(type) {
};
list.push(params);
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;
- if (wjType != 5) {
+ if (wjType == 3 && wjType == 4) {
var itemlist = param.wjxWjxxTmxxList;
for (let j = 0; j < itemlist.length; j++) {
if (!itemlist[j].itemTitle) {
@@ -1563,7 +1747,9 @@ async function submitForm() {
return;
}
}
- } else {
+ }else if(wjType == 8){
+
+ } else if(wjType == 6) {
if (isShow.value) {
var wjAnswer = values[i].wjAnswer;
if (!wjAnswer || wjAnswer == 'NaN' || wjAnswer == 'undefined') {
@@ -2008,4 +2194,12 @@ onMounted(() => {
margin-left: 10px;
font-size: 12px;
}
+/deep/.ant-card-head-title {
+ display: inline-block;
+ flex: 1;
+ padding: 16px 0;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: clip;
+}
diff --git a/src/views/kc/wjxWjxx/WjxWjxx.api.ts b/src/views/kc/wjxWjxx/WjxWjxx.api.ts
index 2f95de7..39932aa 100644
--- a/src/views/kc/wjxWjxx/WjxWjxx.api.ts
+++ b/src/views/kc/wjxWjxx/WjxWjxx.api.ts
@@ -11,6 +11,8 @@ enum Api {
deleteBatch = '/wjxWjxx/wjxWjxx/deleteBatch',
importExcel = '/wjxWjxx/wjxWjxx/importExcel',
exportXls = '/wjxWjxx/wjxWjxx/exportXls',
+ exportTmlbXls = '/wjxWjxxTmlb/wjxWjxxTmlb/exportXls',
+
}
/**
@@ -18,6 +20,7 @@ enum Api {
* @param params
*/
export const getExportUrl = Api.exportXls;
+export const exportTmlbXls = Api.exportTmlbXls;
/**
* 导入api
diff --git a/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue b/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue
index 2d194f5..81d7f06 100644
--- a/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue
+++ b/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue
@@ -59,7 +59,7 @@