作业发布时间:{{ item.startTime ? dayjs(item.startTime).format('YYYY.MM.DD HH:mm') : '未设置' }}
-
编辑作业
+
编辑作业
发布作业
@@ -491,8 +514,12 @@ const disabledDate = (current: Dayjs) => {
};
const useForm = Form.useForm;
+function handleXshpkg(record) {
+ console.log('👨👧👦', record);
+}
+
//获取查重结果
-function handleViewInfo(record){
+function handleViewInfo(record) {
defHttp.get({ url: '/zyCcjg/zyCcjg/ccjglist', params: { zyStuId: record.id } }).then((res) => {
console.log('🤦♀️', res);
tableCcjgData.value = res;
@@ -500,16 +527,16 @@ function handleViewInfo(record){
handleShowType(4);
}
//产看论文报告
-function handleOpenLwxx(record){
- window.open(record.paperviewurl,"_blank");
+function handleOpenLwxx(record) {
+ window.open(record.paperviewurl, '_blank');
}
//选择章次节次后的回调
function handleCheckZcjcSuccess(record) {
console.log('🙅♂️', record);
console.log('🙅♂️', record[0]);
- var kcnr = "";
- kcnr = kcnr?kcnr:'';
+ var kcnr = '';
+ kcnr = kcnr ? kcnr : '';
for (var i = 0; i < record.length; i++) {
kcnr = kcnr + record[i] + ',';
}
@@ -519,20 +546,19 @@ function handleCheckZcjcSuccess(record) {
zyInfo.value.kcnr = kcnr;
console.log('💑', kcnr);
- if(kcnr){
+ if (kcnr) {
defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
console.log('🤦♀️', res);
dataKhnr.value = res;
});
- }else{
+ } else {
dataKhnr.value = [];
}
-
}
//选择考察内容
function handleKcnr() {
- registerZcjcModal.value.disableSubmit = true;
+ registerZcjcModal.value.disableSubmit = false;
registerZcjcModal.value.init({ rwbh, xnxq: xqxn, createBy: teano });
// defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { rwbh, xnxq: xqxn, createBy: teano } }).then((res) => {
// console.log('🤦♀️', res);
@@ -545,13 +571,16 @@ function handleKcnr() {
*/
function searchQueryZyxq() {
selectedRowKeys.value = [];
+
+ queryParam.value.mainId = zyInfo.value.id;
+ queryParam.value.queryType = queryType.value;
reload();
}
//新增一次作业
function handleAddOne() {
defHttp.post({ url: '/zyInfo/zyInfo/addOne', params: { rwbh, xnxq: xqxn, teano } }).then((res) => {
- handleSuccess();
+ handleSuccess2();
});
}
@@ -661,8 +690,26 @@ async function batchHandleFabu() {
createMessage.warn('请勾选要发布的数据!');
return;
}
- await batchFabu({ ids: selectedRowKeys.value }, handleSuccess);
+
+ var datapar2 = rowSelection.selectedRows;
+ console.log('👌', datapar2);
+ var sfjx = '0';
+ for (var i = 0; i < datapar2.length; i++) {
+ var score = datapar2[i].score;
+ if (!score) {
+ sfjx = '1';
+ break;
+ }
+ }
+ if (sfjx == '1') {
+ createMessage.warning('您有未填写的评分信息,不可一键发布,请检查您的评分数据!');
+ return;
+ } else {
+ await batchFabu({ ids: selectedRowKeys.value }, handleSuccess2);
+ }
}
+
+//
//表单验证
const validatorRules = {
title: [{ required: true, message: '请输入作业名称!' }],
@@ -689,6 +736,12 @@ const labelCol3 = reactive({
const wrapperCol3 = reactive({
sm: { span: 20 },
});
+const labelCol4 = reactive({
+ sm: { span: 8 },
+});
+const wrapperCol4 = reactive({
+ sm: { span: 14 },
+});
//作业要求切换
function handleZyyqShow(type) {
if (type == 1) {
@@ -708,6 +761,7 @@ function handlePfbzShow(type) {
//尚未布置作业题目及具体要求
function handleSzzynr(record) {
zyInfo.value = record;
+ dataKhnr.value = [];
handleShowType(2);
}
//批量进行保存
@@ -890,7 +944,7 @@ const columnsCcjg = [
dataIndex: 'ccType',
key: 'ccType',
customRender: (text) => {
- return "是";
+ return '是';
},
},
{
@@ -948,10 +1002,11 @@ function handleAdd() {
*/
function handleEdit(record, type) {
editDisabled.value = type;
+ console.log('👨👨👧👧', editDisabled);
zyInfo.value = record;
dataKhnr.value = [];
var kcnr = zyInfo.value.kcnr;
- if(kcnr){
+ if (kcnr) {
defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
console.log('🤦♀️', res);
dataKhnr.value = res;
@@ -975,6 +1030,7 @@ function handleDetail(record: Recordable) {
//查看作业信息
function handleZyxx(record, type) {
+ zyInfo.value = record;
handleShowType(3);
queryType.value = type;
queryParam.value = {};
@@ -1040,12 +1096,12 @@ function handleSuccess2() {
* 成功回调,用于增加、修改、发布和撤回
*/
function handleSuccess() {
- reloadZy();
+ searchQueryZyxq();
}
function handleZySuccess(zyid) {
setTimeout(() => {
- handleSuccess();
+ handleSuccess2();
}, 1500);
var url = '/zyInfo/zyInfo/editStudent';
defHttp.get({ url: url, params: { id: zyid } }).then((res) => {});
@@ -1065,7 +1121,7 @@ function searchQuery() {
function searchReset() {
queryParam.value = {};
total.value = 1;
- handlePageChange(1);
+ searchQueryZyxq();
}
//查询列表数据
@@ -1118,7 +1174,7 @@ onMounted(() => {
.tishi {
font-size: 12px;
color: #adabab;
- margin-top: 50px;
+ margin-top: 8px;
}
.cardClass {
min-height: 200px;
diff --git a/src/views/zy/zyInfo/components/ZyInfoDetailForm.vue b/src/views/zy/zyInfo/components/ZyInfoDetailForm.vue
index 0b80587..a12974c 100644
--- a/src/views/zy/zyInfo/components/ZyInfoDetailForm.vue
+++ b/src/views/zy/zyInfo/components/ZyInfoDetailForm.vue
@@ -3,9 +3,81 @@
- 作业名称:{{formData.title}}
+
+
+
+
+ {{formData.title}}
+
+
+
+
+
+
+
+
+
+ {{formData.endTime}}
+
+
+
+
+ {{formData.startTime}}
+
+
+
+
+
+
+
+
+
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+ 维普
+
+
维普资源库查重:中文科技期刊数据库、硕博学位论文库、高校特色论文库、互联网数据资源/互联网文档资源
+
学校作业库查重:历届学生提供的作业库内查重
+
本次作业查重:本次学生提交的作业间查重
+
+ AIGC
+
+
AIGC查重:检测作业是否部分或全部由AI模型生成
+
+
+
+
+
+
-
+
@@ -55,6 +127,7 @@
import { useRouter } from 'vue-router';
import dayjs, { Dayjs } from 'dayjs';
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
+ import {getFileAccessHttpUrl} from "/@/utils/common/compUtils";
import { downloadFile } from '/@/utils/common/renderUtils';
//当前路由信息
@@ -69,6 +142,7 @@
const formRef = ref();
const useForm = Form.useForm;
const emit = defineEmits(['register', 'ok']);
+ const dataKhnr = ref
([]);
const formData = reactive>({
id: '',
title: '',
@@ -88,10 +162,25 @@
xntgl: undefined,
});
const { createMessage } = useMessage();
- const labelCol = ref({ xs: { span: 24 }, sm: { span: 6 } });
+ const labelCol = ref({ xs: { span: 24 }, sm: { span: 5 } });
const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 16 } });
- const labelCol2 = ref({ xs: { span: 24 }, sm: { span: 3 } });
- const wrapperCol2 = ref({ xs: { span: 24 }, sm: { span: 20 } });
+ // const labelCol2 = ref({ xs: { span: 24 }, sm: { span: 3 } });
+ // const wrapperCol2 = ref({ xs: { span: 24 }, sm: { span: 20 } });
+
+
+ const labelCol2 = reactive({
+ sm: { span: 10 },
+ });
+ const wrapperCol2 = reactive({
+ sm: { span: 10 },
+ });
+ const labelCol3 = reactive({
+ sm: { span: 4 },
+ });
+ const wrapperCol3 = reactive({
+ sm: { span: 20 },
+ });
+
const confirmLoading = ref(false);
//表单验证
const validatorRules = {
@@ -125,6 +214,40 @@
});
+const columnsKhnr = [
+ {
+ title: '序号',
+ dataIndex: 'no',
+ key: 'no',
+ customRender: (text) => {
+ return text.index + 1;
+ },
+ width: 80,
+ },
+ {
+ title: '章次',
+ dataIndex: 'title',
+ key: 'title',
+ },
+ {
+ title: '节次',
+ dataIndex: 'twoTitle',
+ key: 'twoTitle',
+ },
+];
+
+ function downLoad(file) {
+ if (file) {
+ let url = getFileAccessHttpUrl(file);
+ if (url) {
+ window.open(url);
+ }
+ } else {
+ createMessage.warning('暂无文件或文件上传中');
+ }
+}
+
+
/**
* 新增
*/
@@ -140,6 +263,7 @@
resetFields();
//赋值
Object.assign(formData, record);
+ handleKcnr(formData.kcnr);
});
}
@@ -211,6 +335,17 @@
});
}
+//选择考察内容
+function handleKcnr(kcnr) {
+ if(kcnr){
+ defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
+ console.log('🤦♀️', res);
+ dataKhnr.value = res;
+ });
+ }else{
+ dataKhnr.value = [];
+ }
+}
defineExpose({
add,
diff --git a/src/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneList.vue b/src/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneList.vue
index 9d60075..91c7c75 100644
--- a/src/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneList.vue
+++ b/src/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneList.vue
@@ -4,7 +4,7 @@
- 确认
+
@@ -44,6 +123,7 @@
const globSetting = useGlobSetting();
const baseApiUrl = globSetting.domainUrl;
const { createConfirm } = useMessage();
+ const dataKhnr = ref([]);
const props = defineProps({
formDisabled: { type: Boolean, default: false },
@@ -81,7 +161,53 @@
return props.formDisabled;
});
+ const labelCol2 = reactive({
+ sm: { span: 10 },
+ });
+ const wrapperCol2 = reactive({
+ sm: { span: 10 },
+ });
+ const labelCol3 = reactive({
+ sm: { span: 4 },
+ });
+ const wrapperCol3 = reactive({
+ sm: { span: 20 },
+ });
+const columnsKhnr = [
+ {
+ title: '序号',
+ dataIndex: 'no',
+ key: 'no',
+ customRender: (text) => {
+ return text.index + 1;
+ },
+ width: 80,
+ },
+ {
+ title: '章次',
+ dataIndex: 'title',
+ key: 'title',
+ },
+ {
+ title: '节次',
+ dataIndex: 'twoTitle',
+ key: 'twoTitle',
+ },
+];
+
+//选择考察内容
+function handleKcnr(kcnr) {
+ if(kcnr){
+ defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
+ console.log('🤦♀️', res);
+ dataKhnr.value = res;
+ });
+ }else{
+ dataKhnr.value = [];
+ }
+
+}
/**
* 新增
*/
@@ -112,6 +238,8 @@
console.log(`🚀 ~ defHttp.get ~ res:`, res)
zyInfo.value = res;
console.log(`🚀 ~ defHttp.get ~ zyInfo:`, zyInfo)
+
+ handleKcnr(zyInfo.value.kcnr)
});
diff --git a/src/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue b/src/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue
index 860d204..32b2e33 100644
--- a/src/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue
+++ b/src/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue
@@ -9,7 +9,7 @@
import ZyInfoStudentForm from './ZyInfoStudentForm.vue'
const title = ref('');
- const width = ref(800);
+ const width = ref(1100);
const visible = ref(false);
const loading = ref(false);
const disableSubmit = ref(false);
diff --git a/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue
index 2727ef9..40bb156 100644
--- a/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue
+++ b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue
@@ -2,12 +2,12 @@
-
+
-
+
@@ -61,16 +61,26 @@
function handleJyfz(record){
console.log(`🚀 ~ handleJyfz ~ record:`, record)
- if(zyInfo.score){
- if(parseInt(record) > parseInt(zyInfo.score)){
- createMessage.warning('评分不能超过预设作业分值!');
- formData.score = zyInfo.score;
- }
- }else{
- if(parseInt(record) > 100){
- createMessage.warning('评分不能超过100分!');
- formData.score = zyInfo.score;
- }
+ // if(zyInfo.score){
+ // if(parseInt(record) > parseInt(zyInfo.score)){
+ // createMessage.warning('评分不能超过预设作业分值!');
+ // formData.score = zyInfo.score;
+ // }
+ // }else{
+ // if(parseInt(record) > 100){
+ // createMessage.warning('评分不能超过100分!');
+ // formData.score = zyInfo.score;
+ // }
+ // }
+
+ if(parseInt(record) > 100){
+ createMessage.warning('评分不能超过100分!');
+ formData.score = 100;
+ }
+
+ if(parseInt(record) < 0){
+ createMessage.warning('评分不能低于0分!');
+ formData.score = 0;
}
}
diff --git a/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.api.ts b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.api.ts
new file mode 100644
index 0000000..0195a92
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.api.ts
@@ -0,0 +1,85 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/zyInfoStudentHp/zyInfoStudentHp/list',
+ getHpxxList = '/zyInfoStudent/zyInfoStudent/getHpxxList',
+ save='/zyInfoStudentHp/zyInfoStudentHp/add',
+ saveOne='/zyInfoStudentHp/zyInfoStudentHp/saveOne',
+ saveTwo='/zyInfoStudentHp/zyInfoStudentHp/saveTwo',
+ edit='/zyInfoStudentHp/zyInfoStudentHp/edit',
+ deleteOne = '/zyInfoStudentHp/zyInfoStudentHp/delete',
+ deleteBatch = '/zyInfoStudentHp/zyInfoStudentHp/deleteBatch',
+ importExcel = '/zyInfoStudentHp/zyInfoStudentHp/importExcel',
+ exportXls = '/zyInfoStudentHp/zyInfoStudentHp/exportXls',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+export const getHpxxList = (params) => defHttp.get({ url: Api.getHpxxList, params });
+
+/**
+ * 删除单个
+ * @param params
+ * @param handleSuccess
+ */
+export const deleteOne = (params,handleSuccess) => {
+ return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+}
+
+/**
+ * 批量删除
+ * @param params
+ * @param handleSuccess
+ */
+export const batchDelete = (params, handleSuccess) => {
+ createConfirm({
+ iconType: 'warning',
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+ }
+ });
+}
+
+/**
+ * 保存或者更新
+ * @param params
+ * @param isUpdate
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({ url: url, params }, { isTransformResponse: false });
+}
+
+
+export const saveOne = (params,handleSuccess) => {
+ return defHttp.post({ url: Api.saveOne, params }, { isTransformResponse: false });
+}
+
+export const saveTwo = (params,handleSuccess) => {
+ return defHttp.post({ url: Api.saveTwo, params }, { isTransformResponse: false });
+}
\ No newline at end of file
diff --git a/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.data.ts b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.data.ts
new file mode 100644
index 0000000..984e629
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHp.data.ts
@@ -0,0 +1,117 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '作业id',
+ align: "center",
+ dataIndex: 'zyStuId'
+ },
+ {
+ title: '学生id',
+ align: "center",
+ dataIndex: 'stuId'
+ },
+ {
+ title: '评分',
+ align: "center",
+ dataIndex: 'stuScore'
+ },
+ {
+ title: '第几次',
+ align: "center",
+ dataIndex: 'verType'
+ },
+ {
+ title: '学生姓名',
+ align: "center",
+ dataIndex: 'stuName'
+ },
+ {
+ title: '是否采纳',
+ align: "center",
+ dataIndex: 'sfcn'
+ },
+ {
+ title: '作业主id',
+ align: "center",
+ dataIndex: 'mainId'
+ },
+];
+
+export const columnsZyhp: BasicColumn[] = [
+ {
+ title: '作业名称',
+ align: "center",
+ dataIndex: 'zytitle'
+ },
+ {
+ title: '学生姓名',
+ align: "center",
+ dataIndex: 'studentName'
+ },
+ {
+ title: '作业下载',
+ align: "center",
+ dataIndex: 'filePath',
+ slots: { customRender: 'fileSlot' },
+ },
+ {
+ title: '是否完成',
+ align: "center",
+ dataIndex: 'sfpf',
+ slots: { customRender: 'sfpfSlot' },
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '作业id',
+ field: 'zyStuId',
+ component: 'Input',
+ },
+ {
+ label: '学生id',
+ field: 'stuId',
+ component: 'Input',
+ },
+ {
+ label: '评分',
+ field: 'stuScore',
+ component: 'Input',
+ },
+ {
+ label: '第几次',
+ field: 'verType',
+ component: 'Input',
+ },
+ {
+ label: '学生姓名',
+ field: 'stuName',
+ component: 'Input',
+ },
+ {
+ label: '是否采纳',
+ field: 'sfcn',
+ component: 'Input',
+ },
+ {
+ label: '作业主id',
+ field: 'mainId',
+ component: 'Input',
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/zy/zyInfoStudentHp/ZyInfoStudentHpList.vue b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHpList.vue
new file mode 100644
index 0000000..43ff303
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/ZyInfoStudentHpList.vue
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 否
+ 是
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpForm.vue b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpForm.vue
new file mode 100644
index 0000000..5abb691
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpForm.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpModal.vue b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpModal.vue
new file mode 100644
index 0000000..3f31618
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneForm.vue b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneForm.vue
new file mode 100644
index 0000000..1c2a817
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneForm.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneModal.vue b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneModal.vue
new file mode 100644
index 0000000..ff7fc84
--- /dev/null
+++ b/src/views/zy/zyInfoStudentHp/components/ZyInfoStudentHpOneModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+