style:调研改为评估

This commit is contained in:
李晓鸽
2022-11-01 09:07:12 +08:00
parent a9d78e9c7c
commit 6d60aa065b
12 changed files with 133 additions and 99 deletions

View File

@@ -1,5 +1,5 @@
import http from "./config"; import http from "./config";
// import qs from 'qs'; import qs from 'qs';
/** /**
@@ -34,6 +34,8 @@ import http from "./config";
* *
*/ */
//上传文件
export const uploadFile = (obj) => http.post('/test/testRequest', qs.stringify({ obj }));
// 接口-请求 // 接口-请求

View File

@@ -188,7 +188,7 @@
</a-menu-item> </a-menu-item>
<a-menu-item key="sub5" @titleClick="titleClick"> <a-menu-item key="sub5" @titleClick="titleClick">
<span>调研</span> <span>评估</span>
</a-menu-item> </a-menu-item>
<a-menu-item key="sub6" @titleClick="titleClick"> <a-menu-item key="sub6" @titleClick="titleClick">

View File

@@ -3,13 +3,13 @@
:visible="addinvistVisible" :visible="addinvistVisible"
class="drawerStyle addinvistDrawer" class="drawerStyle addinvistDrawer"
width="80%" width="80%"
title="添加调研" title="添加评估"
placement="right" placement="right"
@after-visible-change="afterVisibleChange" @after-visible-change="afterVisibleChange"
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">添加调研</div> <div class="headerTitle">添加评估</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"
@@ -64,7 +64,7 @@
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-range-picker <a-range-picker
style="width: 424px" style="width: 424px"
:placeholder="[' 开始时间', ' 结束时间']" :placeholder="[' 开始时间', ' 结束时间']"
/> />
</div> </div>
@@ -76,7 +76,7 @@
<div class="textarea"> <div class="textarea">
<a-textarea <a-textarea
v-model:value="textV1" v-model:value="textV1"
placeholder="请输入调研说明" placeholder="请输入评估说明"
allow-clear allow-clear
maxlength="150" maxlength="150"
/> />
@@ -91,7 +91,7 @@
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import { reactive, toRefs, ref } from "vue"; import { reactive, toRefs, ref } from "vue";
const options1 = ref([ const options1 = ref([
{ {
@@ -140,13 +140,13 @@ export default {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
closeDrawer, closeDrawer,
rowSelection, rowSelection,
options1, options1,
}; };
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.ant-table-striped :deep(.table-striped) td { .ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }
@@ -285,4 +285,3 @@ export default {
} }
} }
</style> </style>

View File

@@ -1776,7 +1776,7 @@ export default {
} }
.learningPath { .learningPath {
width: 100%; width: 100%;
height: 100%; // height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
position: relative; position: relative;
@@ -1983,10 +1983,11 @@ export default {
} }
} }
.tableBox { .tableBox {
padding-bottom: 20px;
.pa { .pa {
position: absolute; // position: absolute;
bottom: 20px; // bottom: 20px;
left: 0; // left: 0;
width: 100%; width: 100%;
// height: 20px; // height: 20px;
// background-color: red; // background-color: red;

View File

@@ -342,7 +342,7 @@
? require('../../assets/images/leveladd/huo.png') ? require('../../assets/images/leveladd/huo.png')
: item.course === '测评' : item.course === '测评'
? require('../../assets/images/leveladd/ce.png') ? require('../../assets/images/leveladd/ce.png')
: item.course === '调研' : item.course === '评估'
? require('../../assets/images/leveladd/diao.png') ? require('../../assets/images/leveladd/diao.png')
: item.course === '投票' : item.course === '投票'
? require('../../assets/images/leveladd/tou.png') ? require('../../assets/images/leveladd/tou.png')
@@ -441,7 +441,7 @@
item.course === '外链' || item.course === '外链' ||
item.course === '讨论' || item.course === '讨论' ||
item.course === '直播' || item.course === '直播' ||
item.course === '调研' || item.course === '评估' ||
item.course === '投票' || item.course === '投票' ||
item.course === '活动' item.course === '活动'
? showTime(item.course, item.name) ? showTime(item.course, item.name)
@@ -1083,7 +1083,7 @@ export default {
percent: 20, percent: 20,
}, },
{ {
course: "调研", course: "评估",
name: "管理直播间", name: "管理直播间",
classify: "必修", classify: "必修",
beginTime: "2022-09-16 14:03", beginTime: "2022-09-16 14:03",

View File

@@ -217,7 +217,7 @@
<div class="img"> <div class="img">
<img src="../../assets/images/leveladd/diao.png" /> <img src="../../assets/images/leveladd/diao.png" />
</div> </div>
<div class="text">调研</div> <div class="text">评估</div>
</div> </div>
<div class="lin"></div> <div class="lin"></div>
</div> </div>

View File

@@ -135,7 +135,7 @@
? require('../../assets/images/leveladd/huo.png') ? require('../../assets/images/leveladd/huo.png')
: item.course === '测评' : item.course === '测评'
? require('../../assets/images/leveladd/ce.png') ? require('../../assets/images/leveladd/ce.png')
: item.course === '调研' : item.course === '评估'
? require('../../assets/images/leveladd/diao.png') ? require('../../assets/images/leveladd/diao.png')
: item.course === '投票' : item.course === '投票'
? require('../../assets/images/leveladd/tou.png') ? require('../../assets/images/leveladd/tou.png')
@@ -225,7 +225,7 @@
item.course === '外链' || item.course === '外链' ||
item.course === '讨论' || item.course === '讨论' ||
item.course === '直播' || item.course === '直播' ||
item.course === '调研' || item.course === '评估' ||
item.course === '投票' || item.course === '投票' ||
item.course === '活动' item.course === '活动'
? showTime(item.course, item.name) ? showTime(item.course, item.name)
@@ -609,7 +609,7 @@ export default defineComponent({
percent: 20, percent: 20,
}, },
{ {
course: "调研", course: "评估",
name: "管理直播间", name: "管理直播间",
classify: "必修", classify: "必修",
beginTime: "2022-09-16 14:03", beginTime: "2022-09-16 14:03",

View File

@@ -216,13 +216,13 @@
<div class="img"> <div class="img">
<img src="../../assets/images/leveladd/diao.png" /> <img src="../../assets/images/leveladd/diao.png" />
</div> </div>
<div class="text">调研</div> <div class="text">评估</div>
</div> </div>
<!-- 添加调研侧弹窗 --> <!-- 添加评估侧弹窗 -->
<div> <div>
<add-invist v-model:addinvistVisible="addinvistvisible" /> <add-invist v-model:addinvistVisible="addinvistvisible" />
</div> </div>
<!-- 添加调研侧弹窗 --> <!-- 添加评估侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<div class="item" @click="showDrawerAddVote"> <div class="item" @click="showDrawerAddVote">

View File

@@ -296,7 +296,7 @@
? require('../../assets/images/leveladd/huo.png') ? require('../../assets/images/leveladd/huo.png')
: item.course === '测评' : item.course === '测评'
? require('../../assets/images/leveladd/ce.png') ? require('../../assets/images/leveladd/ce.png')
: item.course === '调研' : item.course === '评估'
? require('../../assets/images/leveladd/diao.png') ? require('../../assets/images/leveladd/diao.png')
: item.course === '投票' : item.course === '投票'
? require('../../assets/images/leveladd/tou.png') ? require('../../assets/images/leveladd/tou.png')
@@ -395,7 +395,7 @@
item.course === '外链' || item.course === '外链' ||
item.course === '讨论' || item.course === '讨论' ||
item.course === '直播' || item.course === '直播' ||
item.course === '调研' || item.course === '评估' ||
item.course === '投票' || item.course === '投票' ||
item.course === '活动' item.course === '活动'
? showTime(item.course, item.name) ? showTime(item.course, item.name)
@@ -2233,7 +2233,7 @@ export default {
percent: 20, percent: 20,
}, },
{ {
course: "调研", course: "评估",
name: "管理直播间", name: "管理直播间",
classify: "必修", classify: "必修",
beginTime: "2022-09-16 14:03", beginTime: "2022-09-16 14:03",

View File

@@ -1,4 +1,4 @@
<!-- 调研管理-管理页面 --> <!-- 评估管理-管理页面 -->
<template> <template>
<div class="managepage"> <div class="managepage">
<div class="up"> <div class="up">

View File

@@ -1,4 +1,4 @@
<!-- 调研管理-创建评估页面 --> <!-- 评估管理-创建评估页面 -->
<template> <template>
<div class="researchadd"> <div class="researchadd">
<div class="header"> <div class="header">
@@ -21,8 +21,8 @@
<div class="tagbox"> <div class="tagbox">
<div class="tagname">单选题</div> <div class="tagname">单选题</div>
<div class="deleteop"> <div class="deleteop">
<div><img src="../../assets/images/projectadd/delete.png"/></div> <div><img src="../../assets/images/projectadd/delete.png" /></div>
<div class="del_text">删除选项</div> <div class="del_text">删除选项</div>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
@@ -99,7 +99,7 @@
/> />
</div> </div>
<div class="name"> <div class="name">
<div class="in" style="margin-left: 85px;margin-bottom: 20px"> <div class="in" style="margin-left: 85px; margin-bottom: 20px">
<a-button <a-button
type="primary" type="primary"
style=" style="
@@ -117,8 +117,8 @@
<div class="tagbox"> <div class="tagbox">
<div class="tagname">问答题</div> <div class="tagname">问答题</div>
<div class="deleteop"> <div class="deleteop">
<div><img src="../../assets/images/projectadd/delete.png"/></div> <div><img src="../../assets/images/projectadd/delete.png" /></div>
<div class="del_text">删除选项</div> <div class="del_text">删除选项</div>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
@@ -152,8 +152,8 @@
<div class="tagbox"> <div class="tagbox">
<div class="tagname">评分题</div> <div class="tagname">评分题</div>
<div class="deleteop"> <div class="deleteop">
<div><img src="../../assets/images/projectadd/delete.png"/></div> <div><img src="../../assets/images/projectadd/delete.png" /></div>
<div class="del_text">删除选项</div> <div class="del_text">删除选项</div>
</div> </div>
</div> </div>
<div class="name"> <div class="name">
@@ -221,7 +221,7 @@
</div> </div>
<div class="scoretext">非常不满意</div> <div class="scoretext">非常不满意</div>
</div> </div>
<div class="name" style="margin-bottom: 20px;"> <div class="name" style="margin-bottom: 20px">
<div class="namebox"> <div class="namebox">
<img <img
class="nameimg" class="nameimg"
@@ -229,27 +229,31 @@
/> />
<div class="inname">配置权重</div> <div class="inname">配置权重</div>
</div> </div>
<div class="in" style="display:flex"> <div class="in" style="display: flex">
<div class="assess"> <div class="assess">
<div class="assesstype">评估类型</div> <div class="assesstype">评估类型</div>
<div class="assesswhole">整体评估</div> <div class="assesswhole">整体评估</div>
</div> </div>
<div class="assess" style="margin-left: 50px;position: relative"> <div class="assess" style="margin-left: 50px; position: relative">
<div class="assesstype">权重比例</div> <div class="assesstype">权重比例</div>
<div class="assesswhole" style="background: #FFFFFF">20</div> <div class="assesswhole" style="background: #ffffff">20</div>
<div class="ratio">%</div> <div class="ratio">%</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="opinion name2"> <div class="opinion name2">
<div class="namebox"> <div class="namebox">
<div class="inname" style="margin-top: 13px">您的其他意见</div> <div class="inname" style="margin-top: 13px">您的其他意见</div>
</div> </div>
<div class="in"> <div class="in">
<a-textarea v-model:value="valuep" style="height: 110px" show-count <a-textarea
:maxlength="200"/> v-model:value="valuep"
</div> style="height: 110px"
show-count
:maxlength="200"
/>
</div>
</div> </div>
<div class="footer"> <div class="footer">
<div class="btn"> <div class="btn">
@@ -449,15 +453,15 @@ export default {
align-items: center; align-items: center;
margin-left: 41px; margin-left: 41px;
.addtypen { .addtypen {
color: #6F6F6F; color: #6f6f6f;
font-size: 14px; font-size: 14px;
} }
.types { .types {
cursor: pointer; cursor: pointer;
width: 80px; width: 80px;
height: 40px; height: 40px;
color: #409EFF; color: #409eff;
border: 1px solid #409EFF; border: 1px solid #409eff;
border-radius: 4px; border-radius: 4px;
display: flex; display: flex;
justify-content: center; justify-content: center;
@@ -497,11 +501,11 @@ export default {
height: 40px; height: 40px;
margin-top: 20px; margin-top: 20px;
margin-right: 30px; margin-right: 30px;
border: 1px solid #409EFF; border: 1px solid #409eff;
border-radius: 8px; border-radius: 8px;
cursor: pointer; cursor: pointer;
.del_text { .del_text {
color: #409EFF; color: #409eff;
font-size: 14px; font-size: 14px;
margin-left: 5px; margin-left: 5px;
} }
@@ -589,7 +593,7 @@ export default {
} }
} }
.inname { .inname {
color: #6F6F6F; color: #6f6f6f;
font-size: 14px; font-size: 14px;
margin-left: 7px; margin-left: 7px;
font-weight: 700; font-weight: 700;
@@ -601,12 +605,12 @@ export default {
display: flex; display: flex;
width: 226px; width: 226px;
height: 40px; height: 40px;
border: 1px solid #56A3F9; border: 1px solid #56a3f9;
//margin-bottom: 20px; //margin-bottom: 20px;
.assesstype { .assesstype {
width: 50%; width: 50%;
background: #56A3F9; background: #56a3f9;
color: #FFFFFF; color: #ffffff;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -615,7 +619,7 @@ export default {
width: 50%; width: 50%;
background: rgba(86, 163, 249, 0.1); background: rgba(86, 163, 249, 0.1);
font-size: 14px; font-size: 14px;
color: #6F6F6F; color: #6f6f6f;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -624,7 +628,7 @@ export default {
position: absolute; position: absolute;
right: 10px; right: 10px;
top: 8px; top: 8px;
color: #6F6F6F; color: #6f6f6f;
font-size: 14px; font-size: 14px;
} }
} }
@@ -645,7 +649,6 @@ export default {
// height: 120%; // height: 120%;
width: 100%; width: 100%;
height: 35px; height: 35px;
} }
.ant-select-selector { .ant-select-selector {
border-radius: 5px; border-radius: 5px;
@@ -668,36 +671,36 @@ export default {
} }
} }
.name2 { .name2 {
display: flex;
align-items: flex-start;
}
.opinion {
display: flex;
margin-top: 30px;
.namebox {
width: 120px;
display: flex; display: flex;
align-items: flex-start; align-items: center;
justify-content: flex-end;
flex-shrink: 0;
} }
.opinion { .in {
display: flex; margin-left: 14px;
margin-top: 30px; width: 500px;
.namebox { .ant-input-textarea-show-count {
width: 120px; position: relative;
display: flex; height: 110px;
align-items: center;
justify-content: flex-end;
flex-shrink: 0;
} }
.in { .ant-input-textarea-show-count::after {
margin-left: 14px; position: absolute;
width: 500px; right: 10px;
.ant-input-textarea-show-count { bottom: 0px;
position: relative; }
height: 110px; .ant-input {
} border-radius: 8px;
.ant-input-textarea-show-count::after {
position: absolute;
right: 10px;
bottom: 0px;
}
.ant-input {
border-radius: 8px;
}
} }
} }
}
.footer { .footer {
width: 100%; width: 100%;
margin-top: 31px; margin-top: 31px;

View File

@@ -30,9 +30,7 @@
list-type="picture-card" list-type="picture-card"
class="avatar-uploader" class="avatar-uploader"
:show-upload-list="false" :show-upload-list="false"
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@change="handleChange"
> >
<!-- <img v-if="imageUrl" :src="imageUrl" alt="avatar" /> <!-- <img v-if="imageUrl" :src="imageUrl" alt="avatar" />
<div v-else> <div v-else>
@@ -48,12 +46,12 @@ import { reactive, toRefs } from "vue";
import AddVote from "../../components/drawers/AddVote"; import AddVote from "../../components/drawers/AddVote";
// import { PlusOutlined, LoadingOutlined } from "@ant-design/icons-vue"; // import { PlusOutlined, LoadingOutlined } from "@ant-design/icons-vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import * as api from "../../api/index1";
function getBase64(img, callback) { // function getBase64(img, callback) {
const reader = new FileReader(); // const reader = new FileReader();
reader.addEventListener("load", () => callback(reader.result)); // reader.addEventListener("load", () => callback(reader.result));
reader.readAsDataURL(img); // reader.readAsDataURL(img);
} // }
export default { export default {
name: "SystemManage", name: "SystemManage",
components: { components: {
@@ -78,16 +76,29 @@ export default {
}; };
const handleChange = (info) => { const handleChange = (info) => {
if (info.file.status === "uploading") { if (info.file.status === "uploading") {
console.log("uploading", info.file);
state.loading = true; state.loading = true;
return; return;
} }
if (info.file.status === "done") { if (info.file.status === "done") {
console.log("done", info.file);
let obj = {
file: info.file,
};
api
.uploadFile(obj)
.then((res) => {
console.log("res", res);
})
.then((err) => {
console.log("err", err);
});
// Get this url from response in real world. // Get this url from response in real world.
getBase64(info.file.originFileObj, (base64Url) => { // getBase64(info.file.originFileObj, (base64Url) => {
state.imageUrl = base64Url; // state.imageUrl = base64Url;
state.loading = false; // state.loading = false;
}); // });
} }
if (info.file.status === "error") { if (info.file.status === "error") {
@@ -97,6 +108,7 @@ export default {
}; };
const beforeUpload = (file) => { const beforeUpload = (file) => {
console.log("file", file);
const isJpgOrPng = const isJpgOrPng =
file.type === "image/jpeg" || file.type === "image/png"; file.type === "image/jpeg" || file.type === "image/png";
@@ -109,8 +121,25 @@ export default {
if (!isLt2M) { if (!isLt2M) {
message.error("Image must smaller than 2MB!"); message.error("Image must smaller than 2MB!");
} }
if (isJpgOrPng && isLt2M) {
return isJpgOrPng && isLt2M; let obj = {
file: file,
};
api
.uploadFile(obj)
.then((res) => {
console.log("res", res);
})
.then((err) => {
console.log("err", err);
});
// Get this url from response in real world.
// getBase64(info.file.originFileObj, (base64Url) => {
// state.imageUrl = base64Url;
// state.loading = false;
// });
}
// return isJpgOrPng && isLt2M;
}; };
return { return {