feat:合并

This commit is contained in:
李晓鸽
2022-11-02 19:50:10 +08:00
18 changed files with 6365 additions and 4992 deletions

View File

@@ -71,6 +71,12 @@
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">活动时间</span>
</div>
<div class="btnbox">
@@ -284,8 +290,9 @@ export default {
//创建活动
const createActivity = () => {
if(!state.inputV1) return message.warning("请输入活动名称");
if(!state.inputV2) return message.warning("请输入活动时长");
if(!state.textV1) return message.warning("请输入活动公告");
if(!state.time) return message.warning("请输入活动时间");
if(!state.inputV2) return message.warning("请输入活动时长");
if(!state.inputV3) return message.warning("请输入活动地址");
let startTime = toDate(new Date(state.time[0].$d).getTime() / 1000, "Y-M-D");
let endTime = toDate(new Date(state.time[1].$d).getTime() / 1000, "Y-M-D");

View File

@@ -120,8 +120,8 @@ export default {
},
setup(props, ctx) {
const state = reactive({
inputV1: "",
inputV2: "",
inputV1: '',
inputV2: '',
time: undefined,
endTimes : "",
startTimes: "",
@@ -230,7 +230,7 @@ export default {
evaluationEndTime: state.endTimes,
evaluationFlag: "",
evaluationId: "",
evaluationPictureAddress: state.picUrl,
evaluationPictureAddress: "",
evaluationStartTime: state.startTimes,
evaluationTag: "",
evaluationTypeId: 0,

View File

@@ -18,70 +18,79 @@
</div>
<div class="contentMain">
<div class="box" @click="showDrawerCreVote">
<button class="cjtpbtn">创建</button>
<button class="cjtpbtn" @click="addQue()">创建题</button>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="queBox" v-for="(q, index) in questions" :key="index">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">题干</span>
</div>
<span style="margin-right: 3px">题干</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入题干"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="btnbox">
<a-input
v-model:value="q.inputV"
style="width: 424px; height: 32px"
placeholder="请输入题干"
/>
</div>
<span style="margin-right: 3px">选项1</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV2"
style="width: 424px; height: 32px"
/>
<a-button type="link">+ 上传图片</a-button>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="option" v-for="(o, index) in q.options" :key="index">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">{{ o.title }}</span>
</div>
<div class="btnbox">
<a-input
v-model:value="o.opvalue"
style="width: 424px; height: 32px"
/>
<a-button v-if="o.opvalue == ''" type="link"
>+ 上传图片</a-button
>
<a-button v-else type="link">删除</a-button>
</div>
</div>
<span style="margin-right: 3px">选项2</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV3"
style="width: 424px; height: 32px"
/>
<a-button type="link">+ 上传图片</a-button>
<a-button type="link">删除</a-button>
</div>
</div>
<div class="main_item">
<div class="signbox"></div>
<div class="btnbox">
<div class="tjxxbtn"><div class="btntext">添加选项</div></div>
<div class="main_item">
<div class="signbox"></div>
<div class="btnbox" @click="addOpt(q.options)">
<div class="tjxxbtn"><div class="btntext">添加选项</div></div>
</div>
</div>
</div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
<button
class="btn2"
onclick="{()=> {
createVoteText()
}}"
>
确定
</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { reactive, toRefs, ref } from "vue";
import { useRouter } from "vue-router";
import * as api from "../../api/indexVote";
import { message } from "ant-design-vue";
import { toDate } from "../../api/method";
const router = useRouter();
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
@@ -113,18 +122,109 @@ export default {
inputV1: "",
inputV2: "",
inputV3: "",
time: undefined,
endTimes: "",
startTimes: "",
questions: [
{
inputV: "",
options: [
{
title: "选项1",
opvalue: "",
},
{
title: "选项2",
opvalue: "",
},
],
},
],
});
const addQue = () => {
state.questions.push({
inputV: "",
options: [
{
title: "选项1",
opvalue: "",
},
{
title: "选项2",
opvalue: "",
},
],
});
};
const addOpt = (value) => {
console.log(value);
value.push({
title: "选项" + (value.length + 1 * 1),
opvalue: "",
});
};
const closeDrawer = () => {
ctx.emit("update:crevoteVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
//创建投票信息
const createVoteText = () => {
if (!state.inputV1) return message.info("请输入投票名称");
if (state.time != undefined) {
state.endTimes = toDate(
new Date(state.time[0].$d).getTime() / 1000,
"Y-M-D"
);
state.startTimes = toDate(
new Date(state.time[1].$d).getTime() / 1000,
"Y-M-D"
);
}
let obj = {
baseVote: "",
createTime: "",
createUser: 0,
stem: "",
stemId: 0,
updateTime: "",
updateUser: 0,
voteEndTime: state.endTimes,
voteExplain: "",
voteFlag: "",
voteId: 0,
voteName: state.inputV1,
voteStartTime: state.startTimes,
voteTag: "",
};
api
.createVote(obj)
.then((res) => {
setTimeout(() => {
console.log("创建成功", res);
message.success("创建成功");
// state.createLoading = false;
router.push("/leveladd");
// getLearnPath();
}, 1000);
})
.catch((err) => {
console.log("创建失败", err);
// state.createLoading = false;
});
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
rowSelection,
createVoteText,
addQue,
addOpt,
};
},
};

View File

@@ -3,7 +3,7 @@
:visible="Provisible"
class="drawerStyle promess"
placement="right"
width="50%"
width="70%"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
@@ -75,7 +75,7 @@ export default {
}
}
.drawerMain {
min-width: 434px;
min-width: 600px;
margin: 0px 32px 0px 32px;
overflow-x: scroll;
display: flex;

View File

@@ -69,178 +69,74 @@
</div>
</div>
<div class="mainbox">
<div class="rowtitle" @click="changeDown">
<div class="titleimg">
<img
:src="
showDown
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段1 腾飞班阶段1</div>
</div>
<div :style="{ display: showDown ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
<a-collapse v-model:activeKey="stageListActive" >
<template #expandIcon="{ isActive }">
<img style="margin-right: 20px"
:src="
isActive
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
" />
<div></div>
</template>
<a-collapse-panel v-for="(value, index) in stageList" :key="index" :header="value.text">
<div class="rowclass" v-for="(item, key) in value.children" :key="key">
<div class="leftclass">
<div><img :src="
item.course === '在线'
? require('../../assets/images/leveladd/zai.png')
: item.course === '面授'
? require('../../assets/images/leveladd/mian.png')
: item.course === '案例'
? require('../../assets/images/leveladd/an.png')
: item.course === '作业'
? require('../../assets/images/leveladd/zuo.png')
: item.course === '考试'
? require('../../assets/images/leveladd/kao.png')
: item.course === '直播'
? require('../../assets/images/leveladd/zhi.png')
: item.course === '外链'
? require('../../assets/images/leveladd/wai.png')
: item.course === '讨论'
? require('../../assets/images/leveladd/tao.png')
: item.course === '活动'
? require('../../assets/images/leveladd/huo.png')
: item.course === '测评'
? require('../../assets/images/leveladd/ce.png')
: item.course === '调研'
? require('../../assets/images/leveladd/diao.png')
: item.course === '投票'
? require('../../assets/images/leveladd/tou.png')
: null
" /></div>
<div class="text1">{{item.course}}</div>
<div class="text2">{{item.name}}</div>
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
<div class="alreadyclass">
<div class="alimg">
<img :src="
item.complete === '已完成'
? require('../../assets/images/studentimg/complete.png')
: require('../../assets/images/studentimg/notice.png')
"/>
</div>
<div class="altext">{{item.complete}}</div>
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
</div>
<div class="mainbox">
<div class="rowtitle" @click="changeDown1">
<div class="titleimg">
<img
:src="
showDown1
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段2 腾飞班阶段2</div>
</div>
<div :style="{ display: showDown1 ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
</div>
</a-collapse-panel>
</a-collapse>
</div>
</div>
<div class="btnn">
<button class="btn2" @click="closeDrawer">关闭</button>
</div>
</div>
</a-drawer>
<pro-mess v-model:Provisible="Provisible" />
</a-drawer>
</template>
<script>
import { reactive, toRefs } from "vue";
import { reactive, toRefs} from "vue";
import ProMess from "./ProMess.vue";
export default {
name: "SeeStu",
@@ -256,6 +152,69 @@ export default {
Provisible: false,
showDown: true,
showDown1: false,
stageList: [
{
text: "阶段1腾飞班阶段1",
children: [
{
course: "在线",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "直播",
name: "管理直播课",
complete: "已完成",
},
{
course: "面授",
name: "管理面授课",
complete: "未完成",
},
{
course: "活动",
name: "管理活动",
complete: "未完成",
},
{
course: "作业",
name: "管理者作业",
complete: "未完成",
},
],
},
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "考试",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "案例",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "外链",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "讨论",
name: "如何成为一个产品经理",
complete: "未完成",
},
{
course: "测评",
name: "如何成为一个产品经理",
complete: "未完成",
},
],
},
],
stageListActive: 0,
});
const closeDrawer = () => {
ctx.emit("update:Seevisible", false);
@@ -286,7 +245,7 @@ export default {
};
</script>
<style scoped lang="scss" >
<style lang="scss" >
.seestu {
.ant-drawer-content-wrapper {
// max-width: 1000px;
@@ -399,24 +358,33 @@ export default {
// height: 463px;
margin-right: 37px;
margin-top: 32px;
border: 1px solid rgba(221, 238, 255, 1);
border-radius: 6px;
.rowtitle {
height: 56px;
background: rgba(240, 246, 252, 1);
//border: 1px solid rgba(221, 238, 255, 1);
//border-radius: 6px;
.ant-collapse {
background-color: #FFFFFF;
border: 0;
}
.ant-collapse-content > .ant-collapse-content-box {
padding: 0;
border: 0;
}
.ant-collapse > .ant-collapse-item {
border: 1px solid rgba(221, 238, 255, 1);
border-radius: 6px;
margin-bottom: 15px;
border-bottom: 0px;
}
.ant-collapse-content {
border-top: 0;
}
.ant-collapse-header {
display: flex;
align-items: center;
.titleimg {
width: 20px;
height: 20px;
margin-left: 23px;
}
.titletext {
color: rgba(51, 51, 51, 1);
font-size: 16px;
font-weight: 500;
margin-left: 16px;
}
height: 56px;
background-color: rgba(240, 246, 252, 1);
font-size: 16px;
color: rgba(51, 51, 51, 1);
font-weight: 500;
}
.rowclass {
height: 81px;