|
@@ -148,7 +148,7 @@
|
|
|
<div class="both">
|
|
|
<div class="choose">
|
|
|
<div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index">
|
|
|
- <span>{{ item.name == '年级' ? '赛道' : item.name == '栏目' ? '主题' : item.name }}</span>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
<el-checkbox-group v-model="courseTypeId" v-if="CourseTypeJson[item.id].length > 0">
|
|
|
<el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.id">{{
|
|
|
item1.name
|
|
@@ -497,57 +497,68 @@
|
|
|
flex-wrap: wrap;
|
|
|
">
|
|
|
<div style="
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ display: flex;">
|
|
|
+ <div style="
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
display: flex;
|
|
|
margin-bottom: 10px;
|
|
|
">
|
|
|
- <div style="
|
|
|
+ <div style="
|
|
|
border-left: 6px solid #5699e8;
|
|
|
height: 20px;
|
|
|
- padding-left: 10px;
|
|
|
+ padding: 0 10px;
|
|
|
line-height: 22px;
|
|
|
">
|
|
|
- 任务名称
|
|
|
- </div>
|
|
|
- <div style="width:auto">
|
|
|
- <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
|
|
|
- v-model="
|
|
|
- unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
- itemTaskIndex
|
|
|
- ].task
|
|
|
- " />
|
|
|
+ 任务名称
|
|
|
+ </div>
|
|
|
+ <div style="width:auto">
|
|
|
+ <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
|
|
|
+ v-model="
|
|
|
+ unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].task
|
|
|
+ " />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div style="
|
|
|
+ <div style="
|
|
|
flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
display: flex;
|
|
|
margin-bottom: 10px;
|
|
|
">
|
|
|
- <div style="
|
|
|
+ <div style="
|
|
|
height: 20px;
|
|
|
- padding-left: 16px;
|
|
|
+ padding: 0 10px 0 16px;
|
|
|
line-height: 22px;
|
|
|
">
|
|
|
- 负责人
|
|
|
- </div>
|
|
|
- <div style="width:auto">
|
|
|
- <!-- <input type="text" placeholder="输入负责人" class="binfo_input" style="border-radius: 4px"
|
|
|
+ 负责人
|
|
|
+ </div>
|
|
|
+ <div style="width:auto">
|
|
|
+ <!-- <input type="text" placeholder="输入负责人" class="binfo_input" style="border-radius: 4px"
|
|
|
v-model="
|
|
|
unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
|
].people
|
|
|
" /> -->
|
|
|
- <el-select v-model="unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
- itemTaskIndex
|
|
|
- ].people" placeholder="请选择负责人" clearable filterable>
|
|
|
- <el-option v-for="item in ManAarray" :key="item.userid"
|
|
|
- :label="item.name + (item.type == 1 ? '(老师)' : '(学生)')" :value="item.userid">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ <el-select v-model="unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].people" placeholder="请选择负责人" clearable filterable>
|
|
|
+ <el-option v-for="item in ManAarray" :key="item.userid"
|
|
|
+ :label="item.name + (item.type == 1 ? '(老师)' : '(学生)')" :value="item.userid">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="addPeople" @click="addTcMember(itemTaskIndex)"
|
|
|
+ style="background: rgb(107, 146, 201);margin: 0 0 10px 15px;margin-bottom: 10px;width: 100px;">
|
|
|
+ 添加协同者
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="remove" v-if="item.taskJson.length > 1" @click="deleteTask(itemTaskIndex)"
|
|
@@ -823,18 +834,12 @@
|
|
|
<div v-if="itemTool.toolPhoto.length" style="margin-top:10px" class="toolimg_box">
|
|
|
<div class="toolimg" v-for="(photo, pIndex) in itemTool.toolPhoto" :key="pIndex">
|
|
|
<img :src="photo.content" alt="" @click="previewImg(photo.content)">
|
|
|
- <img
|
|
|
- class="deleteImg"
|
|
|
- src="../../../assets/deleteworks.png"
|
|
|
- v-if="
|
|
|
- photo.userid == userid
|
|
|
- "
|
|
|
- @click.stop="deleteWorks(photo.id)"
|
|
|
- alt
|
|
|
- />
|
|
|
+ <img class="deleteImg" src="../../../assets/deleteworks.png" v-if="
|
|
|
+ photo.userid == userid
|
|
|
+ " @click.stop="deleteWorks(photo.id)" alt />
|
|
|
<div class="comment">
|
|
|
<div class="worksName">
|
|
|
- <div>{{photo.username}}</div>
|
|
|
+ <div>{{ photo.username }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1074,6 +1079,43 @@
|
|
|
<el-button type="primary" @click="isAddPPTeacher">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="添加协同者" :visible.sync="dialogVisibleTcMember" :append-to-body="true" width="25%" height="80%"
|
|
|
+ :before-close="handleClose" class="addNewPP customWidth">
|
|
|
+ <div class="people">
|
|
|
+ <div class="people_top">
|
|
|
+ <div class="people_top_right">
|
|
|
+ <div class="people_search">
|
|
|
+ <el-input placeholder="搜索成员名称" v-model="searchTN" @keyup.enter.native="getTeacher"></el-input>
|
|
|
+ <div class="search_img" @click="getTeacher">
|
|
|
+ <img src="../../../assets/icon/search.png" alt />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="people_nav">选择成员</div>
|
|
|
+ </div>
|
|
|
+ <el-checkbox-group v-model="tcMember" class="people_name" v-if="teacherJuri.length">
|
|
|
+ <el-checkbox v-for="item in teacherJuri" :key="item.userid" :label="item.userid">
|
|
|
+ <div class="t_j_box">
|
|
|
+ <el-tooltip placement="top" :content="item.name ? item.name : '暂无姓名'">
|
|
|
+ <span>{{ item.name ? item.name : "暂无姓名" }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <span>{{ item.type == '1' ? '老师' : '学生' }}</span>
|
|
|
+ <el-tooltip placement="top" :content="item.username">
|
|
|
+ <span>{{ item.username }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip placement="top" :content="item.school">
|
|
|
+ <span>{{ item.school }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisibleTcMember = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="isAddPPTcTeacher">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
<el-dialog title="创建问卷" :visible.sync="dialogVisible5" :append-to-body="true" width="800px"
|
|
|
:before-close="handleClose" class="dialog_diy">
|
|
|
<div>
|
|
@@ -1748,6 +1790,7 @@ export default {
|
|
|
dialogVisible9: false,
|
|
|
dialogVisibleClass: false,
|
|
|
dialogVisibleMember: false,
|
|
|
+ dialogVisibleTcMember: false,
|
|
|
dialogVisibleMp3: false,
|
|
|
dialogVisibleSelect: false,
|
|
|
dialogVisibleSentence: false,
|
|
@@ -1758,6 +1801,7 @@ export default {
|
|
|
publicTool: 0,
|
|
|
searchPeople: "",
|
|
|
searchTN: "",
|
|
|
+ tcMember: "",
|
|
|
userid: this.$route.query.userid,
|
|
|
oid: this.$route.query.oid,
|
|
|
org: this.$route.query.org,
|
|
@@ -2903,7 +2947,7 @@ export default {
|
|
|
} else {
|
|
|
if (type == 2 || type == 3) {
|
|
|
|
|
|
- if(data.Location.split(".")[data.Location.split(".").length - 1].toLocaleUpperCase() == "PDF"){
|
|
|
+ if (data.Location.split(".")[data.Location.split(".").length - 1].toLocaleUpperCase() == "PDF") {
|
|
|
type = 9
|
|
|
}
|
|
|
_this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
@@ -3145,10 +3189,11 @@ export default {
|
|
|
},
|
|
|
getTeacher() {
|
|
|
let params = {
|
|
|
- oid:
|
|
|
- this.org && this.org != "undefined" && this.org != "null"
|
|
|
- ? this.org
|
|
|
- : this.oid,
|
|
|
+ // oid:
|
|
|
+ // this.org && this.org != "undefined" && this.org != "null"
|
|
|
+ // ? this.org
|
|
|
+ // : this.oid,
|
|
|
+ oid: this.oid,
|
|
|
cu: "",
|
|
|
cn: this.searchTN,
|
|
|
};
|
|
@@ -3157,8 +3202,8 @@ export default {
|
|
|
.get(
|
|
|
this.$store.state.api +
|
|
|
(this.org && this.org != "undefined" && this.org != "null"
|
|
|
- ? "selectUserAddOrg"
|
|
|
- : "selectUserAdd"),
|
|
|
+ ? "selectUserByOidS"
|
|
|
+ : "selectUserByOidS"),
|
|
|
params
|
|
|
)
|
|
|
.then((res) => {
|
|
@@ -3333,7 +3378,7 @@ export default {
|
|
|
},
|
|
|
];
|
|
|
this.ajax
|
|
|
- .post(this.$store.state.api + "addCourseWorkNew2", params)
|
|
|
+ .post(this.$store.state.api + "addCourseWorkNew22", params)
|
|
|
.then((res) => {
|
|
|
console.log(this.steps);
|
|
|
if (this.steps != 1 && this.steps != 2 && this.steps != 3) {
|
|
@@ -3505,7 +3550,7 @@ export default {
|
|
|
},
|
|
|
];
|
|
|
this.ajax
|
|
|
- .post(this.$store.state.api + "updateStudentWorkNew2", params)
|
|
|
+ .post(this.$store.state.api + "updateStudentWorkNew22", params)
|
|
|
.then((res) => {
|
|
|
if (this.steps != 1 && this.steps != 2 && this.steps != 3 && this.steps != 4) {
|
|
|
if (this.cidttt == 1) {
|
|
@@ -3589,6 +3634,17 @@ export default {
|
|
|
isAddPPTeacher() {
|
|
|
this.dialogVisibleMember = false;
|
|
|
},
|
|
|
+ isAddPPTcTeacher(){
|
|
|
+ this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember = this.tcMember
|
|
|
+ this.dialogVisibleTcMember = false;
|
|
|
+ },
|
|
|
+ addTcMember(index){
|
|
|
+ this.taskCount = index
|
|
|
+ this.searchTN = ""
|
|
|
+ this.tcMember = this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember ? this.unitJson[this.unitIndex].chapterInfo[0].taskJson[this.taskCount].tcMember : []
|
|
|
+ this.getTeacher();
|
|
|
+ this.dialogVisibleTcMember = true;
|
|
|
+ },
|
|
|
getTemplate() {
|
|
|
this.ajax
|
|
|
.get(this.$store.state.api + "getCourseTemplateT", "")
|
|
@@ -4496,7 +4552,7 @@ export default {
|
|
|
cid: this.cid,
|
|
|
};
|
|
|
this.ajax
|
|
|
- .get(this.$store.state.api + "select_student_course_detail", params)
|
|
|
+ .get(this.$store.state.api + "select_student_course_detail2", params)
|
|
|
.then((res) => {
|
|
|
this.loading = true;
|
|
|
this.unitJson = JSON.parse(res.data[0][0].chapters);
|
|
@@ -4600,7 +4656,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(this.timer){
|
|
|
+ if (this.timer) {
|
|
|
clearTimeout(this.timer)
|
|
|
this.timer = null
|
|
|
}
|
|
@@ -4652,18 +4708,13 @@ export default {
|
|
|
},
|
|
|
selectType() {
|
|
|
this.ajax
|
|
|
- .get(this.$store.state.api + "selectType")
|
|
|
+ .get(this.$store.state.api + "selectStudentType")
|
|
|
.then((res) => {
|
|
|
this.CourseType = res.data;
|
|
|
for (var i = 0; i < res.data[0].length; i++) {
|
|
|
if (!this.cid) {
|
|
|
this.courseTypeId[res.data[0][i].id] = "";
|
|
|
}
|
|
|
- if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
|
|
|
- if (res.data[0][i].name == "栏目") {
|
|
|
- this.CourseType[0][i].name = "主题";
|
|
|
- }
|
|
|
- }
|
|
|
for (var j = 0; j < res.data[1].length; j++) {
|
|
|
if (res.data[0][i].id == res.data[1][j].pid) {
|
|
|
if (!this.CourseTypeJson[res.data[0][i].id]) {
|
|
@@ -4685,7 +4736,7 @@ export default {
|
|
|
oid: this.oid,
|
|
|
};
|
|
|
this.ajax
|
|
|
- .get(this.$store.state.api + "selectTypeByOid", params)
|
|
|
+ .get(this.$store.state.api + "selectStudentTypeByOid", params)
|
|
|
.then((res) => {
|
|
|
for (var i = 0; i < res.data[0].length; i++) {
|
|
|
for (var j = 0; j < res.data[1].length; j++) {
|
|
@@ -4707,7 +4758,7 @@ export default {
|
|
|
oid: this.org,
|
|
|
};
|
|
|
this.ajax
|
|
|
- .get(this.$store.state.api + "selectTypeByOrg", params)
|
|
|
+ .get(this.$store.state.api + "selectStudentTypeByOid", params)
|
|
|
.then((res) => {
|
|
|
for (var i = 0; i < res.data[0].length; i++) {
|
|
|
for (var j = 0; j < res.data[1].length; j++) {
|
|
@@ -5020,7 +5071,7 @@ export default {
|
|
|
console.error(err);
|
|
|
});
|
|
|
})
|
|
|
- .catch(() => {});
|
|
|
+ .catch(() => { });
|
|
|
},
|
|
|
},
|
|
|
beforeDestroy() {
|
|
@@ -5401,7 +5452,7 @@ export default {
|
|
|
margin-top: 15px;
|
|
|
}
|
|
|
|
|
|
-.chapter_contentbox div:nth-child(1) {
|
|
|
+.chapter_contentbox>div:nth-child(1) {
|
|
|
/* width: 150px; */
|
|
|
margin: 0px;
|
|
|
/* font-size: 2em; */
|
|
@@ -5415,16 +5466,16 @@ export default {
|
|
|
font-size: 18px;
|
|
|
}
|
|
|
|
|
|
-.chapter_contentbox div:nth-child(2) {
|
|
|
+.chapter_contentbox>div:nth-child(2) {
|
|
|
width: 380px;
|
|
|
}
|
|
|
|
|
|
-.chapter_contentbox div:nth-child(3),
|
|
|
+.chapter_contentbox>div:nth-child(3),
|
|
|
.remove {
|
|
|
background-image: url("../../../assets/remove.png");
|
|
|
cursor: pointer;
|
|
|
opacity: 0.5;
|
|
|
- width: 40px;
|
|
|
+ width: 40px !important;
|
|
|
height: 50px;
|
|
|
background-repeat: no-repeat;
|
|
|
background-position: 5px 10px;
|
|
@@ -7623,7 +7674,7 @@ ol {
|
|
|
}
|
|
|
|
|
|
.toolimg>img {
|
|
|
- width: 100%;
|
|
|
+ width: 100%;
|
|
|
height: 105px;
|
|
|
object-fit: contain;
|
|
|
}
|
|
@@ -7697,5 +7748,4 @@ ol {
|
|
|
top: 10px;
|
|
|
right: 10px;
|
|
|
}
|
|
|
-
|
|
|
</style>
|