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

# Conflicts:
#	src/views/projectcenter/ProjectAdd.vue
This commit is contained in:
yuping
2022-12-07 12:39:41 +08:00
18 changed files with 569 additions and 311 deletions

View File

@@ -547,18 +547,21 @@
placeholder="请输入按回车键创建成功"
:options="tagsOptions"
></a-select> -->
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="tags_val"
mode="tags"
style="width: 440px; height: 40px"
<a-input
v-model:value="tags_val_single"
placeholder="请输入按回车键创建成功"
@change="handleTagChange"
></a-select>
@pressEnter="handleTagChange"
/>
<div class="tag-content">
<a-tag
v-for="(item, index) in tags_val"
:key="index"
closable
@close="handleTagClose(index)"
>
{{ item }}
</a-tag>
</div>
</div>
</div>
</div>
@@ -709,12 +712,10 @@
<div class="btn btn5" @click="ft_exit_1">
<div class="btnText">取消</div>
</div>
<div class="btn btn6" v-if="isEdit == 0" @click="handlePush">
<div class="btn btn6" @click="handlePush">
<div class="btnText">保存</div>
</div>
<div class="btn btn6" v-if="isEdit == 1">
<div class="btnText">未提交</div>
</div>
<div
class="btn btn6"
v-if="statusTingQi == 1"
@@ -2302,6 +2303,25 @@
</a-checkbox>
</div>
</div>
<div v-if="checked4" class="cstm_items main_item">
<div class="signbox"></div>
<div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if="assessmentId > 0">
<a-tag closable @close="removePG" color="processing">
<span style="font-size: 14px; line-height: 33px">
{{ assessmentName }}
</span>
</a-tag>
</div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:assessmentName="assessmentName"
:assessmentId="assessmentId"
@checkedAss="getCheckedAss"
/>
</div>
</div>
<div class="cstm_items">
<div class="signbox">
<span style="margin-right: 3px">完成规则</span>
@@ -2467,13 +2487,13 @@
<div class="stmm_i1">
<span style="margin-right: 52px">
{{ currentPlanItem.name }}课程-第1期-
{{ getdateToDateFn(currentPlanItem.createTime) }}
{{ currentPlanItem.createTime }}
</span>
<span style="color: #ffb751">已开课 4.5</span>
</div>
<div class="stmm_i2">
<span style="color: #999ba3">时间:</span>
<span>{{ getdateToTimeFn(currentPlanItem.endTime) }}</span>
<span>{{ currentPlanItem.endTime }}</span>
</div>
<div class="stmm_i3">
<span style="color: #999ba3">地点:</span>
@@ -3072,6 +3092,7 @@ import {
onBeforeUnmount,
watch,
} from "vue";
import * as api from "../../api/indexInvist.js";
import { message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router";
// import StuAdd from "../../components/drawers/StuAdd";
@@ -3082,6 +3103,7 @@ import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue";
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import AssessmentList from "../../components/drawers/ AssessmentList.vue";
import {
list,
edit,
@@ -3126,8 +3148,10 @@ const columns1 = [
dataIndex: "num",
key: "num",
align: "center",
customRender: ({ index }) => {
return index + 1;
customRender: ({ index, record }) => {
const pageNum =
Number(record.pageNo) - 1 > 0 ? (Number(record.pageNo) - 1) * 10 : 0;
return index + 1 + pageNum;
},
},
{
@@ -3374,11 +3398,7 @@ const columns6 = [
key: "num",
width: "6%",
align: "center",
ellipsis: true,
customRender: ({ index }) => {
//{ text, record, index, column }
return index + 1;
},
ellipsis: true
},
{
title: "创建人",
@@ -3432,7 +3452,8 @@ const columns6 = [
ellipsis: true,
align: "center",
customRender: ({ text }) => {
return text ? getdateToTime(text * 1000) : "-";
// return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-";
},
},
{
@@ -3443,7 +3464,8 @@ const columns6 = [
ellipsis: true,
align: "center",
customRender: ({ text }) => {
return text ? getdateToTime(text * 1000) : "-";
// return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-";
},
},
{
@@ -3462,10 +3484,6 @@ const columns7 = [
dataIndex: "num",
key: "num",
align: "center",
customRender: ({ index }) => {
//{ text, record, index, column }
return index + 1;
},
},
{
title: "姓名",
@@ -3621,6 +3639,7 @@ export default defineComponent({
ProjOwnerShip,
ProjPowerList,
ProjCheckShip,
AssessmentList,
// VNodes: (_, {attrs}) => {
// return attrs.vnodes;
// },
@@ -3819,6 +3838,7 @@ export default defineComponent({
feng_mian_1: null,
feng_mian_2: null,
chang_jin: null,
tags_val_single: "",
tags_val: [],
qdms_inputV6: "",
//在线面授管理
@@ -3861,7 +3881,7 @@ export default defineComponent({
selectTime: "",
pageSize3: 10,
currentPage3: 0,
currentPage3: 1,
tableDataTotal3: 0,
checked1: false,
@@ -3884,6 +3904,11 @@ export default defineComponent({
addStudentList: null, //选中列表
newCourseName: null, //新建开课名称
assessment: {},
assessmentId: null,
assessmentName: "",
assessmentVisible: false,
});
const showStuAdd = (record) => {
@@ -4078,14 +4103,17 @@ export default defineComponent({
endTime: endTime,
beginTime: startTime,
});
const { rows, total } = res.data.data;
const { rows, total, pageNo } = res.data.data;
console.log(res.data.data);
state.tableDataTotal1 = total;
for(let i=0;i<rows.length;i++){
rows[i].num = i+1+ (state.currentPage1-1)*10
}
const datas = traverseArr(
rows,
{
key: "offcourseId",
num: "offcourseId",
num: "num",
name: "name",
content: "categoryId",
courseform: "type",
@@ -4103,6 +4131,7 @@ export default defineComponent({
true
);
datas.forEach((itm) => {
itm.pageNo = pageNo;
for (let item of options2.value) {
if (String(item.value) === String(itm.content)) {
itm.contentTxt = item.label;
@@ -4264,6 +4293,24 @@ export default defineComponent({
});
};
const showAssessment = () => {
state.assessmentVisible = true;
};
const removePG = () => {
console.log("11111");
state.assessmentId = null;
state.assessmentName = "";
// state.isEvaluate = "0";
};
const getCheckedAss = (ass) => {
console.log("ass");
console.log(ass);
state.assessmentId = ass.assessmentId;
state.assessmentName = ass.name;
state.assessment = ass;
// state.assessment1 = null;
};
const rest = () => {
options4CurName.value = "";
options4CurId.value = "";
@@ -4371,6 +4418,11 @@ export default defineComponent({
// console.log("获取学员列表", res);
const { rows, total } = res.data.data;
state.tableDataTotal3 = total;
for(let i=0;i<rows.length;i++){
rows[i].num = i+1+ (state.currentPage3-1)*10
}
rows.forEach((item, index) => {
rows[index] = {
...item,
@@ -4381,7 +4433,7 @@ export default defineComponent({
rows,
{
key: "studentId",
num: "studentId",
num: "num",
name: "name",
number: "studentId",
department: "deptName",
@@ -4473,11 +4525,16 @@ export default defineComponent({
console.log("开课res", res);
const { rows, total } = res.data.data;
state.tableDataTotal222 = total;
for(let i=0;i<rows.length;i++){
rows[i].num = i+1+ (state.currentPage222-1)*10
}
const datas = traverseArr(
rows,
{
key: "offcoursePlanId",
num: "offcoursePlanId",
num: "num",
organization: "name",
address: "address",
starttime: "beginTime",
@@ -4672,7 +4729,7 @@ export default defineComponent({
// ft_exit_1();
rest();
state.addLoading = false;
state.isEdit = 1;
state.statusTingQi = 1;
// console.log("res.data", res.data);
if (param === "review") {
@@ -4714,6 +4771,7 @@ export default defineComponent({
state.xjkkinputV4 = null;
state.checked1 = false;
state.checked4 = false;
removePG();
};
//保存开课
const handleSureStu = () => {
@@ -4737,6 +4795,7 @@ export default defineComponent({
completeType: type,
endTime: endTime,
evalFlag: state.checked4 ? 1 : 0,
evaluateId: Number(state.assessmentId),
name: state.xjkkinputV1,
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
@@ -4770,6 +4829,7 @@ export default defineComponent({
//编辑开课
const handelEditStu = async (itm) => {
console.log(itm);
state.offcourseId = itm.offcourseId;
state.offcoursePlanId = itm.offcoursePlanId;
@@ -4778,6 +4838,17 @@ export default defineComponent({
}).then((res) => {
if (res.data.code === 200) return res.data.data;
});
let obj = {
assessmentId: item.evaluateId,
};
api
.queryAppraiseDetailById(obj)
.then((res) => {
state.assessmentName = res.data.data.assessmentName;
})
.catch();
console.log("res");
console.log(item);
@@ -4794,6 +4865,7 @@ export default defineComponent({
(state.comLeave =
item.completeType.split(",")[1] == "1" ? true : false),
(state.checked4 = item.evalFlag === 1 ? true : false);
state.assessmentId = String(item.evaluateId);
state.xjkkinputV1 = item.name;
if (item.signFlag === 1) {
//是否允许未报名的签到:1是0否
@@ -5189,7 +5261,6 @@ export default defineComponent({
};
//编辑面授课
const handleEdit = async (itm, type) => {
state.isEdit = 0;
console.log(45555);
console.log(itm);
if (type === "1") {
@@ -5247,8 +5318,13 @@ export default defineComponent({
// handleTagChange
const handleTagChange = () => {
console.log(7877878);
console.log(state.tagsOptions);
if (state.tags_val_single) {
state.tags_val.push(state.tags_val_single);
}
state.tags_val_single = "";
};
const handleTagClose = (index) => {
state.tags_val.splice(index, 1);
};
// 预览弹框 开启和关闭
@@ -5256,7 +5332,6 @@ export default defineComponent({
state.lookCourseModal = false;
};
const handleLook = async (itm, type) => {
// state.isEdit = 0;
if (type === "1") {
return;
}
@@ -5650,6 +5725,7 @@ export default defineComponent({
stm_exit,
ft_exit_see,
handleTagChange,
handleTagClose,
createkk,
handleCancelStu,
handleSureStu,
@@ -5683,6 +5759,9 @@ export default defineComponent({
handelChangePage1,
handleSearch1,
handleRest1,
showAssessment,
removePG,
getCheckedAss,
beforeUpload,
beforeUpload2,
handleDel,
@@ -6089,6 +6168,8 @@ export default defineComponent({
.cst_main {
width: 100%;
max-height: 600px;
overflow-y: auto;
position: relative;
.cstm_header {
@@ -7970,6 +8051,12 @@ export default defineComponent({
}
}
.tag-content {
.ant-tag {
margin-top: 10px;
}
}
.coursewareDetail {
.ant-modal {
height: 320px;
@@ -8039,6 +8126,42 @@ export default defineComponent({
}
}
// 选择评估
.main_item {
display: flex;
align-items: center;
margin-top: 32px;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
.sign {
margin-right: 5px;
}
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.DelModal {
.ant-modal {
.ant-modal-content {