This commit is contained in:
kclf
2022-12-04 20:06:21 +08:00
3 changed files with 482 additions and 375 deletions

View File

@@ -649,7 +649,7 @@ export default {
liveName: state.inputV1,
livePlayback: state.switchC1 ? "1" : "0",
livePlaybackLink: state.switchC1 ? state.inputV5 : "",
liveTeacherId: Number(state.memberValue.value),
liveTeacherId: state.memberValue.value,
liveTeacherName: state.memberValue.label,
otherSettings: state.switchC2 ? "1" : "0", //1或0
signOutTime: state.inputV8,
@@ -664,8 +664,9 @@ export default {
console.log(res)
message.destroy();
message.success("提交成功");
await updateTask(res);
closeDrawer();
await updateTask(res);
})
.catch((err) => {
console.log(err)

View File

@@ -230,13 +230,13 @@
>
<template #suffixIcon></template>
</a-tree>
<div
class="boeTreeTitle"
style="margin-top: 8px; cursor: pointer"
@click="addOrgModal"
>
确认添加
</div>
<!-- <div-->
<!-- class="boeTreeTitle"-->
<!-- style="margin-top: 8px; cursor: pointer"-->
<!-- @click="addOrgModal"-->
<!-- >-->
<!-- 确认添加-->
<!-- </div>-->
</div>
</div>
</a-tab-pane>
@@ -353,8 +353,8 @@
<div style="height: 160px" class="selectedsBox" id="selectedsBox">
<div class="selecteds" id="selecteds">
<!-- 遍历生成 -->
<div class="chose" v-for="item in choosepeople" :key="item.key">
<div>{{ item.name || item.realName }}</div>
<div class="chose" v-for="(item,index) in choosepeople" :key="index">
<div>{{ item?.name || item?.realName }}</div>
<div class="ch" @click="deleteChoosePeople(item)"></div>
</div>
</div>
@@ -572,17 +572,18 @@
</a-drawer>
</template>
<script>
import { reactive, toRefs, onMounted, onUnmounted, computed } from "vue";
import {reactive, toRefs, onMounted, onUnmounted, computed} from "vue";
import elementResizeDetectorMaker from "element-resize-detector";
import { message } from "ant-design-vue";
import {message} from "ant-design-vue";
// import { toDate } from "../../api/method";
import { useStore } from "vuex";
import {useStore} from "vuex";
import {
traverseArr,
// deepClone,
// batchLoadList,
} from "../../utils/utils";
import * as api from "../../api/index1";
export default {
name: "ProjCheckShip",
props: {
@@ -710,7 +711,7 @@ export default {
compare: (a, b) => new Date(a.createTime) - new Date(b.createTime),
multiple: 3,
},
scopedSlots: { customRender: "action" }, //引入的插槽
scopedSlots: {customRender: "action"}, //引入的插槽
customRender: (text) => {
// console.log(text.record.checked1);
return (
@@ -894,8 +895,14 @@ export default {
//快速选人 选中的数组
const onSelectChange = (selectedRowKeys, item) => {
console.log("selectedRowKeys changed: ", selectedRowKeys, item);
console.log("choosepeople : ", state.choosepeople);
state.selectedRowKeys = selectedRowKeys;
state.choosepeople = item.reverse();
const se = state.studentList.map(e => e.id).join(',') || ''
const addItem = item.filter(e => (e && !se.includes(e.id + ',')))
addItem.forEach(e => {
e.name = e.realName
})
state.choosepeople = [...addItem.reverse(), ...state.studentList];
selectedsHeight();
// if (selectedRowKeys.length > 0 && item.length > 0) {
// state.selectedRowKeys.push(selectedRowKeys[selectedRowKeys.length - 1]);
@@ -911,14 +918,15 @@ export default {
const deleteChoosePeople = (item) => {
let arr = state.choosepeople;
for (let i = 0; i < arr.length; i++) {
if (arr[i].key === item.key) {
if (arr[i].id == item.id) {
arr.splice(i, 1);
}
}
state.choosepeople = arr;
state.studentList = state.studentList.filter(e => e.id != item.id)
let array = state.selectedRowKeys;
for (let i = 0; i < array.length; i++) {
if (array[i] === item.key) {
if (array[i] === item.id) {
array.splice(i, 1);
}
}
@@ -1298,7 +1306,7 @@ export default {
state.choosepeople.map((value) => {
let obj = {
id: value.id,
name: value.realName,
name: value.name,
};
choosepeople.push(obj);
});
@@ -1351,15 +1359,10 @@ export default {
// console.log("获取权限名单成功", res);
if (res.data.code === 200) {
let studentArr = res.data.data.studentList;
let selectedRowKeys = [];
let choosepeople = [];
for (let i = 0; i < studentArr.length; i++) {
selectedRowKeys.push(studentArr[i].id);
choosepeople.push(studentArr[i]);
}
state.studentList = res.data.data.studentList;
state.choosepeople = res.data.data.studentList;
//快速选人
state.selectedRowKeys = selectedRowKeys;
state.choosepeople = choosepeople;
state.selectedRowKeys = studentArr.map(e => e.id);
let deptArr = res.data.data.deptList;
let selectedKeys1 = [];
let chooseorganization = [];
@@ -1433,6 +1436,7 @@ export default {
.ant-drawer-content-wrapper {
max-width: 1300px !important;
}
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
@@ -1440,6 +1444,7 @@ export default {
display: flex;
flex-direction: column;
overflow-x: auto;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
@@ -1449,6 +1454,7 @@ export default {
align-items: center;
// background-color: red;
margin-bottom: 20px;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -1457,6 +1463,7 @@ export default {
// margin-left: 24px;
}
}
.main {
display: flex;
// min-width: 1200px;
@@ -1470,31 +1477,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;
@@ -1508,10 +1522,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1524,15 +1540,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;
@@ -1546,10 +1565,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1562,11 +1583,13 @@ export default {
border-radius: 8px;
cursor: pointer;
border: 1px solid #409eff;
.wz {
margin-left: 10px;
}
}
}
.line {
width: 100%;
height: 40px;
@@ -1576,6 +1599,7 @@ export default {
align-items: center;
margin-top: 20px;
border: 1px solid #c3e6fc;
.inline {
width: 95%;
height: 100%;
@@ -1586,25 +1610,30 @@ export default {
height: 100%;
display: flex;
align-items: center;
.img {
width: 14px;
height: 15px;
background-image: url(../../assets/images/leveladd/gan.png);
background-size: 100% 100%;
}
.text {
color: #999ba3;
}
.text2 {
color: #4ea6ff;
margin-left: 5px;
margin-right: 5px;
}
.text3 {
color: #999ba3;
margin-left: 20px;
}
}
.right1 {
font-size: 14px;
font-weight: 400;
@@ -1616,9 +1645,11 @@ export default {
}
}
}
.chooseLeft {
display: flex;
justify-content: space-between;
.boeTree {
margin-right: 20px;
// margin-top: 20px;
@@ -1651,6 +1682,7 @@ export default {
margin-bottom: 8px;
margin-top: 20px;
}
.treeMain {
width: 280px;
border-radius: 4px;
@@ -1660,45 +1692,56 @@ 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;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: rgba(250, 250, 250, 1);
}
.ant-table-selection-column {
padding: 0 !important;
}
// table tr td.ant-table-selection-column {
// text-align: right;
// }
@@ -1725,26 +1768,31 @@ export default {
}
}
}
.tab2 {
display: flex;
align-items: center;
// 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;
}
}
.t1 {
display: flex;
align-items: center;
margin-bottom: 5px;
}
.btns {
display: flex;
// margin-top: -10px;
@@ -1761,10 +1809,12 @@ export default {
border-radius: 8px;
border: 1px solid #409eff;
cursor: pointer;
.wz {
margin-left: 10px;
}
}
.btn2 {
width: 100px;
height: 40px;
@@ -1777,35 +1827,43 @@ 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;
white-space: nowrap;
}
.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;
@@ -1822,6 +1880,7 @@ export default {
margin-bottom: 8px;
margin-top: 20px;
}
.treeMain {
width: 280px;
border-radius: 4px;
@@ -1831,21 +1890,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;
// }
@@ -1858,19 +1922,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;
@@ -1879,17 +1947,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;
@@ -1900,6 +1971,7 @@ export default {
height: 32px;
border-radius: 4px;
background: #409eff;
.colose {
width: 16px;
height: 16px;
@@ -1910,12 +1982,14 @@ export default {
background-size: 100%;
margin-right: 4px;
}
.allclear {
color: rgba(255, 255, 255, 1);
font-size: 14px;
}
}
}
.line {
width: 90%;
height: 1px;
@@ -1923,17 +1997,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;
@@ -1945,6 +2022,7 @@ export default {
// height: 170px;
// overflow: hidden;
flex-shrink: 0;
.chose {
// width: 64px;
padding-left: 10px;
@@ -1961,6 +2039,7 @@ export default {
font-size: 12px;
position: relative;
flex-shrink: 0;
.ch {
position: absolute;
width: 18px;
@@ -1973,6 +2052,7 @@ export default {
}
}
}
.btnn {
height: 72px;
width: 100%;
@@ -1984,6 +2064,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;
@@ -1993,6 +2074,7 @@ export default {
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
@@ -2006,43 +2088,55 @@ 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;
}
}
.changetreedropdownboe {
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;
@@ -2063,15 +2157,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;
@@ -2079,6 +2176,7 @@ export default {
background-image: url(@/assets/images/taskpage/gan.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
@@ -2089,6 +2187,7 @@ export default {
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
@@ -2098,6 +2197,7 @@ export default {
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
@@ -2106,10 +2206,12 @@ export default {
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
@@ -2120,17 +2222,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;
@@ -2140,6 +2245,7 @@ export default {
}
}
}
.ant-modal-close-x {
display: none;
}

View File

@@ -872,11 +872,11 @@
<span>您确定要取消阶段吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeCancel">取消</div>
<div class="del_btn btn1" @click="closeCancel">
<div class="btnText" >取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="showModal">确定</div>
<div class="del_btn btn2" @click="showModal">
<div class="btnText" >确定</div>
</div>
</div>
</div>
@@ -902,11 +902,11 @@
<span>您确定要删除此任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
<div class="del_btn btn1" @click="closeDelete">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="showModal1">确定</div>
<div class="del_btn btn2" @click="showModal1">
<div class="btnText" >确定</div>
</div>
</div>
</div>
@@ -931,11 +931,11 @@
<span>您确定要批量删除任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeDeAll">取消</div>
<div class="del_btn btn1" @click="closeDeAll">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="deleteTaskAll">确定</div>
<div class="del_btn btn2" @click="deleteTaskAll">
<div class="btnText">确定</div>
</div>
</div>
</div>