mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-21 08:46:46 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
9
.env
9
.env
@@ -3,7 +3,7 @@ VUE_APP_BASE=/manage
|
|||||||
# api项目基础url
|
# api项目基础url
|
||||||
VUE_APP_BASE_API=/manageApi
|
VUE_APP_BASE_API=/manageApi
|
||||||
#文件路径
|
#文件路径
|
||||||
VUE_APP_FILE_PATH=/file/
|
VUE_APP_FILE_PATH=/upload/
|
||||||
# 代理url 本地调试,不可以用在其他地方
|
# 代理url 本地调试,不可以用在其他地方
|
||||||
VUE_APP_PROXY_URL=http://111.231.196.214/manageApi
|
VUE_APP_PROXY_URL=http://111.231.196.214/manageApi
|
||||||
# 登录url
|
# 登录url
|
||||||
@@ -16,10 +16,11 @@ VUE_APP_OUTPUT_DIR=./dist
|
|||||||
# iframe嵌套url
|
# iframe嵌套url
|
||||||
VUE_APP_IFRAME_URL=https://u-pre.boe.com/pc/iframe
|
VUE_APP_IFRAME_URL=https://u-pre.boe.com/pc/iframe
|
||||||
# 学员端路由
|
# 学员端路由
|
||||||
VUE_APP_IFRAME_STUDENT_URL=https://u-pre.boe.com/pc/loading
|
VUE_APP_IFRAME_STUDENT_URL=https://u-pre.boe.com/pc/loadingVUE_APP_BOE_API_URLVUE_APP_BOE_API_URL
|
||||||
|
|
||||||
# 课程二维码
|
# 课程二维码
|
||||||
VUE_APP_COURSE_STUDY=https://u-pre.boe.com/pc/course/studyindex?id=
|
VUE_APP_COURSE_STUDY=https://u-pre.boe.com/pc/course/studyindex?id=
|
||||||
# 导入学员模板
|
# 导入学员模板
|
||||||
VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE=导入作业成绩 模板-1673450632417.xlsx
|
VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE=导入作业成绩模板-1673511599785.xlsx
|
||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673452888323.xlsx
|
# 导入作业成绩学员模板
|
||||||
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673511636808.xlsx
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
NODE_ENV=alpine
|
NODE_ENV=alpine
|
||||||
VUE_APP_OUTPUT_DIR=./docker/dist
|
VUE_APP_OUTPUT_DIR=./docker/dist
|
||||||
|
VUE_APP_FILE_PATH=/file/
|
||||||
|
|||||||
4
.env.boe
4
.env.boe
@@ -7,3 +7,7 @@ VUE_APP_LOGIN_URL=https://u-pre.boe.com/web
|
|||||||
VUE_APP_BOE_API_URL=https://u-pre.boe.com
|
VUE_APP_BOE_API_URL=https://u-pre.boe.com
|
||||||
|
|
||||||
|
|
||||||
|
# 导入学员模板
|
||||||
|
VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE=导入作业成绩模板-1673516508029.xlsx
|
||||||
|
# 导入作业成绩学员模板
|
||||||
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673516483342.xlsx
|
||||||
33
src/App.vue
33
src/App.vue
@@ -19,9 +19,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { computed, defineComponent, ref } from "vue";
|
import { computed, defineComponent, ref, onMounted } from "vue";
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
import { useStore } from "vuex";
|
import { useStore, createStore } from "vuex";
|
||||||
import NavLeft from "@/components/NavLeft";
|
import NavLeft from "@/components/NavLeft";
|
||||||
import NavTop from "@/components/NavTop";
|
import NavTop from "@/components/NavTop";
|
||||||
import OpenPages from "@/components/OpenPages";
|
import OpenPages from "@/components/OpenPages";
|
||||||
@@ -44,7 +44,7 @@ export default defineComponent({
|
|||||||
const store = useStore();
|
const store = useStore();
|
||||||
const isLogin = ref(false);
|
const isLogin = ref(false);
|
||||||
// console.log("router", router.getRoutes(), route);
|
// console.log("router", router.getRoutes(), route);
|
||||||
console.log("版本2.0.5------------");
|
console.log("版本2.0.6------------");
|
||||||
const routes = computed(() => {
|
const routes = computed(() => {
|
||||||
return router.getRoutes().filter((e) => e.meta?.isLink);
|
return router.getRoutes().filter((e) => e.meta?.isLink);
|
||||||
});
|
});
|
||||||
@@ -71,6 +71,31 @@ export default defineComponent({
|
|||||||
getOrgTree();
|
getOrgTree();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 监听关闭浏览器
|
||||||
|
let time1 = ref(0);
|
||||||
|
let time2 = ref(0);
|
||||||
|
|
||||||
|
//添加监听事件
|
||||||
|
function beforeunloadHandler() {
|
||||||
|
time1.value = new Date().getTime();
|
||||||
|
// e.returnValue = '关闭提示';
|
||||||
|
}
|
||||||
|
|
||||||
|
function unloadHandler() {
|
||||||
|
time2.value = new Date().getTime() - time1.value;
|
||||||
|
if(time2.value<=5){
|
||||||
|
store.replaceState(createStore({state: {openpages:null}}).state);
|
||||||
|
localStorage.removeItem("openpages");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(()=>{
|
||||||
|
window.addEventListener('beforeunload', e => beforeunloadHandler(e));
|
||||||
|
window.addEventListener('unload', e => unloadHandler(e));
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
async function getMemberInfo() {
|
async function getMemberInfo() {
|
||||||
const list = localStorage.getItem("memberInitInfo");
|
const list = localStorage.getItem("memberInitInfo");
|
||||||
if (list) {
|
if (list) {
|
||||||
@@ -124,7 +149,7 @@ export default defineComponent({
|
|||||||
name: currentRouteName,
|
name: currentRouteName,
|
||||||
zhCN,
|
zhCN,
|
||||||
};
|
};
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
BIN
src/assets/images/leveladd/reset.png
Normal file
BIN
src/assets/images/leveladd/reset.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 734 B |
@@ -63,12 +63,16 @@ import DownLoad from "../components/drawers/DownLoad";
|
|||||||
import * as api from "../api/index1";
|
import * as api from "../api/index1";
|
||||||
import { studentUrl } from "../api/method";
|
import { studentUrl } from "../api/method";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
|
import { useStore, createStore } from "vuex";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "NavTop",
|
name: "NavTop",
|
||||||
components: {
|
components: {
|
||||||
DownLoad,
|
DownLoad,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
selectRole: "管理员",
|
selectRole: "管理员",
|
||||||
username: "",
|
username: "",
|
||||||
@@ -120,6 +124,9 @@ export default {
|
|||||||
getUser();
|
getUser();
|
||||||
|
|
||||||
const logOut = () => {
|
const logOut = () => {
|
||||||
|
|
||||||
|
store.replaceState(createStore({state: {openpages:null}}).state);
|
||||||
|
|
||||||
localStorage.removeItem("faceclassPic");
|
localStorage.removeItem("faceclassPic");
|
||||||
localStorage.removeItem("faceclassClass");
|
localStorage.removeItem("faceclassClass");
|
||||||
localStorage.removeItem("faceclassScene");
|
localStorage.removeItem("faceclassScene");
|
||||||
@@ -138,7 +145,12 @@ export default {
|
|||||||
localStorage.removeItem("projectId");
|
localStorage.removeItem("projectId");
|
||||||
localStorage.removeItem("projectTemplateId");
|
localStorage.removeItem("projectTemplateId");
|
||||||
localStorage.removeItem("orgtreeList");
|
localStorage.removeItem("orgtreeList");
|
||||||
process.env.NODE_ENV === 'development' ? router.push({path: 'login'}) : (window.location.href = process.env.VUE_APP_LOGIN_URL)
|
process.env.NODE_ENV === 'development' ? router.push({path: '/learningpath'}) : (window.location.href = process.env.VUE_APP_LOGIN_URL)
|
||||||
|
if(process.env.NODE_ENV === 'development'){
|
||||||
|
setTimeout(() => {
|
||||||
|
window.location.reload();
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
|||||||
@@ -51,23 +51,22 @@ export default {
|
|||||||
const store = useStore();
|
const store = useStore();
|
||||||
const $router = useRouter();
|
const $router = useRouter();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
//openList: store.state.openpages,
|
openList: store.state.openpages,
|
||||||
});
|
});
|
||||||
|
|
||||||
const closePage = (value) => {
|
const closePage = (value) => {
|
||||||
console.log("点击关闭页面", value, state.openList);
|
console.log("点击关闭页面", value, state.openList);
|
||||||
|
|
||||||
state.openList.map((item, key) => {
|
state.openList.map((item, key) => {
|
||||||
if (item.href === value.href) {
|
if (item.href === value.href) {
|
||||||
if (state.openList.length === 1) {
|
if (state.openList.length === 1) {
|
||||||
if (state.openList[0].href !== "/learningpath") {
|
if (state.openList[0].href !== "/learningpath") {
|
||||||
state.openList.splice(key, 1);
|
state.openList.splice(key, 1);
|
||||||
$router.push({ path: "/learningpath" });
|
$router.push({ path: "/learningpath" });
|
||||||
}else{
|
} else {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("至少保留一个页面");
|
return message.warning("至少保留一个页面");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (value.active) {
|
if (value.active) {
|
||||||
if (key === state.openList.length - 1) {
|
if (key === state.openList.length - 1) {
|
||||||
@@ -92,7 +91,7 @@ export default {
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.openPages {
|
.openPages {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// height: 50px;
|
height: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
background-color: rgba(255, 255, 255, 1);
|
background-color: rgba(255, 255, 255, 1);
|
||||||
box-shadow: 0px 8px 8px 0px rgba(118, 136, 166, 0.1);
|
box-shadow: 0px 8px 8px 0px rgba(118, 136, 166, 0.1);
|
||||||
@@ -117,7 +116,6 @@ export default {
|
|||||||
.close {
|
.close {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
{{ codeInfo.name ? codeInfo.name : "" }}
|
{{ codeInfo.name ? codeInfo.name : "" }}
|
||||||
</div>
|
</div>
|
||||||
<qrcode-vue
|
<qrcode-vue
|
||||||
:value="codeInfo.url ? codeInfo.url : ''"
|
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||||
:size="qrcodeSize"
|
:size="qrcodeSize"
|
||||||
style="width: 200px; height: 200px"
|
style="width: 200px; height: 200px"
|
||||||
></qrcode-vue>
|
></qrcode-vue>
|
||||||
@@ -34,12 +34,12 @@
|
|||||||
<div class="codeUrl" :style="{ display: showUrl ? 'flex' : 'none' }">
|
<div class="codeUrl" :style="{ display: showUrl ? 'flex' : 'none' }">
|
||||||
<div class="codeUrlLink">链接</div>
|
<div class="codeUrlLink">链接</div>
|
||||||
<a-input
|
<a-input
|
||||||
:value="codeInfo.url ? codeInfo.url : ''"
|
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||||
disabled
|
disabled
|
||||||
class="codeUrlInp"
|
class="codeUrlInp"
|
||||||
/>
|
/>
|
||||||
<a-input
|
<a-input
|
||||||
:value="codeInfo.url ? codeInfo.url : ''"
|
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||||
id="courseUrl"
|
id="courseUrl"
|
||||||
class="codeUrlInp"
|
class="codeUrlInp"
|
||||||
style="position: absolute; opacity: 0; z-index: -1"
|
style="position: absolute; opacity: 0; z-index: -1"
|
||||||
@@ -104,6 +104,7 @@ export default {
|
|||||||
codeInfo: {},
|
codeInfo: {},
|
||||||
courseUrl: "https://www.baidu.com/",
|
courseUrl: "https://www.baidu.com/",
|
||||||
showUrl: false,
|
showUrl: false,
|
||||||
|
domain: location.protocol+'//'+location.host
|
||||||
});
|
});
|
||||||
|
|
||||||
//下载二维码图片
|
//下载二维码图片
|
||||||
@@ -147,7 +148,7 @@ export default {
|
|||||||
// selection.removeRange(range); // 移除选中的元素
|
// selection.removeRange(range); // 移除选中的元素
|
||||||
|
|
||||||
var input = document.createElement("input"); // 创建input对象
|
var input = document.createElement("input"); // 创建input对象
|
||||||
input.value = state.codeInfo.url ? state.codeInfo.url : ""; // 设置复制内容
|
input.value = state.codeInfo.url.startsWith('/')?(state.domain+state.codeInfo.url):state.codeInfo.url; // 设置复制内容
|
||||||
document.body.appendChild(input); // 添加临时实例
|
document.body.appendChild(input); // 添加临时实例
|
||||||
input.select(); // 选择实例内容
|
input.select(); // 选择实例内容
|
||||||
document.execCommand("Copy"); // 执行复制
|
document.execCommand("Copy"); // 执行复制
|
||||||
|
|||||||
@@ -20,7 +20,11 @@
|
|||||||
<div class="file_detail">
|
<div class="file_detail">
|
||||||
<div class="file_name">
|
<div class="file_name">
|
||||||
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
|
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
|
||||||
{{ item.name.indexOf('-')!==-1?item.name.slice(0,item.name.indexOf('-')) + item.name.slice(item.name.indexOf('.')) :item.name }}
|
{{
|
||||||
|
item.name.indexOf('http')!==-1?
|
||||||
|
item.name.slice(item.name.lastIndexOf('/') + 1)
|
||||||
|
:item.name.indexOf('-')!==-1?item.name.slice(0,item.name.indexOf('-')) + item.name.slice(item.name.indexOf('.')) :item.name
|
||||||
|
}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="file_size">-->
|
<!-- <div class="file_size">-->
|
||||||
|
|||||||
@@ -31,14 +31,13 @@
|
|||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入活动名称"
|
placeholder="请输入活动名称"
|
||||||
maxlength="20"
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -51,10 +50,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
|
:disabled-date="disabledDate"
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:disabled-time="disabledRangeTime"
|
||||||
|
:show-time="{ format: 'HH:mm' }"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
v-model:value="time"
|
v-model:value="time"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
/>
|
/>
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<a-input-number
|
<a-input-number
|
||||||
:min="0"
|
:min="0"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
v-model:value="inputV2"
|
v-model:value="inputV2"
|
||||||
/>
|
/>
|
||||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="inputV3"
|
v-model:value="inputV3"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入活动地点"
|
placeholder="请输入活动地点"
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
/>
|
/>
|
||||||
@@ -109,13 +109,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">活动公告:</span>
|
<span style="margin-right: 3px">活动公告:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea" >
|
<div class="textarea">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="textV1"
|
v-model:value="textV1"
|
||||||
placeholder="请输入活动公告"
|
placeholder="请输入活动公告"
|
||||||
allow-clear
|
allow-clear
|
||||||
:rows="6"
|
:rows="6"
|
||||||
show-count :maxlength="200"
|
show-count
|
||||||
|
:maxlength="200"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,7 +130,8 @@
|
|||||||
placeholder="请输入活动说明"
|
placeholder="请输入活动说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
:rows="6"
|
:rows="6"
|
||||||
show-count :maxlength="200"
|
show-count
|
||||||
|
:maxlength="200"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -158,7 +160,9 @@
|
|||||||
"
|
"
|
||||||
v-model:value="inputV4"
|
v-model:value="inputV4"
|
||||||
/>
|
/>
|
||||||
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
|
<span style="color: #999999; margin-left: 8px"
|
||||||
|
>分钟允许签到</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="timerbox">
|
<div class="timerbox">
|
||||||
<span>活动开始后:</span>
|
<span>活动开始后:</span>
|
||||||
@@ -174,7 +178,9 @@
|
|||||||
"
|
"
|
||||||
v-model:value="inputV5"
|
v-model:value="inputV5"
|
||||||
/>
|
/>
|
||||||
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
|
<span style="color: #999999; margin-left: 8px"
|
||||||
|
>分钟允许签到</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="qdqtbox">
|
<!-- <div class="qdqtbox">
|
||||||
@@ -214,7 +220,7 @@
|
|||||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
|
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
|
||||||
>仅签到
|
>仅签到
|
||||||
</a-radio>-->
|
</a-radio>-->
|
||||||
<!-- <a-radio v-model:checked="checked" :value="2" @click="cloradio1"
|
<!-- <a-radio v-model:checked="checked" :value="2" @click="cloradio1"
|
||||||
>签到、签退全部完成
|
>签到、签退全部完成
|
||||||
</a-radio
|
</a-radio
|
||||||
>
|
>
|
||||||
@@ -222,15 +228,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>-->
|
</div>-->
|
||||||
|
|
||||||
<div class="main_item" style="height:40px;">
|
<div class="main_item" style="height: 40px">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<span style="margin-right: 3px"></span>
|
<span style="margin-right: 3px"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox"></div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
@@ -318,7 +321,7 @@ export default {
|
|||||||
textV2: "",
|
textV2: "",
|
||||||
radioV1: "",
|
radioV1: "",
|
||||||
time: "",
|
time: "",
|
||||||
isClick: false
|
isClick: false,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addactiveVisible", false);
|
ctx.emit("update:addactiveVisible", false);
|
||||||
@@ -357,7 +360,8 @@ export default {
|
|||||||
api
|
api
|
||||||
.getActivity(props.EditActiveId)
|
.getActivity(props.EditActiveId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
//更新讨论信息
|
console.log("获取活动信息", res);
|
||||||
|
//获取活动信息
|
||||||
state.inputV1 = res.data.data.activityName;
|
state.inputV1 = res.data.data.activityName;
|
||||||
state.textV1 = res.data.data.activityNotice;
|
state.textV1 = res.data.data.activityNotice;
|
||||||
state.textV2 = res.data.data.activityExplain;
|
state.textV2 = res.data.data.activityExplain;
|
||||||
@@ -387,7 +391,7 @@ export default {
|
|||||||
};
|
};
|
||||||
const updateTask = async (res) => {
|
const updateTask = async (res) => {
|
||||||
if (props.isLevel == 1) {
|
if (props.isLevel == 1) {
|
||||||
if(!props.isactive){
|
if (!props.isactive) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请先选中关卡");
|
return message.warning("请先选中关卡");
|
||||||
}
|
}
|
||||||
@@ -466,11 +470,11 @@ export default {
|
|||||||
return message.warning("请输入活动地址");
|
return message.warning("请输入活动地址");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(state.isClick){
|
if (state.isClick) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error('请勿频繁点击')
|
message.error("请勿频繁点击");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.isClick = true;
|
state.isClick = true;
|
||||||
|
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -483,11 +487,12 @@ export default {
|
|||||||
activityNotice: state.textV1, //活动公告
|
activityNotice: state.textV1, //活动公告
|
||||||
activityStartTime: dayjs(state.time[0]).format("YYYY-MM-DD HH:mm"), //活动开始时间
|
activityStartTime: dayjs(state.time[0]).format("YYYY-MM-DD HH:mm"), //活动开始时间
|
||||||
activityTag: "", //活动逻辑删除标识
|
activityTag: "", //活动逻辑删除标识
|
||||||
afterSignIn: state.inputV5, //活动开始后多少分钟签到
|
afterSignIn: state.inputV5 ? state.inputV5 : 0, //活动开始后多少分钟签到
|
||||||
beforeSignIn: state.inputV4, //活动开始前多少分钟签到
|
beforeSignIn: state.inputV4 ? state.inputV4 : 0, //活动开始前多少分钟签到
|
||||||
signOutTime: state.inputV6, //签退开始时间
|
signOutTime: state.inputV6, //签退开始时间
|
||||||
standardSettings: state.radioV1, //标准设置
|
standardSettings: state.radioV1, //标准设置
|
||||||
};
|
};
|
||||||
|
console.log("obj", obj);
|
||||||
if (props.edit) {
|
if (props.edit) {
|
||||||
//更新编辑活动信息
|
//更新编辑活动信息
|
||||||
api
|
api
|
||||||
@@ -526,28 +531,28 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const range = (start, end) => {
|
const range = (start, end) => {
|
||||||
const result = [];
|
const result = [];
|
||||||
|
|
||||||
for (let i = start; i < end; i++) {
|
for (let i = start; i < end; i++) {
|
||||||
result.push(i);
|
result.push(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
const disabledDate = (current) => {
|
const disabledDate = (current) => {
|
||||||
// Can not select days before today and today
|
// Can not select days before today and today
|
||||||
console.log('1111', dayjs().endOf('day'))
|
console.log("1111", dayjs().endOf("day"));
|
||||||
return current && current < dayjs().startOf('day');
|
return current && current < dayjs().startOf("day");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const disabledDateTime = () => {
|
||||||
|
return {
|
||||||
|
disabledHours: () => range(0, 24).splice(4, 20),
|
||||||
|
disabledMinutes: () => range(30, 60),
|
||||||
|
disabledSeconds: () => [55, 56],
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const disabledDateTime = () => {
|
|
||||||
return {
|
|
||||||
disabledHours: () => range(0, 24).splice(4, 20),
|
|
||||||
disabledMinutes: () => range(30, 60),
|
|
||||||
disabledSeconds: () => [55, 56],
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
@@ -556,9 +561,7 @@ export default {
|
|||||||
cloradio1,
|
cloradio1,
|
||||||
updateActivityInfo,
|
updateActivityInfo,
|
||||||
disabledDateTime,
|
disabledDateTime,
|
||||||
disabledDate
|
disabledDate,
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -701,7 +704,6 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.setbox {
|
.setbox {
|
||||||
|
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="minatitl">
|
<div class="minatitl">
|
||||||
<div class="up1">请下载</div>
|
<div class="up1">请下载</div>
|
||||||
<a class="up2" :href="template" target="_blank" style="cursor: pointer">模板</a>
|
<a class="up2" :href="locationHref + template" target="_blank" style="cursor: pointer">模板</a>
|
||||||
<div class="up1">,按要求填写数据并导入</div>
|
<div class="up1">,按要求填写数据并导入</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="upload">
|
<div class="upload">
|
||||||
@@ -221,7 +221,11 @@ export default {
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
template: process.env.VUE_APP_FILE_PATH + process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
locationHref:
|
||||||
|
location.href.indexOf("http://") !== -1
|
||||||
|
? "http://111.231.196.214:12016/"
|
||||||
|
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
||||||
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
||||||
importStudent:
|
importStudent:
|
||||||
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
||||||
timers: "", // 定时器,用于清空定时器使用
|
timers: "", // 定时器,用于清空定时器使用
|
||||||
|
|||||||
@@ -71,7 +71,8 @@
|
|||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
|
:disabled-date="disabledDate"
|
||||||
|
:disabled-time="disabledRangeTime"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
v-model:value="time"
|
v-model:value="time"
|
||||||
format="YYYY/MM/DD HH:mm"
|
format="YYYY/MM/DD HH:mm"
|
||||||
@@ -486,7 +487,7 @@ export default {
|
|||||||
switchC2: false,
|
switchC2: false,
|
||||||
assessmentVisible: false,
|
assessmentVisible: false,
|
||||||
assessmentName: "",
|
assessmentName: "",
|
||||||
isClick: false
|
isClick: false,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addliveVisible", false);
|
ctx.emit("update:addliveVisible", false);
|
||||||
@@ -701,11 +702,11 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入直播公告");
|
return message.warning("请输入直播公告");
|
||||||
}
|
}
|
||||||
if(state.isClick){
|
if (state.isClick) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error('请勿频繁点击')
|
message.error("请勿频繁点击");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
state.isClick = true;
|
state.isClick = true;
|
||||||
|
|
||||||
const regular = /^[+]{0,1}(\d+)$/;
|
const regular = /^[+]{0,1}(\d+)$/;
|
||||||
@@ -722,8 +723,8 @@ export default {
|
|||||||
"Y-M-D h:m"
|
"Y-M-D h:m"
|
||||||
);
|
);
|
||||||
state.obj = {
|
state.obj = {
|
||||||
afterSignIn: state.inputV6,
|
afterSignIn: state.inputV6 ? state.inputV6 : 0,
|
||||||
beforeSignIn: state.inputV7,
|
beforeSignIn: state.inputV7 ? state.inputV7 : 0,
|
||||||
assessmentId:
|
assessmentId:
|
||||||
state.assessmentId == null || state.assessmentId == ""
|
state.assessmentId == null || state.assessmentId == ""
|
||||||
? 0
|
? 0
|
||||||
@@ -888,27 +889,27 @@ export default {
|
|||||||
state.isEvaluate = "0";
|
state.isEvaluate = "0";
|
||||||
};
|
};
|
||||||
const range = (start, end) => {
|
const range = (start, end) => {
|
||||||
const result = [];
|
const result = [];
|
||||||
|
|
||||||
for (let i = start; i < end; i++) {
|
for (let i = start; i < end; i++) {
|
||||||
result.push(i);
|
result.push(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
const disabledDate = (current) => {
|
const disabledDate = (current) => {
|
||||||
// Can not select days before today and today
|
// Can not select days before today and today
|
||||||
console.log('1111', dayjs().endOf('day'))
|
console.log("1111", dayjs().endOf("day"));
|
||||||
return current && current < dayjs().startOf('day');
|
return current && current < dayjs().startOf("day");
|
||||||
};
|
};
|
||||||
|
|
||||||
const disabledDateTime = () => {
|
const disabledDateTime = () => {
|
||||||
return {
|
return {
|
||||||
disabledHours: () => range(0, 24).splice(4, 20),
|
disabledHours: () => range(0, 24).splice(4, 20),
|
||||||
disabledMinutes: () => range(30, 60),
|
disabledMinutes: () => range(30, 60),
|
||||||
disabledSeconds: () => [55, 56],
|
disabledSeconds: () => [55, 56],
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
@@ -927,7 +928,7 @@ export default {
|
|||||||
showAssessment,
|
showAssessment,
|
||||||
removePG,
|
removePG,
|
||||||
disabledDateTime,
|
disabledDateTime,
|
||||||
disabledDate
|
disabledDate,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
placement="right"
|
placement="right"
|
||||||
width="700px"
|
width="700px"
|
||||||
@after-visible-change="afterVisibleChange"
|
@after-visible-change="afterVisibleChange"
|
||||||
:zIndex="1000"
|
|
||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
@@ -20,7 +19,9 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="minatitl">
|
<div class="minatitl">
|
||||||
<div class="up1">请下载</div>
|
<div class="up1">请下载</div>
|
||||||
<div class="up2" @click="downTemplate" style="cursor:pointer">模板</div>
|
<div class="up2" @click="downTemplate" style="cursor: pointer">
|
||||||
|
模板
|
||||||
|
</div>
|
||||||
<div class="up1">,按要求填写数据并导入</div>
|
<div class="up1">,按要求填写数据并导入</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="upload">
|
<div class="upload">
|
||||||
@@ -218,7 +219,7 @@ export default {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
fileType: ["xls", "xlsx"],
|
fileType: ["xls", "xlsx"],
|
||||||
importHomeWork:
|
importHomeWork:
|
||||||
process.env.VUE_APP_BASE_API + "admin/student/importHomeWork",
|
process.env.VUE_APP_BASE_API + "/admin/student/importHomeWork",
|
||||||
uploadpercent: -1,
|
uploadpercent: -1,
|
||||||
uploadErr: false, //上传失败
|
uploadErr: false, //上传失败
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
@@ -226,10 +227,6 @@ export default {
|
|||||||
succNum: 0, //成功数据数
|
succNum: 0, //成功数据数
|
||||||
errNum: 0, //失败数据数
|
errNum: 0, //失败数据数
|
||||||
downloadErrUrl: null, //下载失败数据
|
downloadErrUrl: null, //下载失败数据
|
||||||
locationHref:
|
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://111.231.196.214:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
|
||||||
userId: store.state.userInfo.id,
|
userId: store.state.userInfo.id,
|
||||||
userName: store.state.userInfo.realName,
|
userName: store.state.userInfo.realName,
|
||||||
fileName: "",
|
fileName: "",
|
||||||
@@ -350,13 +347,15 @@ export default {
|
|||||||
};
|
};
|
||||||
// 下载失败数据
|
// 下载失败数据
|
||||||
const downloadEeeorData = () => {
|
const downloadEeeorData = () => {
|
||||||
console.log(state.locationHref + state.downloadErrUrl);
|
|
||||||
if (state.downloadErrUrl !== "") {
|
if (state.downloadErrUrl !== "") {
|
||||||
window.open(process.env.VUE_APP_FILE_PATH + state.downloadErrUrl);
|
window.open(process.env.VUE_APP_FILE_PATH + state.downloadErrUrl);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function downTemplate(){
|
function downTemplate() {
|
||||||
window.open(process.env.VUE_APP_FILE_PATH + process.env.VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE)
|
window.open(
|
||||||
|
process.env.VUE_APP_FILE_PATH +
|
||||||
|
process.env.VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="line">
|
<!-- <div class="line">
|
||||||
<div class="inline">
|
<div class="inline">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
/>
|
/>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div class="btnn">
|
<div class="btnn">
|
||||||
<button class="btn1" @click="closeDrawer">取消</button>
|
<button class="btn1" @click="closeDrawer">取消</button>
|
||||||
<button class="btn2" @click="closeDrawer">确定</button>
|
<button class="btn2" @click="closeDrawer">确定</button>
|
||||||
@@ -431,10 +431,10 @@ export default {
|
|||||||
title: "【签到】二维码",
|
title: "【签到】二维码",
|
||||||
name: props.projectTaskInfo?.name,
|
name: props.projectTaskInfo?.name,
|
||||||
url:
|
url:
|
||||||
process.env.VUE_APP_BOE_API_URL +
|
process.env.VUE_APP_BASE_API +
|
||||||
`/admin/student/studentSign?taskId=${
|
`/admin/student/studentSign?taskId=${
|
||||||
props.projectTaskInfo.projectTaskId
|
props.projectTaskInfo.projectTaskId
|
||||||
}&type=${1}`,
|
}&taskType=${props.projectTaskInfo.type}&type=${1}`,
|
||||||
};
|
};
|
||||||
console.log("codeInfo", state.codeInfo);
|
console.log("codeInfo", state.codeInfo);
|
||||||
state.codeIndex = 0;
|
state.codeIndex = 0;
|
||||||
@@ -869,7 +869,9 @@ export default {
|
|||||||
process.env.VUE_APP_BASE_API
|
process.env.VUE_APP_BASE_API
|
||||||
}/admin/student/exportTaskStudent?currentStageId=${
|
}/admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.projectTaskInfo.stageId
|
props.projectTaskInfo.stageId
|
||||||
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskType=2&thirdType=2`
|
}&type=${1}&pid=${
|
||||||
|
props.projectTaskInfo.projectId
|
||||||
|
}&taskType=2&thirdType=2`
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
|
|||||||
@@ -167,7 +167,7 @@
|
|||||||
/>
|
/>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div class="btnn">
|
<div class="btnn">
|
||||||
<button class="btn1" @click="closeDrawer">取消</button>
|
<button class="btn1" @click="closeDrawer">取消</button>
|
||||||
<button class="btn2" @click="closeDrawer">确定</button>
|
<button class="btn2" @click="closeDrawer">确定</button>
|
||||||
@@ -846,10 +846,10 @@ export default {
|
|||||||
title: "【签到】二维码",
|
title: "【签到】二维码",
|
||||||
name: props.datasource?.name,
|
name: props.datasource?.name,
|
||||||
url:
|
url:
|
||||||
process.env.VUE_APP_BOE_API_URL +
|
process.env.VUE_APP_BASE_API +
|
||||||
`/admin/student/studentSign?taskId=${
|
`/admin/student/studentSign?taskId=${
|
||||||
props.datasource.routerTaskId
|
props.datasource.routerTaskId
|
||||||
}&type=${2}`,
|
}&taskType=${props.datasource.type}&type=${2}`,
|
||||||
};
|
};
|
||||||
console.log("codeInfo", state.codeInfo);
|
console.log("codeInfo", state.codeInfo);
|
||||||
state.codeIndex = 0;
|
state.codeIndex = 0;
|
||||||
|
|||||||
@@ -624,7 +624,7 @@ export default {
|
|||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${
|
process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.datasource.chapterId
|
props.datasource.chapterId
|
||||||
}&type=${2}&pid=${props.datasource.routerId}&taskType=${1}`
|
}&type=${2}&pid=${props.datasource.routerId}&taskType=${2}`
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
|
|||||||
@@ -341,7 +341,7 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
-->
|
-->
|
||||||
<a-modal
|
<a-modal
|
||||||
style="padding: 0"
|
:style="{padding: 0,position: relative,right: - (screenWidth/2 - 660) + 'px',}"
|
||||||
:closable="true"
|
:closable="true"
|
||||||
:visible="stageVisible"
|
:visible="stageVisible"
|
||||||
:footer="null"
|
:footer="null"
|
||||||
@@ -560,6 +560,7 @@ const stuSelectKeys = ref([]);
|
|||||||
const orgSelectKeys = ref([]);
|
const orgSelectKeys = ref([]);
|
||||||
const auditSelectKeys = ref([]);
|
const auditSelectKeys = ref([]);
|
||||||
const screenHeight = ref(document.body.clientHeight);
|
const screenHeight = ref(document.body.clientHeight);
|
||||||
|
const screenWidth = ref(document.body.clientWidth);
|
||||||
const stuRowSelection = computed(() => ({
|
const stuRowSelection = computed(() => ({
|
||||||
columnWidth: 20,
|
columnWidth: 20,
|
||||||
selectedRowKeys: stuSelectKeys.value,
|
selectedRowKeys: stuSelectKeys.value,
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!-- <a-col v-if="type === 1">
|
<!-- <a-col v-if="type === 1">
|
||||||
<a-form-item title="小组名称:">
|
<a-form-item title="小组名称:">
|
||||||
<a-input
|
<a-input
|
||||||
class="cus-input"
|
class="cus-input"
|
||||||
@@ -50,7 +50,11 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col>
|
<a-col>
|
||||||
<a-button class="cus-btn" style="width: 100px" @click="getStuList">
|
<a-button
|
||||||
|
class="cus-btn"
|
||||||
|
style="background: #4ea6ff; color: #fff; width: 100px"
|
||||||
|
@click="getStuList"
|
||||||
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<img
|
<img
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@@ -60,8 +64,13 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="2">
|
<a-col :span="2">
|
||||||
<a-button class="cus-btn white" style="width: 100px" @click="reset"
|
<a-button class="cus-btn white" style="width: 100px" @click="reset">
|
||||||
>重置
|
<template #icon>
|
||||||
|
<img
|
||||||
|
style="margin-right: 10px"
|
||||||
|
src="../../assets/images/leveladd/reset.png"
|
||||||
|
/></template>
|
||||||
|
重置
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -78,7 +87,7 @@
|
|||||||
@finash="submitCall"
|
@finash="submitCall"
|
||||||
:stage="stage"
|
:stage="stage"
|
||||||
>
|
>
|
||||||
<a-button class="cus-btn">
|
<a-button class="cus-btn" style="background: #4ea6ff; color: #fff">
|
||||||
<template #icon
|
<template #icon
|
||||||
><img
|
><img
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@@ -146,9 +155,10 @@
|
|||||||
<div class="btn4_tit" @click="showEScoreModal">
|
<div class="btn4_tit" @click="showEScoreModal">
|
||||||
<span>批量录入成绩</span>
|
<span>批量录入成绩</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn4_op1" @click="updateStatus(1)">
|
<!--2023-1-12 隐藏 后面放开 -->
|
||||||
|
<!-- <div class="btn4_op1" @click="updateStatus(1)">
|
||||||
<span>批量结业</span>
|
<span>批量结业</span>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="btn4_op2" @click="updateStatus(0)">
|
<div class="btn4_op2" @click="updateStatus(0)">
|
||||||
<span>批量通过</span>
|
<span>批量通过</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -506,7 +516,8 @@ function exportTaskStu() {
|
|||||||
console.log("props.datasource", props.datasource);
|
console.log("props.datasource", props.datasource);
|
||||||
window.open(
|
window.open(
|
||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?type=${1}&pid=${props.id}&taskType=0`
|
process.env.VUE_APP_BASE_API
|
||||||
|
}/admin/student/exportTaskStudent?type=${1}&pid=${props.id}&taskType=0`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -682,15 +693,13 @@ const exportHomeWorkShow = () => {
|
|||||||
taskType: 0,
|
taskType: 0,
|
||||||
type: 3,
|
type: 3,
|
||||||
};
|
};
|
||||||
api
|
api.exportHomeWork(obj).then((res) => {
|
||||||
.exportHomeWork(obj)
|
console.log("导出作业", res.data.data);
|
||||||
.then((res) => {
|
//message.destroy();
|
||||||
console.log("导出作业", res.data.data);
|
// message.success("导出作业成功");
|
||||||
//message.destroy();
|
exportHomeWorkV.value = true;
|
||||||
// message.success("导出作业成功");
|
downloadUrl.value = res.data.data;
|
||||||
exportHomeWorkV.value = true;
|
});
|
||||||
downloadUrl.value = res.data.data;
|
|
||||||
})
|
|
||||||
};
|
};
|
||||||
// //导出作业
|
// //导出作业
|
||||||
// const exportHomeWork = () => {
|
// const exportHomeWork = () => {
|
||||||
@@ -704,7 +713,8 @@ const exportHomeWorkShow = () => {
|
|||||||
const exportStu = () => {
|
const exportStu = () => {
|
||||||
window.open(
|
window.open(
|
||||||
`${
|
`${
|
||||||
process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?type=${3}&pid=${props.id}&thirdType=2`
|
process.env.VUE_APP_BASE_API
|
||||||
|
}/admin/student/exportTaskStudent?type=${3}&pid=${props.id}&thirdType=2`
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,6 @@ export default {
|
|||||||
total: 0,
|
total: 0,
|
||||||
capacity: 0,
|
capacity: 0,
|
||||||
countCMB: 0,
|
countCMB: 0,
|
||||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function getData() {
|
function getData() {
|
||||||
@@ -180,7 +179,7 @@ export default {
|
|||||||
// 下载文件
|
// 下载文件
|
||||||
function downLoadFile(data) {
|
function downLoadFile(data) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
window.open(state.locationHref + data.url)
|
window.open(process.env.VUE_APP_FILE_PATH + data.url)
|
||||||
}
|
}
|
||||||
// 删除文件
|
// 删除文件
|
||||||
function removeFile(data) {
|
function removeFile(data) {
|
||||||
|
|||||||
@@ -1659,7 +1659,7 @@
|
|||||||
:footer="null"
|
:footer="null"
|
||||||
:closable="false"
|
:closable="false"
|
||||||
wrapClassName="modalStyle stusmanageModal"
|
wrapClassName="modalStyle stusmanageModal"
|
||||||
width="80%"
|
width="90%"
|
||||||
@cancel="sm_exit"
|
@cancel="sm_exit"
|
||||||
>
|
>
|
||||||
<div class="modalHeader">
|
<div class="modalHeader">
|
||||||
@@ -2030,7 +2030,11 @@
|
|||||||
<div class="qrm_btn btn1" @click="rg_exit">
|
<div class="qrm_btn btn1" @click="rg_exit">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="qrm_btn btn2" @click="handleJoin">
|
<div
|
||||||
|
class="qrm_btn btn2"
|
||||||
|
style="background-color: #4ea6ff; color: #ffffff"
|
||||||
|
@click="handleJoin"
|
||||||
|
>
|
||||||
<div class="btnText">确定</div>
|
<div class="btnText">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -3067,7 +3071,8 @@ export default defineComponent({
|
|||||||
dataIndex: "evastatus",
|
dataIndex: "evastatus",
|
||||||
key: "8",
|
key: "8",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({record}) => record.assessmentStatus ? '已评估' : '未评估'
|
customRender: ({ record }) =>
|
||||||
|
record.assessmentStatus ? "已评估" : "未评估",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "作业成绩",
|
title: "作业成绩",
|
||||||
@@ -3118,14 +3123,15 @@ export default defineComponent({
|
|||||||
key: "8",
|
key: "8",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
// 2023-1-12 隐藏 后面放开
|
||||||
title: "结业状态",
|
// {
|
||||||
width: "15%",
|
// title: "结业状态",
|
||||||
dataIndex: "completionStatus",
|
// width: "15%",
|
||||||
key: "8",
|
// dataIndex: "completionStatus",
|
||||||
align: "center",
|
// key: "8",
|
||||||
customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>,
|
// align: "center",
|
||||||
},
|
// customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>,
|
||||||
|
// },
|
||||||
],
|
],
|
||||||
shipType: 1,
|
shipType: 1,
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
@@ -4755,7 +4761,7 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleJoin = async () => {
|
const handleJoin = async () => {
|
||||||
state.lrcj_inputV1 || message.error("请输入成绩")
|
state.lrcj_inputV1 || message.error("请输入成绩");
|
||||||
if (state.rg_hs) {
|
if (state.rg_hs) {
|
||||||
if (state.piliang) {
|
if (state.piliang) {
|
||||||
api1.updateStudent({
|
api1.updateStudent({
|
||||||
@@ -5548,7 +5554,7 @@ export default defineComponent({
|
|||||||
url:
|
url:
|
||||||
type == 1
|
type == 1
|
||||||
? process.env.VUE_APP_COURSE_STUDY + record.offcourseId
|
? process.env.VUE_APP_COURSE_STUDY + record.offcourseId
|
||||||
: process.env.VUE_APP_BOE_API_URL +
|
: process.env.VUE_APP_BASE_API +
|
||||||
`/admin/student/studentSign?taskId=${
|
`/admin/student/studentSign?taskId=${
|
||||||
record.offcoursePlanId
|
record.offcoursePlanId
|
||||||
}&type=${3}`,
|
}&type=${3}`,
|
||||||
@@ -5840,8 +5846,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn1 {
|
.btn1 {
|
||||||
|
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
}
|
}
|
||||||
@@ -5850,7 +5854,7 @@ export default defineComponent({
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
.btn1:active {
|
.btn1:active {
|
||||||
background: #0982ff;
|
background: #0982ff;
|
||||||
}
|
}
|
||||||
@@ -5894,11 +5898,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.btn3 {
|
.btn3 {
|
||||||
|
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 17px;
|
width: 17px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
@@ -5909,7 +5909,6 @@ export default defineComponent({
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6951,7 +6950,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn2{
|
.btn2 {
|
||||||
background: rgba(64, 158, 255, 1);
|
background: rgba(64, 158, 255, 1);
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
@@ -7571,9 +7570,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn1{
|
.btn1 {
|
||||||
|
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
}
|
}
|
||||||
@@ -7582,7 +7579,7 @@ export default defineComponent({
|
|||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
.btn1:active {
|
.btn1:active {
|
||||||
background: #0982ff;
|
background: #0982ff;
|
||||||
}
|
}
|
||||||
@@ -7624,19 +7621,15 @@ export default defineComponent({
|
|||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
.btn2 {
|
.btn2 {
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
|
|
||||||
.img2 {
|
.img2 {
|
||||||
width: 17px;
|
width: 17px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
background-image: url(../../assets/images/coursewareManage/export1.png);
|
background-image: url(../../assets/images/coursewareManage/export1.png);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7793,7 +7786,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
.stusmanageModal {
|
.stusmanageModal {
|
||||||
.ant-modal {
|
.ant-modal {
|
||||||
max-width: 1700px;
|
max-width: 1800px;
|
||||||
.ant-modal-content {
|
.ant-modal-content {
|
||||||
// width:1358px !important;
|
// width:1358px !important;
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
<!-- 概览(无数据) -->
|
<!-- 概览(无数据) -->
|
||||||
<div :style="{ display: 'block' }">
|
<div :style="{ display: 'block' }">
|
||||||
<div class="onerow">
|
<div class="onerow">
|
||||||
<div class="taskmain">快速创建项目详情</div>
|
<div class="taskmain">快速创建路径图详情</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="second">
|
<div class="second">
|
||||||
<div @click="totask">
|
<div @click="totask">
|
||||||
@@ -536,9 +536,8 @@
|
|||||||
<div class="split"></div>
|
<div class="split"></div>
|
||||||
|
|
||||||
<a-tabs>
|
<a-tabs>
|
||||||
|
<!-- 2023-1-12 隐藏 后面放开 -->
|
||||||
|
<!-- <a-tab-pane key="1" tab="基本信息">
|
||||||
<a-tab-pane key="1" tab="基本信息">
|
|
||||||
<div class="sametab">
|
<div class="sametab">
|
||||||
<div class="Gcon">
|
<div class="Gcon">
|
||||||
<div class="pad"></div>
|
<div class="pad"></div>
|
||||||
@@ -634,8 +633,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane> -->
|
||||||
|
|
||||||
|
|
||||||
<a-tab-pane key="2" tab="共享文档">
|
<a-tab-pane key="2" tab="共享文档">
|
||||||
<div class="sametab">
|
<div class="sametab">
|
||||||
@@ -668,7 +666,13 @@
|
|||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/basicinfo/cloud.png"
|
src="@/assets/images/basicinfo/cloud.png"
|
||||||
style="cursor: pointer; width: 24px; height: 24px; margin-left: 8px;margin-bottom: 3px;"
|
style="
|
||||||
|
cursor: pointer;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
margin-left: 8px;
|
||||||
|
margin-bottom: 3px;
|
||||||
|
"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
</a-upload>
|
</a-upload>
|
||||||
@@ -694,7 +698,6 @@
|
|||||||
"
|
"
|
||||||
class="docListStyle"
|
class="docListStyle"
|
||||||
>
|
>
|
||||||
|
|
||||||
<!-- <img
|
<!-- <img
|
||||||
src="@/assets/images/basicinfo/download.png"
|
src="@/assets/images/basicinfo/download.png"
|
||||||
style="
|
style="
|
||||||
@@ -705,26 +708,74 @@
|
|||||||
"
|
"
|
||||||
alt=""
|
alt=""
|
||||||
/> -->
|
/> -->
|
||||||
<img v-if="
|
<img
|
||||||
item.name.indexOf('jpg') !== -1 ||
|
v-if="
|
||||||
item.name.indexOf('jpeg') !== -1 ||
|
item.name.indexOf('jpg') !== -1 ||
|
||||||
item.name.indexOf('png') !== -1
|
item.name.indexOf('jpeg') !== -1 ||
|
||||||
"
|
item.name.indexOf('png') !== -1
|
||||||
style="width: 27px;height: 32px;margin-right: 40px;"
|
"
|
||||||
src="@/assets/images/coursewareManage/pngpic.png" />
|
style="width: 27px; height: 32px; margin-right: 40px"
|
||||||
|
src="@/assets/images/coursewareManage/pngpic.png"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img v-if="item.name.indexOf('doc') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/docpic.png" />
|
<img
|
||||||
|
v-if="item.name.indexOf('doc') !== -1"
|
||||||
|
style="
|
||||||
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/docpic.png"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img v-if="item.name.indexOf('xls') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/xlspic.png" />
|
<img
|
||||||
|
v-if="item.name.indexOf('xls') !== -1"
|
||||||
|
style="
|
||||||
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/xlspic.png"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img v-if="item.name.indexOf('ppt') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/pptpic.png" />
|
<img
|
||||||
|
v-if="item.name.indexOf('ppt') !== -1"
|
||||||
|
style="
|
||||||
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/pptpic.png"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img v-if="item.name.indexOf('pdf') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/pdfpic.png" />
|
<img
|
||||||
|
v-if="item.name.indexOf('pdf') !== -1"
|
||||||
|
style="
|
||||||
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/pdfpic.png"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<img v-if="item.name.indexOf('zip') !== -1"
|
<img
|
||||||
style="width: 27px;height: 32px;margin-right: 40px;"
|
v-if="item.name.indexOf('zip') !== -1"
|
||||||
src="@/assets/images/coursewareManage/zippic.png" />
|
style="
|
||||||
<img v-else style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/docpic.png" />
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/zippic.png"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
v-else
|
||||||
|
style="
|
||||||
|
width: 27px;
|
||||||
|
height: 32px;
|
||||||
|
margin-right: 40px;
|
||||||
|
"
|
||||||
|
src="@/assets/images/coursewareManage/docpic.png"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -742,7 +793,11 @@
|
|||||||
:title="item.name"
|
:title="item.name"
|
||||||
>{{ item.name }}</span
|
>{{ item.name }}</span
|
||||||
>
|
>
|
||||||
<a :href="item.response?item.response.data:''" style="margin-left: 5px">下载</a>
|
<a
|
||||||
|
:href="item.response ? item.response.data : ''"
|
||||||
|
style="margin-left: 5px"
|
||||||
|
>下载</a
|
||||||
|
>
|
||||||
<span
|
<span
|
||||||
style="color: #4ea6ff; cursor: pointer"
|
style="color: #4ea6ff; cursor: pointer"
|
||||||
@click="deFile(item.uid)"
|
@click="deFile(item.uid)"
|
||||||
@@ -756,7 +811,6 @@
|
|||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
|
|
||||||
<a-modal
|
<a-modal
|
||||||
@@ -1428,7 +1482,10 @@ export default {
|
|||||||
evaluationLevelName: "",
|
evaluationLevelName: "",
|
||||||
|
|
||||||
facestudent: "",
|
facestudent: "",
|
||||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
locationHref:
|
||||||
|
location.href.indexOf("http://") !== -1
|
||||||
|
? "http://111.231.196.214:12016/"
|
||||||
|
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
@@ -2048,7 +2105,7 @@ export default {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("router-list", res);
|
console.log("router-list", res);
|
||||||
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
|
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
|
||||||
console.log('asdasdasd-------->',state.fileList)
|
console.log("asdasdasd-------->", state.fileList);
|
||||||
state.docChecked =
|
state.docChecked =
|
||||||
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
|
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
|
||||||
if (res.data.data.routerInfo.status == 1) {
|
if (res.data.data.routerInfo.status == 1) {
|
||||||
|
|||||||
@@ -689,7 +689,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 87px; text-align: center">
|
<div style="width: 87px; text-align: center">
|
||||||
{{ element.cretime ? element.cretime + "分钟" : "-" }}
|
<!-- {{ element.cretime ? element.cretime + "分钟" : "-" }} -->
|
||||||
|
{{
|
||||||
|
element.cretime
|
||||||
|
?
|
||||||
|
element.type==1? Math.ceil(Number(element.cretime)/60) + "分钟" : element.cretime + "分钟"
|
||||||
|
: "-"
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -495,7 +495,8 @@
|
|||||||
<div style="width: 87px; text-align: center">
|
<div style="width: 87px; text-align: center">
|
||||||
{{
|
{{
|
||||||
element.cretime
|
element.cretime
|
||||||
? element.cretime + "分钟"
|
?
|
||||||
|
element.type==1? Math.ceil(Number(element.cretime)/60) + "分钟" : element.cretime + "分钟"
|
||||||
: "-"
|
: "-"
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2498,8 +2498,7 @@ export default {
|
|||||||
commonLevelName: "",
|
commonLevelName: "",
|
||||||
evaltype: "",
|
evaltype: "",
|
||||||
evalData: "",
|
evalData: "",
|
||||||
facestudent: "",
|
facestudent: ""
|
||||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const levelList = reactive({
|
const levelList = reactive({
|
||||||
|
|||||||
@@ -599,6 +599,7 @@ export default {
|
|||||||
const handleNext = async() => {
|
const handleNext = async() => {
|
||||||
if (!state.assessmentId) {
|
if (!state.assessmentId) {
|
||||||
if (!state.assessmentName) {
|
if (!state.assessmentName) {
|
||||||
|
message.destroy();
|
||||||
message.error("请输入评估名称");
|
message.error("请输入评估名称");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -620,6 +621,11 @@ export default {
|
|||||||
router.push("/researchadd");
|
router.push("/researchadd");
|
||||||
handleCancel();
|
handleCancel();
|
||||||
} else {
|
} else {
|
||||||
|
if (!state.assessmentName) {
|
||||||
|
message.destroy();
|
||||||
|
message.error("请输入评估名称");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
editAssessmentName({
|
editAssessmentName({
|
||||||
assessmentId: state.assessmentId,
|
assessmentId: state.assessmentId,
|
||||||
assessmentName: state.assessmentName,
|
assessmentName: state.assessmentName,
|
||||||
|
|||||||
Reference in New Issue
Block a user