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
|
||||
VUE_APP_BASE_API=/manageApi
|
||||
#文件路径
|
||||
VUE_APP_FILE_PATH=/file/
|
||||
VUE_APP_FILE_PATH=/upload/
|
||||
# 代理url 本地调试,不可以用在其他地方
|
||||
VUE_APP_PROXY_URL=http://111.231.196.214/manageApi
|
||||
# 登录url
|
||||
@@ -16,10 +16,11 @@ VUE_APP_OUTPUT_DIR=./dist
|
||||
# iframe嵌套url
|
||||
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_UP_LOAD_HOMEWORK_TEMPLATE=导入作业成绩 模板-1673450632417.xlsx
|
||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673452888323.xlsx
|
||||
VUE_APP_UP_LOAD_HOMEWORK_TEMPLATE=导入作业成绩模板-1673511599785.xlsx
|
||||
# 导入作业成绩学员模板
|
||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673511636808.xlsx
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
NODE_ENV=alpine
|
||||
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_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>
|
||||
</template>
|
||||
<script>
|
||||
import { computed, defineComponent, ref } from "vue";
|
||||
import { computed, defineComponent, ref, onMounted } from "vue";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import { useStore } from "vuex";
|
||||
import { useStore, createStore } from "vuex";
|
||||
import NavLeft from "@/components/NavLeft";
|
||||
import NavTop from "@/components/NavTop";
|
||||
import OpenPages from "@/components/OpenPages";
|
||||
@@ -44,7 +44,7 @@ export default defineComponent({
|
||||
const store = useStore();
|
||||
const isLogin = ref(false);
|
||||
// console.log("router", router.getRoutes(), route);
|
||||
console.log("版本2.0.5------------");
|
||||
console.log("版本2.0.6------------");
|
||||
const routes = computed(() => {
|
||||
return router.getRoutes().filter((e) => e.meta?.isLink);
|
||||
});
|
||||
@@ -71,6 +71,31 @@ export default defineComponent({
|
||||
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() {
|
||||
const list = localStorage.getItem("memberInitInfo");
|
||||
if (list) {
|
||||
@@ -124,7 +149,7 @@ export default defineComponent({
|
||||
name: currentRouteName,
|
||||
zhCN,
|
||||
};
|
||||
},
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<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 { studentUrl } from "../api/method";
|
||||
import router from "@/router";
|
||||
import { useStore, createStore } from "vuex";
|
||||
|
||||
export default {
|
||||
name: "NavTop",
|
||||
components: {
|
||||
DownLoad,
|
||||
},
|
||||
setup() {
|
||||
const store = useStore();
|
||||
|
||||
const state = reactive({
|
||||
selectRole: "管理员",
|
||||
username: "",
|
||||
@@ -120,6 +124,9 @@ export default {
|
||||
getUser();
|
||||
|
||||
const logOut = () => {
|
||||
|
||||
store.replaceState(createStore({state: {openpages:null}}).state);
|
||||
|
||||
localStorage.removeItem("faceclassPic");
|
||||
localStorage.removeItem("faceclassClass");
|
||||
localStorage.removeItem("faceclassScene");
|
||||
@@ -138,7 +145,12 @@ export default {
|
||||
localStorage.removeItem("projectId");
|
||||
localStorage.removeItem("projectTemplateId");
|
||||
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 {
|
||||
...toRefs(state),
|
||||
|
||||
@@ -51,7 +51,7 @@ export default {
|
||||
const store = useStore();
|
||||
const $router = useRouter();
|
||||
const state = reactive({
|
||||
//openList: store.state.openpages,
|
||||
openList: store.state.openpages,
|
||||
});
|
||||
|
||||
const closePage = (value) => {
|
||||
@@ -67,7 +67,6 @@ export default {
|
||||
message.destroy();
|
||||
return message.warning("至少保留一个页面");
|
||||
}
|
||||
|
||||
} else {
|
||||
if (value.active) {
|
||||
if (key === state.openList.length - 1) {
|
||||
@@ -92,7 +91,7 @@ export default {
|
||||
<style lang="scss">
|
||||
.openPages {
|
||||
width: 100%;
|
||||
// height: 50px;
|
||||
height: 50px;
|
||||
display: flex;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 8px 8px 0px rgba(118, 136, 166, 0.1);
|
||||
@@ -118,7 +117,6 @@ export default {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
|
||||
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
{{ codeInfo.name ? codeInfo.name : "" }}
|
||||
</div>
|
||||
<qrcode-vue
|
||||
:value="codeInfo.url ? codeInfo.url : ''"
|
||||
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||
:size="qrcodeSize"
|
||||
style="width: 200px; height: 200px"
|
||||
></qrcode-vue>
|
||||
@@ -34,12 +34,12 @@
|
||||
<div class="codeUrl" :style="{ display: showUrl ? 'flex' : 'none' }">
|
||||
<div class="codeUrlLink">链接</div>
|
||||
<a-input
|
||||
:value="codeInfo.url ? codeInfo.url : ''"
|
||||
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||
disabled
|
||||
class="codeUrlInp"
|
||||
/>
|
||||
<a-input
|
||||
:value="codeInfo.url ? codeInfo.url : ''"
|
||||
:value="codeInfo.url.startsWith('/')?(domain+codeInfo.url):codeInfo.url"
|
||||
id="courseUrl"
|
||||
class="codeUrlInp"
|
||||
style="position: absolute; opacity: 0; z-index: -1"
|
||||
@@ -104,6 +104,7 @@ export default {
|
||||
codeInfo: {},
|
||||
courseUrl: "https://www.baidu.com/",
|
||||
showUrl: false,
|
||||
domain: location.protocol+'//'+location.host
|
||||
});
|
||||
|
||||
//下载二维码图片
|
||||
@@ -147,7 +148,7 @@ export default {
|
||||
// selection.removeRange(range); // 移除选中的元素
|
||||
|
||||
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); // 添加临时实例
|
||||
input.select(); // 选择实例内容
|
||||
document.execCommand("Copy"); // 执行复制
|
||||
|
||||
@@ -20,7 +20,11 @@
|
||||
<div class="file_detail">
|
||||
<div class="file_name">
|
||||
<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>
|
||||
</div>
|
||||
<!-- <div class="file_size">-->
|
||||
|
||||
@@ -31,14 +31,13 @@
|
||||
<div class="btnbox">
|
||||
<a-input
|
||||
v-model:value="inputV1"
|
||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入活动名称"
|
||||
maxlength="20"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
@@ -51,10 +50,11 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-range-picker
|
||||
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
|
||||
:disabled-date="disabledDate"
|
||||
:disabled-time="disabledRangeTime"
|
||||
:show-time="{ format: '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"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
@@ -74,7 +74,7 @@
|
||||
<a-input-number
|
||||
:min="0"
|
||||
:precision="0"
|
||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
v-model:value="inputV2"
|
||||
/>
|
||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||
@@ -93,7 +93,7 @@
|
||||
<div class="btnbox">
|
||||
<a-input
|
||||
v-model:value="inputV3"
|
||||
style="width: 400px; height: 40px; border-radius: 8px;"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入活动地点"
|
||||
maxlength="100"
|
||||
/>
|
||||
@@ -115,7 +115,8 @@
|
||||
placeholder="请输入活动公告"
|
||||
allow-clear
|
||||
:rows="6"
|
||||
show-count :maxlength="200"
|
||||
show-count
|
||||
:maxlength="200"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,7 +130,8 @@
|
||||
placeholder="请输入活动说明"
|
||||
allow-clear
|
||||
:rows="6"
|
||||
show-count :maxlength="200"
|
||||
show-count
|
||||
:maxlength="200"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -158,7 +160,9 @@
|
||||
"
|
||||
v-model:value="inputV4"
|
||||
/>
|
||||
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
|
||||
<span style="color: #999999; margin-left: 8px"
|
||||
>分钟允许签到</span
|
||||
>
|
||||
</div>
|
||||
<div class="timerbox">
|
||||
<span>活动开始后:</span>
|
||||
@@ -174,7 +178,9 @@
|
||||
"
|
||||
v-model:value="inputV5"
|
||||
/>
|
||||
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
|
||||
<span style="color: #999999; margin-left: 8px"
|
||||
>分钟允许签到</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="qdqtbox">
|
||||
@@ -222,16 +228,13 @@
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="main_item" style="height:40px;">
|
||||
<div class="main_item" style="height: 40px">
|
||||
<div class="signbox">
|
||||
<span style="margin-right: 3px"></span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
|
||||
<div class="btnbox"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_btns">
|
||||
<button class="btn1" @click="closeDrawer1">取消</button>
|
||||
@@ -318,7 +321,7 @@ export default {
|
||||
textV2: "",
|
||||
radioV1: "",
|
||||
time: "",
|
||||
isClick: false
|
||||
isClick: false,
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:addactiveVisible", false);
|
||||
@@ -357,7 +360,8 @@ export default {
|
||||
api
|
||||
.getActivity(props.EditActiveId)
|
||||
.then((res) => {
|
||||
//更新讨论信息
|
||||
console.log("获取活动信息", res);
|
||||
//获取活动信息
|
||||
state.inputV1 = res.data.data.activityName;
|
||||
state.textV1 = res.data.data.activityNotice;
|
||||
state.textV2 = res.data.data.activityExplain;
|
||||
@@ -468,8 +472,8 @@ export default {
|
||||
|
||||
if (state.isClick) {
|
||||
message.destroy();
|
||||
message.error('请勿频繁点击')
|
||||
return
|
||||
message.error("请勿频繁点击");
|
||||
return;
|
||||
}
|
||||
state.isClick = true;
|
||||
|
||||
@@ -483,11 +487,12 @@ export default {
|
||||
activityNotice: state.textV1, //活动公告
|
||||
activityStartTime: dayjs(state.time[0]).format("YYYY-MM-DD HH:mm"), //活动开始时间
|
||||
activityTag: "", //活动逻辑删除标识
|
||||
afterSignIn: state.inputV5, //活动开始后多少分钟签到
|
||||
beforeSignIn: state.inputV4, //活动开始前多少分钟签到
|
||||
afterSignIn: state.inputV5 ? state.inputV5 : 0, //活动开始后多少分钟签到
|
||||
beforeSignIn: state.inputV4 ? state.inputV4 : 0, //活动开始前多少分钟签到
|
||||
signOutTime: state.inputV6, //签退开始时间
|
||||
standardSettings: state.radioV1, //标准设置
|
||||
};
|
||||
console.log("obj", obj);
|
||||
if (props.edit) {
|
||||
//更新编辑活动信息
|
||||
api
|
||||
@@ -536,8 +541,8 @@ export default {
|
||||
};
|
||||
const disabledDate = (current) => {
|
||||
// Can not select days before today and today
|
||||
console.log('1111', dayjs().endOf('day'))
|
||||
return current && current < dayjs().startOf('day');
|
||||
console.log("1111", dayjs().endOf("day"));
|
||||
return current && current < dayjs().startOf("day");
|
||||
};
|
||||
|
||||
const disabledDateTime = () => {
|
||||
@@ -556,9 +561,7 @@ export default {
|
||||
cloradio1,
|
||||
updateActivityInfo,
|
||||
disabledDateTime,
|
||||
disabledDate
|
||||
|
||||
|
||||
disabledDate,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -701,7 +704,6 @@ export default {
|
||||
}
|
||||
|
||||
.setbox {
|
||||
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 24px;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div class="main">
|
||||
<div class="minatitl">
|
||||
<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>
|
||||
<div class="upload">
|
||||
@@ -221,7 +221,11 @@ export default {
|
||||
setup(props, ctx) {
|
||||
const store = useStore();
|
||||
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:
|
||||
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
||||
timers: "", // 定时器,用于清空定时器使用
|
||||
|
||||
@@ -71,7 +71,8 @@
|
||||
<div class="btnbox">
|
||||
<a-range-picker
|
||||
: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"
|
||||
v-model:value="time"
|
||||
format="YYYY/MM/DD HH:mm"
|
||||
@@ -486,7 +487,7 @@ export default {
|
||||
switchC2: false,
|
||||
assessmentVisible: false,
|
||||
assessmentName: "",
|
||||
isClick: false
|
||||
isClick: false,
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:addliveVisible", false);
|
||||
@@ -703,8 +704,8 @@ export default {
|
||||
}
|
||||
if (state.isClick) {
|
||||
message.destroy();
|
||||
message.error('请勿频繁点击')
|
||||
return
|
||||
message.error("请勿频繁点击");
|
||||
return;
|
||||
}
|
||||
state.isClick = true;
|
||||
|
||||
@@ -722,8 +723,8 @@ export default {
|
||||
"Y-M-D h:m"
|
||||
);
|
||||
state.obj = {
|
||||
afterSignIn: state.inputV6,
|
||||
beforeSignIn: state.inputV7,
|
||||
afterSignIn: state.inputV6 ? state.inputV6 : 0,
|
||||
beforeSignIn: state.inputV7 ? state.inputV7 : 0,
|
||||
assessmentId:
|
||||
state.assessmentId == null || state.assessmentId == ""
|
||||
? 0
|
||||
@@ -898,8 +899,8 @@ export default {
|
||||
};
|
||||
const disabledDate = (current) => {
|
||||
// Can not select days before today and today
|
||||
console.log('1111', dayjs().endOf('day'))
|
||||
return current && current < dayjs().startOf('day');
|
||||
console.log("1111", dayjs().endOf("day"));
|
||||
return current && current < dayjs().startOf("day");
|
||||
};
|
||||
|
||||
const disabledDateTime = () => {
|
||||
@@ -927,7 +928,7 @@ export default {
|
||||
showAssessment,
|
||||
removePG,
|
||||
disabledDateTime,
|
||||
disabledDate
|
||||
disabledDate,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
placement="right"
|
||||
width="700px"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
:zIndex="1000"
|
||||
>
|
||||
<div class="drawerMain">
|
||||
<div class="header">
|
||||
@@ -20,7 +19,9 @@
|
||||
<div class="main">
|
||||
<div class="minatitl">
|
||||
<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>
|
||||
<div class="upload">
|
||||
@@ -218,7 +219,7 @@ export default {
|
||||
const state = reactive({
|
||||
fileType: ["xls", "xlsx"],
|
||||
importHomeWork:
|
||||
process.env.VUE_APP_BASE_API + "admin/student/importHomeWork",
|
||||
process.env.VUE_APP_BASE_API + "/admin/student/importHomeWork",
|
||||
uploadpercent: -1,
|
||||
uploadErr: false, //上传失败
|
||||
addLoading: false,
|
||||
@@ -226,10 +227,6 @@ export default {
|
||||
succNum: 0, //成功数据数
|
||||
errNum: 0, //失败数据数
|
||||
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,
|
||||
userName: store.state.userInfo.realName,
|
||||
fileName: "",
|
||||
@@ -350,13 +347,15 @@ export default {
|
||||
};
|
||||
// 下载失败数据
|
||||
const downloadEeeorData = () => {
|
||||
console.log(state.locationHref + state.downloadErrUrl);
|
||||
if (state.downloadErrUrl !== "") {
|
||||
window.open(process.env.VUE_APP_FILE_PATH + state.downloadErrUrl);
|
||||
}
|
||||
};
|
||||
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 {
|
||||
|
||||
@@ -431,10 +431,10 @@ export default {
|
||||
title: "【签到】二维码",
|
||||
name: props.projectTaskInfo?.name,
|
||||
url:
|
||||
process.env.VUE_APP_BOE_API_URL +
|
||||
process.env.VUE_APP_BASE_API +
|
||||
`/admin/student/studentSign?taskId=${
|
||||
props.projectTaskInfo.projectTaskId
|
||||
}&type=${1}`,
|
||||
}&taskType=${props.projectTaskInfo.type}&type=${1}`,
|
||||
};
|
||||
console.log("codeInfo", state.codeInfo);
|
||||
state.codeIndex = 0;
|
||||
@@ -869,7 +869,9 @@ export default {
|
||||
process.env.VUE_APP_BASE_API
|
||||
}/admin/student/exportTaskStudent?currentStageId=${
|
||||
props.projectTaskInfo.stageId
|
||||
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskType=2&thirdType=2`
|
||||
}&type=${1}&pid=${
|
||||
props.projectTaskInfo.projectId
|
||||
}&taskType=2&thirdType=2`
|
||||
);
|
||||
// api
|
||||
// .exportTaskStudent({
|
||||
|
||||
@@ -846,10 +846,10 @@ export default {
|
||||
title: "【签到】二维码",
|
||||
name: props.datasource?.name,
|
||||
url:
|
||||
process.env.VUE_APP_BOE_API_URL +
|
||||
process.env.VUE_APP_BASE_API +
|
||||
`/admin/student/studentSign?taskId=${
|
||||
props.datasource.routerTaskId
|
||||
}&type=${2}`,
|
||||
}&taskType=${props.datasource.type}&type=${2}`,
|
||||
};
|
||||
console.log("codeInfo", state.codeInfo);
|
||||
state.codeIndex = 0;
|
||||
|
||||
@@ -624,7 +624,7 @@ export default {
|
||||
`${
|
||||
process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${
|
||||
props.datasource.chapterId
|
||||
}&type=${2}&pid=${props.datasource.routerId}&taskType=${1}`
|
||||
}&type=${2}&pid=${props.datasource.routerId}&taskType=${2}`
|
||||
);
|
||||
// api
|
||||
// .exportTaskStudent({
|
||||
|
||||
@@ -341,7 +341,7 @@
|
||||
</a-modal>
|
||||
-->
|
||||
<a-modal
|
||||
style="padding: 0"
|
||||
:style="{padding: 0,position: relative,right: - (screenWidth/2 - 660) + 'px',}"
|
||||
:closable="true"
|
||||
:visible="stageVisible"
|
||||
:footer="null"
|
||||
@@ -560,6 +560,7 @@ const stuSelectKeys = ref([]);
|
||||
const orgSelectKeys = ref([]);
|
||||
const auditSelectKeys = ref([]);
|
||||
const screenHeight = ref(document.body.clientHeight);
|
||||
const screenWidth = ref(document.body.clientWidth);
|
||||
const stuRowSelection = computed(() => ({
|
||||
columnWidth: 20,
|
||||
selectedRowKeys: stuSelectKeys.value,
|
||||
|
||||
@@ -50,7 +50,11 @@
|
||||
</a-form-item>
|
||||
</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>
|
||||
<img
|
||||
style="margin-right: 10px"
|
||||
@@ -60,8 +64,13 @@
|
||||
</a-button>
|
||||
</a-col>
|
||||
<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-col>
|
||||
</a-row>
|
||||
@@ -78,7 +87,7 @@
|
||||
@finash="submitCall"
|
||||
:stage="stage"
|
||||
>
|
||||
<a-button class="cus-btn">
|
||||
<a-button class="cus-btn" style="background: #4ea6ff; color: #fff">
|
||||
<template #icon
|
||||
><img
|
||||
style="margin-right: 10px"
|
||||
@@ -146,9 +155,10 @@
|
||||
<div class="btn4_tit" @click="showEScoreModal">
|
||||
<span>批量录入成绩</span>
|
||||
</div>
|
||||
<div class="btn4_op1" @click="updateStatus(1)">
|
||||
<!--2023-1-12 隐藏 后面放开 -->
|
||||
<!-- <div class="btn4_op1" @click="updateStatus(1)">
|
||||
<span>批量结业</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="btn4_op2" @click="updateStatus(0)">
|
||||
<span>批量通过</span>
|
||||
</div>
|
||||
@@ -506,7 +516,8 @@ function exportTaskStu() {
|
||||
console.log("props.datasource", props.datasource);
|
||||
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,
|
||||
type: 3,
|
||||
};
|
||||
api
|
||||
.exportHomeWork(obj)
|
||||
.then((res) => {
|
||||
api.exportHomeWork(obj).then((res) => {
|
||||
console.log("导出作业", res.data.data);
|
||||
//message.destroy();
|
||||
// message.success("导出作业成功");
|
||||
exportHomeWorkV.value = true;
|
||||
downloadUrl.value = res.data.data;
|
||||
})
|
||||
});
|
||||
};
|
||||
// //导出作业
|
||||
// const exportHomeWork = () => {
|
||||
@@ -704,7 +713,8 @@ const exportHomeWorkShow = () => {
|
||||
const exportStu = () => {
|
||||
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,
|
||||
capacity: 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() {
|
||||
@@ -180,7 +179,7 @@ export default {
|
||||
// 下载文件
|
||||
function downLoadFile(data) {
|
||||
console.log(data)
|
||||
window.open(state.locationHref + data.url)
|
||||
window.open(process.env.VUE_APP_FILE_PATH + data.url)
|
||||
}
|
||||
// 删除文件
|
||||
function removeFile(data) {
|
||||
|
||||
@@ -1659,7 +1659,7 @@
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle stusmanageModal"
|
||||
width="80%"
|
||||
width="90%"
|
||||
@cancel="sm_exit"
|
||||
>
|
||||
<div class="modalHeader">
|
||||
@@ -2030,7 +2030,11 @@
|
||||
<div class="qrm_btn btn1" @click="rg_exit">
|
||||
<div class="btnText">取消</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>
|
||||
</div>
|
||||
@@ -3067,7 +3071,8 @@ export default defineComponent({
|
||||
dataIndex: "evastatus",
|
||||
key: "8",
|
||||
align: "center",
|
||||
customRender: ({record}) => record.assessmentStatus ? '已评估' : '未评估'
|
||||
customRender: ({ record }) =>
|
||||
record.assessmentStatus ? "已评估" : "未评估",
|
||||
},
|
||||
{
|
||||
title: "作业成绩",
|
||||
@@ -3118,14 +3123,15 @@ export default defineComponent({
|
||||
key: "8",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "结业状态",
|
||||
width: "15%",
|
||||
dataIndex: "completionStatus",
|
||||
key: "8",
|
||||
align: "center",
|
||||
customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>,
|
||||
},
|
||||
// 2023-1-12 隐藏 后面放开
|
||||
// {
|
||||
// title: "结业状态",
|
||||
// width: "15%",
|
||||
// dataIndex: "completionStatus",
|
||||
// key: "8",
|
||||
// align: "center",
|
||||
// customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>,
|
||||
// },
|
||||
],
|
||||
shipType: 1,
|
||||
addLoading: false,
|
||||
@@ -4755,7 +4761,7 @@ export default defineComponent({
|
||||
};
|
||||
|
||||
const handleJoin = async () => {
|
||||
state.lrcj_inputV1 || message.error("请输入成绩")
|
||||
state.lrcj_inputV1 || message.error("请输入成绩");
|
||||
if (state.rg_hs) {
|
||||
if (state.piliang) {
|
||||
api1.updateStudent({
|
||||
@@ -5548,7 +5554,7 @@ export default defineComponent({
|
||||
url:
|
||||
type == 1
|
||||
? 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=${
|
||||
record.offcoursePlanId
|
||||
}&type=${3}`,
|
||||
@@ -5840,8 +5846,6 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
.btn1 {
|
||||
|
||||
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
}
|
||||
@@ -5894,11 +5898,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.btn3 {
|
||||
|
||||
|
||||
.search {
|
||||
width: 17px;
|
||||
height: 18px;
|
||||
@@ -5909,7 +5909,6 @@ export default defineComponent({
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7572,8 +7571,6 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
.btn1 {
|
||||
|
||||
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
}
|
||||
@@ -7633,10 +7630,6 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7793,7 +7786,7 @@ export default defineComponent({
|
||||
|
||||
.stusmanageModal {
|
||||
.ant-modal {
|
||||
max-width: 1700px;
|
||||
max-width: 1800px;
|
||||
.ant-modal-content {
|
||||
// width:1358px !important;
|
||||
.ant-modal-body {
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<!-- 概览(无数据) -->
|
||||
<div :style="{ display: 'block' }">
|
||||
<div class="onerow">
|
||||
<div class="taskmain">快速创建项目详情</div>
|
||||
<div class="taskmain">快速创建路径图详情</div>
|
||||
</div>
|
||||
<div class="second">
|
||||
<div @click="totask">
|
||||
@@ -536,9 +536,8 @@
|
||||
<div class="split"></div>
|
||||
|
||||
<a-tabs>
|
||||
|
||||
|
||||
<a-tab-pane key="1" tab="基本信息">
|
||||
<!-- 2023-1-12 隐藏 后面放开 -->
|
||||
<!-- <a-tab-pane key="1" tab="基本信息">
|
||||
<div class="sametab">
|
||||
<div class="Gcon">
|
||||
<div class="pad"></div>
|
||||
@@ -634,8 +633,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
|
||||
</a-tab-pane> -->
|
||||
|
||||
<a-tab-pane key="2" tab="共享文档">
|
||||
<div class="sametab">
|
||||
@@ -668,7 +666,13 @@
|
||||
>
|
||||
<img
|
||||
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=""
|
||||
/>
|
||||
</a-upload>
|
||||
@@ -694,7 +698,6 @@
|
||||
"
|
||||
class="docListStyle"
|
||||
>
|
||||
|
||||
<!-- <img
|
||||
src="@/assets/images/basicinfo/download.png"
|
||||
style="
|
||||
@@ -705,26 +708,74 @@
|
||||
"
|
||||
alt=""
|
||||
/> -->
|
||||
<img v-if="
|
||||
<img
|
||||
v-if="
|
||||
item.name.indexOf('jpg') !== -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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<img v-if="item.name.indexOf('zip') !== -1"
|
||||
style="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" />
|
||||
<img
|
||||
v-if="item.name.indexOf('zip') !== -1"
|
||||
style="
|
||||
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>
|
||||
@@ -742,7 +793,11 @@
|
||||
:title="item.name"
|
||||
>{{ 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
|
||||
style="color: #4ea6ff; cursor: pointer"
|
||||
@click="deFile(item.uid)"
|
||||
@@ -756,7 +811,6 @@
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-tab-pane>
|
||||
|
||||
</a-tabs>
|
||||
|
||||
<a-modal
|
||||
@@ -1428,7 +1482,10 @@ export default {
|
||||
evaluationLevelName: "",
|
||||
|
||||
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({
|
||||
@@ -2048,7 +2105,7 @@ export default {
|
||||
.then((res) => {
|
||||
console.log("router-list", res);
|
||||
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
|
||||
console.log('asdasdasd-------->',state.fileList)
|
||||
console.log("asdasdasd-------->", state.fileList);
|
||||
state.docChecked =
|
||||
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
|
||||
if (res.data.data.routerInfo.status == 1) {
|
||||
|
||||
@@ -689,7 +689,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<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
|
||||
style="
|
||||
|
||||
@@ -55,8 +55,13 @@
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
|
||||
/>-->
|
||||
<a-range-picker v-model:value="searchParam.valueDate" style="width: 420px" format="YYYY-MM-DD" separator="至"
|
||||
:placeholder="[' 开始时间', ' 结束时间']" />
|
||||
<a-range-picker
|
||||
v-model:value="searchParam.valueDate"
|
||||
style="width: 420px"
|
||||
format="YYYY-MM-DD"
|
||||
separator="至"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
</div>
|
||||
<div style="display: flex; margin-bottom: 20px">
|
||||
<div class="btnn btn1" @click="searchSubmit">
|
||||
@@ -1050,13 +1055,15 @@ export default {
|
||||
state.projectTasks = res.data.data.tasks;
|
||||
});
|
||||
//获取学员总数
|
||||
api.projectStudentCount({
|
||||
api
|
||||
.projectStudentCount({
|
||||
pid: object.projectId,
|
||||
type: 1
|
||||
}).then((res) => {
|
||||
state.projectStudentsNum = res.data.data
|
||||
state.projectPubLoading = false;
|
||||
type: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
state.projectStudentsNum = res.data.data;
|
||||
state.projectPubLoading = false;
|
||||
});
|
||||
//获取阶段及任务总数
|
||||
};
|
||||
//确认发布项目
|
||||
@@ -1230,11 +1237,13 @@ export default {
|
||||
};
|
||||
//确认复制
|
||||
const copyProject = () => {
|
||||
state.tableLoading = true
|
||||
api.handleProject({
|
||||
state.tableLoading = true;
|
||||
api
|
||||
.handleProject({
|
||||
projectId: state.copyProjectId,
|
||||
type: 2,
|
||||
}).then(() => getTableDate())
|
||||
})
|
||||
.then(() => getTableDate());
|
||||
message.success("复制成功");
|
||||
state.copyModal = false;
|
||||
};
|
||||
@@ -1399,7 +1408,9 @@ export default {
|
||||
// console.log("value", value.record.type, value.record.status);
|
||||
return (
|
||||
<div className="operation">
|
||||
{value.record.status === 0 || value.record.status ===2 || value.record.status === -5 ? (
|
||||
{value.record.status === 0 ||
|
||||
value.record.status === 2 ||
|
||||
value.record.status === -5 ? (
|
||||
<span
|
||||
onClick={() => {
|
||||
if (value.record.type === 1 || value.record.type === 2) {
|
||||
@@ -1471,6 +1482,21 @@ export default {
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
{value.record.status === 3 && value.record.type === 3 ? (
|
||||
<div
|
||||
onClick={() => {
|
||||
router.push({
|
||||
path: "/taskpage",
|
||||
query: { projectId: value.record.projectId },
|
||||
});
|
||||
storage.set("projectId", value.record.projectId);
|
||||
}}
|
||||
>
|
||||
管理
|
||||
</div>
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
{value.record.status === 3 && value.record.type === 3 ? (
|
||||
<span
|
||||
onClick={() => {
|
||||
@@ -1484,6 +1510,7 @@ export default {
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
|
||||
{/**
|
||||
//<!-- 2022-12-10注释 后面放开 -->
|
||||
<div className="tableSelect">
|
||||
@@ -1542,7 +1569,7 @@ export default {
|
||||
state.projectInfo = {
|
||||
parentName: value.record.name,
|
||||
parentId: value.record.projectId,
|
||||
name: '',
|
||||
name: "",
|
||||
sourceBelongId: value.record.sourceBelongId,
|
||||
sourceBelongName: value.record.sourceBelongName,
|
||||
manager: value.record.manager,
|
||||
@@ -1595,7 +1622,8 @@ export default {
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
{value.record.status!==3 ? <a-select-option value="删除" label="删除">
|
||||
{value.record.status !== 3 ? (
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal(value.record.projectId);
|
||||
@@ -1603,7 +1631,10 @@ export default {
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>:''}
|
||||
</a-select-option>
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
{value.record.type === 3 ? (
|
||||
<a-select-option value="存为模版" label="存为模版">
|
||||
<div
|
||||
@@ -1644,7 +1675,7 @@ export default {
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
{value.record.type === 3 ? (
|
||||
{value.record.status !== 3 && value.record.type === 3 ? (
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<div
|
||||
onClick={() => {
|
||||
@@ -1669,14 +1700,14 @@ export default {
|
||||
},
|
||||
]);
|
||||
const getTableDate = () => {
|
||||
state.tableLoading = true
|
||||
api.getProjectList({
|
||||
state.tableLoading = true;
|
||||
api
|
||||
.getProjectList({
|
||||
...state.searchParam,
|
||||
beginTime:
|
||||
state.searchParam.valueDate &&
|
||||
state.searchParam.valueDate.length === 2
|
||||
? dayjs(state.searchParam.valueDate[0]).format("YYYY-MM-DD")
|
||||
|
||||
: "",
|
||||
endTime:
|
||||
state.searchParam.valueDate &&
|
||||
@@ -1687,15 +1718,14 @@ export default {
|
||||
.then((res) => {
|
||||
// console.log("搜索", res, state.searchParam);
|
||||
state.tableDataTotal = Number(res.data.data.total);
|
||||
state.tableLoading = false
|
||||
state.tableLoading = false;
|
||||
const data = res.data.data.rows;
|
||||
initDataSublist("", data);
|
||||
console.log(data);
|
||||
tableData.value = data;
|
||||
console.log("tableData", tableData);
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
function initDataSublist(parentName, data) {
|
||||
if (data && data.length) {
|
||||
@@ -1796,9 +1826,9 @@ export default {
|
||||
);
|
||||
|
||||
function managerChange(e, l, d, t, orgName) {
|
||||
state.projectInfo.sourceBelongId = d
|
||||
state.projectInfo.sourceBelongName = t
|
||||
state.projectInfo.sourceBelongFullName = orgName
|
||||
state.projectInfo.sourceBelongId = d;
|
||||
state.projectInfo.sourceBelongName = t;
|
||||
state.projectInfo.sourceBelongFullName = orgName;
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -495,7 +495,8 @@
|
||||
<div style="width: 87px; text-align: center">
|
||||
{{
|
||||
element.cretime
|
||||
? element.cretime + "分钟"
|
||||
?
|
||||
element.type==1? Math.ceil(Number(element.cretime)/60) + "分钟" : element.cretime + "分钟"
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
|
||||
@@ -2498,8 +2498,7 @@ export default {
|
||||
commonLevelName: "",
|
||||
evaltype: "",
|
||||
evalData: "",
|
||||
facestudent: "",
|
||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
||||
facestudent: ""
|
||||
});
|
||||
|
||||
const levelList = reactive({
|
||||
|
||||
@@ -599,6 +599,7 @@ export default {
|
||||
const handleNext = async() => {
|
||||
if (!state.assessmentId) {
|
||||
if (!state.assessmentName) {
|
||||
message.destroy();
|
||||
message.error("请输入评估名称");
|
||||
return false;
|
||||
}
|
||||
@@ -620,6 +621,11 @@ export default {
|
||||
router.push("/researchadd");
|
||||
handleCancel();
|
||||
} else {
|
||||
if (!state.assessmentName) {
|
||||
message.destroy();
|
||||
message.error("请输入评估名称");
|
||||
return false;
|
||||
}
|
||||
editAssessmentName({
|
||||
assessmentId: state.assessmentId,
|
||||
assessmentName: state.assessmentName,
|
||||
|
||||
Reference in New Issue
Block a user