部分修改

This commit is contained in:
kclf
2022-12-05 01:26:17 +08:00
parent 3fd9632adc
commit 14568127bf
16 changed files with 2065 additions and 418 deletions

View File

@@ -1,49 +1,76 @@
<template>
<a-drawer :visible="addvoteVisible" class="drawerStyle addvoteDrawer" width="80%" title="添加投票" placement="right"
@after-visible-change="afterVisibleChange">
<a-drawer
:visible="addvoteVisible"
class="drawerStyle addvoteDrawer"
width="80%"
title="添加投票"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div v-if="edit" class="headerTitle">编辑投票</div>
<div v-else class="headerTitle">添加投票</div>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" />
<div v-if="edit" class="headerTitle">编辑投票任务</div>
<div v-else class="headerTitle">添加投票任务</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
</div>
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">任务名称</span>
</div>
<div class="btnbox">
<a-input v-model:value="inputV1" style="width: 424px; height: 32px" placeholder="请输入投票名称"
maxlength="20" />
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入投票名称"
maxlength="20"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span>创建投票</span>
</div>
<div class="btnbox">
<button class="xkbtn" @click="showDrawerCreVote">
{{ ballotId ? "编辑" : "添加" }}投票
{{ ballotId ? "编辑" : "创建" }}投票
</button>
<div v-if="ballotId > 0">
<a-tag closable color="processing" @close="log">
<span style="font-size:14px;line-height: 33px;">删除投票</span>
<span style="font-size: 14px; line-height: 33px">
删除投票
</span>
</a-tag>
</div>
<div>
<CreateVote v-model:createVoteVisible="createVoteVisible" v-model:ballotId="ballotId"
v-model:editChild="editChild" />
<CreateVote
v-model:createVoteVisible="createVoteVisible"
v-model:ballotId="ballotId"
v-model:editChild="editChild"
/>
</div>
<button class="xkbtn" :style="{ display: creVote ? 'block' : 'none' }" @click="showDrawerCreVote">
<button
class="xkbtn"
:style="{ display: creVote ? 'block' : 'none' }"
@click="showDrawerCreVote"
>
编辑投票
</button>
<div :style="{ display: creVote ? 'block' : 'none' }">
@@ -56,7 +83,11 @@
<!-- 创建投票侧弹窗 -->
<div>
<create-vote v-model:crevoteVisible="crevotevisible" @getData="getStemId" v-model:ballotId="ballotId" />
<create-vote
v-model:crevoteVisible="crevotevisible"
@getData="getStemId"
v-model:ballotId="ballotId"
/>
</div>
<!-- 创建投票侧弹窗 -->
</div>
@@ -65,7 +96,11 @@
<span style="margin-right: 3px">起止时间</span>
</div>
<div class="btnbox">
<a-range-picker style="width: 424px" v-model:value="time" :placeholder="[' 开始时间', ' 结束时间']" />
<a-range-picker
style="width: 424px"
v-model:value="time"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
</div>
<div class="main_item">
@@ -73,12 +108,23 @@
<span style="margin-right: 3px">基础投票数</span>
</div>
<div class="btnbox">
<a-upload @change="handleChange" :before-upload="beforeUpload" :multiple="true" :max-count="1"
action="/manageApi/vote/baseVoteupload" v-model:file-list="fileList">
<button class="xkbtn">点击上传</button></a-upload>
<div v-if="voteCount > 0"><a-tag color="processing"> <span style="font-size:14px;line-height: 33px;">{{
voteCount
}}</span></a-tag></div>
<a-upload
@change="handleChange"
:before-upload="beforeUpload"
:multiple="true"
:max-count="1"
action="/manageApi/vote/baseVoteupload"
v-model:file-list="fileList"
>
<button class="xkbtn">点击上传</button></a-upload
>
<div v-if="voteCount > 0">
<a-tag color="processing">
<span style="font-size: 14px; line-height: 33px">
{{ voteCount }}
</span>
</a-tag>
</div>
</div>
</div>
<div class="main_item" style="margin-top: -25px">
@@ -92,7 +138,12 @@
<span style="margin-right: 3px">投票说明</span>
</div>
<div class="textarea">
<a-textarea v-model:value="textV1" placeholder="请输入投票说明" allow-clear maxlength="150" />
<a-textarea
v-model:value="textV1"
placeholder="请输入投票说明"
allow-clear
maxlength="150"
/>
</div>
</div>
</div>
@@ -117,8 +168,7 @@ import { addTempTask } from "../../api/indexTaskadd";
export default {
name: "AddVote",
components: {
CreateVote
CreateVote,
},
props: {
addvoteVisible: {
@@ -145,11 +195,13 @@ export default {
type: Number,
default: 0,
},
isLevel: { // 是否是关卡页面触发
isLevel: {
// 是否是关卡页面触发
type: Number,
default: null,
},
projectTaskId: { // 要编辑的projectId
projectTaskId: {
// 要编辑的projectId
type: Number,
default: null,
},
@@ -164,9 +216,7 @@ export default {
projectTemplateId: {
type: Number,
default: null,
}
},
},
setup(props, ctx) {
const state = reactive({
@@ -182,7 +232,7 @@ export default {
EditVoteId: "",
voteStemName: "",
ballotName: "",
editStem: false, //编辑状态
editStem: false, //编辑状态
ballotId: 0, //题干id
optionId: "", //删除修改选项id
addStemVisible: false, //
@@ -190,14 +240,13 @@ export default {
fileList: [],
voteCount: null,
projectTemplateId: null,
});
const closeDrawer = () => {
state.inputV1 = "",
state.textV1 = "",
state.time = undefined,
state.basevote = "",
state.ballotId = "",
(state.inputV1 = ""),
(state.textV1 = ""),
(state.time = undefined),
(state.basevote = ""),
(state.ballotId = ""),
ctx.emit("update:addvoteVisible", false);
ctx.emit("update:edit", false);
};
@@ -207,38 +256,33 @@ export default {
}
state.projectTemplateId = props.projectTemplateId;
console.log("projectTemplateId visible====", state.projectTemplateId);
};
const showDrawerCreVote = () => {
state.createVoteVisible = true;
state.editChild = props.edit;
};
// 限制文件格式上传
const beforeUpload = (obj) => {
console.log(obj)
}
console.log(obj);
};
const handleChange = info => {
console.log(info.file.type, info.file.type.indexOf('sheet'))
if (info.file.type.indexOf('sheet') == -1) {
message.destroy()
message.error("请上传正确的文件格式")
const handleChange = (info) => {
console.log(info.file.type, info.file.type.indexOf("sheet"));
if (info.file.type.indexOf("sheet") == -1) {
message.destroy();
message.error("请上传正确的文件格式");
console.log(state.fileList)
console.log(state.fileList);
state.fileList = []
return
state.fileList = [];
return;
}
let resFileList = [...info.fileList];
resFileList.map(file => {
resFileList.map((file) => {
if (file.response) {
// Component will show file.url as link
file.url = file.response.url;
@@ -246,26 +290,23 @@ export default {
console.log("file========", file.response);
state.voteCount = file.response.data;
}
});
//fileList.value = resFileList;
};
//删除题干信息接口
const dleVoteStem = () => {
api.deleteVoteStem({ voteStemId: state.ballotId })
.then(() => {
message.success('删除题干信息成功')
})
}
api.deleteVoteStem({ voteStemId: state.ballotId }).then(() => {
message.success("删除题干信息成功");
});
};
//根据投票id获取投票信息
const queryVoteInfo = () => {
api.queryVoteDetailById(props.EditVoteId)
api
.queryVoteDetailById(props.EditVoteId)
.then((res) => {
console.log('获取投票信息成功', res);
console.log("获取投票信息成功", res);
state.inputV1 = res.data.data.voteName;
state.textV1 = res.data.data.voteExplain;
state.baseVote = res.data.data.baseVote;
@@ -277,11 +318,9 @@ export default {
];
})
.catch((err) => {
console.log('获取投票信息失败', err);
console.log("获取投票信息失败", err);
});
}
};
const updateToTask = (res) => {
console.log("props.isLevel=====", props.isLevel);
if (props.isLevel == 1) {
@@ -319,7 +358,6 @@ export default {
////message.error(`${props.edit ? '编辑' : '新增'}阶段任务失败`)
});
} else if (props.isLevel == 3) {
addTempTask({
courseId: res.data.data.voteId,
name: res.data.data.voteName,
@@ -336,7 +374,7 @@ export default {
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
}
};
//修改投票信息接口
const updateVoteInfo = () => {
if (!state.inputV1) {
@@ -364,8 +402,7 @@ export default {
ballotId: state.ballotId,
baseVote: state.basevote,
voteExplain: state.textV1,
}
};
if (props.edit) {
api
.editVote(obj)
@@ -374,12 +411,12 @@ export default {
await updateToTask(res);
closeDrawer();
message.destroy();
message.success("修改投票信息成功")
message.success("修改投票信息成功");
})
.catch(() => {
message.destroy();
message.error("修改投票信息失败")
})
message.error("修改投票信息失败");
});
} else {
api
.createVote(obj)
@@ -387,22 +424,21 @@ export default {
await updateToTask(res);
closeDrawer();
message.destroy();
message.success("创建投票信息成功")
message.success("创建投票信息成功");
})
.catch(() => {
message.destroy();
message.error("创建投票信息失败")
})
message.error("创建投票信息失败");
});
}
}
};
const queryStem = () => {
state.addStemVisible = true;
};
const closeStem = () => {
state.addStemVisible = false;
};
const log = e => {
const log = (e) => {
state.ballotId = null;
console.log(e);
};
@@ -450,8 +486,10 @@ export default {
position: absolute;
width: calc(100%);
height: 40px;
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%);
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {