Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
zhangyc
2022-12-09 07:12:18 +08:00
11 changed files with 1098 additions and 924 deletions

View File

@@ -140,6 +140,28 @@ export default defineComponent({
}); });
</script> </script>
<style lang="scss"> <style lang="scss">
//.ant-modal {
//
// .ant-modal-content {
// background-image: linear-gradient(
// 180deg, rgba(103, 64, 255, .2), rgba(166, 168, 255, 0), rgba(166, 168, 255, 0)) !important;
// border-radius: 4px;
//
// .ant-modal-body {
// .ant-btn {
// border-radius: 8px;
// width: 100px;
// height: 40px;
// }
//
// .ant-btn-primary {
// background: #4ea6ff;
// color: #fff;
// }
// }
// }
//}
#app { #app {
// font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial, // font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial,
// sans-serif; // sans-serif;

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31 * @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-30 10:39:27 * @LastEditTime: 2022-12-08 20:20:26
* @FilePath: /fe-manage/src/api/index1.js * @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@@ -80,6 +80,9 @@ export const delStudent = (obj) =>
// 获取学员路径图进度明细 // 获取学员路径图进度明细
export const stuProgress = (obj) => export const stuProgress = (obj) =>
http.post("/admin/router/studentProcess", obj); http.post("/admin/router/studentProcess", obj);
//编辑学习路径基本信息
export const editLearnInfo = (obj) => http.post('/admin/router/editInfo', obj)
//项目基础信息----------------------------------- //项目基础信息-----------------------------------
//项目积分榜单 //项目积分榜单

4
src/api/student.js Normal file
View File

@@ -0,0 +1,4 @@
import http from "./config";
export const studentDelAll = (params) => http.get('/admin/student/del', {params})

View File

@@ -24,7 +24,7 @@
<div class="file_img"></div> <div class="file_img"></div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span> <span style="color: #6f6f6fwidth:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</span>
</div> </div>
<!-- <div class="file_size">--> <!-- <div class="file_size">-->
<!-- <span style="color: #999ba3">{{ item.size }}</span>--> <!-- <span style="color: #999ba3">{{ item.size }}</span>-->
@@ -167,21 +167,21 @@ function del(i) {
.updataxq { .updataxq {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #57c887; color: #57c887;
} }
.updataxq1 { .updataxq1 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #388be1; color: #388be1;
} }
.updataxq2 { .updataxq2 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #ff7474; color: #ff7474;
} }

View File

@@ -323,7 +323,7 @@ export default {
name: value.memberName ? value.memberName : "-", name: value.memberName ? value.memberName : "-",
com: value.orgName ? value.orgName : "-", com: value.orgName ? value.orgName : "-",
gang: "-", gang: value.positionMgrLevel ? value.positionMgrLevel : "-",
number: value.memberNo ? value.memberNo : "-", number: value.memberNo ? value.memberNo : "-",
state: value.tagName ? value.tagName : "-", state: value.tagName ? value.tagName : "-",
}; };

View File

@@ -18,6 +18,7 @@
@search="searchMember" @search="searchMember"
:open="isOpen" :open="isOpen"
@change="change" @change="change"
@blur="blur"
> >
<template v-if="loading" #notFoundContent> <template v-if="loading" #notFoundContent>
<a-spin size="small"/> <a-spin size="small"/>
@@ -60,8 +61,7 @@ const memberParam = ref({keyWord: '', pageNo: 1, pageSize: 10})
const loading = ref(false) const loading = ref(false)
watch(() => memberParam.value.keyWord, throttle(getSearchMember, 500)) watch(() => memberParam.value, throttle(getMemberData, 1000))
watch(() => memberParam.value.pageNo, throttle(getPageMember, 500))
watch(props, init) watch(props, init)
function init() { function init() {
@@ -76,19 +76,15 @@ onMounted(() => {
init() init()
}) })
function getSearchMember() {
console.log('getSearchMember')
options.value && options.value.length && (options.value = [])
getMemberData()
}
function getPageMember() {
console.log('getPageMember')
getMemberData()
}
function getMemberData() { function getMemberData() {
console.log(memberParam)
if (!memberParam.value.keyWord) {
return
}
if (memberParam.value.pageNo !== 1) {
options.value && options.value.length && (options.value = [])
}
isOpen.value = true isOpen.value = true
loading.value = true loading.value = true
api1.getMemberInfo(memberParam.value).then((res) => { api1.getMemberInfo(memberParam.value).then((res) => {
@@ -116,11 +112,16 @@ const memberScroll = (e) => {
//搜索学员 //搜索学员
const searchMember = (keyWord) => { const searchMember = (keyWord) => {
console.log('searchMember', keyWord) console.log('searchMember', keyWord)
loading.value = true
options.value = [] options.value = []
isOpen.value = true isOpen.value = true
keyWord && (memberParam.value = {keyWord, pageNo: 1, pageSize: 10}); keyWord && (memberParam.value = {keyWord, pageNo: 1, pageSize: 10});
}; };
function blur() {
isOpen.value = false
}
function change(e, l) { function change(e, l) {
isOpen.value = false isOpen.value = false
Array.isArray(l) && (selectOptions.value = l) Array.isArray(l) && (selectOptions.value = l)
@@ -129,8 +130,8 @@ function change(e, l) {
emit('update:name', l.map(t => t.label).join(',')) emit('update:name', l.map(t => t.label).join(','))
emit('update:value', l.map(t => t.value).join(',')) emit('update:value', l.map(t => t.value).join(','))
} else { } else {
emit('update:name', l.label) emit('update:name', l?.label)
emit('update:value', l.value) emit('update:value', l?.value)
} }
} }

View File

@@ -1403,7 +1403,7 @@
placeholder="请选择状态" placeholder="请选择状态"
v-model:value="gl_selectV2" v-model:value="gl_selectV2"
style="width: 200px" style="width: 200px"
:options="options1" :options="options11"
allowClear allowClear
showSearch showSearch
@focus="focus" @focus="focus"
@@ -2568,11 +2568,11 @@
</div> </div>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="delete_exit1">
<div class="btnText" @click="delete_exit1">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="handleDeleteExit">
<div class="btnText" @click="handleDeleteExit">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -4029,7 +4029,7 @@ export default defineComponent({
number: "studentId", number: "studentId",
department: "deptName", department: "deptName",
postion: "jobName", postion: "jobName",
band: "userAutograph", band: "bandDesc",
status: "applyStatus", status: "applyStatus",
join: "source", join: "source",
signstatus: "signStatus", signstatus: "signStatus",
@@ -4052,6 +4052,7 @@ export default defineComponent({
}; };
const handleSearchTable3 = () => { const handleSearchTable3 = () => {
console.log(7878); console.log(7878);
message.error("该课程暂学员学习记录");
getTableDate333(); getTableDate333();
}; };
const getTableDate33 = async () => { const getTableDate33 = async () => {
@@ -4161,6 +4162,16 @@ export default defineComponent({
label: "审核未通过", label: "审核未通过",
}, },
]); ]);
const options11 = ref([
{
value: 0,
label: "未开始",
},
{
value: 1,
label: "已完成",
},
]);
const options2 = ref([ const options2 = ref([
// { // {
// value: "value2", // value: "value2",
@@ -4723,7 +4734,6 @@ export default defineComponent({
const obj = { const obj = {
offcourseId: item.offcourseId, offcourseId: item.offcourseId,
offcoursePlanId: null, //开课ID,不传代表新增 offcoursePlanId: null, //开课ID,不传代表新增
address: item.address, address: item.address,
applyFlag: item.applyFlag, applyFlag: item.applyFlag,
attach: item.attach, attach: item.attach,
@@ -4731,7 +4741,7 @@ export default defineComponent({
completeType: item.completeType, completeType: item.completeType,
endTime: new Date(item.endTime) / 1000, endTime: new Date(item.endTime) / 1000,
evalFlag: item.evalFlag, evalFlag: item.evalFlag,
name: item.name, name: item.name+'1',
signFlag: item.signFlag, //是否允许未报名的签到:1是0否 signFlag: item.signFlag, //是否允许未报名的签到:1是0否
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否 //signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
teacherId: item.teacherId, teacherId: item.teacherId,
@@ -4755,7 +4765,7 @@ export default defineComponent({
}); });
const postData = { const postData = {
offcourseId: null, //不传代表新增 offcourseId: null, //不传代表新增
name: item.name, name: item.name+'1',
picUrl: item.picUrl, picUrl: item.picUrl,
targetUser: item.targetUser, targetUser: item.targetUser,
meaning: item.meaning, meaning: item.meaning,
@@ -4879,8 +4889,6 @@ export default defineComponent({
}; };
//编辑面授课 //编辑面授课
const handleEdit = async (itm, type) => { const handleEdit = async (itm, type) => {
console.log(45555);
console.log(itm);
if (type === "1") { if (type === "1") {
return; return;
} }
@@ -5329,6 +5337,7 @@ export default defineComponent({
columns6, columns6,
columns7, columns7,
options1, options1,
options11,
options2, options2,
options3, options3,
options4, options4,

View File

@@ -160,18 +160,43 @@
:key="index" :key="index"
> >
<div class="file_img"> <div class="file_img">
<img v-if="(item.indexOf('jpg')!==-1 ||item.indexOf('jpeg')!==-1 ||item.indexOf('png')!==-1 )" src="@/assets/images/coursewareManage/pngpic.png" /> <img
v-if="
item.indexOf('jpg') !== -1 ||
item.indexOf('jpeg') !== -1 ||
item.indexOf('png') !== -1
"
src="@/assets/images/coursewareManage/pngpic.png"
/>
<div v-else> <div v-else>
<img v-if="(item.indexOf('doc')!==-1)" src="@/assets/images/coursewareManage/docpic.png" /> <img
v-if="item.indexOf('doc') !== -1"
src="@/assets/images/coursewareManage/docpic.png"
/>
<div v-else> <div v-else>
<img v-if="(item.indexOf('xls')!==-1)" src="@/assets/images/coursewareManage/xlspic.png" /> <img
v-if="item.indexOf('xls') !== -1"
src="@/assets/images/coursewareManage/xlspic.png"
/>
<div v-else> <div v-else>
<img v-if="(item.indexOf('ppt')!==-1)" src="@/assets/images/coursewareManage/pptpic.png" /> <img
v-if="item.indexOf('ppt') !== -1"
src="@/assets/images/coursewareManage/pptpic.png"
/>
<div v-else> <div v-else>
<img v-if="(item.indexOf('pdf')!==-1)" src="@/assets/images/coursewareManage/pdfpic.png" /> <img
v-if="item.indexOf('pdf') !== -1"
src="@/assets/images/coursewareManage/pdfpic.png"
/>
<div v-else> <div v-else>
<img v-if="(item.indexOf('zip')!==-1)" src="@/assets/images/coursewareManage/zippic.png" /> <img
<img v-else src="@/assets/images/coursewareManage/docpic.png" /> v-if="item.indexOf('zip') !== -1"
src="@/assets/images/coursewareManage/zippic.png"
/>
<img
v-else
src="@/assets/images/coursewareManage/docpic.png"
/>
</div> </div>
</div> </div>
</div> </div>
@@ -666,7 +691,9 @@ export default defineComponent({
.fotarea { .fotarea {
width: calc(100% - 150px); width: calc(100% - 150px);
position: relative; position: relative;
img {
max-width: 100%;
}
.fuwenben { .fuwenben {
width: 90%; width: 90%;
height: 20px; height: 20px;

View File

@@ -31,7 +31,7 @@
<!-- 审核理由 --> <!-- 审核理由 -->
<div v-if="statusJuJue" class="statusJuJue"> <div v-if="statusJuJue" class="statusJuJue">
<span>审核意见</span> <span>审核意见</span>
<span>{{auditDescription}}</span> <span>{{ auditDescription }}</span>
</div> </div>
<div class="faceteach" :style="{ display: ft_hs ? 'block' : 'none' }"> <div class="faceteach" :style="{ display: ft_hs ? 'block' : 'none' }">
<div class="ft_main"> <div class="ft_main">
@@ -310,7 +310,7 @@
<span style="margin-right: 10px">附件</span> <span style="margin-right: 10px">附件</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<FJUpload v-model:value="attach"></FJUpload> <FJUpload v-model:value="attach" />
</div> </div>
</div> </div>
</div> </div>
@@ -360,8 +360,8 @@ import {
defineComponent, defineComponent,
ref, ref,
shallowRef, shallowRef,
onMounted, // onMounted,
onBeforeUnmount, onUnmounted,
} from "vue"; } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { edit, detail, handle } from "@/api/indexCourse"; import { edit, detail, handle } from "@/api/indexCourse";
@@ -372,7 +372,7 @@ import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import FJUpload from "@/components/common/FJUpload"; import FJUpload from "@/components/common/FJUpload";
import * as moment from "moment"; import * as moment from "moment";
import * as api2 from "../../api/indexAudit" import * as api2 from "../../api/indexAudit";
export default defineComponent({ export default defineComponent({
components: { components: {
Editor, Editor,
@@ -383,6 +383,7 @@ export default defineComponent({
setup(props, { expose, emit }) { setup(props, { expose, emit }) {
const state = reactive({ const state = reactive({
hideshow: true, hideshow: true,
ft_eidt: false,
attach: "", attach: "",
ft_hs: false, ft_hs: false,
addLoading: false, addLoading: false,
@@ -401,17 +402,20 @@ export default defineComponent({
tags_val: [], tags_val: [],
qdms_inputV6: "", qdms_inputV6: "",
imgList: [], imgList: [],
auditDescription:"", auditDescription: "",
}); });
const visibleOpen = (offcourseId, name) => { const visibleOpen = (offcourseId, name) => {
state.offcourseId = offcourseId; state.offcourseId = offcourseId;
if (state.offcourseId) { if (state.offcourseId) {
state.ft_hs = true;
state.ft_eidt = true;
handleEditInfo(state.offcourseId); handleEditInfo(state.offcourseId);
} else { } else {
state.qdms_inputV1 = name;
state.ft_hs = true; state.ft_hs = true;
state.ft_eidt = false;
state.qdms_inputV1 = name;
} }
}; };
const visibleClose = () => { const visibleClose = () => {
@@ -446,7 +450,7 @@ export default defineComponent({
state.imgList = []; state.imgList = [];
state.attach = ""; state.attach = "";
valueHtml.value = ""; // valueHtml.value = "";
}; };
// 富文本 sssssssssssssss // 富文本 sssssssssssssss
@@ -455,18 +459,17 @@ export default defineComponent({
// 内容 HTML // 内容 HTML
const valueHtml = ref(""); const valueHtml = ref("");
// // 模拟 ajax 异步获取内容 // // 模拟 ajax 异步获取内容
onMounted(() => { // onMounted(() => {
setTimeout(() => { // setTimeout(() => {
// valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>"; // // valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>";
console.log("toolbar222222222222222"); // console.log(editorRef.value);
console.log(editorRef.value); // // const toolbar = DomEditor.getToolbar(editorRef.value);
// const toolbar = DomEditor.getToolbar(editorRef.value); // // const menu = editorRef.value.getAllMenuKeys();
// const menu = editorRef.value.getAllMenuKeys(); // // const bar = toolbar.getConfig().toolbarKeys;
// const bar = toolbar.getConfig().toolbarKeys; // // console.log(menu);
// console.log(menu); // // console.log(bar);
// console.log(bar); // }, 3500);
}, 3500); // });
});
const toolbarConfig = { const toolbarConfig = {
excludeKeys: ["insertVideo", "insertImage"], excludeKeys: ["insertVideo", "insertImage"],
}; };
@@ -478,7 +481,7 @@ export default defineComponent({
formData.append("file", file); formData.append("file", file);
fileUp(formData).then((res) => { fileUp(formData).then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
// 最后插入图片 // 最后插入图片 url alt href
insertFn(res.data.data, file.name, res.data.data); insertFn(res.data.data, file.name, res.data.data);
} }
}); });
@@ -487,11 +490,15 @@ export default defineComponent({
const handleCreated = (editor) => { const handleCreated = (editor) => {
editorRef.value = editor; // 记录 editor 实例,重要! editorRef.value = editor; // 记录 editor 实例,重要!
}; };
// const handleDestory = () => {
// const editor = editorRef.value;
// if (editor == null) return;
// editor.destroy();
// };
// 组件销毁时,也及时销毁编辑器 // 组件销毁时,也及时销毁编辑器
onBeforeUnmount(() => { onUnmounted(() => {
const editor = editorRef.value; console.log("组件销毁时,也及时销毁编辑器");
if (editor == null) return; // handleDestory();
editor.destroy();
}); });
// 富文本 eeeeeeeeeeeeee // 富文本 eeeeeeeeeeeeee
@@ -620,7 +627,9 @@ export default defineComponent({
if (param === "review") { if (param === "review") {
//新建时点击审核按钮 //新建时点击审核按钮
submitReview(res.data.data.offcourseId); submitReview(res.data.data.offcourseId);
} else visibleClose(); } else {
visibleClose();
}
} }
}); });
}; };
@@ -641,12 +650,21 @@ export default defineComponent({
if (Number(item.auditStatus) === 2 && Number(item.status) === 0) { if (Number(item.auditStatus) === 2 && Number(item.status) === 0) {
state.statusTingQi = 0; state.statusTingQi = 0;
} }
if(Number(item.auditStatus) === -1){ if (Number(item.auditStatus) === -1) {
let obj ={ let obj = {
offcourseId:offcourseId, offcourseId: offcourseId,
type:2, type: 2,
pageNo: 1, pageNo: 1,
pageSize: 1, pageSize: 1,
};
const res = await api2.auditList(obj).then((res) => {
if (res.data.code === 200) return res.data.data;
});
if (res.rows && res.rows.length > 0) {
state.auditDescription = res.rows[0].description
? res.rows[0].description
: "-";
console.log("state.auditDescription", state.auditDescription);
} }
api2.auditList(obj).then((res)=>{ api2.auditList(obj).then((res)=>{
@@ -670,8 +688,13 @@ export default defineComponent({
state.qdms_inputV6 = item.intro; state.qdms_inputV6 = item.intro;
state.member = { value: item.teacherId, name: item.teacher }; state.member = { value: item.teacherId, name: item.teacher };
valueHtml.value = item.outline; valueHtml.value = item.outline;
state.attach = item.attach; let arrss = item.attach.split(',')
state.ft_hs = true; let str =''
for(let i=0;i<arrss.length;i++){
i == arrss.length -1 ? str += arrss[i].slice(arrss[i].lastIndexOf('/')+1) : str += arrss[i].slice(arrss[i].lastIndexOf('/')+1) + ','
}
console.log(str)
state.attach = str;
}; };
const handleTagChange = () => { const handleTagChange = () => {
@@ -721,15 +744,15 @@ export default defineComponent({
visibleClose, visibleClose,
handleTagChange, handleTagChange,
handleTagClose, handleTagClose,
handleCreated,
handlePush, handlePush,
submitReview,
reviewClick, reviewClick,
editorRef, editorRef,
valueHtml, valueHtml,
mode: "simple", // 或 'simple' mode: "simple", // 或 'simple'
toolbarConfig, toolbarConfig,
editorConfig, editorConfig,
handleCreated,
}; };
}, },
}); });

View File

@@ -635,6 +635,7 @@
<span class="th">{{ tableDataTotal }}</span> <span class="th">{{ tableDataTotal }}</span>
<span class="yi"> </span> <span class="yi"> </span>
</div> </div>
<div class="clear" @click="clearChooseStu">清空</div>
</div> </div>
<div class="tableBox" style="margin-top: 30px"> <div class="tableBox" style="margin-top: 30px">
<a-table <a-table
@@ -689,7 +690,7 @@
</div> </div>
<div v-show="twobtnn" class="twobtn"> <div v-show="twobtnn" class="twobtn">
<div class="btnone" @click="closebtn">取消</div> <div class="btnone" @click="closebtn">取消</div>
<div class="btntwo" @click="closebtn">确定</div> <div class="btntwo" @click="editLearnInfo">确定</div>
</div> </div>
</div> </div>
<div class="onemain clearfix"> <div class="onemain clearfix">
@@ -719,6 +720,7 @@
:controls="false" :controls="false"
:autofocus="true" :autofocus="true"
:min="0" :min="0"
:precision="0"
/> />
<span>-</span <span>-</span
><span style="color: #4ea6ff" v-show="number">{{ ><span style="color: #4ea6ff" v-show="number">{{
@@ -730,11 +732,17 @@
:controls="false" :controls="false"
:autofocus="true" :autofocus="true"
:min="0" :min="0"
:precision="0"
/> />
<span>关内容</span> <span>关内容</span>
</div> </div>
</div> </div>
<div class="checkcon" style="margin-top: 20px"> <div class="checkcon" style="margin-top: 20px">
<a-checkbox
class="in"
:disabled="number"
v-model:checked="studySelect"
></a-checkbox>
<!-- <input <!-- <input
type="checkbox" type="checkbox"
name="cb1" name="cb1"
@@ -755,6 +763,7 @@
:controls="false" :controls="false"
:autofocus="true" :autofocus="true"
:min="0" :min="0"
:precision="0"
/> />
<span>-</span <span>-</span
><span style="color: #4ea6ff" v-show="number">{{ ><span style="color: #4ea6ff" v-show="number">{{
@@ -766,6 +775,7 @@
:controls="false" :controls="false"
:autofocus="true" :autofocus="true"
:min="0" :min="0"
:precision="0"
/> />
<span>关内容</span> <span>关内容</span>
</div> </div>
@@ -1279,6 +1289,7 @@ import * as api from "../../api/index1";
import { editRoutered } from "../../api/indexLearningPath"; import { editRoutered } from "../../api/indexLearningPath";
import { codeUrl } from "../../api/method"; import { codeUrl } from "../../api/method";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
// import * as student from "@/api/student";
export default { export default {
name: "LevelAdd", name: "LevelAdd",
components: { components: {
@@ -1449,6 +1460,13 @@ export default {
codevisible: false, //二维码是否显示 codevisible: false, //二维码是否显示
codeInfo: null, //二维码内容 codeInfo: null, //二维码内容
previewSelect: 0,
studySelect: 0,
previewStartNum: 0,
previewEndNum: 0,
studyStartNum: 0,
studyEndNum: 0,
}); });
const levelList = reactive({ const levelList = reactive({
@@ -1481,11 +1499,6 @@ export default {
name: "关卡二xx", name: "关卡二xx",
}, },
], ],
previewStartNum: 0,
previewEndNum: 0,
studyStartNum: 0,
studyEndNum: 0,
}); });
const tableDataFunc = () => { const tableDataFunc = () => {
@@ -1647,6 +1660,7 @@ export default {
state.twobtn = true; state.twobtn = true;
state.number = true; state.number = true;
state.inputbox = false; state.inputbox = false;
myGetRouterDetail();
}; };
const showCopyModal = () => { const showCopyModal = () => {
state.copyModal = true; state.copyModal = true;
@@ -2037,6 +2051,27 @@ export default {
name: data[i].name, name: data[i].name,
}); });
} }
//获取设置信息
if (res.data.code === 200) {
//previewSetting studySetting
state.previewSelect = res.data.data.routerInfo.enablePreview;
state.studySelect = res.data.data.routerInfo.enableStudy;
if (res.data.data.routerInfo.previewSetting) {
let arr = res.data.data.routerInfo.previewSetting.split(",");
if (arr.length === 2) {
state.previewStartNum = arr[0];
state.previewEndNum = arr[1];
}
}
if (res.data.data.routerInfo.studySetting) {
let arr = res.data.data.routerInfo.studySetting.split(",");
if (arr.length === 2) {
state.studyStartNum = arr[0];
state.studyEndNum = arr[1];
}
}
}
}) })
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
@@ -2194,7 +2229,30 @@ export default {
message.warning("删除失败"); message.warning("删除失败");
}); });
}; };
// 设置------------------------------------------------------
//编辑基本信息
const editLearnInfo = () => {
let obj = {
routerId: state.routerId,
enablePreview: state.previewSelect ? 1 : 0,
enableStudy: state.studySelect ? 1 : 0,
previewSetting: state.previewStartNum + "," + state.previewEndNum,
studySetting: state.studyStartNum + "," + state.studyEndNum,
};
console.log("编辑设置基本信息obj", obj);
api
.editLearnInfo(obj)
.then((res) => {
console.log("编辑设置基本信息成功", res);
if (res.data.code === 200) {
message.success("修改成功");
}
})
.catch((err) => {
console.log("编辑设置基本信息失败", err);
});
};
// 设置-----------------------------------------------------
//添加学员 //添加学员
watch( watch(
() => state.addAuthList, () => state.addAuthList,
@@ -2249,9 +2307,22 @@ export default {
}; };
state.codeInfo = obj; state.codeInfo = obj;
}; };
//清空所选的学员
const clearChooseStu = () => {
Modal.confirm({
title: '确定清空所有学员吗?', onOk: async () => {
state.addAuthList = []
// student.studentDelAll({id: state.routerId, type: 2})
// state.tabledata = []
// state.tableDataTotal = 0;
}, bodyStyle: 'margin-top:70%'
});
};
return { return {
...toRefs(state), ...toRefs(state),
...toRefs(levelList), ...toRefs(levelList),
clearChooseStu,
showDeleteALLModal, showDeleteALLModal,
closeDeleteALLModal, closeDeleteALLModal,
tableDataFunc, tableDataFunc,
@@ -2305,11 +2376,20 @@ export default {
checkedClose, checkedClose,
showCodeModel, showCodeModel,
showCodeModel2, showCodeModel2,
editLearnInfo,
}; };
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.clear {
cursor: pointer;
font-size: 14px;
color: #387df7;
line-height: 24px;
position: absolute;
right: 60px;
}
.pub { .pub {
.ant-modal { .ant-modal {
.ant-modal-body { .ant-modal-body {
@@ -4201,7 +4281,7 @@ export default {
position: absolute; position: absolute;
// margin-top: 10px; // margin-top: 10px;
left: 0; left: 0;
top: 3px; top: 0px;
} }
.yulan { .yulan {

View File

@@ -3,7 +3,7 @@
<div class="taskpage"> <div class="taskpage">
<div class="addhead" style="flex-shrink: 0"> <div class="addhead" style="flex-shrink: 0">
<div class="leftimg"> <div class="leftimg">
<img class="img" :src="picUrl" /> <img class="img" :src="picUrl"/>
</div> </div>
<div class="imgfor"> <div class="imgfor">
<div class="forz">{{ name }}</div> <div class="forz">{{ name }}</div>
@@ -171,7 +171,7 @@
<div class="line"></div> <div class="line"></div>
<router-link to="/projectmanage"> <router-link to="/projectmanage">
<div style="display: flex"> <div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png" /> <img class="img2" src="../../assets/images/leveladd/back.png"/>
<div class="return">返回</div> <div class="return">返回</div>
</div> </div>
</router-link> </router-link>
@@ -208,13 +208,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left1.png" /> <img src="../../assets/images/taskpage/left1.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture1.png" /> <img src="../../assets/images/taskpage/picture1.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right1.png" /> <img src="../../assets/images/taskpage/right1.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)"> <div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务 添加任务
@@ -227,13 +227,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)" style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png" /> <img src="../../assets/images/taskpage/left2.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture2.png" /> <img src="../../assets/images/taskpage/picture2.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png" /> <img src="../../assets/images/taskpage/right2.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
添加学员 添加学员
@@ -639,13 +639,13 @@
v-if="taskSyllabus.length == 0" v-if="taskSyllabus.length == 0"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png" /> <img src="../../assets/images/taskpage/left2.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture8.png" /> <img src="../../assets/images/taskpage/picture8.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png" /> <img src="../../assets/images/taskpage/right2.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建任务 创建任务
@@ -668,13 +668,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left1.png" /> <img src="../../assets/images/taskpage/left1.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture1.png" /> <img src="../../assets/images/taskpage/picture1.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right1.png" /> <img src="../../assets/images/taskpage/right1.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)"> <div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务 添加任务
@@ -772,18 +772,18 @@
</div> </div>
<div class="groupright"> <div class="groupright">
<div class="btn1" @click="searchStu"> <div class="btn1" @click="searchStu">
<img src="../../assets/images/courseManage/search0.png" /> <img src="../../assets/images/courseManage/search0.png"/>
<span class="btn1text">搜索</span> <span class="btn1text">搜索</span>
</div> </div>
<div class="btn2" @click="resetCancel"> <div class="btn2" @click="resetCancel">
<img src="../../assets/images/courseManage/reset1.png" /> <img src="../../assets/images/courseManage/reset1.png"/>
<span class="btn2text">重置</span> <span class="btn2text">重置</span>
</div> </div>
</div> </div>
</div> </div>
<div class="second2" style="margin-top: 20px"> <div class="second2" style="margin-top: 20px">
<div class="btn1" @click="showStuAdd"> <div class="btn1" @click="showStuAdd">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png"/>
<span class="btn1text">添加学员</span> <span class="btn1text">添加学员</span>
</div> </div>
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
@@ -792,12 +792,12 @@
<span class="btn2text">导入学员</span> <span class="btn2text">导入学员</span>
</div> --> </div> -->
<div class="btn2" @click="showAllDelete"> <div class="btn2" @click="showAllDelete">
<img src="../../assets/images/projectadd/delete.png" /> <img src="../../assets/images/projectadd/delete.png"/>
<span class="btn2text">批量删除</span> <span class="btn2text">批量删除</span>
</div> </div>
</div> </div>
<div class="talk"> <div class="talk">
<img class="im" src="../../assets/images/leveladd/gan.png" /> <img class="im" src="../../assets/images/leveladd/gan.png"/>
<div class="xu"> <div class="xu">
<span class="yi">已选择</span> <span class="yi">已选择</span>
<div style="width: 5px; display: inline-block"></div> <div style="width: 5px; display: inline-block"></div>
@@ -860,18 +860,18 @@
</div> </div>
<div class="groupright"> <div class="groupright">
<div class="btn1" @click="searchGroup"> <div class="btn1" @click="searchGroup">
<img src="../../assets/images/courseManage/search0.png" /> <img src="../../assets/images/courseManage/search0.png"/>
<span class="btn1text">搜索</span> <span class="btn1text">搜索</span>
</div> </div>
<div class="btn2" @click="resetGroupName"> <div class="btn2" @click="resetGroupName">
<img src="../../assets/images/courseManage/reset1.png" /> <img src="../../assets/images/courseManage/reset1.png"/>
<span class="btn2text">重置</span> <span class="btn2text">重置</span>
</div> </div>
</div> </div>
</div> </div>
<div class="second2"> <div class="second2">
<div class="btn1" @click="showModal2(1, null)"> <div class="btn1" @click="showModal2(1, null)">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png"/>
<span class="btn1text">创建小组</span> <span class="btn1text">创建小组</span>
</div> </div>
<!-- 2022-12-2注释 后面放开 --> <!-- 2022-12-2注释 后面放开 -->
@@ -911,7 +911,7 @@
<div class="leader">组长:{{ item.leaderName }}</div> <div class="leader">组长:{{ item.leaderName }}</div>
<div class="grocenter"> <div class="grocenter">
<div class="leader1">进度</div> <div class="leader1">进度</div>
<a-progress :percent="item.completeRatio" /> <a-progress :percent="item.completeRatio"/>
</div> </div>
<div <div
class="grofooter" class="grofooter"
@@ -1280,7 +1280,7 @@
:title="showFaceText" :title="showFaceText"
/> />
<!-- 学员(小组管理)创建小组抽屉 --> <!-- 学员(小组管理)创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle" /> <subset-manage v-model:Svisible="subsetVisivle"/>
<!-- 学员管理-添加学员抽屉 --> <!-- 学员管理-添加学员抽屉 -->
<!-- <stu-add v-model:Stuvisible="Stuvisible" /> --> <!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 --> <!-- 添加学员抽屉 -->
@@ -1293,7 +1293,7 @@
:type="2" :type="2"
/> />
<!-- 学员管理-导入学员抽屉 --> <!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible" /> <import-stu v-model:Importvisible="Importvisible"/>
<!-- 查看学员 传入查看学员的id--> <!-- 查看学员 传入查看学员的id-->
<see-stu <see-stu
v-model:Seevisible="Seevisible" v-model:Seevisible="Seevisible"
@@ -1316,9 +1316,9 @@
v-model:projectId="projectId" v-model:projectId="projectId"
/> />
<!-- 面授学员抽屉 --> <!-- 面授学员抽屉 -->
<face-stu v-model:FSvisible="FSvisible" /> <face-stu v-model:FSvisible="FSvisible"/>
<!-- 活动考勤抽屉 --> <!-- 活动考勤抽屉 -->
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText" /> <active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText"/>
<!-- 作业管理抽屉 --> <!-- 作业管理抽屉 -->
<work-manage <work-manage
v-model:Wvisible="Wvisible" v-model:Wvisible="Wvisible"
@@ -1333,7 +1333,7 @@
:itemsType="itemstype" :itemsType="itemstype"
/> />
<!-- 批量面授报名 --> <!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" /> <task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible"/>
<!-- 概览(无数据)-项目发布弹窗 --> <!-- 概览(无数据)-项目发布弹窗 -->
<div> <div>
@@ -1392,7 +1392,7 @@
</div> </div>
</div> </div>
<div class="send"> <div class="send">
<a-switch v-model:checked="checked" size="small" /> <a-switch v-model:checked="checked" size="small"/>
<span class="sendtext">发送项目通知</span> <span class="sendtext">发送项目通知</span>
</div> </div>
<div class="ckb"> <div class="ckb">
@@ -1656,7 +1656,7 @@
</a-modal> </a-modal>
</div> </div>
<!-- 编辑项目弹窗 --> <!-- 编辑项目弹窗 -->
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" /> <proj-set v-model:editHs="editHs" v-model:projectId="projectId"/>
<!-- 发布弹窗 --> <!-- 发布弹窗 -->
<a-modal <a-modal
@@ -1738,7 +1738,7 @@
class="aeLoading" class="aeLoading"
:style="{ display: projectPubLoading ? 'flex' : 'none' }" :style="{ display: projectPubLoading ? 'flex' : 'none' }"
> >
<a-spin :spinning="projectPubLoading" /> <a-spin :spinning="projectPubLoading"/>
</div> </div>
</a-modal> </a-modal>
@@ -1880,10 +1880,9 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, onMounted, watch, computed } from "vue"; import {reactive, toRefs, onMounted, watch, computed} from "vue";
import { useRoute } from "vue-router"; import {useRoute} from "vue-router";
import { useRouter } from "vue-router"; import {useRouter} from "vue-router";
// import { CaretRightOutlined } from "@ant-design/icons-vue";
import TimeManage from "../../components/drawers/TimeManage"; import TimeManage from "../../components/drawers/TimeManage";
import FaceManage from "../../components/drawers/FaceManage"; import FaceManage from "../../components/drawers/FaceManage";
import SubsetManage from "../../components/drawers/SubsetManage"; import SubsetManage from "../../components/drawers/SubsetManage";
@@ -1892,19 +1891,18 @@ import ActiveAttendance from "../../components/drawers/ActiveAttendance";
import WorkManage from "../../components/drawers/WorkManage"; import WorkManage from "../../components/drawers/WorkManage";
import FaceStu from "../../components/drawers/FaceStu"; import FaceStu from "../../components/drawers/FaceStu";
import TestManage from "../../components/drawers/TestManage"; import TestManage from "../../components/drawers/TestManage";
// import StuAdd from "../../components/drawers/StuAdd";
import ProjCheckShip from "../../components/drawers/ProjCheckPower"; import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import ImportStu from "../../components/drawers/ImportStu"; import ImportStu from "../../components/drawers/ImportStu";
import SeeStu from "../../components/drawers/SeeStu"; import SeeStu from "../../components/drawers/SeeStu";
import ChangeGroup from "../../components/drawers/ChangeGroup"; import ChangeGroup from "../../components/drawers/ChangeGroup";
import NoticePub from "../../components/drawers/NoticePub"; import NoticePub from "../../components/drawers/NoticePub";
import NoticeHis from "../../components/drawers/NoticeHis"; import NoticeHis from "../../components/drawers/NoticeHis";
// import ProjectScore from "../../components/drawers/ProjectScore";
import TaskImpStu from "../../components/drawers/TaskFaceIn"; import TaskImpStu from "../../components/drawers/TaskFaceIn";
import { storage } from "../../api/storage"; import {storage} from "../../api/storage";
import * as api from "../../api/index1"; import * as api from "../../api/index1";
import * as apis from "../../api/index"; import * as apis from "../../api/index";
import * as apiproj from "../../api/index"; import * as apiproj from "../../api/index";
import * as student from "../../api/student";
import { import {
getProjStu, getProjStu,
deleteStu, deleteStu,
@@ -1913,18 +1911,19 @@ import {
editGroup, editGroup,
topStudent, topStudent,
} from "../../api/indexProjStu"; } from "../../api/indexProjStu";
import { message } from "ant-design-vue"; import {message, Modal} from "ant-design-vue";
import * as apitl from "../../api/index"; import * as apitl from "../../api/index";
import { getTask } from "../../api/indexTaskadd"; import {getTask} from "../../api/indexTaskadd";
import { editProj } from "../../api/indexTaskadd"; import {editProj} from "../../api/indexTaskadd";
import { toDate, codeUrl } from "../../api/method"; import {toDate, codeUrl} from "../../api/method";
import projSet from "../../components/Modals/projSet"; import projSet from "../../components/Modals/projSet";
import { overview } from "../../api/indexProjStu"; import {overview} from "../../api/indexProjStu";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import { useStore } from "vuex"; import {useStore} from "vuex";
import ProjectLevel from "@/components/project/ProjectLevel"; import ProjectLevel from "@/components/project/ProjectLevel";
import TrainClass from "@/components/project/TrainClass"; import TrainClass from "@/components/project/TrainClass";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
export default { export default {
name: "taskPage", name: "taskPage",
components: { components: {
@@ -2021,23 +2020,23 @@ export default {
projectTaskId: "", //项目任务任务id projectTaskId: "", //项目任务任务id
//进度排行学员 //进度排行学员
rankjindu: [ rankjindu: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu1: "学员", valuestu1: "学员",
//进度排行阶段 //进度排行阶段
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }], rankjieduan: [{value: "第一阶段", label: "第一阶段"}],
valuestu2: "第一阶段", valuestu2: "第一阶段",
//积分排行 //积分排行
rankxuefen: [ rankxuefen: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu3: "学员", valuestu3: "学员",
//学时排行 //学时排行
rankxueshi: [ rankxueshi: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu4: "学员", valuestu4: "学员",
visible: false, //时间管理 visible: false, //时间管理
@@ -2185,21 +2184,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -2292,21 +2291,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -2399,21 +2398,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -3178,7 +3177,7 @@ export default {
// width: 60, // width: 60,
align: "center", align: "center",
className: "h", className: "h",
scopedSlots: { customRender: "action" }, //引入的插槽 scopedSlots: {customRender: "action"}, //引入的插槽
customRender: (text) => { customRender: (text) => {
// console.log(text); // console.log(text);
return ( return (
@@ -3498,8 +3497,12 @@ export default {
}; };
//清空所选的学员 //清空所选的学员
const clearChooseStu = () => { const clearChooseStu = () => {
state.selectedRowKeys = []; Modal.confirm({
state.choosed = 0; title: '确定清空所有学员吗?', onOk: async () => {
state.tabledata = []
student.studentDelAll({id: state.projectId, type: 1})
}, bodyStyle: 'margin-top:70%'
});
}; };
//学员重置 //学员重置
const resetCancel = () => { const resetCancel = () => {
@@ -3719,7 +3722,7 @@ export default {
//start---------项目概览 //start---------项目概览
// 获取项目概览 // 获取项目概览
const getOverview = () => { const getOverview = () => {
overview({ projectId: state.projectId }) overview({projectId: state.projectId})
.then((res) => { .then((res) => {
Object.keys(res.data.data.projectInfoOverview).forEach((item) => { Object.keys(res.data.data.projectInfoOverview).forEach((item) => {
levelList.projectInfoOverview[item] = levelList.projectInfoOverview[item] =
@@ -3778,7 +3781,7 @@ export default {
}); });
}; };
const handleChange = ({ file, fileList }) => { const handleChange = ({file, fileList}) => {
let list = []; let list = [];
if (file.status !== "uploading") { if (file.status !== "uploading") {
console.log("上传的list", fileList); console.log("上传的list", fileList);
@@ -5724,6 +5727,7 @@ export default {
margin-left: 12px; margin-left: 12px;
margin-right: 50px; margin-right: 50px;
width: 120px; width: 120px;
.iconame { .iconame {
//position: absolute; //position: absolute;
color: #4f5156; color: #4f5156;
@@ -5776,6 +5780,7 @@ export default {
flex-grow: 1; flex-grow: 1;
margin-right: 50px; margin-right: 50px;
width: 100px; width: 100px;
.timetext { .timetext {
font-size: 14px; font-size: 14px;
color: #999ba3; color: #999ba3;