--项目 学员

This commit is contained in:
yuping
2022-12-04 12:45:11 +08:00
parent dd0ad2f508
commit 36a902711e
5 changed files with 1213 additions and 1014 deletions

View File

@@ -79,7 +79,7 @@ export default defineComponent({
store.commit("SET_MEMBER_INFO", JSON.parse(list));
return;
}
const memberInitInfo = await api1.getMemberInfo({keyWord: '', pageNo: 1, pageSize: 10});
const memberInitInfo = await api1.getMemberInfo({keyWord: '', pageNo: 1, pageSize: 10}).then(res=>res.data.data.rows);
store.commit("SET_MEMBER_INFO", memberInitInfo);
localStorage.setItem('memberInitInfo', JSON.stringify(memberInitInfo));
}

View File

@@ -110,10 +110,9 @@
style="border: 1px solid #f2f6fe"
:columns="tablecolumns"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:loading="loading"
:pagination="false"
rowKey="id"
:row-selection="{
columnWidth: 20,
selectedRowKeys: selectedRowKeys,
@@ -358,7 +357,7 @@
<div class="selecteds" id="selecteds">
<!-- 遍历生成 -->
<div class="chose" v-for="item in choosepeople" :key="item.key">
<div>{{ item.name }}</div>
<div>{{ item.name || item.realName }}</div>
<div class="ch" @click="deleteChoosePeople(item)"></div>
</div>
</div>
@@ -589,6 +588,7 @@ import {
// batchLoadList,
} from "../../utils/utils";
import * as api from "../../api/index1";
export default {
name: "ProjCheckShip",
props: {
@@ -616,9 +616,9 @@ export default {
//快速选人
pageSize: 10,
currentPage: 1,
tableDataTotal: 0,
tableDataTotal: 100,
nameSearch: "", //搜索名称
loading: false,
//受众
pageSize2: 10,
currentPage2: 1,
@@ -656,8 +656,8 @@ export default {
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
dataIndex: "realName",
key: "realName",
width: 80,
align: "center",
className: "h",
@@ -665,8 +665,8 @@ export default {
},
{
title: "工号",
dataIndex: "numb",
key: "numb",
dataIndex: "userNo",
key: "userNo",
width: 80,
align: "center",
className: "h",
@@ -674,8 +674,8 @@ export default {
},
{
title: "归属组织",
dataIndex: "guishu",
key: "guishu",
dataIndex: "orgName",
key: "orgName",
width: 80,
align: "center",
className: "h",
@@ -683,8 +683,8 @@ export default {
},
{
title: "部门",
dataIndex: "bum",
key: "bum",
dataIndex: "departName",
key: "departName",
width: 80,
align: "center",
className: "h",
@@ -847,14 +847,11 @@ export default {
// };
onMounted(() => {
// console.log("11111", 1);
window.addEventListener("resize", getClientHeight, false);
// window.addEventListener("resize", getClientHeightSelecteds, false);
// judgeUrl();
state.tabledata = store.state.memberInitInfo
});
onUnmounted(() => {
window.removeEventListener("resize", getClientHeight, false);
// window.removeEventListener("resize", getClientHeightSelecteds, false);
});
// 开始 快速选人------------------------------------------------------------------
@@ -872,11 +869,10 @@ export default {
};
//获取学员
const getMember = async (org) => {
if (!state.nameSearch && !org) {
return false;
}
console.log("org", org);
const item1 = await api
// if (!state.nameSearch && !org) {
// return false;
// }
await api
.getMemberInfo({
pageNo: state.currentPage,
pageSize: state.pageSize,
@@ -884,21 +880,19 @@ export default {
org: state.nameSearch ? null : org,
})
.then((res) => {
if (res.data.code === 200) {
console.log("获取学员", res.data);
state.tabledata = res.data.data.rows
state.tableDataTotal = res.data.data.total;
return res.data.data.rows;
})
}
});
state.tabledata = traverseArr(item1, {
key: "id",
name: "realName",
bum: "depName",
numb: "id",
guishu: "orgName",
});
};
// state.tabledata = traverseArr(item1, {
// key: "id",
// name: "realName",
// bum: "depName",
// numb: "id",
// guishu: "orgName",
// });
// };
//分页获取学员
const changePagination = (page) => {
state.currentPage = page;
@@ -1352,8 +1346,8 @@ export default {
let choosepeople = [];
state.choosepeople.map((value) => {
let obj = {
id: value.key,
name: value.name,
id: value.id,
name: value.realName,
};
choosepeople.push(obj);
});
@@ -1501,6 +1495,7 @@ export default {
.ant-drawer-content-wrapper {
max-width: 1300px !important;
}
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
@@ -1508,6 +1503,7 @@ export default {
display: flex;
flex-direction: column;
overflow-x: auto;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
@@ -1517,6 +1513,7 @@ export default {
align-items: center;
// background-color: red;
margin-bottom: 20px;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -1525,6 +1522,7 @@ export default {
// margin-left: 24px;
}
}
.main {
display: flex;
// min-width: 1200px;
@@ -1538,31 +1536,38 @@ export default {
flex-shrink: 0;
// height: 100%;
border-right: 1px solid rgba(233, 233, 233, 1);
.tabs {
margin-right: 33px;
.tab1 {
display: flex;
flex-wrap: wrap;
// justify-content: space-between;
align-items: center;
.t1 {
display: flex;
align-items: center;
margin-bottom: 5px;
}
.nameinp {
display: flex;
align-items: center;
margin-top: 10px;
.namee {
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
}
}
.btns {
display: flex;
margin-top: 10px;
margin-left: 34px;
.btn1 {
width: 100px;
height: 40px;
@@ -1576,10 +1581,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1592,15 +1599,18 @@ export default {
border-radius: 8px;
cursor: pointer;
border: 1px solid #409eff;
.wz {
margin-left: 10px;
}
}
}
}
.btns {
display: flex;
margin-top: 10px;
.btn1 {
width: 100px;
height: 40px;
@@ -1614,10 +1624,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1630,11 +1642,13 @@ export default {
border-radius: 8px;
cursor: pointer;
border: 1px solid #409eff;
.wz {
margin-left: 10px;
}
}
}
.line {
width: 100%;
height: 40px;
@@ -1691,9 +1705,11 @@ export default {
}
}
}
.chooseLeft {
display: flex;
justify-content: space-between;
.boeTree {
margin-right: 20px;
// margin-top: 20px;
@@ -1726,6 +1742,7 @@ export default {
margin-bottom: 8px;
margin-top: 20px;
}
.treeMain {
width: 280px;
border-radius: 4px;
@@ -1735,34 +1752,42 @@ export default {
padding-top: 10px;
padding-left: 5px;
}
.ant-tree .ant-tree-node-content-wrapper {
flex-shrink: 0;
}
.ant-tree-indent-unit {
width: 5px;
}
.ant-tree
.ant-tree-node-content-wrapper-normal.ant-tree-node-selected {
background-color: rgba(255, 255, 255, 0);
color: #409eff;
}
.ant-tree .ant-tree-node-selected {
background-color: rgba(255, 255, 255, 0);
// color:#409EFF;
}
// .ant-tree .ant-tree-title{
// background-color: pink;
// }
}
.tabb {
.ant-table-thead > tr > th {
background-color: rgba(240, 246, 252, 1);
color: rgba(0, 0, 0, 0.85);
}
.ant-table-tbody > tr > td {
border-bottom: 1px solid #f0f6fc;
color: rgba(0, 0, 0, 0.65);
}
th.h {
background-color: #eff4fc !important;
}
@@ -1772,9 +1797,11 @@ export default {
> td {
background: rgba(250, 250, 250, 1);
}
.ant-table-selection-column {
padding: 0 !important;
}
// table tr td.ant-table-selection-column {
// text-align: right;
// }
@@ -1808,10 +1835,12 @@ export default {
// margin-top: 10px;
flex-wrap: wrap;
justify-content: space-between;
.nameinp {
display: flex;
align-items: center;
margin-top: 10px;
.namee {
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
@@ -1823,6 +1852,7 @@ export default {
align-items: center;
margin-bottom: 5px;
}
.btns {
display: flex;
// margin-top: -10px;
@@ -1839,10 +1869,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1855,11 +1887,13 @@ export default {
border-radius: 8px;
cursor: pointer;
border: 1px solid #409eff;
.wz {
margin-left: 10px;
}
}
}
.organize {
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
@@ -1869,22 +1903,27 @@ export default {
.ant-select-dropdown {
min-width: 800px !important;
}
.ant-select {
border-radius: 8px !important;
// background-color: red;
}
.ant-cascader {
width: 264px;
height: 40px;
border-radius: 8px !important;
.ant-select-selector {
height: 100%;
}
.ant-select-selection-search-input {
height: 40px;
}
}
}
.boeTree {
.boeTreeTitle {
width: 280px;
@@ -1901,6 +1940,7 @@ export default {
margin-bottom: 8px;
margin-top: 20px;
}
.treeMain {
width: 280px;
border-radius: 4px;
@@ -1910,21 +1950,26 @@ export default {
padding-top: 10px;
padding-left: 5px;
}
.ant-tree .ant-tree-node-content-wrapper {
flex-shrink: 0;
}
.ant-tree-indent-unit {
width: 5px;
}
.ant-tree
.ant-tree-node-content-wrapper-normal.ant-tree-node-selected {
background-color: rgba(255, 255, 255, 0);
color: #409eff;
}
.ant-tree .ant-tree-node-selected {
background-color: rgba(255, 255, 255, 0);
// color:#409EFF;
}
// .ant-tree-switcher_open+ .ant-tree-checkbox{
// display: none !important;
// }
@@ -1937,19 +1982,23 @@ export default {
}
}
}
.right {
width: 320px;
flex-shrink: 0;
overflow-y: auto;
.onerow {
display: flex;
justify-content: space-between;
align-items: center;
margin-right: 40px;
flex-wrap: wrap;
.onleft {
display: flex;
text-align: center;
.already {
color: rgba(51, 51, 51, 1);
font-size: 16px;
@@ -1958,17 +2007,20 @@ export default {
white-space: nowrap;
// margin-bottom: 20px;
}
.count {
color: #388be1;
font-size: 16px;
margin: 0 6px;
}
.peo {
color: rgba(51, 51, 51, 1);
font-size: 16px;
font-weight: 500;
}
}
.clbox {
margin-left: 30px;
display: flex;
@@ -1979,6 +2031,7 @@ export default {
height: 32px;
border-radius: 4px;
background: #409eff;
.colose {
width: 16px;
height: 16px;
@@ -1989,12 +2042,14 @@ export default {
background-size: 100%;
margin-right: 4px;
}
.allclear {
color: rgba(255, 255, 255, 1);
font-size: 14px;
}
}
}
.line {
width: 90%;
height: 1px;
@@ -2002,17 +2057,20 @@ export default {
margin-left: 12px;
margin-top: 20px;
}
.tit {
font-size: 14px;
font-weight: 500;
margin-top: 12px;
margin-left: 32px;
}
.selectedsBox {
position: relative;
// height: 160px;
overflow: hidden;
}
.selecteds {
display: flex;
// flex-wrap:wrap;
@@ -2024,6 +2082,7 @@ export default {
// height: 170px;
// overflow: hidden;
flex-shrink: 0;
.chose {
// width: 64px;
padding-left: 10px;
@@ -2040,6 +2099,7 @@ export default {
font-size: 12px;
position: relative;
flex-shrink: 0;
.ch {
position: absolute;
width: 18px;
@@ -2052,6 +2112,7 @@ export default {
}
}
}
.btnn {
height: 72px;
width: 100%;
@@ -2063,6 +2124,7 @@ export default {
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
@@ -2072,6 +2134,7 @@ export default {
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
@@ -2085,14 +2148,18 @@ export default {
}
}
}
.changetreedropdown {
width: 500px !important;
.ant-select-tree-list-scrollbar {
width: 5px !important;
.ant-select-tree-list-scrollbar-thumb {
background-color: #4ea6ff !important;
}
}
.ant-select-tree-indent-unit {
width: 7px !important;
}
@@ -2102,27 +2169,34 @@ export default {
width: 240px !important;
border-radius: 5px;
min-height: 600px !important;
.ant-select-tree-list-scrollbar {
width: 5px !important;
.ant-select-tree-list-scrollbar-thumb {
background-color: #4ea6ff !important;
}
}
.ant-select-tree-indent-unit {
width: 7px !important;
}
}
.confirmAddOrg {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
@@ -2143,15 +2217,18 @@ export default {
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
@@ -2159,6 +2236,7 @@ export default {
background-image: url(@/assets/images/taskpage/gan.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
@@ -2169,6 +2247,7 @@ export default {
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
@@ -2178,6 +2257,7 @@ export default {
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
@@ -2186,10 +2266,12 @@ export default {
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
@@ -2201,17 +2283,20 @@ export default {
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
@@ -2221,6 +2306,7 @@ export default {
}
}
}
.ant-modal-close-x {
display: none;
}

View File

@@ -61,12 +61,16 @@ watch(() => memberParam.value.pageNo, throttle(getPageMember, 500))
onMounted(() => {
console.log('onMounted')
const memberOptions = store.state.memberInitInfo.map(e => ({
label: e.realName,
value: e.id
}))
if (props.value) {
options.value = [...(props.value + '').split(',').map((value, i) => ({
label: (props.name + '').split(',')[i],
value
})), ...store.state.memberInitInfo]
} else options.value = store.state.memberInitInfo
})), ...memberOptions]
} else options.value = memberOptions
})
function getSearchMember() {

View File

@@ -775,11 +775,11 @@ import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import * as api from "../../api/index";
import * as api1 from "../../api/index1";
import { toDate } from "../../api/method";
import {storage} from "../../api/storage";
import ProjectManager from "@/components/project/ProjectManager";
import ProjectClass from "@/components/project/ProjectClass";
import OrgClass from "@/components/project/OrgClass";
export default {
name: "projectManage",
components: {
@@ -877,6 +877,7 @@ export default {
state.searchParam.pageNo = 1;
getTableDate();
};
function timeChange(e) {
console.log(e);
if (e && e.length === 2) {
@@ -887,6 +888,7 @@ export default {
state.searchParam.endTime = "";
}
}
function validate(obj, errorMsgs) {
for (let i in errorMsgs) {
if (!obj[i]) {
@@ -897,6 +899,7 @@ export default {
}
return true;
}
// 创建多层项目
const createStoreyProject = () => {
// 接口需要传递的参数信息
@@ -1379,15 +1382,7 @@ export default {
{value.record.status === 2 ? (
<span
onClick={() => {
console.log("value.record", value.record);
let beginTime = value.record.beginTime
? toDate(value.record.beginTime, "Y/M/D")
: "";
let endTime = value.record.beginTime
? toDate(value.record.endTime, "Y/M/D")
: "";
let time =
beginTime && endTime ? beginTime + "-" + endTime : "";
let time = value.record.beginTime + "-" + value.record.beginTime;
let obj = {
projectId: value.record.projectId,
name: value.record.name,
@@ -1572,6 +1567,7 @@ export default {
tableData.value = data;
console.log("tableData", tableData);
});
function initDataSublist(parentName, data) {
if (data && data.length) {
data.forEach((e) => {
@@ -1582,6 +1578,7 @@ export default {
});
}
}
getTableDate();
// 翻页
const changePagination = (page) => {
@@ -1728,6 +1725,7 @@ export default {
height: 100%;
display: flex;
flex-direction: column;
.filter {
margin-left: 38px;
margin-right: 38px;
@@ -1735,13 +1733,16 @@ export default {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.filterItems {
display: flex;
flex-wrap: wrap;
.select {
margin-right: 20px;
margin-bottom: 20px;
}
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
@@ -1754,9 +1755,11 @@ export default {
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
@@ -1765,6 +1768,7 @@ export default {
margin-left: 5px;
}
}
.btnn {
padding: 0px 26px 0px 26px;
height: 38px;
@@ -1777,9 +1781,11 @@ export default {
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
@@ -1788,6 +1794,7 @@ export default {
margin-left: 5px;
}
}
.btn1 {
.search {
width: 15px;
@@ -1795,6 +1802,7 @@ export default {
background-image: url("../../assets/images/courseManage/search0.png");
}
}
.btn2 {
.search {
width: 16px;
@@ -1802,25 +1810,32 @@ export default {
background-image: url("../../assets/images/courseManage/reset1.png");
}
}
.btn1:hover {
background: rgba(64, 158, 255, 0.76);
.search {
background-image: url("../../assets/images/courseManage/search0.png");
}
.btnText {
color: #ffffff;
}
}
.btn1:active {
background: #0982ff;
}
.btn2:hover {
background: rgba(64, 158, 255, 0.1);
}
.btn2:active {
background: rgba(64, 158, 255, 0.2);
}
}
.btns {
display: flex;
// flex-wrap: wrap;
@@ -1836,9 +1851,11 @@ export default {
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
@@ -1847,24 +1864,30 @@ export default {
margin-left: 5px;
}
}
.btn3 {
margin-right: 0px;
.search {
width: 17px;
height: 18px;
background-image: url("../../assets/images/courseManage/add0.png");
}
}
.btn3:hover {
background: rgba(64, 158, 255, 0.76);
}
.btn3:active {
background: #0982ff;
}
}
}
.tableBox {
margin: 20px 38px 30px;
.ant-table-thead > tr > th {
font-size: 14px;
font-weight: 400;
@@ -1874,8 +1897,10 @@ export default {
background-color: #eff4fc;
}
}
.tableBox {
padding-bottom: 20px;
.pa {
// position: absolute;
// bottom: 20px;
@@ -1890,6 +1915,7 @@ export default {
// bottom: -40px;
}
}
.operation {
font-size: 14px;
font-weight: 400;
@@ -1900,12 +1926,14 @@ export default {
width: 28px;
display: inline-block;
}
.operation3 {
margin-left: 21px;
width: 70px;
display: inline-block;
text-align: center;
}
.more {
width: 50px;
display: inline-block;
@@ -1922,6 +1950,7 @@ export default {
margin: 2px;
margin-left: 7px;
}
.moreItems {
width: 80px;
padding: 5px;
@@ -1937,14 +1966,17 @@ export default {
text-align: center;
}
}
.more:hover .moreArrow {
background-image: url("../../assets/images/navtop/up.png");
}
.more:hover .moreItems {
display: block;
}
}
}
.doublesonpro {
.ant-modal {
.ant-modal-body {
@@ -1955,12 +1987,15 @@ export default {
rgba(78, 166, 255, 0.2) 100%
);
}
padding: 0;
.modalMain {
display: flex;
flex-direction: column;
//align-items: center;
margin-left: 60px;
.name {
//width: 90%;
// background-color: lightcoral;
@@ -1975,20 +2010,24 @@ export default {
font-size: 14px;
margin-left: 7px;
}
.in {
margin-left: 14px;
width: 80%;
.ant-input {
border-radius: 5px;
// height: 120%;
width: 80%;
height: 30px;
}
.ant-select {
border-radius: 5px;
// height: 120%;
width: 80%;
height: 40px;
.ant-select-selector {
border-radius: 8px;
// height: 120%;
@@ -1998,6 +2037,7 @@ export default {
}
}
}
.pubtn {
display: flex;
justify-content: center;
@@ -2016,6 +2056,7 @@ export default {
align-items: center;
background: rgba(255, 255, 255, 1);
}
.pubtn2 {
width: 100px;
height: 40px;
@@ -2033,6 +2074,7 @@ export default {
}
}
}
.doublepro {
.ant-modal {
.ant-modal-body {
@@ -2043,11 +2085,14 @@ export default {
rgba(78, 166, 255, 0.2) 100%
);
}
padding: 0;
.modalMain {
display: flex;
flex-direction: column;
align-items: center;
.name {
width: 78%;
// background-color: lightcoral;
@@ -2062,20 +2107,24 @@ export default {
font-size: 14px;
margin-left: 7px;
}
.in {
margin-left: 14px;
width: 81%;
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 30px;
}
.ant-select {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
.ant-select-selector {
border-radius: 8px;
// height: 120%;
@@ -2085,6 +2134,7 @@ export default {
}
}
}
.pubtn {
display: flex;
justify-content: center;
@@ -2103,6 +2153,7 @@ export default {
align-items: center;
background: rgba(255, 255, 255, 1);
}
.pubtn2 {
width: 100px;
height: 40px;
@@ -2120,10 +2171,12 @@ export default {
}
}
}
.sonproject {
.ant-modal {
.ant-modal-body {
padding: 0 !important;
.modalHeader {
background: linear-gradient(
0deg,
@@ -2131,6 +2184,7 @@ export default {
rgba(78, 166, 255, 0.2) 100%
);
}
.modalMain {
display: flex;
justify-content: center;
@@ -2143,21 +2197,25 @@ export default {
position: relative;
margin-bottom: 80px;
cursor: pointer;
.leftt {
position: absolute;
top: 18px;
left: 0;
}
.photo {
position: absolute;
top: 44px;
left: 40px;
}
.rightt {
position: absolute;
top: 69px;
right: 26px;
}
.centerbox {
position: absolute;
top: 66px;
@@ -2166,6 +2224,7 @@ export default {
font-weight: 700;
//line-height: 36px;
}
.centermain {
color: rgba(135, 139, 146, 1);
font-size: 14px;
@@ -2178,10 +2237,12 @@ export default {
}
}
}
.estabish {
.ant-modal {
.ant-modal-body {
padding: 0 !important;
.modalHeader {
background: linear-gradient(
0deg,
@@ -2189,6 +2250,7 @@ export default {
rgba(78, 166, 255, 0.2) 100%
);
}
.modalMain {
display: flex;
flex-direction: column;
@@ -2202,21 +2264,25 @@ export default {
position: relative;
margin-bottom: 24px;
cursor: pointer;
.leftt {
position: absolute;
top: 18px;
left: 0;
}
.photo {
position: absolute;
top: 44px;
left: 40px;
}
.rightt {
position: absolute;
top: 69px;
right: 26px;
}
.centerbox {
position: absolute;
top: 42px;
@@ -2225,6 +2291,7 @@ export default {
font-weight: 500;
//line-height: 36px;
}
.centerbox1 {
position: absolute;
top: 32px;
@@ -2233,6 +2300,7 @@ export default {
font-weight: 500;
//line-height: 36px;
}
.centermain {
color: rgba(135, 139, 146, 1);
font-size: 14px;
@@ -2242,6 +2310,7 @@ export default {
left: 120px;
top: 78px;
}
.centermain1 {
color: rgba(135, 139, 146, 1);
font-size: 14px;
@@ -2256,17 +2325,21 @@ export default {
}
}
}
.CopyModal {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
@@ -2287,15 +2360,18 @@ export default {
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
@@ -2303,6 +2379,7 @@ export default {
background-image: url(@/assets/images/coursewareManage/QR.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
@@ -2313,6 +2390,7 @@ export default {
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
@@ -2322,6 +2400,7 @@ export default {
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
@@ -2330,10 +2409,12 @@ export default {
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
@@ -2344,17 +2425,20 @@ export default {
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
@@ -2366,16 +2450,19 @@ export default {
}
}
}
.projectPub {
.ant-modal {
.ant-modal-body {
padding: 0;
.modalHeader {
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.modalMain {
.projectname {
color: rgba(79, 81, 86, 1);
@@ -2385,23 +2472,28 @@ export default {
font-weight: 500;
text-align: center;
}
.projecttime {
margin-left: 221px;
.timeti {
color: rgba(153, 155, 163, 1);
font-size: 14px;
line-height: 36px;
}
.timeme {
color: rgba(79, 81, 86, 1);
font-size: 14px;
line-height: 36px;
}
}
.projectbox {
margin-top: 26px;
display: flex;
justify-content: center;
.promessage {
width: 280px;
height: 110px;
@@ -2412,6 +2504,7 @@ export default {
);
border-radius: 10px;
margin-right: 7px;
.messageme {
color: rgba(255, 182, 78, 1);
font-size: 14px;
@@ -2419,12 +2512,14 @@ export default {
margin-top: 17px;
margin-left: 30px;
}
.messagege {
color: rgba(153, 155, 163, 1);
font-size: 14px;
margin-left: 30px;
}
}
.stumessage {
width: 280px;
height: 110px;
@@ -2434,6 +2529,7 @@ export default {
rgba(240, 248, 254, 1)
);
border-radius: 10px;
.messageme1 {
color: rgba(78, 166, 255, 1);
font-size: 14px;
@@ -2441,6 +2537,7 @@ export default {
margin-top: 17px;
margin-left: 30px;
}
.messagege1 {
color: rgba(153, 155, 163, 1);
font-size: 14px;
@@ -2448,26 +2545,32 @@ export default {
}
}
}
.send {
margin-top: 30px;
margin-left: 61px;
.sendtext {
margin-left: 11px;
color: rgba(109, 117, 132, 1);
font-size: 14px;
}
}
.ckb {
margin-top: 20px;
margin-left: 62px;
.sendpeo {
color: rgba(109, 117, 132, 1);
font-size: 14px;
}
.ant-checkbox-inner {
border-radius: 4px;
}
}
.pubtn {
display: flex;
justify-content: center;
@@ -2486,6 +2589,7 @@ export default {
align-items: center;
background: rgba(255, 255, 255, 1);
}
.pubtn2 {
width: 100px;
height: 40px;

View File

@@ -674,11 +674,11 @@
style="border: 1px solid #f2f6fe"
:columns="studentColumns()"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 1400 }"
@expand="expandTable"
:pagination="false"
:loading="loading"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
@@ -1407,11 +1407,11 @@
<span>您确定要删除此学员吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeDeleteOne">取消</div>
<div class="del_btn btn1" @click="closeDeleteOne">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeDeleteOneConfirm">确定</div>
<div class="del_btn btn2" @click="closeDeleteOneConfirm">
<div class="btnText">确定</div>
</div>
</div>
</div>
@@ -1475,11 +1475,11 @@
<span>您确定批量删除吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeCancelDelete">取消</div>
<div class="del_btn btn1" @click="closeCancelDelete">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeAllDelete">确定</div>
<div class="del_btn btn2" @click="closeAllDelete">
<div class="btnText">确定</div>
</div>
</div>
</div>
@@ -1744,6 +1744,7 @@ export default {
setup() {
const store = useStore();
const state = reactive({
loading: false,
projectId: storage.get("projectId")
? JSON.parse(storage.get("projectId"))
: null,
@@ -3065,6 +3066,7 @@ export default {
//点击确认删除单个学员
const closeDeleteOneConfirm = () => {
state.deleteOneStu = false;
state.loading = true
deleteStu({
projectId: state.projectId,
studentIds: state.chooseDeleteOne,
@@ -3095,6 +3097,7 @@ export default {
};
//点击确定的批量删除弹窗
const closeAllDelete = () => {
state.loading = true
deleteStu({
projectId: state.projectId,
studentIds: state.selectedRows,
@@ -3254,6 +3257,7 @@ export default {
// studentData();
}
}
state.loading = false
})
.catch((err) => {
console.log("获取学员列表失败", err);
@@ -3706,6 +3710,7 @@ export default {
projectGroupId: 0,
};
console.log("obj", obj);
state.loading = true
api
.addStudentProject(obj)
.then((res) => {