mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-18 15:26:48 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -154,8 +154,12 @@ const rowSelection = computed(() => ({
|
|||||||
selectedRowKeys: rowSelectKeys.value,
|
selectedRowKeys: rowSelectKeys.value,
|
||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
|
getCheckboxProps: getCheckboxProps
|
||||||
}));
|
}));
|
||||||
|
const getCheckboxProps = () => ({
|
||||||
|
// 某几项默认禁止选中(R: 当state等于1时)
|
||||||
|
disabled: true
|
||||||
|
})
|
||||||
function onSelectChange(e, l) {
|
function onSelectChange(e, l) {
|
||||||
rowSelectKeys.value = e;
|
rowSelectKeys.value = e;
|
||||||
selectsData.value = l;
|
selectsData.value = l;
|
||||||
|
|||||||
@@ -156,7 +156,12 @@ const rowSelection = computed(() => ({
|
|||||||
selectedRowKeys: rowSelectKeys.value,
|
selectedRowKeys: rowSelectKeys.value,
|
||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
|
getCheckboxProps: getCheckboxProps
|
||||||
}));
|
}));
|
||||||
|
const getCheckboxProps = () => ({
|
||||||
|
// 某几项默认禁止选中(R: 当state等于1时)
|
||||||
|
disabled: true
|
||||||
|
})
|
||||||
|
|
||||||
function onSelectChange(e, l) {
|
function onSelectChange(e, l) {
|
||||||
rowSelectKeys.value = e;
|
rowSelectKeys.value = e;
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
<img src="../../assets/images/studentimg/character.png" />
|
<img src="../../assets/images/studentimg/character.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="stumation">
|
<div class="stumation">
|
||||||
<div class="stuname">{{pro.routerInfo.userName}}</div>
|
<div class="stuname">{{pro.routerInfo.name}}</div>
|
||||||
<div class="stugangw">{{pro.routerInfo.deptName?pro.routerInfo.deptName:"" + '-' + pro.routerInfo.jobName?pro.routerInfo.jobName:""}}</div>
|
<div class="stugangw">{{pro.routerInfo.organizationName?pro.routerInfo.organizationName:"" + '-' + pro.routerInfo.jobName?pro.routerInfo.jobName:""}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sortbox">
|
<div class="sortbox">
|
||||||
<div class="sortname">进度排名</div>
|
<div class="sortname">进度排名</div>
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<div class="sortbox" style="margin-left: 34px">
|
<div class="sortbox" style="margin-left: 34px">
|
||||||
<div class="sortname">已修证书</div>
|
<div class="sortname">已修证书</div>
|
||||||
<div class="sortnub">
|
<div class="sortnub">
|
||||||
<span class="nub1">{{pro.certCnt?pro.certCnt:0}}</span>
|
<span class="nub1">{{pro.routerInfo.certCnt?pro.routerInfo.certCnt:0}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -163,7 +163,12 @@ const rowSelection = computed(() => ({
|
|||||||
selectedRowKeys: rowSelectKeys.value,
|
selectedRowKeys: rowSelectKeys.value,
|
||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
|
getCheckboxProps: getCheckboxProps
|
||||||
}));
|
}));
|
||||||
|
const getCheckboxProps = () => ({
|
||||||
|
// 某几项默认禁止选中(R: 当state等于1时)
|
||||||
|
disabled: true
|
||||||
|
})
|
||||||
|
|
||||||
function onSelectChange(e, l) {
|
function onSelectChange(e, l) {
|
||||||
rowSelectKeys.value = e;
|
rowSelectKeys.value = e;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">组员名单</div>
|
<div class="headerTitle">组员名单1</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"
|
||||||
|
|||||||
@@ -1,20 +1,12 @@
|
|||||||
<!-- eslint-disable vue/no-use-v-if-with-v-for -->
|
<!-- eslint-disable vue/no-use-v-if-with-v-for -->
|
||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<a-drawer :visible="Seevisible" class="drawerStyle seestu" placement="right" width="70%"
|
||||||
:visible="Seevisible"
|
@after-visible-change="afterVisibleChange">
|
||||||
class="drawerStyle seestu"
|
|
||||||
placement="right"
|
|
||||||
width="70%"
|
|
||||||
@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" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="closeDrawer" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="closeDrawer"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<a-spin v-if="loading" :spinning="loading" />
|
<a-spin v-if="loading" :spinning="loading" />
|
||||||
<div v-if="!loading" class="main">
|
<div v-if="!loading" class="main">
|
||||||
@@ -33,14 +25,11 @@
|
|||||||
<span class="total">/{{ rank.total }}</span>
|
<span class="total">/{{ rank.total }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-divider
|
<a-divider type="vertical" style="
|
||||||
type="vertical"
|
|
||||||
style="
|
|
||||||
height: 49px;
|
height: 49px;
|
||||||
margin-left: 34px;
|
margin-left: 34px;
|
||||||
background-color: rgba(170, 166, 166, 0.3);
|
background-color: rgba(170, 166, 166, 0.3);
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
<div class="sortbox" style="margin-left: 34px">
|
<div class="sortbox" style="margin-left: 34px">
|
||||||
<div class="sortname">完成必修</div>
|
<div class="sortname">完成必修</div>
|
||||||
<div class="sortnub">
|
<div class="sortnub">
|
||||||
@@ -49,17 +38,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a-divider
|
<a-divider type="vertical" style="
|
||||||
type="vertical"
|
|
||||||
style="
|
|
||||||
height: 49px;
|
height: 49px;
|
||||||
margin-left: 34px;
|
margin-left: 34px;
|
||||||
background-color: rgba(170, 166, 166, 0.3);"
|
background-color: rgba(170, 166, 166, 0.3);" />
|
||||||
/>
|
|
||||||
<div class="sortbox" style="margin-left: 34px">
|
<div class="sortbox" style="margin-left: 34px">
|
||||||
<div class="sortname">已修证书</div>
|
<div class="sortname">已修证书</div>
|
||||||
<div class="sortnub">
|
<div class="sortnub">
|
||||||
<span class="nub1">{{ certCnt?certCnt:0 }}</span>
|
<span class="nub1">{{ 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -71,22 +57,14 @@
|
|||||||
<div class="mainbox">
|
<div class="mainbox">
|
||||||
<a-collapse v-model:activeKey="stageListActive">
|
<a-collapse v-model:activeKey="stageListActive">
|
||||||
<template #expandIcon="{ isActive }">
|
<template #expandIcon="{ isActive }">
|
||||||
<img
|
<img style="margin-right: 20px" :src="
|
||||||
style="margin-right: 20px"
|
|
||||||
:src="
|
|
||||||
isActive
|
isActive
|
||||||
? require('../../assets/images/studentimg/open.png')
|
? require('../../assets/images/studentimg/open.png')
|
||||||
: require('../../assets/images/studentimg/close.png')
|
: require('../../assets/images/studentimg/close.png')
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
<div></div>
|
<div></div>
|
||||||
</template>
|
</template>
|
||||||
<a-collapse-panel
|
<a-collapse-panel v-for="value in stageList" :key="value.stageId" :header="value.stageName">
|
||||||
v-for="value in stageList"
|
|
||||||
:key="value.stageId"
|
|
||||||
:header="value.stageName"
|
|
||||||
|
|
||||||
>
|
|
||||||
<template #extra>
|
<template #extra>
|
||||||
<div @click.stop="">
|
<div @click.stop="">
|
||||||
<div class="rowbox">
|
<div class="rowbox">
|
||||||
@@ -101,16 +79,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div
|
<div class="rowclass" v-for="(item, key) in value.taskList" :key="key">
|
||||||
class="rowclass"
|
|
||||||
v-for="(item, key) in value.taskList"
|
|
||||||
:key="key"
|
|
||||||
>
|
|
||||||
|
|
||||||
<div class="leftclass">
|
<div class="leftclass">
|
||||||
<div>
|
<div>
|
||||||
<img
|
<img :src="
|
||||||
:src="
|
|
||||||
item.course === '在线'
|
item.course === '在线'
|
||||||
? require('../../assets/images/leveladd/zai.png')
|
? require('../../assets/images/leveladd/zai.png')
|
||||||
: item.course === '面授'
|
: item.course === '面授'
|
||||||
@@ -138,21 +111,18 @@
|
|||||||
: item.course === '评估'
|
: item.course === '评估'
|
||||||
? require('../../assets/images/leveladd/diao.png')
|
? require('../../assets/images/leveladd/diao.png')
|
||||||
: null
|
: null
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="text1">{{ item.course }}</div>
|
<div class="text1">{{ item.course }}</div>
|
||||||
<div class="text2">{{ item.name }}</div>
|
<div class="text2">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="alreadyclass">
|
<div class="alreadyclass">
|
||||||
<div class="alimg">
|
<div class="alimg">
|
||||||
<img
|
<img :src="
|
||||||
:src="
|
|
||||||
item.complete === '已完成'
|
item.complete === '已完成'
|
||||||
? require('../../assets/images/studentimg/complete.png')
|
? require('../../assets/images/studentimg/complete.png')
|
||||||
: require('../../assets/images/studentimg/notice.png')
|
: require('../../assets/images/studentimg/notice.png')
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="altext">{{ item.complete }}</div>
|
<div class="altext">{{ item.complete }}</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -277,6 +247,7 @@ export default {
|
|||||||
let array = [];
|
let array = [];
|
||||||
if (data != undefined) {
|
if (data != undefined) {
|
||||||
data.map((value) => {
|
data.map((value) => {
|
||||||
|
console.log('我排序了吗---------value-----------------》', value)
|
||||||
let obj = {
|
let obj = {
|
||||||
course:
|
course:
|
||||||
value.type == 1
|
value.type == 1
|
||||||
@@ -318,6 +289,7 @@ export default {
|
|||||||
currentRatio: value.currentRatio,
|
currentRatio: value.currentRatio,
|
||||||
routerTaskId: value.routerTaskId,
|
routerTaskId: value.routerTaskId,
|
||||||
};
|
};
|
||||||
|
console.log('我排序了吗---------obj-----------------》', obj)
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
array.sort((a, b) => { return a.projectId - b.projectId })
|
array.sort((a, b) => { return a.projectId - b.projectId })
|
||||||
@@ -331,7 +303,8 @@ export default {
|
|||||||
console.log("查看了学员1", data);
|
console.log("查看了学员1", data);
|
||||||
let array = [];
|
let array = [];
|
||||||
//无阶段任务
|
//无阶段任务
|
||||||
if(data?.length ==1 && data[0].stageId ==0){
|
if (data?.length == 1 && data[0].id == 0) {
|
||||||
|
console.log("无阶段任务", data);
|
||||||
data.map((value) => {
|
data.map((value) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
stageName: "无阶段任务",
|
stageName: "无阶段任务",
|
||||||
@@ -342,17 +315,19 @@ export default {
|
|||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
} else { //有阶段
|
} else { //有阶段
|
||||||
|
console.log("有阶段", data);
|
||||||
data.map((value) => {
|
data.map((value) => {
|
||||||
|
console.log("有阶段value", value);
|
||||||
let obj = {
|
let obj = {
|
||||||
stageName: value.stageName,
|
stageName: value.name,
|
||||||
stageId: value.stageId,
|
stageId: value.id,
|
||||||
remark: value.remark,
|
remark: value.remark,
|
||||||
taskList: taskList(value.taskList),
|
taskList: taskList(value.taskList),
|
||||||
};
|
};
|
||||||
if(value.stageId >0){
|
if (value.id > 0) {
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
}
|
}
|
||||||
|
console.log("有阶段array", array);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -366,9 +341,10 @@ export default {
|
|||||||
};
|
};
|
||||||
studentProcess(obj).then((res) => {
|
studentProcess(obj).then((res) => {
|
||||||
state.loading = false
|
state.loading = false
|
||||||
console.log("查看了学员", res.data.data);
|
console.log("查看了学员", res.data);
|
||||||
let result = res.data.data;
|
let result = res.data.data;
|
||||||
state.userName = result.projectInfo.userName;
|
console.log("查看了学员result:", result);
|
||||||
|
state.userName = result.projectInfo.name;
|
||||||
state.deptName = result.projectInfo.deptName;
|
state.deptName = result.projectInfo.deptName;
|
||||||
state.jobName = result.projectInfo.jobName;
|
state.jobName = result.projectInfo.jobName;
|
||||||
state.certCnt = result.projectInfo.certCnt == null ? 0 : result.projectInfo.certCnt;
|
state.certCnt = result.projectInfo.certCnt == null ? 0 : result.projectInfo.certCnt;
|
||||||
@@ -403,20 +379,24 @@ export default {
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.seestu {
|
.seestu {
|
||||||
.ant-drawer-content-wrapper {
|
.ant-drawer-content-wrapper {
|
||||||
|
|
||||||
// max-width: 1000px;
|
// max-width: 1000px;
|
||||||
.ant-drawer-header {
|
.ant-drawer-header {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-drawer-body {
|
.ant-drawer-body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.drawerMain {
|
.drawerMain {
|
||||||
min-width: 600px;
|
min-width: 600px;
|
||||||
margin: 0px 32px 0px 32px;
|
margin: 0px 32px 0px 32px;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
height: 73px;
|
height: 73px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -426,6 +406,7 @@ export default {
|
|||||||
// background-color: red;
|
// background-color: red;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|
||||||
.headerTitle {
|
.headerTitle {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -434,11 +415,13 @@ export default {
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
|
|
||||||
.stuinfor {
|
.stuinfor {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -448,35 +431,43 @@ export default {
|
|||||||
background-image: url("../../assets/images/studentimg/bgimg.png");
|
background-image: url("../../assets/images/studentimg/bgimg.png");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: right;
|
background-position: right;
|
||||||
|
|
||||||
.stumation {
|
.stumation {
|
||||||
margin-left: 24px;
|
margin-left: 24px;
|
||||||
|
|
||||||
.stuname {
|
.stuname {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stugangw {
|
.stugangw {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sortbox {
|
.sortbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-left: 114px;
|
margin-left: 114px;
|
||||||
|
|
||||||
.sortname {
|
.sortname {
|
||||||
color: #666660;
|
color: #666660;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sortnub {
|
.sortnub {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
|
|
||||||
.nub1 {
|
.nub1 {
|
||||||
color: #0060ff;
|
color: #0060ff;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.total {
|
.total {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
@@ -484,19 +475,23 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.secondrow {
|
.secondrow {
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.rowleft {
|
.rowleft {
|
||||||
color: rgba(51, 51, 51, 1);
|
color: rgba(51, 51, 51, 1);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainbox {
|
.mainbox {
|
||||||
// height: 463px;
|
// height: 463px;
|
||||||
margin-right: 37px;
|
margin-right: 37px;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
|
|
||||||
//border: 1px solid rgba(221, 238, 255, 1);
|
//border: 1px solid rgba(221, 238, 255, 1);
|
||||||
//border-radius: 6px;
|
//border-radius: 6px;
|
||||||
.rowbox {
|
.rowbox {
|
||||||
@@ -510,6 +505,7 @@ export default {
|
|||||||
background: rgba(64, 158, 255, 0.1);
|
background: rgba(64, 158, 255, 0.1);
|
||||||
margin-right: 480px;
|
margin-right: 480px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.shuom {
|
.shuom {
|
||||||
color: rgba(64, 158, 255, 1);
|
color: rgba(64, 158, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -517,23 +513,28 @@ export default {
|
|||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-collapse {
|
.ant-collapse {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-collapse-content>.ant-collapse-content-box {
|
.ant-collapse-content>.ant-collapse-content-box {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-collapse>.ant-collapse-item {
|
.ant-collapse>.ant-collapse-item {
|
||||||
border: 1px solid rgba(221, 238, 255, 1);
|
border: 1px solid rgba(221, 238, 255, 1);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
border-bottom: 0px;
|
border-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-collapse-content {
|
.ant-collapse-content {
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-collapse-header {
|
.ant-collapse-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -543,16 +544,19 @@ export default {
|
|||||||
color: rgba(51, 51, 51, 1);
|
color: rgba(51, 51, 51, 1);
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rowclass {
|
.rowclass {
|
||||||
height: 81px;
|
height: 81px;
|
||||||
border-bottom: 1px solid rgba(221, 238, 255, 1);
|
border-bottom: 1px solid rgba(221, 238, 255, 1);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.leftclass {
|
.leftclass {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-left: 25px;
|
margin-left: 25px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.text1 {
|
.text1 {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -561,6 +565,7 @@ export default {
|
|||||||
word-break: keep-all;
|
word-break: keep-all;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text2 {
|
.text2 {
|
||||||
color: rgba(51, 51, 51, 0.8);
|
color: rgba(51, 51, 51, 0.8);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -571,13 +576,16 @@ export default {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.alreadyclass {
|
.alreadyclass {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-right: 57px;
|
margin-right: 57px;
|
||||||
|
|
||||||
.alimg {
|
.alimg {
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.altext {
|
.altext {
|
||||||
color: rgba(56, 125, 247, 1);
|
color: rgba(56, 125, 247, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -589,6 +597,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnn {
|
.btnn {
|
||||||
height: 72px;
|
height: 72px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -600,6 +609,7 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||||
|
|
||||||
.btn2 {
|
.btn2 {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
@@ -612,5 +622,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}</style>
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -175,7 +175,12 @@ const rowSelection = computed(() => ({
|
|||||||
selectedRowKeys: rowSelectKeys.value,
|
selectedRowKeys: rowSelectKeys.value,
|
||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
preserveSelectedRowKeys: true,
|
preserveSelectedRowKeys: true,
|
||||||
|
getCheckboxProps: getCheckboxProps
|
||||||
}));
|
}));
|
||||||
|
const getCheckboxProps = () => ({
|
||||||
|
// 某几项默认禁止选中(R: 当state等于1时)
|
||||||
|
disabled: true
|
||||||
|
})
|
||||||
|
|
||||||
function onSelectChange(e, l) {
|
function onSelectChange(e, l) {
|
||||||
rowSelectKeys.value = e;
|
rowSelectKeys.value = e;
|
||||||
|
|||||||
@@ -222,7 +222,7 @@
|
|||||||
? '2px solid rgba(78, 166, 255, 1)'
|
? '2px solid rgba(78, 166, 255, 1)'
|
||||||
: '1px solid #C7CBD2',
|
: '1px solid #C7CBD2',
|
||||||
'background-image': 'url(' + item.value.split(',')[0] + ')',
|
'background-image': 'url(' + item.value.split(',')[0] + ')',
|
||||||
display: index >= 5 ? 'none' : 'flex',
|
display: index >= 3 ? 'none' : 'flex',
|
||||||
}"
|
}"
|
||||||
style="background-size: 100% 100%"
|
style="background-size: 100% 100%"
|
||||||
></div>
|
></div>
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@click="showLearnBgMore"
|
@click="showLearnBgMore"
|
||||||
v-if="imgData.length > 5"
|
v-if="imgData.length > 3"
|
||||||
class="learnBgItem learnBgMore"
|
class="learnBgItem learnBgMore"
|
||||||
>
|
>
|
||||||
查看更多 <img src="../../assets/images/projectadd/go.png" />
|
查看更多 <img src="../../assets/images/projectadd/go.png" />
|
||||||
@@ -1419,6 +1419,7 @@ export default {
|
|||||||
// state.imgData = ;
|
// state.imgData = ;
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
|
debugger
|
||||||
const imgData = computed(() => store.state.router_pic);
|
const imgData = computed(() => store.state.router_pic);
|
||||||
//添加权限
|
//添加权限
|
||||||
watch(
|
watch(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!---- 创建项目页面 --->
|
<!---- 创建项目页面 --->
|
||||||
<template>
|
<template xmlns:display="http://www.w3.org/1999/xhtml">
|
||||||
<div class="projectAdd">
|
<div class="projectAdd">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span class="title"
|
<span class="title"
|
||||||
@@ -73,6 +73,9 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
"
|
"
|
||||||
v-for="(src, index) in projectPic"
|
v-for="(src, index) in projectPic"
|
||||||
|
:style="{
|
||||||
|
display: index >= 3 ? 'none' : 'flex',
|
||||||
|
}"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="() => (projectInfo.picUrl = src.value)"
|
@click="() => (projectInfo.picUrl = src.value)"
|
||||||
>
|
>
|
||||||
@@ -87,6 +90,29 @@
|
|||||||
alt="avatar"
|
alt="avatar"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
@click="showLearnBgMore"
|
||||||
|
v-if="projectPic.length > 3"
|
||||||
|
style="
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
padding-left: 15px;
|
||||||
|
border-radius: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 1px solid #c7cbd2;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #4ea6ff;
|
||||||
|
line-height: 36px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看更多 <img src="../../assets/images/projectadd/go.png" alt=""/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -283,6 +309,36 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 更多背景图 v-model:visible="learnBgMore" -->
|
||||||
|
<a-modal
|
||||||
|
:closable="sh"
|
||||||
|
centered="true"
|
||||||
|
v-model:visible="learnBgMore"
|
||||||
|
:footer="null"
|
||||||
|
:width="650"
|
||||||
|
wrapClassName="learnBgMoreModal"
|
||||||
|
:z-index="9999"
|
||||||
|
>
|
||||||
|
<div class="main">
|
||||||
|
<div class="top">
|
||||||
|
<div class="topc">封面图</div>
|
||||||
|
</div>
|
||||||
|
<div class="imagesBox">
|
||||||
|
<div
|
||||||
|
@click="() => (projectInfo.picUrl = src.value)"
|
||||||
|
v-for="item in projectPic"
|
||||||
|
:key="item.code"
|
||||||
|
class="learnBgItem"
|
||||||
|
>
|
||||||
|
<!-- <img class="im" :src="item.source" /> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn">
|
||||||
|
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
|
||||||
|
<button class="samtn btn2" @click="closeLearnBgMore">确定</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -336,10 +392,10 @@ export default {
|
|||||||
ptojectType: "",
|
ptojectType: "",
|
||||||
changeCondition: false,
|
changeCondition: false,
|
||||||
clickNum: 0,
|
clickNum: 0,
|
||||||
timeRange: []
|
timeRange: [],
|
||||||
|
learnBgMore: false
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// 封面图选择
|
// 封面图选择
|
||||||
const handleChangeSelect = (value) => {
|
const handleChangeSelect = (value) => {
|
||||||
console.log(value);
|
console.log(value);
|
||||||
@@ -534,9 +590,23 @@ export default {
|
|||||||
return current && current < dayjs().subtract(1, 'days').endOf('day')
|
return current && current < dayjs().subtract(1, 'days').endOf('day')
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//显示更多路径背景弹窗
|
||||||
|
const showLearnBgMore = () => {
|
||||||
|
state.learnBgMore = true;
|
||||||
|
};
|
||||||
|
//关闭更多路径背景弹窗
|
||||||
|
const closeLearnBgMore = () => {
|
||||||
|
state.learnBgMore = false;
|
||||||
|
};
|
||||||
function calendarChange(date, dateStr, partial) {
|
function calendarChange(date, dateStr, partial) {
|
||||||
state.datePartial = partial
|
state.datePartial = partial
|
||||||
}
|
}
|
||||||
|
const chooseImg2 = (item) => {
|
||||||
|
// console.log(item);
|
||||||
|
state.pathBgId = item.code;
|
||||||
|
state.pathBg = item.value.split(',')[0];
|
||||||
|
state.mobilePicUrl = item.value.split(',')[1];
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -550,6 +620,9 @@ export default {
|
|||||||
backPage,
|
backPage,
|
||||||
templateScroll,
|
templateScroll,
|
||||||
handleChangeSelect,
|
handleChangeSelect,
|
||||||
|
showLearnBgMore,
|
||||||
|
closeLearnBgMore,
|
||||||
|
chooseImg2
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -729,6 +802,33 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
// height: 40px;
|
// height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 33%;
|
||||||
|
margin-top: 30px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
|
||||||
|
.samtn {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
font-size: 14px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn1 {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn2 {
|
||||||
|
background-color: #4ea6ff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.filebox {
|
.filebox {
|
||||||
@@ -871,6 +971,106 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.learnBgMoreModal {
|
||||||
|
.ant-modal {
|
||||||
|
width: 680px !important;
|
||||||
|
height: 528px !important;
|
||||||
|
|
||||||
|
.ant-modal-content {
|
||||||
|
width: 680px !important;
|
||||||
|
height: 528px !important;
|
||||||
|
|
||||||
|
.ant-modal-body {
|
||||||
|
width: 680px !important;
|
||||||
|
height: 528px !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
|
||||||
|
.main {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.top {
|
||||||
|
padding-left: 51px;
|
||||||
|
padding-right: 51px;
|
||||||
|
padding-top: 28px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.topc {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #000000;
|
||||||
|
line-height: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.imagesBox {
|
||||||
|
display: flex;
|
||||||
|
// justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding-left: 51px;
|
||||||
|
padding-right: 39px;
|
||||||
|
margin-top: 20px;
|
||||||
|
height: 350px;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
|
.learnBgItem {
|
||||||
|
border-radius: 8px;
|
||||||
|
width: 136px;
|
||||||
|
height: 106px;
|
||||||
|
background-size: 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 30px;
|
||||||
|
margin-top: 30px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.samtn {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
font-size: 14px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn1 {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn2 {
|
||||||
|
background-color: #4ea6ff;
|
||||||
|
color: #fff;
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn1 {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn2 {
|
||||||
|
background-color: #4ea6ff;
|
||||||
|
color: #fff;
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
.treeDropdown {
|
.treeDropdown {
|
||||||
// width: 240px !important;
|
// width: 240px !important;
|
||||||
// border-radius: 5px;
|
// border-radius: 5px;
|
||||||
|
|||||||
Reference in New Issue
Block a user