mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
feat:移动任务 选择面授
This commit is contained in:
@@ -22,4 +22,7 @@ export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/upd
|
|||||||
headers: {
|
headers: {
|
||||||
'token': '123'
|
'token': '123'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//获取全部评估信息接口
|
||||||
|
export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj)
|
||||||
@@ -18,3 +18,15 @@ export const editProj = (obj) => http.post('/admin/project/edit', obj)
|
|||||||
|
|
||||||
//路径图里的新建或编辑关卡任务
|
//路径图里的新建或编辑关卡任务
|
||||||
export const editTask = (obj) => http.post('/admin/router/editTask', obj)
|
export const editTask = (obj) => http.post('/admin/router/editTask', obj)
|
||||||
|
|
||||||
|
//项目里获取项目积分规则
|
||||||
|
export const scoreRule = (obj) => http.get('/admin/project/scoreRule', { params: obj })
|
||||||
|
|
||||||
|
//项目里设置项目积分规则
|
||||||
|
export const setScoreRule = (obj) => http.post('/admin/project/setScoreRule', obj)
|
||||||
|
|
||||||
|
//面授课开课列表
|
||||||
|
export const planList = (obj) => http.post('/admin/offcourse/planList', obj)
|
||||||
|
|
||||||
|
//获取面授课列表
|
||||||
|
export const list = (obj) => http.post('/admin/offcourse/list', obj)
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
@after-visible-change="afterVisibleChange"
|
@after-visible-change="afterVisibleChange"
|
||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">{{edit?'编辑':'添加'}}讨论</div>
|
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}讨论</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -56,7 +56,9 @@
|
|||||||
<span style="margin-right: 3px">讨论设置:</span>
|
<span style="margin-right: 3px">讨论设置:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-checkbox v-model:checked="checkedC1" @change = "checkRadio">允许评论</a-checkbox>
|
<a-checkbox v-model:checked="checkedC1" @change="checkRadio"
|
||||||
|
>允许评论</a-checkbox
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -66,14 +68,13 @@
|
|||||||
<button class="btn2" @click="updateDiscussInfo">确定</button>
|
<button class="btn2" @click="updateDiscussInfo">确定</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import * as api from "../../api/indexDiscuss";
|
import * as api from "../../api/indexDiscuss";
|
||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { RouterEditTask } from "@/api/indexTask"
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
const rowSelection = ref({
|
const rowSelection = ref({
|
||||||
checkStrictly: false,
|
checkStrictly: false,
|
||||||
@@ -104,7 +105,8 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
edit: { // 是否为编辑
|
edit: {
|
||||||
|
// 是否为编辑
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
@@ -120,15 +122,18 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: 0,
|
||||||
},
|
},
|
||||||
isLevel: { // 是否是关卡页面触发
|
isLevel: {
|
||||||
|
// 是否是关卡页面触发
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
EditWorkId: { // 要编辑的workId
|
EditWorkId: {
|
||||||
|
// 要编辑的workId
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
projectTaskId: { // 要编辑的projectId
|
projectTaskId: {
|
||||||
|
// 要编辑的projectId
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
@@ -139,84 +144,103 @@ export default {
|
|||||||
isactive: {
|
isactive: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
console.log("学习路径",props.isStudiscuss);
|
console.log("学习路径", props.isStudiscuss);
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
inputV1: "",
|
inputV1: "",
|
||||||
inputV2: "",
|
inputV2: "",
|
||||||
textV1: "",
|
textV1: "",
|
||||||
checkedC1: false,
|
checkedC1: false,
|
||||||
discussSettings:"",
|
discussSettings: "",
|
||||||
addLoading:false,
|
addLoading: false,
|
||||||
});
|
});
|
||||||
const checkRadio = () =>{
|
const checkRadio = () => {
|
||||||
if(state.checkedC1){
|
if (state.checkedC1) {
|
||||||
state.discussSettings = "true"
|
state.discussSettings = "true";
|
||||||
}else{
|
} else {
|
||||||
state.discussSettings = "false";
|
state.discussSettings = "false";
|
||||||
}
|
}
|
||||||
console.log("state.checkedC1=====",state.discussSettings,state.discussSettings=="true");
|
console.log(
|
||||||
}
|
"state.checkedC1=====",
|
||||||
|
state.discussSettings,
|
||||||
|
state.discussSettings == "true"
|
||||||
|
);
|
||||||
|
};
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:adddiscussVisible", false);
|
ctx.emit("update:adddiscussVisible", false);
|
||||||
ctx.emit("update:edit", false);
|
ctx.emit("update:edit", false);
|
||||||
state.inputV1 = "";
|
state.inputV1 = "";
|
||||||
state.textV1 = "";
|
state.textV1 = "";
|
||||||
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
|
localStorage.setItem("stageId", props.chooseStageId);
|
||||||
};
|
};
|
||||||
const queryDiscuss = () =>{
|
const queryDiscuss = () => {
|
||||||
if(props.edit){
|
if (props.edit) {
|
||||||
//编辑讨
|
//编辑讨
|
||||||
api.getDiscussDetail({discussId:props.EditDiscussId}).then(res => {
|
api
|
||||||
console.log('获取讨论信息成功',res.data.data)
|
.getDiscussDetail({ discussId: props.EditDiscussId })
|
||||||
//更新讨论信息
|
.then((res) => {
|
||||||
state.inputV1 = res.data.data.discussName;
|
console.log("获取讨论信息成功", res.data.data);
|
||||||
state.textV1 = res.data.data.discussExplain;
|
//更新讨论信息
|
||||||
state.checkedC1 = res.data.data.discussSettings=="true"?true:false;
|
state.inputV1 = res.data.data.discussName;
|
||||||
console.log("props.EditDiscussId",res.data.data.discussSettings,"===",res.data.data.discussSettings=="true",state.checkedC1)
|
state.textV1 = res.data.data.discussExplain;
|
||||||
}).catch(err=>{
|
state.checkedC1 =
|
||||||
console.log('获取讨论信息失败',err)
|
res.data.data.discussSettings == "true" ? true : false;
|
||||||
})
|
console.log(
|
||||||
|
"props.EditDiscussId",
|
||||||
}
|
res.data.data.discussSettings,
|
||||||
|
"===",
|
||||||
|
res.data.data.discussSettings == "true",
|
||||||
|
state.checkedC1
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取讨论信息失败", err);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
if(bool){
|
if (bool) {
|
||||||
queryDiscuss();
|
queryDiscuss();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const updateTask = (res) => {
|
const updateTask = (res) => {
|
||||||
console.log("jinlaile ========",props.isLevel);
|
console.log("jinlaile ========", props.isLevel);
|
||||||
if(props.isLevel){
|
if (props.isLevel) {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId:props.isactive,
|
chapterId: props.isactive,
|
||||||
courseId: res.data.data.discussId,
|
|
||||||
name: res.data.data.discussName,
|
|
||||||
routerId: props.routerId,
|
|
||||||
routerTaskId: props.routerTaskId ||0,
|
|
||||||
type: 8,
|
|
||||||
}).then(res => {
|
|
||||||
console.log("新增关卡任务失败",res);
|
|
||||||
}).catch(err => {console.log("新增关卡任务失败",err);})
|
|
||||||
}else{
|
|
||||||
apiTask
|
|
||||||
.addTask({
|
|
||||||
courseId: res.data.data.discussId,
|
courseId: res.data.data.discussId,
|
||||||
name: res.data.data.discussName,
|
name: res.data.data.discussName,
|
||||||
projectId: props.projectId,
|
routerId: props.routerId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
routerTaskId: props.routerTaskId || 0,
|
||||||
stageId:props.chooseStageId,
|
type: 8,
|
||||||
type: 8,
|
|
||||||
}).then(r=>{
|
|
||||||
console.log("新增关卡任务成功",r);
|
|
||||||
}).catch(r=>{
|
|
||||||
console.log('更新阶段任务失败',r)
|
|
||||||
})
|
})
|
||||||
}
|
.then((res) => {
|
||||||
}
|
console.log("新增关卡任务失败", res);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("新增关卡任务失败", err);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
apiTask
|
||||||
|
.addTask({
|
||||||
|
courseId: res.data.data.discussId,
|
||||||
|
name: res.data.data.discussName,
|
||||||
|
projectId: props.projectId,
|
||||||
|
projectTaskId: props.projectTaskId || 0,
|
||||||
|
stageId: props.chooseStageId,
|
||||||
|
type: 8,
|
||||||
|
})
|
||||||
|
.then((r) => {
|
||||||
|
console.log("新增关卡任务成功", r);
|
||||||
|
})
|
||||||
|
.catch((r) => {
|
||||||
|
console.log("更新阶段任务失败", r);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
const updateDiscussInfo = () => {
|
const updateDiscussInfo = () => {
|
||||||
if (!state.inputV1) {
|
if (!state.inputV1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
@@ -226,36 +250,36 @@ export default {
|
|||||||
discussName: state.inputV1, //讨论名称
|
discussName: state.inputV1, //讨论名称
|
||||||
discussExplain: state.textV1, //讨论说明
|
discussExplain: state.textV1, //讨论说明
|
||||||
discussSettings: state.discussSettings, //讨论设置
|
discussSettings: state.discussSettings, //讨论设置
|
||||||
discussId: props.edit?props.EditDiscussId:0,//讨论Id
|
discussId: props.edit ? props.EditDiscussId : 0, //讨论Id
|
||||||
projectId: 0, //项目id,接口多余字段,
|
projectId: 0, //项目id,接口多余字段,
|
||||||
};
|
};
|
||||||
console.log("dianwanle -======",String(state.checkedC1));
|
console.log("dianwanle -======", String(state.checkedC1));
|
||||||
if(props.edit){
|
if (props.edit) {
|
||||||
api
|
api
|
||||||
.updateDiscuss(obj)
|
.updateDiscuss(obj)
|
||||||
.then((res)=> {
|
.then((res) => {
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
console.log("更新成功",res);
|
console.log("更新成功", res);
|
||||||
console.log("项目任务ID",props.projectTaskId)
|
console.log("项目任务ID", props.projectTaskId);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("更新失败",err)
|
console.log("更新失败", err);
|
||||||
})
|
});
|
||||||
}else{
|
} else {
|
||||||
api
|
api
|
||||||
.createDiscuss(obj)
|
.createDiscuss(obj)
|
||||||
.then((res)=> {
|
.then((res) => {
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
console.log("创建成功",res);
|
console.log("创建成功", res);
|
||||||
console.log("项目任务ID",props.projectTaskId)
|
console.log("项目任务ID", props.projectTaskId);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("创建失败",err)
|
console.log("创建失败", err);
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
@@ -392,6 +416,5 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">{{edit?'编辑':'添加'}}直播</div>
|
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}直播</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -81,13 +81,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="300"
|
:max="300"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
style=" width: 364px; height: 32px; border-radius: 8px;overflow: hidden; "
|
style="
|
||||||
v-model:value="inputV2"
|
width: 364px;
|
||||||
></a-input-number>
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
"
|
||||||
|
v-model:value="inputV2"
|
||||||
|
></a-input-number>
|
||||||
|
|
||||||
<span style="margin-left: 5px">分钟</span>
|
<span style="margin-left: 5px">分钟</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -102,19 +107,17 @@
|
|||||||
<span style="margin-right: 3px">授课老师:</span>
|
<span style="margin-right: 3px">授课老师:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
|
<a-select
|
||||||
<a-select
|
v-model:value="value"
|
||||||
v-model:value="value"
|
show-search
|
||||||
show-search
|
placeholder="Select a teacher"
|
||||||
placeholder="Select a teacher"
|
style="width: 364px"
|
||||||
style="width: 364px"
|
:options="options"
|
||||||
:options="options"
|
:filter-option="filterOption"
|
||||||
:filter-option="filterOption"
|
@focus="handleFocus"
|
||||||
@focus="handleFocus"
|
@blur="handleBlur"
|
||||||
@blur="handleBlur"
|
@change="handleChange2"
|
||||||
@change="handleChange2"
|
></a-select>
|
||||||
></a-select>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
@@ -122,9 +125,6 @@
|
|||||||
<span style="margin-right: 3px">直播封面:</span>
|
<span style="margin-right: 3px">直播封面:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea" style="overflow: hidden">
|
<div class="textarea" style="overflow: hidden">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a-upload
|
<a-upload
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
name="avatar"
|
name="avatar"
|
||||||
@@ -135,7 +135,12 @@
|
|||||||
:before-upload="beforeUpload"
|
:before-upload="beforeUpload"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<img v-if="imageUrl" :src="imageUrl" alt="avatar" style=“width:100px;height:100px;”/>
|
<img
|
||||||
|
v-if="imageUrl"
|
||||||
|
:src="imageUrl"
|
||||||
|
alt="avatar"
|
||||||
|
style="“width:100px;height:100px;”"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<loading-outlined v-if="loading"></loading-outlined>
|
<loading-outlined v-if="loading"></loading-outlined>
|
||||||
<plus-outlined v-else></plus-outlined>
|
<plus-outlined v-else></plus-outlined>
|
||||||
@@ -185,23 +190,26 @@
|
|||||||
<span style="margin-right: 3px">评价:</span>
|
<span style="margin-right: 3px">评价:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-checkbox v-model:checked="checkedC1" @change = "checkRadio">需要评估</a-checkbox>
|
<a-checkbox v-model:checked="checkedC1" @change="checkRadio"
|
||||||
|
>需要评估</a-checkbox
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item" style="margin-top: -25px," :style="{ display: checkedC1 ? 'block' : 'none' }">
|
<div
|
||||||
|
class="main_item"
|
||||||
|
style="margin-top: -25px"
|
||||||
|
:style="{ display: checkedC1 ? 'block' : 'none' }"
|
||||||
|
>
|
||||||
<div class="signbox"></div>
|
<div class="signbox"></div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-select
|
<a-select
|
||||||
v-model:value="value"
|
v-model:value="assessmentvalue"
|
||||||
show-search
|
show-search
|
||||||
placeholder="选择评估"
|
placeholder="选择评估"
|
||||||
style="width: 364px"
|
style="width: 364px"
|
||||||
:options="options"
|
:options="assessment"
|
||||||
:filter-option="filterOption"
|
@change="handleChangeAssessment"
|
||||||
@focus="handleFocus"
|
></a-select>
|
||||||
@blur="handleBlur"
|
|
||||||
@change="handleChange2"
|
|
||||||
></a-select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
@@ -219,7 +227,12 @@
|
|||||||
:min="0"
|
:min="0"
|
||||||
:max="30"
|
:max="30"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
style="width: 88px; height: 32px; border-radius: 8px;overflow: hidden; "
|
style="
|
||||||
|
width: 88px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
"
|
||||||
v-model:value="inputV6"
|
v-model:value="inputV6"
|
||||||
></a-input-number>
|
></a-input-number>
|
||||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
@@ -230,7 +243,12 @@
|
|||||||
:min="0"
|
:min="0"
|
||||||
:max="30"
|
:max="30"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
style="width: 88px;height: 32px;border-radius: 8px; overflow: hidden;"
|
style="
|
||||||
|
width: 88px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
"
|
||||||
v-model:value="inputV7"
|
v-model:value="inputV7"
|
||||||
></a-input-number>
|
></a-input-number>
|
||||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
@@ -246,7 +264,12 @@
|
|||||||
:min="0"
|
:min="0"
|
||||||
:max="30"
|
:max="30"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
style=" width: 88px;height: 32px;border-radius: 8px; overflow: hidden; "
|
style="
|
||||||
|
width: 88px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
"
|
||||||
v-model:value="inputV8"
|
v-model:value="inputV8"
|
||||||
></a-input-number>
|
></a-input-number>
|
||||||
<span style="color: #999999; margin-left: 8px"
|
<span style="color: #999999; margin-left: 8px"
|
||||||
@@ -274,7 +297,9 @@
|
|||||||
<span style="margin-right: 3px">其他设置:</span>
|
<span style="margin-right: 3px">其他设置:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-checkbox v-model:checked="checkedC2" @onclick = "checkedC2 = !checkedC2"
|
<a-checkbox
|
||||||
|
v-model:checked="checkedC2"
|
||||||
|
@onclick="checkedC2 = !checkedC2"
|
||||||
>学员请假后记为任务完成</a-checkbox
|
>学员请假后记为任务完成</a-checkbox
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -295,7 +320,7 @@ import * as api from "../../api/indexLiveBroadcast";
|
|||||||
import * as apiTask from "../../api/indexTaskadd";
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { toDate } from "@/api/method";
|
import { toDate } from "@/api/method";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
import dayjs from 'dayjs';
|
import dayjs from "dayjs";
|
||||||
// import { useRouter } from "vue-router";
|
// import { useRouter } from "vue-router";
|
||||||
function getBase64(img, callback) {
|
function getBase64(img, callback) {
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
@@ -309,7 +334,6 @@ const options1 = ref([
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
const rowSelection = ref({
|
const rowSelection = ref({
|
||||||
checkStrictly: false,
|
checkStrictly: false,
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
@@ -333,12 +357,13 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
EditLiveId: {
|
EditLiveId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
edit: { // 是否为编辑
|
edit: {
|
||||||
|
// 是否为编辑
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
@@ -354,11 +379,13 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: 0,
|
||||||
},
|
},
|
||||||
isLevel: { // 是否是关卡页面触发
|
isLevel: {
|
||||||
|
// 是否是关卡页面触发
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
projectTaskId: { // 要编辑的projectId
|
projectTaskId: {
|
||||||
|
// 要编辑的projectId
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
@@ -369,8 +396,7 @@ export default {
|
|||||||
isactive: {
|
isactive: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
// const router = useRouter();
|
// const router = useRouter();
|
||||||
@@ -396,11 +422,13 @@ export default {
|
|||||||
checkedC1: false,
|
checkedC1: false,
|
||||||
checkedC2: false,
|
checkedC2: false,
|
||||||
playback: false,
|
playback: false,
|
||||||
assessmentId:"0",
|
assessmentId: null,
|
||||||
obj: {}, //要传的obj数据
|
obj: {}, //要传的obj数据
|
||||||
|
assessment: [], //评估信息
|
||||||
|
assessmentvalue: null,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addliveVisible", false);
|
ctx.emit("update:addliveVisible", false);
|
||||||
ctx.emit("update:edit", false);
|
ctx.emit("update:edit", false);
|
||||||
console.log(props, "props");
|
console.log(props, "props");
|
||||||
state.radioV1 = "";
|
state.radioV1 = "";
|
||||||
@@ -419,37 +447,59 @@ export default {
|
|||||||
state.imageUrl = "";
|
state.imageUrl = "";
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("props.edit===================", props.edit,bool);
|
console.log("props.edit===================", props.edit, bool);
|
||||||
if(props.edit){
|
if (props.edit) {
|
||||||
queryLive();
|
queryLive();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
api
|
||||||
|
.queryAssessmentDetailList({
|
||||||
|
assessmentName: "",
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 200,
|
||||||
|
releaseStatus: "",
|
||||||
|
searchEndTime: "",
|
||||||
|
searchStartTime: "",
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res.data.data.rows, "获取全部评估信息");
|
||||||
|
res.data.data.rows.forEach((item) => {
|
||||||
|
let obj = item;
|
||||||
|
obj.value = item.assessmentId;
|
||||||
|
obj.label = item.assessmentName;
|
||||||
|
state.assessment.push(obj);
|
||||||
|
});
|
||||||
|
console.log("eeee", state.assessment);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const queryLive = () => {
|
const queryLive = () => {
|
||||||
let d =props.EditLiveId;
|
let d = props.EditLiveId;
|
||||||
console.log("直播查询=======",d);
|
console.log("直播查询=======", d);
|
||||||
api
|
api
|
||||||
.getLiveBroadcastInfor({liveId:d}).then((res) => {
|
.getLiveBroadcastInfor({ liveId: d })
|
||||||
// console.log(dayjs(res.data.data.submitStartTime).format("YYYY-MM-DD"));
|
.then((res) => {
|
||||||
state.inputV1 = res.data.data.liveName;
|
// console.log(dayjs(res.data.data.submitStartTime).format("YYYY-MM-DD"));
|
||||||
state.time = [dayjs(res.data.data.liveStartTime, "YYYY-MM-DD"), dayjs(res.data.data.liveEndTime, "YYYY-MM-DD")]
|
state.inputV1 = res.data.data.liveName;
|
||||||
state.inputV2= res.data.data.liveDuration;
|
state.time = [
|
||||||
state.inputV3= res.data.data. liveTeacherId;
|
dayjs(res.data.data.liveStartTime, "YYYY-MM-DD"),
|
||||||
//state.fileList= res.data.data
|
dayjs(res.data.data.liveEndTime, "YYYY-MM-DD"),
|
||||||
state.inputV4= res.data.data.liveLink;
|
];
|
||||||
state.inputV5= res.data.data.livePlaybackLink;
|
state.inputV2 = res.data.data.liveDuration;
|
||||||
state.inputV6= res.data.data.beforeSignIn;
|
state.inputV3 = res.data.data.liveTeacherId;
|
||||||
state.inputV7= res.data.data.afterSignIn;
|
//state.fileList= res.data.data
|
||||||
state.inputV8= res.data.data.signOutTime;
|
state.inputV4 = res.data.data.liveLink;
|
||||||
state.textV1= res.data.data.liveExplain;
|
state.inputV5 = res.data.data.livePlaybackLink;
|
||||||
state.radioV1= res.data.data.standardSettings
|
state.inputV6 = res.data.data.beforeSignIn;
|
||||||
//state.= res.data.data
|
state.inputV7 = res.data.data.afterSignIn;
|
||||||
|
state.inputV8 = res.data.data.signOutTime;
|
||||||
|
state.textV1 = res.data.data.liveExplain;
|
||||||
console.log("查询成功=====inputv1",state.inputV1);
|
state.radioV1 = res.data.data.standardSettings;
|
||||||
}).catch(() => {
|
//state.= res.data.data
|
||||||
message.error(`查询失败`)
|
state.assessmentId = res.data.data.assessmentId;
|
||||||
})
|
console.log("查询成功=====inputv1", state.inputV1);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
message.error(`查询失败`);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const cloradio1 = (value) => {
|
const cloradio1 = (value) => {
|
||||||
@@ -458,7 +508,7 @@ export default {
|
|||||||
state.radioV1 = "";
|
state.radioV1 = "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleChange = (info) => {
|
const handleChange = (info) => {
|
||||||
if (info.file.status === "uploading") {
|
if (info.file.status === "uploading") {
|
||||||
state.loading = true;
|
state.loading = true;
|
||||||
@@ -496,48 +546,46 @@ export default {
|
|||||||
|
|
||||||
return isJpgOrPng && isLt2M;
|
return isJpgOrPng && isLt2M;
|
||||||
};
|
};
|
||||||
const updateTask =(res)=>{
|
const updateTask = (res) => {
|
||||||
if(props.isLevel){
|
if (props.isLevel) {
|
||||||
RouterEditTask({
|
RouterEditTask({
|
||||||
chapterId: props.isactive,
|
chapterId: props.isactive,
|
||||||
courseId: res.data.data.liveId,
|
courseId: res.data.data.liveId,
|
||||||
duration: res.data.data.duration,
|
duration: res.data.data.duration,
|
||||||
name: res.data.data.liveName,
|
name: res.data.data.liveName,
|
||||||
routerId: props.routerId,
|
routerId: props.routerId,
|
||||||
routerTaskId: props.routerTaskId || 0,
|
routerTaskId: props.routerTaskId || 0,
|
||||||
type: 6,
|
type: 6,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res, 11111);
|
console.log(res, 11111);
|
||||||
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err, 1111);
|
console.log(err, 1111);
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
apiTask
|
apiTask
|
||||||
.addTask({
|
.addTask({
|
||||||
courseId: res.data.data.liveId,
|
courseId: res.data.data.liveId,
|
||||||
duration: res.data.data.duration,
|
duration: res.data.data.duration,
|
||||||
name: res.data.data.liveName,
|
name: res.data.data.liveName,
|
||||||
projectId: props.projectId,
|
projectId: props.projectId,
|
||||||
projectTaskId: props.projectTaskId || 0,
|
projectTaskId: props.projectTaskId || 0,
|
||||||
stageId: props.chooseStageId,
|
stageId: props.chooseStageId,
|
||||||
type: 6,
|
type: 6,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("调用项目添加接口后", res.data);
|
console.log("调用项目添加接口后", res.data);
|
||||||
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
|
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||||
ctx.emit("changeData", false);
|
ctx.emit("changeData", false);
|
||||||
|
})
|
||||||
})
|
.catch((err) => {
|
||||||
.catch((err) => {
|
console.log(err);
|
||||||
console.log(err);
|
});
|
||||||
});
|
}
|
||||||
|
};
|
||||||
}
|
|
||||||
}
|
|
||||||
//创建直播
|
//创建直播
|
||||||
const updateLiveBroadcast = () => {
|
const updateLiveBroadcast = () => {
|
||||||
if (!state.inputV1) {
|
if (!state.inputV1) {
|
||||||
@@ -556,8 +604,8 @@ export default {
|
|||||||
if (!regular.test(state.inputV2)) {
|
if (!regular.test(state.inputV2)) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("直播时长需大于0");
|
return message.warning("直播时长需大于0");
|
||||||
}
|
}
|
||||||
|
|
||||||
let startTime = toDate(
|
let startTime = toDate(
|
||||||
new Date(state.time[0].$d).getTime() / 1000,
|
new Date(state.time[0].$d).getTime() / 1000,
|
||||||
"Y-M-D"
|
"Y-M-D"
|
||||||
@@ -566,89 +614,85 @@ export default {
|
|||||||
new Date(state.time[1].$d).getTime() / 1000,
|
new Date(state.time[1].$d).getTime() / 1000,
|
||||||
"Y-M-D"
|
"Y-M-D"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
state.obj = {
|
state.obj = {
|
||||||
afterSignIn: state.inputV6,
|
afterSignIn: state.inputV6,
|
||||||
beforeSignIn: state.inputV7,
|
beforeSignIn: state.inputV7,
|
||||||
assessmentId: 0,
|
assessmentId: state.assessmentId == null ? 0 : state.assessmentId,
|
||||||
// liveCover: state.fileList,//直播封面
|
// liveCover: state.fileList,//直播封面
|
||||||
liveDuration: state.inputV2,
|
liveDuration: state.inputV2,
|
||||||
liveEndTime: endTime,
|
liveEndTime: endTime,
|
||||||
liveStartTime: startTime,
|
liveStartTime: startTime,
|
||||||
liveExplain: state.textV1,
|
liveExplain: state.textV1,
|
||||||
liveFlag: "",
|
liveFlag: "",
|
||||||
liveId: props.edit?props.EditLiveId:0,
|
liveId: props.edit ? props.EditLiveId : 0,
|
||||||
liveLink: state.inputV4,
|
liveLink: state.inputV4,
|
||||||
liveName: state.inputV1,
|
liveName: state.inputV1,
|
||||||
livePlayback:state.playback ? "true":"false",
|
livePlayback: state.playback ? "true" : "false",
|
||||||
livePlaybackLink: state.playback?state.inputV5:"",
|
livePlaybackLink: state.playback ? state.inputV5 : "",
|
||||||
liveTeacherId: state.inputV3,
|
liveTeacherId: state.inputV3,
|
||||||
otherSettings:0, //1或0
|
otherSettings: 0, //1或0
|
||||||
signOutTime: state.inputV8,
|
signOutTime: state.inputV8,
|
||||||
standardSettings: state.radioV1, //1或2
|
standardSettings: state.radioV1, //1或2
|
||||||
|
|
||||||
};
|
};
|
||||||
console.log("zhibo-==========",props.EditLiveId);
|
console.log("zhibo-==========", props.EditLiveId);
|
||||||
if(props.edit){
|
if (props.edit) {
|
||||||
api
|
api
|
||||||
.updateLiveBroadcastMessage(state.obj)
|
.updateLiveBroadcastMessage(state.obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("直播编辑成功", res.data.data);
|
console.log("直播编辑成功", res.data.data);
|
||||||
message.success("提交成功");
|
message.success("提交成功");
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err, 2222);
|
console.log(err, 2222);
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
api
|
api
|
||||||
.createLiveBroadcast(state.obj)
|
.createLiveBroadcast(state.obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("调用添加直播接口后", res.data.data);
|
console.log("调用添加直播接口后", res.data.data);
|
||||||
// console.log(state, 2222);
|
// console.log(state, 2222);
|
||||||
message.success("提交成功");
|
message.success("提交成功");
|
||||||
updateTask(res);
|
updateTask(res);
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err, 2222);
|
console.log(err, 2222);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const options = ref([{
|
const options = ref([]);
|
||||||
value: 'jack',
|
const handleChange2 = (value) => {
|
||||||
label: 'Jack',
|
|
||||||
}, {
|
|
||||||
value: 'lucy',
|
|
||||||
label: 'Lucy',
|
|
||||||
}, {
|
|
||||||
value: 'tom',
|
|
||||||
label: 'Tom',
|
|
||||||
}]);
|
|
||||||
const handleChange2 = value => {
|
|
||||||
console.log(`selected ${value}`);
|
console.log(`selected ${value}`);
|
||||||
};
|
};
|
||||||
const handleBlur = () => {
|
const handleBlur = () => {
|
||||||
console.log('blur');
|
console.log("blur");
|
||||||
};
|
};
|
||||||
const handleFocus = () => {
|
const handleFocus = () => {
|
||||||
console.log('focus');
|
console.log("focus");
|
||||||
};
|
};
|
||||||
const checkRadio = () =>{
|
const checkRadio = () => {
|
||||||
if(state.checkedC1){
|
if (state.checkedC1) {
|
||||||
state.discussSettings = "true"
|
state.discussSettings = "true";
|
||||||
}else{
|
} else {
|
||||||
state.discussSettings = "false";
|
state.discussSettings = "false";
|
||||||
}
|
}
|
||||||
console.log("state.checkedC1=====",state.discussSettings,state.discussSettings=="true");
|
console.log(
|
||||||
}
|
"state.checkedC1=====",
|
||||||
|
state.discussSettings,
|
||||||
|
state.discussSettings == "true"
|
||||||
|
);
|
||||||
|
};
|
||||||
const filterOption = (input, option) => {
|
const filterOption = (input, option) => {
|
||||||
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
||||||
};
|
};
|
||||||
|
const handleChangeAssessment = (value, option) => {
|
||||||
|
console.log("选择了", value, option);
|
||||||
|
state.assessmentId = option.assessmentId;
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
@@ -666,6 +710,7 @@ export default {
|
|||||||
handleChange2,
|
handleChange2,
|
||||||
options,
|
options,
|
||||||
checkRadio,
|
checkRadio,
|
||||||
|
handleChangeAssessment,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -52,19 +52,19 @@
|
|||||||
<div class="grouprightscore">
|
<div class="grouprightscore">
|
||||||
<div class="sbutton" @click="typeChange(1)">
|
<div class="sbutton" @click="typeChange(1)">
|
||||||
<img
|
<img
|
||||||
v-if="stuValue===2"
|
v-if="stuValue === 2"
|
||||||
src="../../assets/images/taskpage/stu0.png"
|
src="../../assets/images/taskpage/stu0.png"
|
||||||
/>
|
/>
|
||||||
<img v-else src="../../assets/images/taskpage/stu.png" />
|
<img v-else src="../../assets/images/taskpage/stu.png" />
|
||||||
<div :class="stuValue===2 ? '' : 'btn1'">学员积分榜</div>
|
<div :class="stuValue === 2 ? '' : 'btn1'">学员积分榜</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sbutton" @click="typeChange(2)">
|
<div class="sbutton" @click="typeChange(2)">
|
||||||
<img
|
<img
|
||||||
v-if="stuValue===2"
|
v-if="stuValue === 2"
|
||||||
src="../../assets/images/taskpage/group.png"
|
src="../../assets/images/taskpage/group.png"
|
||||||
/>
|
/>
|
||||||
<img v-else src="../../assets/images/taskpage/group0.png" />
|
<img v-else src="../../assets/images/taskpage/group0.png" />
|
||||||
<div :class="stuValue===2 ? 'btn1' : ''">小组积分榜</div>
|
<div :class="stuValue === 2 ? 'btn1' : ''">小组积分榜</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="group" style="justify-content: center">
|
<div class="group" style="justify-content: center">
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="listdiv">
|
<div class="listdiv">
|
||||||
<div class="slist">
|
<div class="slist">
|
||||||
<a-list :data-source="stuValue ===1? datascoreg : datascore">
|
<a-list :data-source="stuValue === 1 ? datascoreg : datascore">
|
||||||
<template #renderItem="{ item }">
|
<template #renderItem="{ item }">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div v-if="item.id == 1" class="itemleft">
|
<div v-if="item.id == 1" class="itemleft">
|
||||||
@@ -141,13 +141,13 @@
|
|||||||
<div class="groupright">
|
<div class="groupright">
|
||||||
<div class="spandiv"><span class="spantext">规则</span></div>
|
<div class="spandiv"><span class="spantext">规则</span></div>
|
||||||
<div v-if="edit" class="btns">
|
<div v-if="edit" class="btns">
|
||||||
<div class="btn1" @click="edit = !edit">
|
<div class="btn1" @click="edit = false">
|
||||||
<img src="../../assets/images/projectadd/edit1.png" />
|
<img src="../../assets/images/projectadd/edit1.png" />
|
||||||
<span class="btn1text">编辑</span>
|
<span class="btn1text">编辑</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="btns">
|
<div v-else class="btns">
|
||||||
<div class="btn1" @click="edit = !edit">
|
<div class="btn1" @click="editRule">
|
||||||
<span class="btn1text">保存</span>
|
<span class="btn1text">保存</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -164,48 +164,37 @@
|
|||||||
><span class="scoretext">{{ score1 }} </span><span>积分</span>
|
><span class="scoretext">{{ score1 }} </span><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>完成在线课程获得 </span
|
|
||||||
><span class="scoretext">{{ done }}</span
|
|
||||||
><span style="margin-right:50px">积分</span>
|
|
||||||
<span>完成面授课程获得 </span
|
|
||||||
><span class="scoretext">{{ done1 }}</span
|
|
||||||
><span style="margin-right:50px">积分</span>
|
|
||||||
<span>完成作业成绩不低于 </span
|
<span>完成作业成绩不低于 </span
|
||||||
><span class="scoretext">{{ done2 }}</span
|
><span class="scoretext">{{ done2 }}</span
|
||||||
><span>分获得</span>
|
><span>分获得</span> <span class="scoretext">{{ done3 }}</span
|
||||||
<span class="scoretext">{{ done3 }}</span
|
|
||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>前</span
|
<span>前</span><span class="scoretext">{{ four1 }}</span
|
||||||
><span class="scoretext">{{ four1}}</span
|
|
||||||
><span>名学完在线课程获得</span>
|
><span>名学完在线课程获得</span>
|
||||||
<span class="scoretext">{{ four2}}</span
|
<span class="scoretext">{{ four2 }}</span
|
||||||
><span style="margin-right:50px">积分</span>
|
><span style="margin-right: 50px">积分</span> <span>前</span
|
||||||
<span>前</span
|
><span class="scoretext">{{ four3 }}</span
|
||||||
><span class="scoretext">{{ four3}}</span
|
|
||||||
><span>名提交作业且成绩不低于</span>
|
><span>名提交作业且成绩不低于</span>
|
||||||
<span class="scoretext">{{ four4}}</span
|
<span class="scoretext">{{ four4 }}</span
|
||||||
><span >分获得</span>
|
><span>分获得</span> <span class="scoretext">{{ four5 }}</span
|
||||||
<span class="scoretext">{{ four5}}</span
|
|
||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>考试成绩高于</span
|
<span>考试成绩高于</span
|
||||||
><span class="scoretext">{{ five1 }}</span
|
><span class="scoretext">{{ five1 }}</span
|
||||||
><span>分获得</span>
|
><span>分获得</span> <span class="scoretext">{{ five2 }}</span
|
||||||
<span class="scoretext">{{ five2 }}</span
|
|
||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>考勤正常学员获得 </span
|
<span>考勤正常学员获得 </span
|
||||||
><span class="scoretext">{{ six1}}</span
|
><span class="scoretext">{{ six1 }}</span
|
||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>成为小组长获得</span
|
<span>成为小组长获得</span
|
||||||
><span class="scoretext">{{ seven1 }}</span
|
><span class="scoretext">{{ seven1 }}</span
|
||||||
><span style="margin-right:50px">积分</span>
|
><span style="margin-right: 50px">积分</span>
|
||||||
<span>优秀学员可获得</span>
|
<span>优秀学员可获得</span>
|
||||||
<span class="scoretext">{{ seven2 }}</span
|
<span class="scoretext">{{ seven2 }}</span
|
||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
@@ -228,82 +217,60 @@
|
|||||||
><span>积分</span>
|
><span>积分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>完成在线课程获得 </span
|
<span>完成作业成绩不低于 </span
|
||||||
><span
|
><a-input v-model:value="done2" :bordered="false" /><span
|
||||||
><a-input v-model:value="done" :bordered="false" /></span
|
>分获得</span
|
||||||
><span style="margin-right:50px">积分</span>
|
>
|
||||||
<span>完成面授课程获得 </span
|
<a-input v-model:value="done3" :bordered="false" /><span
|
||||||
><a-input
|
>积分</span
|
||||||
v-model:value="done1"
|
>
|
||||||
:bordered="false"
|
|
||||||
/>
|
|
||||||
<span style="margin-right:50px">积分</span>
|
|
||||||
<span>完成作业成绩不低于 </span
|
|
||||||
><a-input
|
|
||||||
v-model:value="done2"
|
|
||||||
:bordered="false"
|
|
||||||
/><span>分获得</span>
|
|
||||||
<a-input
|
|
||||||
v-model:value="done3"
|
|
||||||
:bordered="false"
|
|
||||||
/><span>积分</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>前</span
|
<span>前</span
|
||||||
><a-input
|
><a-input v-model:value="four1" :bordered="false" /><span
|
||||||
v-model:value="four1"
|
>名学完在线课程获得</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span>名学完在线课程获得</span>
|
<a-input v-model:value="four2" :bordered="false" /><span
|
||||||
<a-input
|
style="margin-right: 50px"
|
||||||
v-model:value="four2"
|
>积分</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span style="margin-right:50px">积分</span>
|
|
||||||
<span>前</span
|
<span>前</span
|
||||||
><a-input
|
><a-input v-model:value="four3" :bordered="false" /><span
|
||||||
v-model:value="four3"
|
>名提交作业且成绩不低于</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span>名提交作业且成绩不低于</span>
|
<a-input v-model:value="four4" :bordered="false" /><span
|
||||||
<a-input
|
>分获得</span
|
||||||
v-model:value="four4"
|
>
|
||||||
:bordered="false"
|
<a-input v-model:value="four5" :bordered="false" /><span
|
||||||
/><span >分获得</span>
|
>积分</span
|
||||||
<a-input
|
>
|
||||||
v-model:value="four5"
|
|
||||||
:bordered="false"
|
|
||||||
/><span>积分</span>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>考试成绩高于</span
|
<span>考试成绩高于</span
|
||||||
><a-input
|
><a-input v-model:value="five1" :bordered="false" /><span
|
||||||
v-model:value="five1"
|
>分获得</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span>分获得</span>
|
<a-input v-model:value="five2" :bordered="false" /><span
|
||||||
<a-input
|
>积分</span
|
||||||
v-model:value="five2"
|
>
|
||||||
:bordered="false"
|
|
||||||
/><span>积分</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>考勤正常学员获得 </span
|
<span>考勤正常学员获得 </span
|
||||||
><a-input
|
><a-input v-model:value="six1" :bordered="false" /><span
|
||||||
v-model:value="six1"
|
>积分</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span>积分</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<span>成为小组长获得</span
|
<span>成为小组长获得</span
|
||||||
><a-input
|
><a-input v-model:value="seven1" :bordered="false" /><span
|
||||||
v-model:value="seven1"
|
style="margin-right: 50px"
|
||||||
:bordered="false"
|
>积分</span
|
||||||
/><span style="margin-right:50px">积分</span>
|
>
|
||||||
<span>优秀学员可获得</span>
|
<span>优秀学员可获得</span>
|
||||||
<a-input
|
<a-input v-model:value="seven2" :bordered="false" /><span
|
||||||
v-model:value="seven2"
|
>积分</span
|
||||||
:bordered="false"
|
>
|
||||||
/><span>积分</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div></a-tab-pane
|
</div></a-tab-pane
|
||||||
@@ -315,8 +282,11 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import StuScoreDetail from "../../components/drawers/StuScoreDetail";
|
import StuScoreDetail from "../../components/drawers/StuScoreDetail";
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs, computed } from "vue";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
|
// import { message } from "ant-design-vue";
|
||||||
|
// import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则
|
||||||
|
import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectScore",
|
name: "ProjectScore",
|
||||||
components: {
|
components: {
|
||||||
@@ -483,24 +453,21 @@ export default {
|
|||||||
tableDataTotal: 30,
|
tableDataTotal: 30,
|
||||||
stuValue: false,
|
stuValue: false,
|
||||||
Svisible: false,
|
Svisible: false,
|
||||||
score1: 5,
|
score1: null,
|
||||||
score2: 5,
|
done2: null,
|
||||||
done:null,
|
done3: null,
|
||||||
done1:null,
|
four1: null,
|
||||||
done2:null,
|
four2: null,
|
||||||
done3:null,
|
four3: null,
|
||||||
four1:null,
|
four4: null,
|
||||||
four2:null,
|
four5: null,
|
||||||
four3:null,
|
five1: null,
|
||||||
four4:null,
|
five2: null,
|
||||||
four5:null,
|
six1: null,
|
||||||
five1:null,
|
seven1: null,
|
||||||
five2:null,
|
seven2: null,
|
||||||
six1:null,
|
|
||||||
seven1:null,
|
|
||||||
seven2:null,
|
|
||||||
edit: true,
|
edit: true,
|
||||||
searchRankName:null,//榜单搜索名称
|
searchRankName: null, //榜单搜索名称
|
||||||
});
|
});
|
||||||
const getTableData = () => {
|
const getTableData = () => {
|
||||||
let datas = state.tabledataStu;
|
let datas = state.tabledataStu;
|
||||||
@@ -523,6 +490,23 @@ export default {
|
|||||||
});
|
});
|
||||||
state.tabledataStu = datas;
|
state.tabledataStu = datas;
|
||||||
};
|
};
|
||||||
|
const scoresum = computed(() => {
|
||||||
|
// console.log(Object.prototype.toString.call(Number(state.score1)));
|
||||||
|
// if (Object.prototype.toString.call(state.score1) !== "[object Number]") {
|
||||||
|
// message.destroy();
|
||||||
|
// return message.warning("请输入合法数字");
|
||||||
|
// }
|
||||||
|
return (
|
||||||
|
Number(state.score1) +
|
||||||
|
Number(state.done3) +
|
||||||
|
Number(state.four2) +
|
||||||
|
Number(state.four5) +
|
||||||
|
Number(state.five2) +
|
||||||
|
Number(state.six1) +
|
||||||
|
Number(state.seven1) +
|
||||||
|
Number(state.seven2)
|
||||||
|
);
|
||||||
|
});
|
||||||
getTableData();
|
getTableData();
|
||||||
|
|
||||||
const tabsChange = (e) => {
|
const tabsChange = (e) => {
|
||||||
@@ -530,30 +514,29 @@ export default {
|
|||||||
// console.log('获取项目积分-榜单')
|
// console.log('获取项目积分-榜单')
|
||||||
scoreRank(1, 1);
|
scoreRank(1, 1);
|
||||||
}
|
}
|
||||||
rankReset()
|
rankReset();
|
||||||
state.todayvalue='1'
|
state.todayvalue = "1";
|
||||||
state.stuValue=1
|
state.stuValue = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//重置
|
//重置
|
||||||
const rankReset=()=>{
|
const rankReset = () => {
|
||||||
state.searchRankName=null
|
state.searchRankName = null;
|
||||||
}
|
};
|
||||||
// start -------榜单---------------榜单------------榜单------------------榜单---------
|
// start -------榜单---------------榜单------------榜单------------------榜单---------
|
||||||
//学员积分还是小组积分
|
//学员积分还是小组积分
|
||||||
const typeChange = (num) => {
|
const typeChange = (num) => {
|
||||||
state.stuValue = num;
|
state.stuValue = num;
|
||||||
scoreRank(state.stuValue , state.todayvalue);
|
scoreRank(state.stuValue, state.todayvalue);
|
||||||
};
|
};
|
||||||
//选择时间
|
//选择时间
|
||||||
const changeday = (e) => {
|
const changeday = (e) => {
|
||||||
state.todayvalue = e.target.value;
|
state.todayvalue = e.target.value;
|
||||||
scoreRank(state.stuValue , state.todayvalue);
|
scoreRank(state.stuValue, state.todayvalue);
|
||||||
};
|
};
|
||||||
//搜索
|
//搜索
|
||||||
const searchRank = () => {
|
const searchRank = () => {
|
||||||
scoreRank(state.stuValue , state.todayvalue)
|
scoreRank(state.stuValue, state.todayvalue);
|
||||||
};
|
};
|
||||||
//项目积分榜单
|
//项目积分榜单
|
||||||
const scoreRank = (period, type) => {
|
const scoreRank = (period, type) => {
|
||||||
@@ -576,6 +559,46 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
|
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
|
||||||
|
const editRule = () => {
|
||||||
|
console.log(props.projectId);
|
||||||
|
let obj = {
|
||||||
|
courseScore: state.score1,
|
||||||
|
examItem: {
|
||||||
|
numLimit: 0,
|
||||||
|
score: state.five2,
|
||||||
|
scoreLimit: state.five1,
|
||||||
|
},
|
||||||
|
//有名次要求的提交作业
|
||||||
|
homeworkItem: {
|
||||||
|
numLimit: state.four3,
|
||||||
|
score: state.four5,
|
||||||
|
scoreLimit: state.four4,
|
||||||
|
},
|
||||||
|
leaderScore: state.seven1,
|
||||||
|
projectId: props.projectId,
|
||||||
|
signScore: state.six1,
|
||||||
|
topCompleteCourseItem: {
|
||||||
|
numLimit: state.four1,
|
||||||
|
score: state.four2,
|
||||||
|
scoreLimit: 0,
|
||||||
|
},
|
||||||
|
topStudentScore: state.seven2,
|
||||||
|
totalScore: scoresum.value,
|
||||||
|
};
|
||||||
|
console.log(obj);
|
||||||
|
setScoreRule(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res.data, "修改成功");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err.data);
|
||||||
|
});
|
||||||
|
// scoreRule({
|
||||||
|
// projectId: props.projectId,
|
||||||
|
// });
|
||||||
|
|
||||||
|
state.edit = true;
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
typeChange,
|
typeChange,
|
||||||
@@ -584,14 +607,25 @@ export default {
|
|||||||
rankReset,
|
rankReset,
|
||||||
tabsChange,
|
tabsChange,
|
||||||
scoreRank,
|
scoreRank,
|
||||||
|
editRule,
|
||||||
|
scoresum,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
// computed: {
|
||||||
// 计算属性的 getter
|
// // 计算属性的 getter
|
||||||
scoresum: function () {
|
// scoresum: function () {
|
||||||
return Number(this.score1) + Number(this.score2);
|
// return (
|
||||||
},
|
// Number(this.score1) +
|
||||||
},
|
// Number(this.done3) +
|
||||||
|
// Number(this.four2) +
|
||||||
|
// Number(this.four5) +
|
||||||
|
// Number(this.five2) +
|
||||||
|
// Number(this.six1) +
|
||||||
|
// Number(this.seven1) +
|
||||||
|
// Number(this.seven2)
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// },
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<div class="ipt_name">课程编号:</div>
|
<div class="ipt_name">课程编号:</div>
|
||||||
<div class="fi_input">
|
<div class="fi_input">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="value"
|
v-model:value="valueClass"
|
||||||
style="width: 240px; height: 40px; border-radius: 8px"
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入项目名称"
|
||||||
/>
|
/>
|
||||||
@@ -37,6 +37,8 @@
|
|||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
:options="options1"
|
:options="options1"
|
||||||
|
@change="handleChange"
|
||||||
|
v-model:value="valueContent"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
/>
|
/>
|
||||||
@@ -44,11 +46,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mi_btns">
|
<div class="mi_btns">
|
||||||
<div class="btn btn1">
|
<div class="btn btn1" @click="search">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">搜索</div>
|
<div class="btnText">搜索</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<div class="btn btn2" @click="reset">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -63,28 +65,23 @@
|
|||||||
"
|
"
|
||||||
:row-selection="rowSelection"
|
:row-selection="rowSelection"
|
||||||
:columns="columns1"
|
:columns="columns1"
|
||||||
:data-source="tableData1"
|
:data-source="classTableData"
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
:pagination="{
|
:pagination="false"
|
||||||
showSizeChanger: true,
|
|
||||||
showQuickJumper: true,
|
|
||||||
hideOnSinglePage: true,
|
|
||||||
pageSizeOptions: [],
|
|
||||||
pageSize: pageSize,
|
|
||||||
current: currentPage,
|
|
||||||
total: tableDataTotal,
|
|
||||||
onChange: (page, pageSize) => {
|
|
||||||
currentPage = page;
|
|
||||||
// console.log('page', page)
|
|
||||||
// 加翻页查找代码
|
|
||||||
// this.setState({
|
|
||||||
// currentPage: page,
|
|
||||||
// }, () => {
|
|
||||||
// this.getMilitaryDeployment()
|
|
||||||
// })
|
|
||||||
},
|
|
||||||
}"
|
|
||||||
/>
|
/>
|
||||||
|
<div class="pa">
|
||||||
|
<a-pagination
|
||||||
|
v-if="total > 10"
|
||||||
|
showSizeChanger="true"
|
||||||
|
showQuickJumper="true"
|
||||||
|
hideOnSinglePage="true"
|
||||||
|
:pageSize="pageSize"
|
||||||
|
:current="currentPage"
|
||||||
|
:total="tableDataTotal"
|
||||||
|
class="pagination"
|
||||||
|
@change="changePaginationStu"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
@@ -96,10 +93,17 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
|
// import { planList } from "../../api/indexTaskadd";
|
||||||
|
import { list } from "../../api/indexTaskadd";
|
||||||
|
import { toDate } from "../../api/method";
|
||||||
const options1 = ref([
|
const options1 = ref([
|
||||||
{
|
{
|
||||||
value: "value1",
|
value: "value1",
|
||||||
label: "请选择状态",
|
label: "通用",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "value2",
|
||||||
|
label: "领导",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const columns1 = [
|
const columns1 = [
|
||||||
@@ -172,7 +176,7 @@ export default {
|
|||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableData1: [
|
classTableData: [
|
||||||
{
|
{
|
||||||
key: "1",
|
key: "1",
|
||||||
num: "JDF2022071100001",
|
num: "JDF2022071100001",
|
||||||
@@ -185,8 +189,8 @@ export default {
|
|||||||
{
|
{
|
||||||
key: "2",
|
key: "2",
|
||||||
num: "JDF2022071100001",
|
num: "JDF2022071100001",
|
||||||
name: "管理能力课程",
|
name: "时间管理课程",
|
||||||
content: "领导力",
|
content: "通用力",
|
||||||
teacher: "BOE教师",
|
teacher: "BOE教师",
|
||||||
creator: "管理员",
|
creator: "管理员",
|
||||||
time: "2022-10-31 23:12:00",
|
time: "2022-10-31 23:12:00",
|
||||||
@@ -194,7 +198,7 @@ export default {
|
|||||||
{
|
{
|
||||||
key: "3",
|
key: "3",
|
||||||
num: "JDF2022071100001",
|
num: "JDF2022071100001",
|
||||||
name: "快速换模SMED",
|
name: "时间管理课程",
|
||||||
content: "通用力",
|
content: "通用力",
|
||||||
teacher: "BOE教师",
|
teacher: "BOE教师",
|
||||||
creator: "管理员",
|
creator: "管理员",
|
||||||
@@ -203,80 +207,119 @@ export default {
|
|||||||
{
|
{
|
||||||
key: "4",
|
key: "4",
|
||||||
num: "JDF2022071100001",
|
num: "JDF2022071100001",
|
||||||
name: "巧妙对话人见人夸",
|
|
||||||
content: "领导力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "5",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "管理能力课程",
|
|
||||||
content: "领导力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "6",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
name: "时间管理课程",
|
||||||
content: "领导力",
|
content: "通用力",
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "7",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "领导力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "8",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "领导力",
|
|
||||||
teacher: "BOE教师",
|
|
||||||
creator: "管理员",
|
|
||||||
time: "2022-10-31 23:12:00",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: "9",
|
|
||||||
num: "JDF2022071100001",
|
|
||||||
name: "时间管理课程",
|
|
||||||
content: "领导力",
|
|
||||||
teacher: "BOE教师",
|
teacher: "BOE教师",
|
||||||
creator: "管理员",
|
creator: "管理员",
|
||||||
time: "2022-10-31 23:12:00",
|
time: "2022-10-31 23:12:00",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 100,
|
tableDataTotal: null,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
value:'',
|
valueClass: null, //课程编号
|
||||||
|
valueContent: null, //内容分类
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:selfacetVisible", false);
|
ctx.emit("update:selfacetVisible", false);
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("state", bool);
|
console.log("state", bool);
|
||||||
|
getClassList();
|
||||||
};
|
};
|
||||||
const showDrawerSelFacet = () => {
|
// const showDrawerSelFacet = () => {
|
||||||
state.selfacetvisible = true;
|
// state.selfacetvisible = true;
|
||||||
|
// };
|
||||||
|
//获取面授课列表
|
||||||
|
const getClassList = (obj) => {
|
||||||
|
let objn = obj || {
|
||||||
|
auditStatus: 0,
|
||||||
|
beginTime: 0,
|
||||||
|
categoryId: 0,
|
||||||
|
createName: "",
|
||||||
|
endTime: 0,
|
||||||
|
name: "",
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: 10,
|
||||||
|
projectName: "",
|
||||||
|
};
|
||||||
|
list(objn)
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res.data.data.rows);
|
||||||
|
let result = res.data.data;
|
||||||
|
state.tableDataTotal = result.total;
|
||||||
|
if (result.total > 0) {
|
||||||
|
getClassData(result.rows);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取列表失败", err.data);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const getClassData = (tabledata) => {
|
||||||
|
let data = tabledata;
|
||||||
|
let array = [];
|
||||||
|
data.map((value) => {
|
||||||
|
let obj = {
|
||||||
|
key: value.offcourseId,
|
||||||
|
num: value.offcourseId,
|
||||||
|
name: value.name,
|
||||||
|
teacher: value.teacher,
|
||||||
|
creator: value.teacher,
|
||||||
|
time: toDate(value.publishTime / 1000, "Y-M-D"),
|
||||||
|
categoryId: value.categoryId,
|
||||||
|
//需要判断content
|
||||||
|
};
|
||||||
|
array.push(obj);
|
||||||
|
});
|
||||||
|
state.classTableData = array;
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleChange = (value, option) => {
|
||||||
|
console.log("改变了", value, option);
|
||||||
|
console.log(state.valueContent);
|
||||||
|
};
|
||||||
|
//重置
|
||||||
|
const reset = () => {
|
||||||
|
state.valueClass = null;
|
||||||
|
state.valueContent = null;
|
||||||
|
//重新获取列表
|
||||||
|
getClassList();
|
||||||
|
};
|
||||||
|
//搜索
|
||||||
|
const search = () => {
|
||||||
|
let obj = {
|
||||||
|
auditStatus: 0,
|
||||||
|
beginTime: 0,
|
||||||
|
categoryId: 0, //分类
|
||||||
|
createName: "",
|
||||||
|
endTime: 0,
|
||||||
|
name: "",
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: 10,
|
||||||
|
projectName: "",
|
||||||
|
};
|
||||||
|
getClassList(obj);
|
||||||
|
};
|
||||||
|
const changePaginationStu = (page) => {
|
||||||
|
state.currentPage = page;
|
||||||
|
getClassList();
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
showDrawerSelFacet,
|
// showDrawerSelFacet,
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
options1,
|
options1,
|
||||||
columns1,
|
columns1,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
getClassData,
|
||||||
|
handleChange,
|
||||||
|
reset,
|
||||||
|
getClassList,
|
||||||
|
search,
|
||||||
|
changePaginationStu,
|
||||||
// change,
|
// change,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -841,16 +841,28 @@
|
|||||||
<a-select
|
<a-select
|
||||||
v-model:value="curLevel"
|
v-model:value="curLevel"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请选择关卡"
|
placeholder="请选择阶段"
|
||||||
:options="projectNameList4"
|
:options="level"
|
||||||
@change="selectProjectName4"
|
@change="handleChangeStage"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<button class="sameb btn1" @click="closeChangeModal">取消</button>
|
<button
|
||||||
<button class="sameb btn2" @click="moveTask">确定</button>
|
style="cursor: pointer"
|
||||||
|
class="sameb btn1"
|
||||||
|
@click="closeChangeModal"
|
||||||
|
>
|
||||||
|
取消
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
style="cursor: pointer"
|
||||||
|
class="sameb btn2"
|
||||||
|
@click="moveTask"
|
||||||
|
>
|
||||||
|
确定
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -943,6 +955,7 @@ export default {
|
|||||||
? JSON.parse(storage.get("projectId"))
|
? JSON.parse(storage.get("projectId"))
|
||||||
: null,
|
: null,
|
||||||
chooseStageId: null,
|
chooseStageId: null,
|
||||||
|
removeStageId: null,
|
||||||
edit: false,
|
edit: false,
|
||||||
// isRefEdit: 1, //外链编辑
|
// isRefEdit: 1, //外链编辑
|
||||||
// isLiveEdit: 1, //直播编辑
|
// isLiveEdit: 1, //直播编辑
|
||||||
@@ -1211,6 +1224,8 @@ export default {
|
|||||||
tit: value.name,
|
tit: value.name,
|
||||||
name: value.remark,
|
name: value.remark,
|
||||||
taskList: value.taskList,
|
taskList: value.taskList,
|
||||||
|
value: value.name,
|
||||||
|
label: value.name,
|
||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
@@ -1360,8 +1375,27 @@ export default {
|
|||||||
// console.log("22222", res.data.data.stageList);
|
// console.log("22222", res.data.data.stageList);
|
||||||
let leng = res.data.data.stageList.length;
|
let leng = res.data.data.stageList.length;
|
||||||
if (leng > 0) {
|
if (leng > 0) {
|
||||||
|
// let stage = localStorage.getItem("stageId")
|
||||||
|
// ? localStorage.getItem("stageId")
|
||||||
|
// : null;
|
||||||
|
// if (stage !== null) {
|
||||||
|
// // console.log("找到了origin", originStageList);
|
||||||
|
// let originStageList = res.data.data.stageList.find((item) => {
|
||||||
|
// item.stageId == stage;
|
||||||
|
// });
|
||||||
|
// getTableData(originStageList.taskList);
|
||||||
|
// console.log("找到了origin", originStageList);
|
||||||
|
// } else {
|
||||||
|
// let arr = res.data.data.stageList[0].taskList;
|
||||||
|
// console.log("任务列表", arr);
|
||||||
|
// getTableData(arr);
|
||||||
|
// }
|
||||||
|
|
||||||
|
let stage = localStorage.getItem("stageId")
|
||||||
|
? localStorage.getItem("stageId")
|
||||||
|
: null;
|
||||||
let arr = res.data.data.stageList[0].taskList;
|
let arr = res.data.data.stageList[0].taskList;
|
||||||
console.log("任务列表", arr);
|
console.log("任务列表", stage, arr);
|
||||||
getTableData(arr);
|
getTableData(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1376,8 +1410,15 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
//给阶段id赋初始值
|
//给阶段id赋初始值
|
||||||
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
let stage = localStorage.getItem("stageId")
|
||||||
console.log(state.chooseStageId, 1111);
|
? localStorage.getItem("stageId")
|
||||||
|
: null;
|
||||||
|
if (stage !== null) {
|
||||||
|
state.chooseStageId = stage;
|
||||||
|
} else {
|
||||||
|
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
||||||
|
console.log(state.chooseStageId, 1111);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@@ -1412,28 +1453,47 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const showChangeModal = () => {
|
const showChangeModal = () => {
|
||||||
state.visiblene = true;
|
if (state.selectRow.length == 0) {
|
||||||
|
message.destroy();
|
||||||
|
return message.warning("请选择要移动的任务");
|
||||||
|
} else {
|
||||||
|
state.visiblene = true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const closeChangeModal = () => {
|
const closeChangeModal = () => {
|
||||||
state.visiblene = false;
|
state.visiblene = false;
|
||||||
};
|
};
|
||||||
//移动任务到阶段
|
//移动任务到阶段
|
||||||
const moveTask = () => {
|
const moveTask = () => {
|
||||||
let obj = {
|
if (state.chooseStageId == state.removeStageId) {
|
||||||
stageId: state.chooseStageId,
|
console.log("buneng");
|
||||||
projectTaskId: state.selectRow,
|
message.destroy();
|
||||||
};
|
message.warning("选择的任务已在当前阶段");
|
||||||
apimove
|
} else if (state.removeStageId == null) {
|
||||||
.moveTask(obj)
|
message.destroy();
|
||||||
.then((res) => {
|
message.warning("请选择阶段");
|
||||||
console.log("移动成功", res);
|
} else {
|
||||||
message.destroy();
|
{
|
||||||
message.success("移动成功");
|
let obj = {
|
||||||
getTask();
|
stageId: state.removeStageId,
|
||||||
})
|
projectTaskId: state.selectRow,
|
||||||
.catch((err) => {
|
};
|
||||||
console.log("移动失败", err);
|
apimove
|
||||||
});
|
.moveTask(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("移动成功", res);
|
||||||
|
message.destroy();
|
||||||
|
message.success("移动成功");
|
||||||
|
console.log(state.removeStageId);
|
||||||
|
getTask();
|
||||||
|
localStorage.setItem("stageId", state.chooseStageId);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("移动失败", err);
|
||||||
|
});
|
||||||
|
state.visiblene = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
//批量删除
|
//批量删除
|
||||||
const deleteTaskAll = () => {
|
const deleteTaskAll = () => {
|
||||||
@@ -1715,6 +1775,10 @@ export default {
|
|||||||
const closeDeAll = () => {
|
const closeDeAll = () => {
|
||||||
state.deAll = false;
|
state.deAll = false;
|
||||||
};
|
};
|
||||||
|
const handleChangeStage = (value, option) => {
|
||||||
|
console.log("阶段改变", value, option);
|
||||||
|
state.removeStageId = option.id;
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
selectProjectName,
|
selectProjectName,
|
||||||
@@ -1764,6 +1828,7 @@ export default {
|
|||||||
decideType,
|
decideType,
|
||||||
showdeAll,
|
showdeAll,
|
||||||
closeDeAll,
|
closeDeAll,
|
||||||
|
handleChangeStage,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user