Merge branch 'master' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage

This commit is contained in:
songwc
2022-10-10 18:13:21 +08:00
6 changed files with 1495 additions and 254 deletions

View File

@@ -78,7 +78,6 @@ border: 1px solid #C7CBD2 !important;
// 表格--------------------------------- // 表格---------------------------------
.tableBox{ .tableBox{
.ant-table-row .ant-table-cell{ .ant-table-row .ant-table-cell{
height: 48px ; height: 48px ;
font-size: 14px; font-size: 14px;
@@ -148,4 +147,48 @@ border: 1px solid #C7CBD2 !important;
display: none; display: none;
} }
} }
} }
// 表格---------------------------------
//表格下拉框-------------------------------------------
.tableSelect {
margin-left: 21px;
display: inline-block;
.ant-select:not(.ant-select-customize-input)
.ant-select-selector
.ant-select-selection-search-input {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
padding: 0;
}
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input)
.ant-select-selector {
box-shadow: none;
}
.ant-select-arrow {
right: 0px;
color: rgba(0, 0, 0, 0.8);
font-size: 14px;
line-height: 36px;
// top: 17px;
top:14px;
}
.ant-select-selection-item {
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
}
.ant-select-single.ant-select-open .ant-select-selection-item{
color: #4ea6ff;
}
}
.tabledropdown {
width: 100px !important;
}
//表格下拉框-------------------------------------------

View File

@@ -112,7 +112,7 @@ export default {
} }
.roleItems { .roleItems {
width: 109px; width: 109px;
height: 80px; height: 90px;
padding-top: 10px; padding-top: 10px;
background: #ffffff; background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21); box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
@@ -121,6 +121,7 @@ export default {
right: 0px; right: 0px;
text-align: center; text-align: center;
display: none; display: none;
z-index: 100;
} }
.roleItem { .roleItem {
font-size: 14px; font-size: 14px;

View File

@@ -49,10 +49,10 @@
</div> </div>
<div class="select fitems"> <div class="select fitems">
<a-range-picker <a-range-picker
v-model:value="value2" v-model:value="value2"
separator="至" separator="至"
:placeholder="[' 开始时间', ' 结束时间']" :placeholder="[' 开始时间', ' 结束时间']"
/> />
</div> </div>
</div> </div>
</div> </div>
@@ -410,9 +410,9 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, defineComponent, ref } from 'vue'; import { reactive, toRefs, defineComponent, ref } from "vue";
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";
function getBase64(img, callback) { function getBase64(img, callback) {
const reader = new FileReader(); const reader = new FileReader();
@@ -427,202 +427,262 @@ export default defineComponent({
setup() { setup() {
const state = reactive({ const state = reactive({
tableData : [{ tableData: [
key: '1', {
num:1, key: "1",
name: '时间管理', num: 1,
content: '领导力', name: "时间管理",
courseform: '线上', content: "领导力",
project: '管理者进阶-腾飞班1', courseform: "线上",
stunum: '50', project: "管理者进阶-腾飞班1",
grade: '5', stunum: "50",
status: '未提交', grade: "5",
ynpub: '未发布', status: "未提交",
creator: '管理员', ynpub: "未发布",
createtime: '2022-07-20 9:30', creator: "管理员",
pubtime: '2022-07-20 9:30', createtime: "2022-07-20 9:30",
ynuse: '启用', pubtime: "2022-07-20 9:30",
kkty:false, ynuse: "启用",
}, { kkty: false,
key: '2', },
num:2, {
name: '智能制造初级课程', key: "2",
content: '专业力', num: 2,
courseform: '线上', name: "智能制造初级课程",
project: '-', content: "专业力",
stunum: '200', courseform: "线上",
grade: '5', project: "-",
status: '待审核', stunum: "200",
ynpub: '未发布', grade: "5",
creator: '管理员', status: "待审核",
createtime: '2022-07-20 9:30', ynpub: "未发布",
pubtime: '2022-07-20 9:30', creator: "管理员",
ynuse: '启用', createtime: "2022-07-20 9:30",
kkty:true, pubtime: "2022-07-20 9:30",
}, { ynuse: "启用",
key: '3', kkty: true,
num:3, },
name: '产业必备技能', {
content: '专业力', key: "3",
courseform: '线上', num: 3,
project: '-', name: "产业必备技能",
stunum: '200', content: "专业力",
grade: '5', courseform: "线上",
status: '已审核', project: "-",
ynpub: '已发布', stunum: "200",
creator: '管理员', grade: "5",
createtime: '2022-07-20 9:30', status: "已审核",
pubtime: '2022-07-20 9:30', ynpub: "已发布",
ynuse: '启用', creator: "管理员",
kkty:true, createtime: "2022-07-20 9:30",
}, { pubtime: "2022-07-20 9:30",
key: '4', ynuse: "启用",
num:4, kkty: true,
name: 'B11入模培训', },
content: '专业力', {
courseform: '线上', key: "4",
project: '-', num: 4,
stunum: '200', name: "B11入模培训",
grade: '5', content: "专业力",
status: '审核未通过', courseform: "线上",
ynpub: '未发布', project: "-",
creator: '管理员', stunum: "200",
createtime: '2022-07-20 9:30', grade: "5",
pubtime: '2022-07-20 9:30', status: "审核未通过",
ynuse: '停用', ynpub: "未发布",
kkty:true, creator: "管理员",
}, { createtime: "2022-07-20 9:30",
key: '5', pubtime: "2022-07-20 9:30",
num:5, ynuse: "停用",
name: '入职培训', kkty: true,
content: '通用力', },
courseform: '面授', {
project: '-', key: "5",
stunum: '5', num: 5,
grade: '5', name: "入职培训",
status: '未提交', content: "通用力",
ynpub: '未发布', courseform: "面授",
creator: '管理员', project: "-",
createtime: '2022-07-20 9:30', stunum: "5",
pubtime: '2022-07-20 9:30', grade: "5",
ynuse: '启用', status: "未提交",
kkty:true, ynpub: "未发布",
}, { creator: "管理员",
key: '6', createtime: "2022-07-20 9:30",
num:6, pubtime: "2022-07-20 9:30",
name: '入职培训', ynuse: "启用",
content: '通用力', kkty: true,
courseform: '面授', },
project: '-', {
stunum: '5', key: "6",
grade: '6', num: 6,
status: '已审核', name: "入职培训",
ynpub: '已发布', content: "通用力",
creator: '管理员', courseform: "面授",
createtime: '2022-07-20 9:30', project: "-",
pubtime: '2022-07-20 9:30', stunum: "5",
ynuse: '启用', grade: "6",
kkty:true, status: "已审核",
}], ynpub: "已发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: true,
},
],
}); });
const tableDataFunc = () => { const tableDataFunc = () => {
const columns = [ const columns = [
{ {
title: '序号', title: "序号",
width: 200, width: 200,
dataIndex: 'num', dataIndex: "num",
key: 'num', key: "num",
align: "center", align: "center",
}, { },
title: '名称', {
width: 200, title: "名称",
dataIndex: 'name', width: 200,
key: 'name', dataIndex: "name",
}, { key: "name",
title: '内容分类', },
width: 200, {
dataIndex: 'content', title: "内容分类",
key: '1', width: 200,
align: "center", dataIndex: "content",
}, { key: "1",
title: '课程形式', align: "center",
width: 200, },
dataIndex: 'courseform', {
key: '2', title: "课程形式",
align: "center", width: 200,
}, { dataIndex: "courseform",
title: ' 所属项目', key: "2",
width: 300, align: "center",
dataIndex: 'project', },
key: '3', {
align: "center", title: " 所属项目",
}, { width: 300,
title: '学习人数', dataIndex: "project",
width: 200, key: "3",
dataIndex: 'stunum', align: "center",
key: '4', },
align: "center", {
}, { title: "学习人数",
title: '评分', width: 200,
width: 200, dataIndex: "stunum",
dataIndex: 'grade', key: "4",
key: '5', align: "center",
align: "center", },
}, { {
title: '状态', title: "评分",
width: 200, width: 200,
dataIndex: 'status', dataIndex: "grade",
key: '6', key: "5",
align: "center", align: "center",
}, { },
title: '是否发布', {
width: 200, title: "状态",
dataIndex: 'ynpub', width: 200,
key: '7', dataIndex: "status",
align: "center", key: "6",
}, { align: "center",
title: '创建人', },
width: 200, {
dataIndex: 'creator', title: "是否发布",
key: '8', width: 200,
align: "center", dataIndex: "ynpub",
}, { key: "7",
title: '创建时间', align: "center",
width: 280, },
dataIndex: 'createtime', {
key: '9', title: "创建人",
align: "center", width: 200,
}, { dataIndex: "creator",
title: '上线时间', key: "8",
width: 280, align: "center",
dataIndex: 'pubtime', },
key: '10', {
align: "center", title: "创建时间",
}, { width: 280,
title: '是否停用', dataIndex: "createtime",
width: 200, key: "9",
key: 'either', align: "center",
dataIndex: 'ynuse', },
align: "center", {
}, { title: "上线时间",
title: '操作', width: 280,
width: 400, dataIndex: "pubtime",
className: "h", key: "10",
dataIndex: "opacation", align: "center",
key: 'operation', },
fixed: 'right', {
align: "center", title: "是否停用",
scopedSlots: { customRender: "action" }, width: 200,
customRender: (text) => { key: "either",
dataIndex: "ynuse",
align: "center",
},
{
title: "操作",
width: 400,
className: "h",
dataIndex: "opacation",
key: "operation",
fixed: "right",
align: "center",
scopedSlots: { customRender: "action" },
customRender: (text) => {
// console.log(text); // console.log(text);
return ( return (
<div class="op_box"> <div class="op_box">
<div class="opacation"> <div class="opacation">
<span class={text.record.courseform === '面授' ? "activecls" : "errorCls"} style={{ "margin-left": "25px" }} >开课</span> <span
<span class={text.record.ynuse === '停用' ? "activecls" : "errorCls"} style={{ "margin-left": "25px" }} >停用</span> class={
<span class={text.record.status === '未提交' || text.record.status === '审核未通过' ? "activecls" : "errorCls"} style={{ "margin-left": "25px" }} >编辑</span> text.record.courseform === "面授"
<span class={text.record.status === '已审核' ? "activecls" : "errorCls"} style={{ "margin-left": "25px" }} >管理</span> ? "activecls"
<span class={text.record.status === '待审核' ? "errorCls" : "activecls"} style={{ "margin-left": "25px" }} >复制</span> : "errorCls"
}
style={{ "margin-left": "25px" }}
>
开课
</span>
<span
class={
text.record.ynuse === "停用" ? "activecls" : "errorCls"
}
style={{ "margin-left": "25px" }}
>
停用
</span>
<span
class={
text.record.status === "未提交" ||
text.record.status === "审核未通过"
? "activecls"
: "errorCls"
}
style={{ "margin-left": "25px" }}
>
编辑
</span>
<span
class={
text.record.status === "已审核" ? "activecls" : "errorCls"
}
style={{ "margin-left": "25px" }}
>
管理
</span>
<span
class={
text.record.status === "待审核" ? "errorCls" : "activecls"
}
style={{ "margin-left": "25px" }}
>
复制
</span>
<span style={{ "margin-left": "25px" }} class="more"> <span style={{ "margin-left": "25px" }} class="more">
<span>授权</span> <span>授权</span>
<div class="moreArrow"></div> <div class="moreArrow"></div>
@@ -638,12 +698,12 @@ export default defineComponent({
</span> </span>
</div> </div>
</div> </div>
);
);
}, },
}]; },
];
return columns; return columns;
} };
const fileList = ref([]); const fileList = ref([]);
const loading = ref(false); const loading = ref(false);
@@ -748,16 +808,16 @@ export default defineComponent({
const of_hShow = () => { const of_hShow = () => {
if (state.of_hs == false) { if (state.of_hs == false) {
state.of_hs = true state.of_hs = true;
} }
} };
const hideShow = () => { const hideShow = () => {
if (state.hideshow == false) { if (state.hideshow == false) {
state.hideshow = true; state.hideshow = true;
} else { } else {
state.hideshow = false; state.hideshow = false;
} }
} };
const bs_hShow = () => { const bs_hShow = () => {
if (state.bs_hs == true) { if (state.bs_hs == true) {
state.bs_hs = false; state.bs_hs = false;
@@ -1037,7 +1097,7 @@ export default defineComponent({
} }
} }
.faceteach{ .faceteach {
display: none; display: none;
z-index: 1000; z-index: 1000;
width: 1358px; width: 1358px;
@@ -1190,7 +1250,7 @@ export default defineComponent({
.tableBox { .tableBox {
margin: 20px 38px 30px; margin: 20px 38px 30px;
.op_box{ .op_box {
display: flex; display: flex;
justify-content: right; justify-content: right;
.opacation { .opacation {

View File

@@ -355,7 +355,7 @@ export default {
}; };
</script> </script>
<style scoped lang="scss" > <style scoped lang="scss">
.clearfix:before, .clearfix:before,
.clearfix:after { .clearfix:after {
content: " "; content: " ";
@@ -840,4 +840,4 @@ export default {
} }
} }
} }
</style> </style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,113 @@
<template> <template>
<div class="researchadd">
<div class="header"> <div class="header">
<span class="title">创建调研</span> <span class="title">创建调研</span>
<div class="goback"><span class="return"></span><router-link class="returntext" to="/researchmanage">返回</router-link></div> <div class="goback"><span class="return"></span><router-link class="returntext" to="/researchmanage">返回</router-link></div>
</div> </div>
<div class="content"> <div class="content">
<div class="type"></div>
<div class="name"> <div class="name">
<div class="star">*</div> <div class="namebox">
<div class="inname">类型</div>
</div>
<div class="in">
<input type="radio" name="type" id="single" checked="checked"/><label for="single" class="text" style="margin-left: 5px">单选</label>
<input type="radio" name="type" id="double" style="margin-left: 10px"/><label for="double" class="text" style="margin-left: 5px">多选</label>
<input type="radio" name="type" id="score" style="margin-left: 10px"/><label for="score" class="text" style="margin-left: 5px">评分题</label>
</div>
</div>
<div class="name">
<div class="namebox">
<img
class="nameimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="inname">提干</div> <div class="inname">提干</div>
<div class="in"> </div>
<a-input v-model:value="valueE" placeholder="请输入项目名称"/> <div class="in">
<a-input v-model:value="valueE" placeholder="请输入项目名称" />
</div>
</div>
<div class="name">
<div class="in" style="margin-left: 133px">
<a-button type="primary" style="width: 100px;height: 40px;border-radius: 8px">添加选项</a-button>
</div>
</div>
<div class="options">
<div class="name" >
<div class="namebox">
<div class="inname">选项1</div>
</div> </div>
<div class="in">
<a-input v-model:value="valueE" />
</div>
</div>
<div class="delete">删除</div>
</div>
<div class="name" >
<div class="in" style="margin-left: 133px">
<div class="addimg">+添加图片</div>
</div>
</div>
<div class="options">
<div class="name" >
<div class="namebox">
<div class="inname">选项1</div>
</div>
<div class="in">
<a-input v-model:value="valueE" />
</div>
</div>
<div class="delete">删除</div>
</div>
<div class="picture">
<img class="pictureimg" src=""/>
<div class="picturename">图片名称1.jpg</div>
</div>
</div>
<div class="header">
<span class="title" style="font-size: 14px">选项设置</span>
</div>
<div class="content">
<div class="name" >
<div class="namebox">
<div class="inname">最低分</div>
</div>
<div class="in">
<a-input v-model:value="valueE" />
</div>
<div class="namebox" style="margin-left: -50px">
<div class="inname">最高分</div>
</div>
<div class="in">
<a-input v-model:value="valueE" />
</div>
</div>
<div class="scorebox">
<div class="scoretext">非常满意</div>
<div class="number">
<a-button class="btn" style="margin-left:10px">1</a-button>
<a-button class="btn">2</a-button>
<a-button class="btn">3</a-button>
<a-button class="btn">4</a-button>
<a-button class="btn">5</a-button>
<a-button class="btn">6</a-button>
<a-button class="btn">7</a-button>
<a-button class="btn">8</a-button>
<a-button class="btn">9</a-button>
<a-button class="btn" style="margin-right: 10px;">10</a-button>
</div>
<div class="scoretext">非常不满意</div>
</div>
<div class="name name2">
<div class="namebox">
<div class="inname" style="margin-top: 13px">备注</div>
</div>
<div class="in">
<a-textarea
v-model:value="valuei"
style="height: 80px"
/>
</div>
</div> </div>
</div> </div>
<div class="footer"> <div class="footer">
@@ -19,8 +116,16 @@
<a-button type="primary" ghost style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px">取消</a-button> <a-button type="primary" ghost style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px">取消</a-button>
</div> </div>
</div> </div>
</div>
</template> </template>
<style> <script lang="ts">
</script>
<style lang="scss">
.researchadd {
width: 100%;
display: flex;
flex-direction: column;
.header { .header {
width: 100%; width: 100%;
display: flex; display: flex;
@@ -56,8 +161,111 @@
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.scorebox {
display:flex;
align-items: center;
margin-top: 20px;
margin-left:70px;
.scoretext {
font-size: 14px;
color: #56A3F9;
}
.number {
display: flex;
border: 1px solid #D7E5FD;
border-radius: 5px;
margin: 0 10px;
.btn {
border: 1px solid #56A3F9;
border-radius: 5px;
width: 40px;
height: 40px;
color: #56A3F9;
margin: 5px;
}
}
}
.picture {
display: flex;
flex-direction: column;
margin-top: 20px;
margin-left: 133px;
.pictureimg {
width: 100px;
height: 100px;
}
.picturename {
color: #6F6F6F;
font-size: 14px;
}
}
.name2 {
display: flex;
align-items: flex-start;
}
.options {
display:flex;
}
.delete {
margin-top: 27px;
margin-left: 20px;
float: right;
color: #4EA6FF;
font-size: 14px;
}
.name {
width: 50%;
// background-color: lightcoral;
display: flex;
margin-top: 20px;
align-items: center;
//height: 40px;
// border: 1px solid black;
.namebox {
width: 120px;
display: flex;
align-items: center;
justify-content: flex-end;
flex-shrink: 0;
.nameimg {
width: 10px;
height: 10px;
}
}
.inname {
color: #6f6f6f;
font-size: 14px;
margin-left: 7px;
}
.in {
margin-left: 14px;
flex: 1;
.addimg {
color: rgba(78, 166, 255, 1);
font-size: 14px;
}
.text {
color: rgba(109, 117, 132, 1);
font-size: 14px;
//line-height: 24px;
}
.ant-radio-wrapper {
}
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.ant-select-selector {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
}
}
} }
.footer { .footer {
width: 100%; width: 100%;
@@ -69,4 +277,6 @@
cursor: pointer; cursor: pointer;
} }
} }
}
</style> </style>