mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-22 17:26:46 +08:00
feat:合并
This commit is contained in:
@@ -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");
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user