Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2022-12-04 19:47:00 +08:00
2 changed files with 901 additions and 875 deletions

View File

@@ -460,11 +460,15 @@
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">{{ item.startTime!==null?item.startTime:''}}</div>
<div class="timetext">
{{ item.startTime !== null ? item.startTime : "" }}
</div>
</div>
<div class="progress">
<div class="progresstext">
{{ item.complete?item.complete:0 }}/{{ item.total?item.total:0 }}
{{ item.complete ? item.complete : 0 }}/{{
item.total ? item.total : 0
}}
</div>
<div style="display: flex">
<a-progress
@@ -474,7 +478,7 @@
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px"
>{{ item.percent?item.percent:0 }}%</span
>{{ item.percent ? item.percent : 0 }}%</span
>
</div>
</div>
@@ -768,7 +772,10 @@
<div class="box"></div>
<div class="onetitle">上传共享文档</div>
<div class="oneedi">
<a-switch v-model:checked="docChecked" @change="checkedClose"></a-switch>
<a-switch
v-model:checked="docChecked"
@change="checkedClose"
></a-switch>
</div>
</div>
<div class="btnbox" style="margin: 20px">
@@ -1217,6 +1224,15 @@
</div>
</div>
</a-modal>
<!-- 二维码弹窗 -->
<two-dimensional-code
v-model:codevisible="codevisible"
:codeInfo="codeInfo"
index="0"
type="课程二维码"
/>
<!-- 二维码弹窗 -->
</div>
</template>
<script>
@@ -1243,6 +1259,7 @@ import { GetRouterDetail } from "@/api/indexTask";
import * as api from "../../api/index1";
import { toDate } from "../../api/method";
import { editRoutered } from "../../api/indexLearningPath";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
export default {
name: "LevelAdd",
components: {
@@ -1257,6 +1274,7 @@ export default {
FaceManage,
WorkManage,
SeeStu,
TwoDimensionalCode,
},
setup() {
// const routers = useRoute();
@@ -1888,7 +1906,7 @@ export default {
const getOverview = () => {
getRouterOverview(state.routerId)
.then((res) => {
console.log(res)
console.log(res);
Object.keys(res.data.data.routerInfoOverview).forEach((item) => {
levelList.routerInfoOverview[item] =
res.data.data.routerInfoOverview[item] || 0;
@@ -1911,23 +1929,23 @@ export default {
};
// 设置上传图片开关
const checkedClose = (data,a) => {
console.log(data,a)
state.docChecked = data
const checkedClose = (data, a) => {
console.log(data, a);
state.docChecked = data;
console.log({
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1: -1
})
attachSwitch: data ? 1 : -1,
});
// 更新开关状态
editRoutered({
attach:JSON.stringify(state.fileList),
attach: JSON.stringify(state.fileList),
name: state.styTitle,
picUrl: state.picUrl,
remark: state.remark,
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1: -1
attachSwitch: data ? 1 : -1,
})
.then((res) => {
console.log(res);
@@ -1935,16 +1953,16 @@ export default {
.catch((err) => {
console.log(err);
});
}
};
// 获取路径列表
const myGetRouterDetail = () => {
GetRouterDetail(state.routerId)
.then((res) => {
console.log('router-list',res)
state.fileList = JSON.parse(res.data.data.routerInfo.attach)
state.docChecked = res.data.data.routerInfo.attachSwitch == 1?true:false
console.log("router-list", res);
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
state.docChecked =
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
if (res.data.data.routerInfo.status == 1) {
state.nodata = false;
}
@@ -1990,7 +2008,7 @@ export default {
remark: state.remark,
routerId: state.routerId,
status: state.action,
attachSwitch: state.docChecked?1:-1
attachSwitch: state.docChecked ? 1 : -1,
})
.then((res) => {
console.log(res);
@@ -2213,7 +2231,7 @@ export default {
deleteStu,
totask,
tostudent,
checkedClose
checkedClose,
};
},
};

View File

@@ -3,7 +3,7 @@
<div class="taskpage">
<div class="addhead" style="flex-shrink: 0">
<div class="leftimg">
<img class="img" :src="picUrl"/>
<img class="img" :src="picUrl" />
</div>
<div class="imgfor">
<div class="forz">{{ name }}</div>
@@ -11,7 +11,7 @@
<div class="fort">起止时间{{ startTime }}{{ endTime }}</div>
</div>
<div class="right">
<img class="img1" src="../../assets/images/leveladd/ma.png"/>
<img class="img1" src="../../assets/images/leveladd/ma.png" />
<div class="line" v-if="action == 1 || action == 0"></div>
<img
v-if="action == 1 || action == 0"
@@ -88,7 +88,7 @@
<div class="line"></div>
<router-link to="/projectmanage">
<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>
</router-link>
@@ -117,13 +117,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/>
<img src="../../assets/images/taskpage/left1.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture1.png"/>
<img src="../../assets/images/taskpage/picture1.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/>
<img src="../../assets/images/taskpage/right1.png" />
</div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务
@@ -136,13 +136,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture2.png"/>
<img src="../../assets/images/taskpage/picture2.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
添加学员
@@ -323,7 +323,9 @@
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT">
批量面授报名
</button> -->
<router-link :to="{path:`/taskadd`,query:{projectId:projectId}}">
<router-link
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
>
<button class="edit">
<img
class="editimg"
@@ -438,9 +440,7 @@
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">
{{
item.startTime !== null ? item.startTime : ''
}}
{{ item.startTime !== null ? item.startTime : "" }}
</div>
</div>
<div class="progress">
@@ -537,7 +537,7 @@
</a-collapse>
<!-- 无数据创建任务 v-if="taskSyllabus.length == 0"-->
<router-link
:to="{path:`/taskadd`,query:{projectId:projectId}}"
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
class="taskbox"
style="
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
@@ -546,13 +546,13 @@
v-if="taskSyllabus.length == 0"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture8.png"/>
<img src="../../assets/images/taskpage/picture8.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建任务
@@ -566,19 +566,22 @@
class="taskbox"
@click="
() => {
routered.push({ path: `/taskadd`,query:{projectId:projectId} });
routered.push({
path: `/taskadd`,
query: { projectId: projectId },
});
}
"
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/>
<img src="../../assets/images/taskpage/left1.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture1.png"/>
<img src="../../assets/images/taskpage/picture1.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/>
<img src="../../assets/images/taskpage/right1.png" />
</div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务
@@ -676,18 +679,18 @@
</div>
<div class="groupright">
<div class="btn1" @click="searchStu">
<img src="../../assets/images/courseManage/search0.png"/>
<img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span>
</div>
<div class="btn2" @click="resetCancel">
<img src="../../assets/images/courseManage/reset1.png"/>
<img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span>
</div>
</div>
</div>
<div class="second2" style="margin-top: 20px">
<div class="btn1" @click="showStuAdd">
<img src="../../assets/images/courseManage/add0.png"/>
<img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">添加学员</span>
</div>
<!-- 2022-11-30注释 后面放开 -->
@@ -696,12 +699,12 @@
<span class="btn2text">导入学员</span>
</div> -->
<div class="btn2" @click="showAllDelete">
<img src="../../assets/images/projectadd/delete.png"/>
<img src="../../assets/images/projectadd/delete.png" />
<span class="btn2text">批量删除</span>
</div>
</div>
<div class="talk">
<img class="im" src="../../assets/images/leveladd/gan.png"/>
<img class="im" src="../../assets/images/leveladd/gan.png" />
<div class="xu">
<span class="yi">已选择</span>
<div style="width: 5px; display: inline-block"></div>
@@ -764,24 +767,25 @@
</div>
<div class="groupright">
<div class="btn1" @click="searchGroup">
<img src="../../assets/images/courseManage/search0.png"/>
<img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span>
</div>
<div class="btn2" @click="resetGroupName">
<img src="../../assets/images/courseManage/reset1.png"/>
<img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span>
</div>
</div>
</div>
<div class="second2">
<div class="btn1" @click="showModal2">
<img src="../../assets/images/courseManage/add0.png"/>
<img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">创建小组</span>
</div>
<div class="btn2" @click="showSubset">
<img src="../../assets/images/courseManage/reset2.png"/>
<!-- 2022-12-2注释 后面放开 -->
<!-- <div class="btn2" @click="showSubset">
<img src="../../assets/images/courseManage/reset2.png" />
<span class="btn2text">随机分组</span>
</div>
</div> -->
</div>
<!-- 小组列表 -->
<div class="groupmain">
@@ -812,7 +816,7 @@
<div class="leader">组长:{{ item.leaderName }}</div>
<div class="grocenter">
<div class="leader1">进度</div>
<a-progress :percent="item.completeRatio"/>
<a-progress :percent="item.completeRatio" />
</div>
<div
class="grofooter"
@@ -1172,7 +1176,7 @@
:title="showFaceText"
/>
<!-- 学员(小组管理)创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle"/>
<subset-manage v-model:Svisible="subsetVisivle" />
<!-- 学员管理-添加学员抽屉 -->
<!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 -->
@@ -1184,7 +1188,7 @@
classify="addstudent"
/>
<!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible"/>
<import-stu v-model:Importvisible="Importvisible" />
<!-- 查看学员 传入查看学员的id-->
<see-stu
v-model:Seevisible="Seevisible"
@@ -1207,9 +1211,9 @@
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
v-model:Wvisible="Wvisible"
@@ -1224,7 +1228,7 @@
:itemsType="itemstype"
/>
<!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible"/>
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
<!-- 概览(无数据)-项目发布弹窗 -->
<div>
@@ -1283,7 +1287,7 @@
</div>
</div>
<div class="send">
<a-switch v-model:checked="checked" size="small"/>
<a-switch v-model:checked="checked" size="small" />
<span class="sendtext">发送项目通知</span>
</div>
<div class="ckb">
@@ -1541,7 +1545,7 @@
</a-modal>
</div>
<!-- 编辑项目弹窗 -->
<proj-set v-model:editHs="editHs" v-model:projectId="projectId"/>
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
<!-- 二维码弹窗 -->
<two-dimensional-code
@@ -1726,9 +1730,9 @@
</div>
</template>
<script>
import {reactive, toRefs, onMounted, watch, computed} from "vue";
import {useRoute} from "vue-router";
import {useRouter} from "vue-router";
import { reactive, toRefs, onMounted, watch, computed } from "vue";
import { useRoute } from "vue-router";
import { useRouter } from "vue-router";
// import { CaretRightOutlined } from "@ant-design/icons-vue";
import TimeManage from "../../components/drawers/TimeManage";
import FaceManage from "../../components/drawers/FaceManage";
@@ -1747,7 +1751,7 @@ import NoticePub from "../../components/drawers/NoticePub";
import NoticeHis from "../../components/drawers/NoticeHis";
// import ProjectScore from "../../components/drawers/ProjectScore";
import TaskImpStu from "../../components/drawers/TaskFaceIn";
import {storage} from "../../api/storage";
import { storage } from "../../api/storage";
import * as api from "../../api/index1";
import * as apiproj from "../../api/index";
import {
@@ -1758,15 +1762,15 @@ import {
editGroup,
topStudent,
} from "../../api/indexProjStu";
import {message} from "ant-design-vue";
import { message } from "ant-design-vue";
import * as apitl from "../../api/index";
import {getTask} from "../../api/indexTaskadd";
import {editProj} from "../../api/indexTaskadd";
import {toDate} from "../../api/method";
import { getTask } from "../../api/indexTaskadd";
import { editProj } from "../../api/indexTaskadd";
import { toDate } from "../../api/method";
import projSet from "../../components/Modals/projSet";
import {overview} from "../../api/indexProjStu";
import { overview } from "../../api/indexProjStu";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import {useStore} from "vuex";
import { useStore } from "vuex";
import ProjectLevel from "@/components/project/ProjectLevel";
import TrainClass from "@/components/project/TrainClass";
@@ -1865,23 +1869,23 @@ export default {
projectTaskId: "", //项目任务任务id
//进度排行学员
rankjindu: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu1: "学员",
//进度排行阶段
rankjieduan: [{value: "第一阶段", label: "第一阶段"}],
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }],
valuestu2: "第一阶段",
//积分排行
rankxuefen: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu3: "学员",
//学时排行
rankxueshi: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu4: "学员",
visible: false, //时间管理
@@ -2023,21 +2027,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2130,21 +2134,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2237,21 +2241,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2957,7 +2961,7 @@ export default {
// width: 60,
align: "center",
className: "h",
scopedSlots: {customRender: "action"}, //引入的插槽
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: (text) => {
// console.log(text);
return (
@@ -3211,6 +3215,7 @@ export default {
};
//把小组列表信息放到state里
const setGroupList = (tableData) => {
console.log("tableDatatableDatatableData", tableData);
let data = tableData;
let array = [];
data.map((value) => {
@@ -3223,7 +3228,7 @@ export default {
source: value.source == 1 ? "指定添加" : "随机分组",
completeTaskCnt: value.completeTaskCnt, //完成任务数
totalTaskCnt: value.totalTaskCnt, //累计任务数
completeRatio: value.completeRatio, //完成比例
completeRatio: value.completeRatio ? value.completeRatio : 0, //完成比例
};
array.push(obj);
});
@@ -3322,6 +3327,7 @@ export default {
projectId: state.projectId,
}).then((res) => {
console.log("get task", res.data.data);
if (res.data.code === 200) {
let info = res.data.data.projectInfo;
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
let start = info.beginTime;
@@ -3372,6 +3378,7 @@ export default {
state.fileList = JSON.parse(luj);
// state.fileList = luj
}
}
});
};
//获取小组列表
@@ -3454,7 +3461,7 @@ export default {
//start---------项目概览
// 获取项目概览
const getOverview = () => {
overview({projectId: state.projectId})
overview({ projectId: state.projectId })
.then((res) => {
Object.keys(res.data.data.projectInfoOverview).forEach((item) => {
levelList.projectInfoOverview[item] =
@@ -3478,7 +3485,7 @@ export default {
};
//end---------项目概览
const handleChange = ({file, fileList}) => {
const handleChange = ({ file, fileList }) => {
let list = [];
if (file.status !== "uploading") {
console.log("上传的list", fileList);
@@ -3560,6 +3567,7 @@ export default {
}
};
const reget = () => {
console.log("state.projectId", state.projectId);
getTask({
projectId: state.projectId,
}).then((res) => {