mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-21 16:56:46 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
2
.env
2
.env
@@ -39,3 +39,5 @@ VUE_APP_H5=//u-pre.boe.com/student-h5
|
|||||||
VUE_APP_AVATAR_PATH=/upload/
|
VUE_APP_AVATAR_PATH=/upload/
|
||||||
# 旧版管理员界面
|
# 旧版管理员界面
|
||||||
VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html
|
VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html
|
||||||
|
# 批量面授报名模板
|
||||||
|
VUE_APP_FACE_STUDENT_TEMPLATE=批量面授报名模版-1673963663229.xlsx
|
||||||
2
.env.boe
2
.env.boe
@@ -14,3 +14,5 @@ VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=coursefile/外部考试学员成绩导入
|
|||||||
VUE_APP_ONLINE_CLASS_URL=//u-pre.boe.com/mobile/pages/study/courseStudy?id=
|
VUE_APP_ONLINE_CLASS_URL=//u-pre.boe.com/mobile/pages/study/courseStudy?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
||||||
VUE_APP_EXAM_DETAIL_URL=//u-pre.boe.com/mobile/pages/exam/exam?id=
|
VUE_APP_EXAM_DETAIL_URL=//u-pre.boe.com/mobile/pages/exam/exam?id=
|
||||||
|
# 批量面授报名模板
|
||||||
|
VUE_APP_FACE_STUDENT_TEMPLATE=coursefile/批量面授报名模版-1679595849719.xlsx
|
||||||
@@ -30,3 +30,5 @@ VUE_APP_FILE_PATH=/upload/boe/file/
|
|||||||
VUE_APP_AVATAR_PATH=/upload/
|
VUE_APP_AVATAR_PATH=/upload/
|
||||||
# 旧版管理员界面
|
# 旧版管理员界面
|
||||||
VUE_APP_OLD_MANAGE=//u.boe.com/resource/index.html
|
VUE_APP_OLD_MANAGE=//u.boe.com/resource/index.html
|
||||||
|
# 批量面授报名模板
|
||||||
|
VUE_APP_FACE_STUDENT_TEMPLATE=/file/批量面授报名模版-1679595925822.xlsx
|
||||||
@@ -26,3 +26,5 @@ VUE_APP_H5=//u.boe.com/student-h5-release
|
|||||||
VUE_APP_AVATAR_PATH=/upload/
|
VUE_APP_AVATAR_PATH=/upload/
|
||||||
# 旧版管理员界面
|
# 旧版管理员界面
|
||||||
VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html
|
VUE_APP_OLD_MANAGE=//u-pre.boe.com/resource/index.html
|
||||||
|
# 批量面授报名模板
|
||||||
|
VUE_APP_FACE_STUDENT_TEMPLATE=批量面授报名模版-1673963663229.xlsx
|
||||||
@@ -33,7 +33,7 @@ import {USER_PERMISSION} from "@/api/ThirdApi";
|
|||||||
|
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const isLogin = ref(false);
|
const isLogin = ref(false);
|
||||||
console.log("版本2.2.5------------");
|
console.log("版本2.2.6------------");
|
||||||
|
|
||||||
// 监听关闭浏览器
|
// 监听关闭浏览器
|
||||||
let time1 = ref(0);
|
let time1 = ref(0);
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ http.interceptors.response.use(
|
|||||||
const {
|
const {
|
||||||
data: {code, msg ,show},
|
data: {code, msg ,show},
|
||||||
} = response;
|
} = response;
|
||||||
console.log('code', code)
|
|
||||||
if (code === 0 || code === 200) {
|
if (code === 0 || code === 200) {
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@@ -65,7 +64,7 @@ http.interceptors.response.use(
|
|||||||
localStorage.removeItem('refreshPage')
|
localStorage.removeItem('refreshPage')
|
||||||
return Promise.reject(response);
|
return Promise.reject(response);
|
||||||
}
|
}
|
||||||
show && message.error(msg);
|
show ? message.error(msg):message.error('系统接口数据异常,请联系管理员');
|
||||||
console.log("api %o", msg);
|
console.log("api %o", msg);
|
||||||
return Promise.reject(response);
|
return Promise.reject(response);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import {isRef, reactive, ref, toRefs, unref, watch, watchEffect} from "vue";
|
import {isRef, reactive, ref, toRefs, unref, watch, watchEffect} from "vue";
|
||||||
import {getCookieForName, throttle} from "@/api/method";
|
import {getCookieForName, throttle} from "@/api/method";
|
||||||
import JSONBigInt from "json-bigint";
|
import JSONBigInt from "json-bigint";
|
||||||
|
import router from "@/router";
|
||||||
|
import {message} from "ant-design-vue";
|
||||||
|
|
||||||
const JSONBigIntStr = JSONBigInt({ storeAsString: true });
|
const JSONBigIntStr = JSONBigInt({ storeAsString: true });
|
||||||
|
|
||||||
@@ -346,5 +348,18 @@ export async function request(_url, params) {
|
|||||||
return res.text();
|
return res.text();
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
return JSONBigIntStr.parse(res);
|
return JSONBigIntStr.parse(res);
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0 || res.code === 200) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
if (res.code === 1000) {
|
||||||
|
(process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'alpine') ?
|
||||||
|
router.push({path: 'login', query: { returnUrl: router.currentRoute.value.fullPath }}) :
|
||||||
|
(window.location.href = process.env.VUE_APP_LOGIN_URL + encodeURIComponent(window.location.protocol + process.env.VUE_APP_BOE_API_URL + process.env.VUE_APP_BASE + router.currentRoute.value.fullPath))
|
||||||
|
localStorage.removeItem('refreshPage')
|
||||||
|
return Promise.reject(res);
|
||||||
|
}
|
||||||
|
res.show ? message.error(res.msg):message.error('系统接口数据异常,请联系管理员');
|
||||||
|
return Promise.reject(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<span style="margin-right: 3px">讨论设置:</span>
|
<span style="margin-right: 3px">讨论设置:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-checkbox v-model:checked="formData.discussSettings" @click="formData.discussSettings = !formData.discussSettings">允许评论</a-checkbox>
|
<a-checkbox v-model:checked="formData.discussSettings" @click="discussSettings">允许评论</a-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,10 +136,14 @@ function openDrawer(i, row) {
|
|||||||
console.log(i,row)
|
console.log(i,row)
|
||||||
row && (formData.value = {...row.info});
|
row && (formData.value = {...row.info});
|
||||||
(i >= 0) && (taskIndex.value = i);
|
(i >= 0) && (taskIndex.value = i);
|
||||||
row && (formData.value.discussSettings = row.info.discussSettings === "false" ? false : true);
|
row && (formData.value.discussSettings = row.info.discussSettings === "false" || row.info.discussSettings === false ? false : true);
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const discussSettings = () => {
|
||||||
|
formData.value.discussSettings = !formData.value.discussSettings;
|
||||||
|
}
|
||||||
|
|
||||||
defineExpose({openDrawer})
|
defineExpose({openDrawer})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%;"
|
style="width: 100%; height: 100%;"
|
||||||
:src="iframeUrl + '/exam/viewanswer?id=' + datasource.answerId "
|
:src="iframeUrl + '/exam/viewanswer?id=' + answerId?answerId:datasource.answerId "
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
@@ -54,6 +54,10 @@ export default {
|
|||||||
default: function () {
|
default: function () {
|
||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
answerId:{
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup(props,ctx){
|
setup(props,ctx){
|
||||||
|
|||||||
@@ -22,17 +22,14 @@
|
|||||||
style="border: 1px solid #f2f6fe"
|
style="border: 1px solid #f2f6fe"
|
||||||
:columns="tablecolumns"
|
:columns="tablecolumns"
|
||||||
:data-source="tabledata"
|
:data-source="tabledata"
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
|
||||||
@expand="expandTable"
|
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
v-if="tableDataTotal > 10"
|
|
||||||
:showSizeChanger="false"
|
:showSizeChanger="false"
|
||||||
showQuickJumper="true"
|
:showQuickJumper="true"
|
||||||
hideOnSinglePage="true"
|
:hideOnSinglePage="true"
|
||||||
:pageSize="pageSize"
|
:pageSize="pageSize"
|
||||||
:current="currentPage"
|
:current="currentPage"
|
||||||
:total="tableDataTotal"
|
:total="tableDataTotal"
|
||||||
@@ -138,7 +135,7 @@ export default {
|
|||||||
studentScoreList(obj).then((res) => {
|
studentScoreList(obj).then((res) => {
|
||||||
console.log("dede", res.data.data);
|
console.log("dede", res.data.data);
|
||||||
let result = res.data.data;
|
let result = res.data.data;
|
||||||
state.tableDataTotal = result.pageSize;
|
state.tableDataTotal = result.total;
|
||||||
if (result.pageSize > 0) {
|
if (result.pageSize > 0) {
|
||||||
setTable(result.rows);
|
setTable(result.rows);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,11 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="minatitl">
|
<div class="up1" v-if="templateUrl">
|
||||||
<div class="up1" style="font-weight: bolder">导入小组长</div>
|
请下载
|
||||||
<!--<div class="up2" @click="downTemplate" style="cursor: pointer">-->
|
<a :href="templateUrl" target="_blank">模版</a>
|
||||||
<!--模板-->
|
,按要求填写并导入
|
||||||
<!--</div>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="up1">请先导出小组填写小组长,按要求填写数据并导入</div>
|
|
||||||
<div class="upload">
|
<div class="upload">
|
||||||
<div class="text">上传:</div>
|
<div class="text">上传:</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
@@ -65,7 +63,7 @@
|
|||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div style="color: #387df7; margin-left: 20px; cursor: pointer"
|
<div style="color: #387df7; margin-left: 20px; cursor: pointer"
|
||||||
v-if="file.uploadState?.status === 'FAILED'" @click="downloadErrorData(file.uploadState?.url)">
|
v-if="file.uploadState?.status === 'FAILED'" @click="downloadErrorData(file.uploadState?.url)">
|
||||||
下载失败数据1
|
下载失败数据
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,10 +127,6 @@ const closeDrawer = () => {
|
|||||||
function openDrawer() {
|
function openDrawer() {
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// function downTemplate() {
|
|
||||||
// window.open(process.env.VUE_APP_BASE_API + props.templateUrl);
|
|
||||||
// }
|
|
||||||
|
|
||||||
function downloadErrorData(url) {
|
function downloadErrorData(url) {
|
||||||
window.open(process.env.VUE_APP_FILE_PATH + url)
|
window.open(process.env.VUE_APP_FILE_PATH + url)
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<CheckAnsware v-model:CAvisible="CAvisible" :datasource="answerDatasource"/>
|
<CheckAnsware v-model:CAvisible="CAvisible" :datasource="answerDatasource" :answerId="answerId"/>
|
||||||
<!-- 查看作业抽屉 -->
|
<!-- 查看作业抽屉 -->
|
||||||
<CKWork
|
<CKWork
|
||||||
v-model:CWvisible="CWvisible"
|
v-model:CWvisible="CWvisible"
|
||||||
@@ -340,10 +340,11 @@ const batchFinish = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const answerDatasource = ref(props.datasource);
|
const answerDatasource = ref(props.datasource);
|
||||||
|
const answerId = ref('');
|
||||||
const showExamAnswer = (answerId) => {
|
const showExamAnswer = (answerId) => {
|
||||||
console.log(answerDatasource.value)
|
console.log(answerDatasource.value,answerId)
|
||||||
answerDatasource.value.answerId = answerId;
|
answerDatasource.value.answerId = answerId;
|
||||||
|
answerId.value = answerId;
|
||||||
CAvisible.value = true;
|
CAvisible.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -85,10 +85,17 @@
|
|||||||
<div
|
<div
|
||||||
class="btn btn1"
|
class="btn btn1"
|
||||||
style="margin-right: 20px"
|
style="margin-right: 20px"
|
||||||
@click="qrcodeVisible()"
|
@click="qrcodeVisibleSign()"
|
||||||
>
|
>
|
||||||
<div class="wz">签到二维码</div>
|
<div class="wz">签到二维码</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
class="btn btn1"
|
||||||
|
style="margin-right: 20px"
|
||||||
|
@click="qrcodeVisible()"
|
||||||
|
>
|
||||||
|
<div class="wz">开课二维码</div>
|
||||||
|
</div>
|
||||||
<CommonStudent
|
<CommonStudent
|
||||||
:type="3"
|
:type="3"
|
||||||
:isGroup="true"
|
:isGroup="true"
|
||||||
@@ -103,7 +110,7 @@
|
|||||||
添加学员
|
添加学员
|
||||||
</a-button>
|
</a-button>
|
||||||
</CommonStudent>
|
</CommonStudent>
|
||||||
<CommonImport title="导入学员" :template-url="stuTemplateUrl" :data="{ targetId: offcoursePlanId, type:3 }" :url="`/admin/student/importStudent`" name="uploadFile">
|
<CommonImport @change="change" title="导入学员" :template-url="stuTemplateUrl" :data="{ targetId: offcoursePlanId, type:3 }" :url="`/admin/student/importStudent`" name="uploadFile">
|
||||||
<div class="btn btn1" style="margin-right: 20px;margin-left: 20px">
|
<div class="btn btn1" style="margin-right: 20px;margin-left: 20px">
|
||||||
<div class="img1"></div>
|
<div class="img1"></div>
|
||||||
<div class="wz">导入学员</div>
|
<div class="wz">导入学员</div>
|
||||||
@@ -370,12 +377,29 @@ function resetStudentPage() {
|
|||||||
//二维码
|
//二维码
|
||||||
const qrcodeVisible = () => {
|
const qrcodeVisible = () => {
|
||||||
qrCode({
|
qrCode({
|
||||||
title: "【签到】二维码",
|
title: "【开课】二维码",
|
||||||
name: props.datasource?.name,
|
name: props.datasource?.name,
|
||||||
// url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${props.datasource.id}&taskType=${props.datasource.type}&type=${props.type}`,
|
// url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${props.datasource.id}&taskType=${props.datasource.type}&type=${props.type}`,
|
||||||
url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/stu/project/redirectDetail?courseId=${data.value[coursePlanIndex.value]?.id}`,
|
url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/stu/project/redirectDetail?courseId=${data.value[coursePlanIndex.value]?.id}`,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
// 签到二维码
|
||||||
|
const qrcodeVisibleSign = () => {
|
||||||
|
qrCode({
|
||||||
|
title: "【签到】二维码",
|
||||||
|
name: props.datasource?.name,
|
||||||
|
// url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${props.datasource.id}&taskType=${props.datasource.type}&type=${props.type}`,
|
||||||
|
url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/admin/student/studentSign?taskId=${data.value[coursePlanIndex.value]?.id}&taskType=${2}&type=${3}`,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const change = (e) => {
|
||||||
|
console.log(e)
|
||||||
|
if(e==="end"){
|
||||||
|
// 请求刷新数据
|
||||||
|
tableRef.value.fetch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -374,7 +374,7 @@ const member = ref(false);
|
|||||||
const dept = ref(false);
|
const dept = ref(false);
|
||||||
const projectStuTableRef = ref();
|
const projectStuTableRef = ref();
|
||||||
const stuTableRef = ref();
|
const stuTableRef = ref();
|
||||||
const projectParams = ref({ pid: props.infoId, type: props.infoType });
|
const projectParams = ref({ pid: props.infoId, type: props.infoType, studentName:"" });
|
||||||
|
|
||||||
const getProjectStu = () => projectStuTableRef.value.fetch();
|
const getProjectStu = () => projectStuTableRef.value.fetch();
|
||||||
const resetProjectStu = () => {
|
const resetProjectStu = () => {
|
||||||
@@ -544,6 +544,8 @@ const orgRowSelection = computed(() => ({
|
|||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
deleteDepSelect();
|
deleteDepSelect();
|
||||||
|
audienceName.value.keyword = "";
|
||||||
|
auditTableRef.value.reset({ keyword: "" })
|
||||||
projectParams.value.studentName = "";
|
projectParams.value.studentName = "";
|
||||||
projectStuTableRef.value.reset();
|
projectStuTableRef.value.reset();
|
||||||
visiable.value = false;
|
visiable.value = false;
|
||||||
@@ -607,9 +609,16 @@ function onOrgSelectChange(e, l) {
|
|||||||
deptList.value = l.selectedNodes;
|
deptList.value = l.selectedNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
const resetStu = () => stuTableRef.value.reset({ keyword: "", departId: null });
|
const resetStu = () => {
|
||||||
|
nameSearch.value.keyword = "";
|
||||||
|
stuTableRef.value.reset({ keyword: "", departId: null })
|
||||||
|
};
|
||||||
//清空选择部门信息
|
//清空选择部门信息
|
||||||
const deleteDepSelect = () => {
|
const deleteDepSelect = () => {
|
||||||
|
projectParams.value.studentName = "";
|
||||||
|
projectStuTableRef.value.reset();
|
||||||
|
audienceName.value.keyword = "";
|
||||||
|
auditTableRef.value.reset({ keyword: "" })
|
||||||
selectedOrgKeys.value = [];
|
selectedOrgKeys.value = [];
|
||||||
projectSelectKeys.value = [];
|
projectSelectKeys.value = [];
|
||||||
};
|
};
|
||||||
@@ -618,7 +627,10 @@ const resetOrg = () => {
|
|||||||
searchOrgName.value = { keyword: "", page: 1, pageSize: 10 };
|
searchOrgName.value = { keyword: "", page: 1, pageSize: 10 };
|
||||||
};
|
};
|
||||||
//重置受众
|
//重置受众
|
||||||
const resetAudienceInfo = () => auditTableRef.value.reset({ keyword: "" });
|
const resetAudienceInfo = () => {
|
||||||
|
audienceName.value.keyword = "";
|
||||||
|
auditTableRef.value.reset({ keyword: "" })
|
||||||
|
};
|
||||||
|
|
||||||
//确定添加授权
|
//确定添加授权
|
||||||
const submitAuth = () => {
|
const submitAuth = () => {
|
||||||
|
|||||||
@@ -1053,17 +1053,9 @@
|
|||||||
<span style="margin-right: 3px">签到设置</span>
|
<span style="margin-right: 3px">签到设置</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="b_input">
|
<div class="b_input">
|
||||||
<a-radio-group v-model:value="xjkkradioV1">
|
<a-checkbox v-model:checked="xjkkradioV1">
|
||||||
<a-radio :value="0" @click="clear_xjkkradioV1">
|
<span style="color: #6d7584">是否允许未报名的学员签到</span>
|
||||||
<span style="color: #6d7584; margin-right: 30px">
|
</a-checkbox>
|
||||||
是否允许未报名的学员签到
|
|
||||||
</span>
|
|
||||||
</a-radio>
|
|
||||||
<!--
|
|
||||||
<a-radio :value="1" @click="clear_xjkkradioV1">
|
|
||||||
<span style="color: #6d7584">签到是否需要口令</span>
|
|
||||||
</a-radio>-->
|
|
||||||
</a-radio-group>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1797,6 +1789,15 @@ const columns2 = [
|
|||||||
customRender: ({ record: { courseName, routerName } }) =>
|
customRender: ({ record: { courseName, routerName } }) =>
|
||||||
courseName || routerName || "开课",
|
courseName || routerName || "开课",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "是否开课学员",
|
||||||
|
dataIndex: "infoType",
|
||||||
|
key: "infoType",
|
||||||
|
ellipsis: true,
|
||||||
|
width: "10%",
|
||||||
|
align: "center",
|
||||||
|
customRender: ({ record: { infoType } }) => infoType ===1 ? '是':'否'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "学习时间",
|
title: "学习时间",
|
||||||
dataIndex: "lastStudyTime",
|
dataIndex: "lastStudyTime",
|
||||||
@@ -2570,7 +2571,7 @@ export default defineComponent({
|
|||||||
kkinputV1: "",
|
kkinputV1: "",
|
||||||
kkinputV2: "",
|
kkinputV2: "",
|
||||||
//新建开课
|
//新建开课
|
||||||
xjkkradioV1: "",
|
xjkkradioV1: false,
|
||||||
completeType: "",
|
completeType: "",
|
||||||
xjkkinputV1: "",
|
xjkkinputV1: "",
|
||||||
onceName: "",
|
onceName: "",
|
||||||
@@ -3620,7 +3621,7 @@ export default defineComponent({
|
|||||||
state.attach = "";
|
state.attach = "";
|
||||||
|
|
||||||
state.kk_eidt = false;
|
state.kk_eidt = false;
|
||||||
state.xjkkradioV1 = "";
|
state.xjkkradioV1 = false;
|
||||||
state.completeType = "";
|
state.completeType = "";
|
||||||
state.xjkkinputV1 = "";
|
state.xjkkinputV1 = "";
|
||||||
state.onceName = "";
|
state.onceName = "";
|
||||||
@@ -3679,7 +3680,7 @@ export default defineComponent({
|
|||||||
testId: state.examInfo.examinationName ? state.EditTestId : 0,
|
testId: state.examInfo.examinationName ? state.EditTestId : 0,
|
||||||
homeWorkId: state.EditWorkId,
|
homeWorkId: state.EditWorkId,
|
||||||
name: state.xjkkinputV1,
|
name: state.xjkkinputV1,
|
||||||
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
|
signFlag: state.xjkkradioV1 ? 1 : 0, //是否允许未报名的签到:1是0否
|
||||||
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
||||||
teacherId: state.member.value,
|
teacherId: state.member.value,
|
||||||
teacher: state.member.name,
|
teacher: state.member.name,
|
||||||
@@ -3762,7 +3763,7 @@ export default defineComponent({
|
|||||||
state.afterStartValue = item.afterStart; //考勤 开始后
|
state.afterStartValue = item.afterStart; //考勤 开始后
|
||||||
if (item.signFlag === 1) {
|
if (item.signFlag === 1) {
|
||||||
//是否允许未报名的签到:1是0否
|
//是否允许未报名的签到:1是0否
|
||||||
state.xjkkradioV1 = 0;
|
state.xjkkradioV1 = true;
|
||||||
}
|
}
|
||||||
state.member = { value: item.teacherId, name: item.teacher };
|
state.member = { value: item.teacherId, name: item.teacher };
|
||||||
state.cstm_hs = true;
|
state.cstm_hs = true;
|
||||||
@@ -3999,7 +4000,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
const clear_xjkkradioV1 = (value) => {
|
const clear_xjkkradioV1 = (value) => {
|
||||||
if (value != "") {
|
if (value != "") {
|
||||||
state.xjkkradioV1 = "";
|
state.xjkkradioV1 = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const clear_xjkkradioV2 = (value) => {
|
const clear_xjkkradioV2 = (value) => {
|
||||||
|
|||||||
@@ -325,7 +325,7 @@
|
|||||||
<div style="flex: 1">
|
<div style="flex: 1">
|
||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">任务大纲</div>
|
<div class="taskmain">任务大纲</div>
|
||||||
<ImpoterGroupLeader title="批量面授报名" :data="{targetId:routerId,type:2}" :url="`/admin/offcourse/importCourse`" :template-url="`/admin/router/exportTaskCoursePlan/${routerId}?type=1&taskType=2&thirdType=3`">
|
<ImpoterGroupLeader title="批量面授报名" :data="{targetId:routerId,type:2}" :url="`/admin/offcourse/importCourse`" :template-url="templateUrl">
|
||||||
<button class="btn">批量面授报名</button>
|
<button class="btn">批量面授报名</button>
|
||||||
</ImpoterGroupLeader>
|
</ImpoterGroupLeader>
|
||||||
<router-link
|
<router-link
|
||||||
@@ -1691,6 +1691,7 @@ export default {
|
|||||||
isreload: true,
|
isreload: true,
|
||||||
TaskFaceImpStuvisible: false,
|
TaskFaceImpStuvisible: false,
|
||||||
uploadAction: process.env.VUE_APP_BASE_API + "/file/uploadunlimit",
|
uploadAction: process.env.VUE_APP_BASE_API + "/file/uploadunlimit",
|
||||||
|
templateUrl:process.env.VUE_APP_FILE_PATH+process.env.VUE_APP_FACE_STUDENT_TEMPLATE
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
|
|||||||
@@ -463,7 +463,7 @@
|
|||||||
title="批量面授报名"
|
title="批量面授报名"
|
||||||
:data="{ targetId: projectId, type: 1 }"
|
:data="{ targetId: projectId, type: 1 }"
|
||||||
:url="`/admin/offcourse/importCourse`"
|
:url="`/admin/offcourse/importCourse`"
|
||||||
:template-url="`/admin/project/exportTaskCoursePlan/${projectId}?type=1&taskType=2&thirdType=3`"
|
:template-url="templateUrl"
|
||||||
>
|
>
|
||||||
<button class="btn">批量面授报名</button>
|
<button class="btn">批量面授报名</button>
|
||||||
</ImpoterGroupLeader>
|
</ImpoterGroupLeader>
|
||||||
@@ -816,9 +816,9 @@
|
|||||||
<span class="btn1text">导出小组</span>
|
<span class="btn1text">导出小组</span>
|
||||||
</div>
|
</div>
|
||||||
<ImpoterGroupLeader
|
<ImpoterGroupLeader
|
||||||
|
title="导入小组长"
|
||||||
:data="{ targetId: projectId, type: 1 }"
|
:data="{ targetId: projectId, type: 1 }"
|
||||||
:url="`/admin/studentGroup/importGroup`"
|
:url="`/admin/studentGroup/importGroup`"
|
||||||
:template-url="`/admin/studentGroup/exportGroup/${projectId}`"
|
|
||||||
>
|
>
|
||||||
<div class="btn1">
|
<div class="btn1">
|
||||||
<span class="btn1text">导入小组长</span>
|
<span class="btn1text">导入小组长</span>
|
||||||
@@ -2842,6 +2842,7 @@ export default {
|
|||||||
certificatelist: [],
|
certificatelist: [],
|
||||||
fileUrl: process.env.VUE_APP_FILE_PATH,
|
fileUrl: process.env.VUE_APP_FILE_PATH,
|
||||||
uploadAction: process.env.VUE_APP_BASE_API + "/file/uploadunlimit",
|
uploadAction: process.env.VUE_APP_BASE_API + "/file/uploadunlimit",
|
||||||
|
templateUrl:process.env.VUE_APP_FILE_PATH+process.env.VUE_APP_FACE_STUDENT_TEMPLATE
|
||||||
});
|
});
|
||||||
// 排行榜 - start
|
// 排行榜 - start
|
||||||
// 积分排行榜 Top10
|
// 积分排行榜 Top10
|
||||||
|
|||||||
Reference in New Issue
Block a user