mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 19:36:46 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -1,30 +1,18 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:visible="addinvistVisible"
|
||||
class="drawerStyle addinvistDrawer"
|
||||
width="70%"
|
||||
title="添加评估"
|
||||
placement="right"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
>
|
||||
<a-drawer :visible="addinvistVisible" class="drawerStyle addinvistDrawer" width="70%" title="添加评估" placement="right"
|
||||
@after-visible-change="afterVisibleChange">
|
||||
<div class="drawerMain">
|
||||
<div class="header">
|
||||
<div v-if="edit" class="headerTitle">编辑评估</div>
|
||||
<div v-else class="headerTitle">添加评估</div>
|
||||
<img
|
||||
style="width: 29px; height: 29px; cursor: pointer"
|
||||
src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer"
|
||||
/>
|
||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer" />
|
||||
</div>
|
||||
<div class="contentMain">
|
||||
<div class="main">
|
||||
<div class="main_left">
|
||||
<AssessmentAll
|
||||
v-model:assessmentVisible="assessmentVisible"
|
||||
v-model:assessmentId="assessmentId"
|
||||
v-model:assessmentName="assessmentName"
|
||||
/>
|
||||
<AssessmentAll v-model:assessmentVisible="assessmentVisible" v-model:assessmentId="assessmentId"
|
||||
v-model:assessmentName="assessmentName" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -264,7 +252,7 @@ export default {
|
||||
IsExistenceProjectTemplate({
|
||||
courseTaskId: l_data_id,
|
||||
projectTemplateId: props.projectTemplateId,
|
||||
stageId: props.chooseStageId || 0,
|
||||
templateStageId: props.chooseStageId || 0,
|
||||
type: 11,
|
||||
}).then((res) => {
|
||||
console.log(res);
|
||||
@@ -320,6 +308,7 @@ export default {
|
||||
.ant-table-striped :deep(.table-striped) td {
|
||||
background-color: #fafafa !important;
|
||||
}
|
||||
|
||||
.addinvistDrawer {
|
||||
.drawerMain {
|
||||
.header {
|
||||
@@ -328,6 +317,7 @@ export default {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.headerTitle {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
@@ -336,12 +326,15 @@ export default {
|
||||
margin-left: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.contentMain {
|
||||
.main {
|
||||
width: 100%;
|
||||
|
||||
.main_left {
|
||||
padding-right: 30px;
|
||||
margin-top: 32px;
|
||||
|
||||
.main_item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -349,6 +342,7 @@ export default {
|
||||
.fi_input {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.btns {
|
||||
margin-right: 20px;
|
||||
padding: 0px 26px 0px 26px;
|
||||
@@ -362,12 +356,14 @@ export default {
|
||||
margin-right: 14px;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
@@ -376,6 +372,7 @@ export default {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.btnsn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
@@ -388,12 +385,14 @@ export default {
|
||||
margin-right: 14px;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
|
||||
.search {
|
||||
width: 16px;
|
||||
height: 18px;
|
||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
@@ -403,6 +402,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_notice {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -410,16 +410,20 @@ export default {
|
||||
margin-bottom: 3px;
|
||||
height: 40px;
|
||||
background-color: #e9f6fe;
|
||||
|
||||
.mntc_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.title {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
margin-right: 17px;
|
||||
}
|
||||
|
||||
.data {
|
||||
color: #4ea6ff;
|
||||
}
|
||||
|
||||
.notice_icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
@@ -429,6 +433,7 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.mntc_right {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -447,6 +452,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;
|
||||
@@ -456,6 +462,7 @@ export default {
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
|
||||
@@ -1,21 +1,12 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:visible="addonlineVisible"
|
||||
class="drawerStyle addonlineDrawer"
|
||||
width="80%"
|
||||
title="添加在线"
|
||||
placement="right"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
>
|
||||
<a-drawer :visible="addonlineVisible" class="drawerStyle addonlineDrawer" width="80%" title="添加在线" placement="right"
|
||||
@after-visible-change="afterVisibleChange">
|
||||
<div class="drawerMain">
|
||||
<div class="header">
|
||||
<div v-if="edit" class="headerTitle">编辑在线</div>
|
||||
<div v-else class="headerTitle">添加在线</div>
|
||||
<img
|
||||
style="width: 29px; height: 29px; cursor: pointer"
|
||||
src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer"
|
||||
/>
|
||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer" />
|
||||
</div>
|
||||
<div class="contentMain">
|
||||
<div class="main_items">
|
||||
@@ -23,17 +14,12 @@
|
||||
<div class="mii_ipt">
|
||||
<div class="ipt_name"></div>
|
||||
<div class="fi_input">
|
||||
<a-input
|
||||
v-model:value="inputV1"
|
||||
style="
|
||||
<a-input v-model:value="inputV1" style="
|
||||
width: 280px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
padding-right: 49px;
|
||||
"
|
||||
placeholder="请输入课程名称"
|
||||
maxlength="20"
|
||||
/>
|
||||
" placeholder="请输入课程名称" maxlength="20" />
|
||||
<div class="inp_num" style="position: absolute; right: 7px">
|
||||
<span style="color: #c7cbd2">
|
||||
|
||||
@@ -93,37 +79,23 @@
|
||||
<!-- 编辑的表格 -->
|
||||
<div>
|
||||
<div>
|
||||
<a-table
|
||||
class="ant-table-striped"
|
||||
:row-class-name="
|
||||
<a-table class="ant-table-striped" :row-class-name="
|
||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||
"
|
||||
:row-selection="{
|
||||
" :row-selection="{
|
||||
type: 'radio',
|
||||
selectedRowKeys: selectedRowKeys,
|
||||
onChange: onSelectChange,
|
||||
}"
|
||||
:columns="tableDataFunc()"
|
||||
:data-source="tableData"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
:pagination="false"
|
||||
/>
|
||||
}" :columns="tableDataFunc()" :data-source="tableData" :loading="tableDataTotal === -1 ? true : false"
|
||||
:pagination="false" />
|
||||
<div class="tableBox" style="margin-top:85px;">
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
v-if="tableDataTotal > 10"
|
||||
:showSizeChanger="false"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
:current="currentPage"
|
||||
:total="tableDataTotal"
|
||||
class="pagination"
|
||||
@change="handelChangePage"
|
||||
/>
|
||||
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="false" showQuickJumper="true"
|
||||
hideOnSinglePage="true" :pageSize="pageSize" :current="currentPage" :total="tableDataTotal"
|
||||
class="pagination" @change="handelChangePage" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div>
|
||||
<!-- <div v-else>
|
||||
<a-table
|
||||
class="ant-table-striped"
|
||||
@@ -607,7 +579,7 @@ export default {
|
||||
IsExistenceProjectTemplate({
|
||||
courseTaskId: p_data_id,
|
||||
projectTemplateId: props.projectTemplateId,
|
||||
stageId: props.chooseStageId || 0,
|
||||
templateStageId: props.chooseStageId || 0,
|
||||
type: 1,
|
||||
}).then((res) => {
|
||||
console.log("项目中是否包含此在线课了", res);
|
||||
@@ -700,6 +672,7 @@ export default {
|
||||
.ant-table-striped :deep(.table-striped) td {
|
||||
background-color: #fafafa !important;
|
||||
}
|
||||
|
||||
.addonlineDrawer {
|
||||
.drawerMain {
|
||||
.header {
|
||||
@@ -709,6 +682,7 @@ export default {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
|
||||
.headerTitle {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
@@ -717,31 +691,38 @@ export default {
|
||||
margin-left: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.contentMain {
|
||||
padding-right: 12px;
|
||||
|
||||
.main_items {
|
||||
display: flex;
|
||||
|
||||
margin-top: 32px;
|
||||
margin-bottom: 12px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.mi_ipts {
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.mii_ipt {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 24px;
|
||||
|
||||
.ipt_name {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mi_btns {
|
||||
display: flex;
|
||||
margin-left: 38px;
|
||||
margin-bottom: 20px;
|
||||
cursor: pointer;
|
||||
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
@@ -752,9 +733,11 @@ export default {
|
||||
justify-content: center;
|
||||
margin-left: 14px;
|
||||
flex-shrink: 0;
|
||||
|
||||
.search {
|
||||
background-size: 100%;
|
||||
}
|
||||
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
@@ -762,48 +745,61 @@ export default {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn1 {
|
||||
background: rgb(64, 158, 255);
|
||||
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("@/assets/images/coursewareManage/search0.png");
|
||||
}
|
||||
|
||||
.btnText {
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
background: rgb(255, 255, 255);
|
||||
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("@/assets/images/coursewareManage/reset1.png");
|
||||
}
|
||||
|
||||
.btnText {
|
||||
color: rgb(64, 158, 255);
|
||||
}
|
||||
}
|
||||
|
||||
.btn1:hover {
|
||||
background: rgb(255, 255, 255);
|
||||
|
||||
.search {
|
||||
background-image: url("@/assets/images/courseManage/search1.png");
|
||||
}
|
||||
|
||||
.btnText {
|
||||
color: #4ea6ff;
|
||||
}
|
||||
}
|
||||
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
|
||||
.search {
|
||||
background-image: url("@/assets/images/courseManage/reset0.png");
|
||||
}
|
||||
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_notice {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -811,9 +807,11 @@ export default {
|
||||
margin-bottom: 3px;
|
||||
height: 40px;
|
||||
background-color: #e9f6fe;
|
||||
|
||||
.mntc_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.notice_icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
@@ -823,32 +821,38 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.mntc_right {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.main_table {
|
||||
position: relative;
|
||||
padding-bottom: 80px;
|
||||
|
||||
.ant-checkbox-wrapper {
|
||||
align-items: center;
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.ant-table-selection-column {
|
||||
padding: 0px !important;
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
|
||||
.ant-table-thead>tr>th {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
}
|
||||
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
|
||||
.ant-table-tbody>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td {
|
||||
background: #f6f9fd;
|
||||
}
|
||||
|
||||
.pa {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
@@ -859,6 +863,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_btns {
|
||||
height: 72px;
|
||||
width: 100%;
|
||||
@@ -868,6 +873,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;
|
||||
@@ -877,6 +883,7 @@ export default {
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
|
||||
@@ -1,19 +1,11 @@
|
||||
<template>
|
||||
<a-drawer
|
||||
:visible="addtestVisible"
|
||||
class="drawerStyle addtestDrawer"
|
||||
width="80%"
|
||||
placement="right"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
>
|
||||
<a-drawer :visible="addtestVisible" class="drawerStyle addtestDrawer" width="80%" placement="right"
|
||||
@after-visible-change="afterVisibleChange">
|
||||
<div class="drawerMain">
|
||||
<div class="header">
|
||||
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}考试</div>
|
||||
<img
|
||||
style="width: 29px; height: 29px; cursor: pointer"
|
||||
src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer2"
|
||||
/>
|
||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer2" />
|
||||
</div>
|
||||
<!-- 2022-11-30注释 后面放开 修改div的padding-topL:32 -->
|
||||
<div style="display: flex; flex-direction: row; padding-top: 0px">
|
||||
@@ -39,30 +31,20 @@
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">考试名称:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-input
|
||||
v-model:value="test.examinationName"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入考试名称"
|
||||
:maxlength="20"
|
||||
/>
|
||||
<a-input v-model:value="test.examinationName" style="width: 400px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入考试名称" :maxlength="20" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">选择试卷:</span>
|
||||
</div>
|
||||
@@ -80,11 +62,8 @@
|
||||
</div>
|
||||
<!-- 选择面授侧弹窗 -->
|
||||
<div>
|
||||
<sel-facet
|
||||
v-model:selfacetVisible="selfacetvisible"
|
||||
v-model:chooseCourse="chooseCourse"
|
||||
v-model:chooseCourseName="chooseCourseName"
|
||||
/>
|
||||
<sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse"
|
||||
v-model:chooseCourseName="chooseCourseName" />
|
||||
</div>
|
||||
<!-- 选择面授侧弹窗 -->
|
||||
</div>
|
||||
@@ -92,41 +71,25 @@
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">考试时间:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-range-picker
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
show-time
|
||||
format="YYYY/MM/DD HH:mm"
|
||||
v-model:value="test.chooseTime"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
<a-range-picker style="width: 400px; height: 40px; border-radius: 8px" show-time format="YYYY/MM/DD HH:mm"
|
||||
v-model:value="test.chooseTime" :placeholder="[' 开始时间', ' 结束时间']" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item">
|
||||
<div class="signbox">
|
||||
<div class="sign">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt=""
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||
</div>
|
||||
<span style="margin-right: 3px">考试时长:</span>
|
||||
</div>
|
||||
<div class="select">
|
||||
<a-input-number
|
||||
:min="0"
|
||||
:max="300"
|
||||
:precision="0"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
v-model:value="test.examinationDuration"
|
||||
></a-input-number>
|
||||
<a-input-number :min="0" :max="300" :precision="0" style="width: 400px; height: 40px; border-radius: 8px"
|
||||
v-model:value="test.examinationDuration"></a-input-number>
|
||||
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -135,14 +98,8 @@
|
||||
<span style="margin-right: 3px">考试说明:</span>
|
||||
</div>
|
||||
<div class="textarea">
|
||||
<a-textarea
|
||||
v-model:value="test.examinationExplain"
|
||||
placeholder="请输入考试说明"
|
||||
allow-clear
|
||||
show-count
|
||||
:maxlength="200"
|
||||
:rows="6"
|
||||
/>
|
||||
<a-textarea v-model:value="test.examinationExplain" placeholder="请输入考试说明" allow-clear show-count
|
||||
:maxlength="200" :rows="6" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item2">
|
||||
@@ -153,21 +110,13 @@
|
||||
<div class="setbox">
|
||||
<div class="timerbox">
|
||||
<span>允许重复考试:</span>
|
||||
<a-input-number
|
||||
:min="-1"
|
||||
:max="300"
|
||||
:precision="0"
|
||||
style="
|
||||
<a-input-number :min="-1" :max="300" :precision="0" style="
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
"
|
||||
v-model:value="test.examinationLimit"
|
||||
></a-input-number>
|
||||
<span style="color: #999999; margin-left: 8px"
|
||||
>次,-1表示无限制</span
|
||||
>
|
||||
" v-model:value="test.examinationLimit"></a-input-number>
|
||||
<span style="color: #999999; margin-left: 8px">次,-1表示无限制</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -178,15 +127,10 @@
|
||||
<span style="margin-right: 3px">显示答案:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-radio-group
|
||||
style="margin-right: 12px"
|
||||
v-model:value="test.showAnswers"
|
||||
>
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
|
||||
>允许查看
|
||||
<a-radio-group style="margin-right: 12px" v-model:value="test.showAnswers">
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio1">允许查看
|
||||
</a-radio>
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio1"
|
||||
>不允许查看
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio1">不允许查看
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
@@ -196,15 +140,10 @@
|
||||
<span style="margin-right: 3px">显示解析:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-radio-group
|
||||
style="margin-right: 12px"
|
||||
v-model:value="test.showAnalysis"
|
||||
>
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio2"
|
||||
>允许查看
|
||||
<a-radio-group style="margin-right: 12px" v-model:value="test.showAnalysis">
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio2">允许查看
|
||||
</a-radio>
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio2"
|
||||
>不允许查看
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio2">不允许查看
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
@@ -214,15 +153,10 @@
|
||||
<span style="margin-right: 3px">评分模式:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-radio-group
|
||||
style="margin-right: 12px"
|
||||
v-model:value="test.scoringModel"
|
||||
>
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio3"
|
||||
>最高一次
|
||||
<a-radio-group style="margin-right: 12px" v-model:value="test.scoringModel">
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio3">最高一次
|
||||
</a-radio>
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio3"
|
||||
>最后一次
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio3">最后一次
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
@@ -232,11 +166,8 @@
|
||||
<span style="margin-right: 3px">及格线:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-input
|
||||
v-model:value="test.passLine"
|
||||
type="number"
|
||||
style="width: 400px; height: 40px; border-radius: 8px"
|
||||
/>
|
||||
<a-input v-model:value="test.passLine" type="number"
|
||||
style="width: 400px; height: 40px; border-radius: 8px" />
|
||||
|
||||
<span style="color: #999999; margin-left: 8px">分</span>
|
||||
</div>
|
||||
@@ -247,33 +178,14 @@
|
||||
<span style="margin-right: 3px">试题排列:</span>
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-radio-group
|
||||
style="margin-right: 12px"
|
||||
v-model:value="test.questionArrangement"
|
||||
>
|
||||
<a-radio
|
||||
v-model:checked="checked"
|
||||
:value="1"
|
||||
@click="cloradio4"
|
||||
>试题乱序
|
||||
<a-radio-group style="margin-right: 12px" v-model:value="test.questionArrangement">
|
||||
<a-radio v-model:checked="checked" :value="1" @click="cloradio4">试题乱序
|
||||
</a-radio>
|
||||
<a-radio
|
||||
v-model:checked="checked"
|
||||
:value="2"
|
||||
@click="cloradio4"
|
||||
>选项乱序
|
||||
<a-radio v-model:checked="checked" :value="2" @click="cloradio4">选项乱序
|
||||
</a-radio>
|
||||
<a-radio
|
||||
v-model:checked="checked"
|
||||
:value="3"
|
||||
@click="cloradio4"
|
||||
>全部乱序
|
||||
<a-radio v-model:checked="checked" :value="3" @click="cloradio4">全部乱序
|
||||
</a-radio>
|
||||
<a-radio
|
||||
v-model:checked="checked"
|
||||
:value="4"
|
||||
@click="cloradio4"
|
||||
>不乱序
|
||||
<a-radio v-model:checked="checked" :value="4" @click="cloradio4">不乱序
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
@@ -415,6 +327,7 @@ export default {
|
||||
clearAll();
|
||||
};
|
||||
const closeDrawer2 = () => {
|
||||
state.paperName = "";
|
||||
state.statechoosedTime = "";
|
||||
ctx.emit("update:edit", false);
|
||||
ctx.emit("update:addtestVisible", false);
|
||||
@@ -522,7 +435,7 @@ export default {
|
||||
state.EditTestId = res.data.data.examinationId;
|
||||
if (props.faceLevel) {
|
||||
state.EditTestId = res.data.data.examinationId;
|
||||
|
||||
state.paperName = "";
|
||||
closeDrawer();
|
||||
} else {
|
||||
if (props.isLevel == 1) {
|
||||
@@ -544,7 +457,7 @@ export default {
|
||||
console.log("props.edit", props.edit);
|
||||
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
|
||||
state.paperName = "";
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -565,6 +478,7 @@ export default {
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
state.paperName = "";
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -583,6 +497,7 @@ export default {
|
||||
.then(() => {
|
||||
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
state.paperName = "";
|
||||
closeDrawer();
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -826,28 +741,33 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_table {
|
||||
position: relative;
|
||||
padding-bottom: 80px;
|
||||
|
||||
.ant-checkbox-wrapper {
|
||||
align-items: center;
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.ant-table-selection-column {
|
||||
padding: 0px !important;
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
|
||||
.ant-table-thead>tr>th {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
}
|
||||
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
|
||||
.ant-table-tbody>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td {
|
||||
background: #f6f9fd;
|
||||
}
|
||||
|
||||
.pa {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
@@ -857,6 +777,7 @@ export default {
|
||||
bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.main_btns {
|
||||
height: 72px;
|
||||
width: 100%;
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<!-- eslint-disable vue/no-parsing-error -->
|
||||
<!-- eslint-disable vue/require-v-for-key -->
|
||||
<template>
|
||||
<div>
|
||||
<a-drawer
|
||||
:visible="visiable"
|
||||
class="drawerStyle ProjCheckship"
|
||||
placement="right"
|
||||
width="55%"
|
||||
width="60%"
|
||||
>
|
||||
<div class="drawerMain" id="ProjCheckship">
|
||||
<div class="header">
|
||||
@@ -18,7 +20,7 @@
|
||||
/>
|
||||
</div>
|
||||
<div style="width:100%;display: grid;grid-template-columns: 750px auto;">
|
||||
<div class="tabs">
|
||||
<div class="tabs" style="min-height:800px;" >
|
||||
<a-tabs v-model:activeKey="activeKey">
|
||||
<a-tab-pane :key="1" tab="快速选人">
|
||||
<div :style="{ height: screenHeight - 235 + 'px' }">
|
||||
@@ -39,7 +41,8 @@
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="chooseLeft" style="display: grid;grid-template-columns: 250px auto">
|
||||
<div :style="{ height: screenHeight - 235 + 'px' ,overflowY:'auto'}">
|
||||
<div :style="{ height: screenHeight - 180 + 'px' ,overflowY:'auto'}" style="border: 1px solid #f0f0f0; ;">
|
||||
<div class="tree" style="margin: 10px 4px 220px 10px;">
|
||||
<a-tree
|
||||
allow-clear
|
||||
tree-default-expand-all
|
||||
@@ -54,7 +57,8 @@
|
||||
>
|
||||
</a-tree>
|
||||
</div>
|
||||
<div class="tableBox tabb">
|
||||
</div>
|
||||
<div class="tableBox tabb" style="margin: 0px 4px 120px 10px; border: 1px solid #f0f0f0;">
|
||||
<a-table
|
||||
:columns="stuColumns"
|
||||
:data-source="stuData"
|
||||
@@ -140,13 +144,108 @@
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
<div style="padding:100px 0 0 20px;display: grid;grid-template-rows: auto auto auto;">
|
||||
<div class="right1">
|
||||
<div class="onerow">
|
||||
<div class="onleft">
|
||||
<div class="already">已选</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div
|
||||
class="selecteds"
|
||||
:style="{ 'max-height': screenHeight - 235 + 'px' }"
|
||||
style="overflow-y: auto"
|
||||
>
|
||||
<div class="person">快速选人</div>
|
||||
<div v-for="(item,i) in selectsData.studentList" >
|
||||
<div v-if="i<11">
|
||||
<div class="chose">
|
||||
{{ item.realName }}
|
||||
<div class="ch" @click="stuDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if ="person">
|
||||
<div class="chose">
|
||||
{{ item.realName }}
|
||||
<div class="ch" @click="stuDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="!person && selectsData.studentList.length >10" class="ifsw"><div @click="person = !person" class=“sw”>查看更多></div></div>
|
||||
<div v-if="person && selectsData.studentList.length >10" class="ifsw" ><div @click="person = !person" class="sw"> 收起< </div></div>
|
||||
|
||||
<!--组织-->
|
||||
<div class="dept">添加组织</div>
|
||||
<div v-for="(item,i) in selectsData.deptList" >
|
||||
<div v-if="i<11">
|
||||
<div class="chose1">
|
||||
<div class="span"> {{ item.name }}</div>
|
||||
<div class="ch1" @click="orgDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if ="dept">
|
||||
<div class="chose1">
|
||||
<div class="span"> {{ item.name }}</div>
|
||||
<div class="ch1" @click="orgDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="!dept && selectsData.deptList.length >10" class="ifsw"><div @click="dept = !dept" class=“sw”>查看更多></div></div>
|
||||
<div v-if="dept && selectsData.deptList.length >10" class="ifsw" ><div @click="dept = !dept" class="sw"> 收起< </div></div>
|
||||
|
||||
|
||||
<!--受众-->
|
||||
<div class="group">受众关联</div>
|
||||
<div v-for="(item,i) in selectsData.groupList" >
|
||||
<div v-if="i<11">
|
||||
<div class="chose2">
|
||||
<div class="span"> {{ item.audienceName }}</div>
|
||||
<div class="ch2" @click="AuditDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if ="group">
|
||||
<div class="chose2">
|
||||
<div class="span"> {{ item.audienceName }}</div>
|
||||
<div class="ch2" @click="AuditDel(i)"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="!group && selectsData.groupList.length >10" class="ifsw"><div @click="group = !group" class=“sw”>查看更多></div></div>
|
||||
<div v-if="group && selectsData.groupList >10" class="ifsw" ><div @click="group = !group" class="sw"> 收起< </div></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div style="padding:100px 0 0 20px;display: grid;grid-template-rows: auto auto auto;">
|
||||
<div>
|
||||
<div style="margin-top: 20px">快速选人</div>
|
||||
<a-tag :closable="true" color="#4ea6ff" @close="stuDel(i)" v-for="(item,i) in selectsData.studentList"
|
||||
// eslint-disable-next-line vue/require-v-for-key
|
||||
<div v-for="(item,i) in selectsData.studentList" >
|
||||
|
||||
<a-tag v-if="i < 10" :closable="true" color="#4ea6ff" @close="stuDel(i)"
|
||||
:key="i" style="margin-top:20px">
|
||||
{{ item.realName }}
|
||||
</a-tag>
|
||||
<a-tag v-else :closable="true" color="#4ea6ff" @close="stuDel(i)"
|
||||
style="margin-top:20px">
|
||||
{{ item.realName }}
|
||||
</a-tag>
|
||||
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style="margin-top: 20px">组织添加</div>
|
||||
@@ -163,7 +262,7 @@
|
||||
{{ item.audienceName }}
|
||||
</a-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn1" @click="closeDrawer">取消</button>
|
||||
@@ -205,6 +304,9 @@ const props = defineProps({
|
||||
default: () => []
|
||||
}
|
||||
})
|
||||
const person =ref(false)
|
||||
const dept =ref(false)
|
||||
const group =ref(false)
|
||||
const visiable = ref(false)
|
||||
const activeKey = ref(1)
|
||||
const stageVisible = ref(false)
|
||||
@@ -404,12 +506,17 @@ function stuDel(i) {
|
||||
selectsData.value.studentList.splice(i, 1)
|
||||
}
|
||||
|
||||
function orgDel(i) {
|
||||
orgSelectKeys.value = orgSelectKeys.value.filter(e => e !== selectsData.value.deptList[i].id)
|
||||
selectsData.value.deptList.splice(i, 1)
|
||||
}
|
||||
|
||||
function AuditDel(i) {
|
||||
auditSelectKeys.value = auditSelectKeys.value.filter(e => e !== selectsData.value.groupList[i].id)
|
||||
selectsData.value.groupList.splice(i, 1)
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
// function orgSelect(key, obj) {
|
||||
// console.log(obj)
|
||||
//request(ORG_CHILD_LIST, {orgId: null}).then(res => {
|
||||
@@ -516,7 +623,7 @@ watch(visiable, () => {
|
||||
})
|
||||
|
||||
</script>
|
||||
<style>
|
||||
<style lang="scss">
|
||||
.ant-btn-primary {
|
||||
background-color: #4ea6ff !important;
|
||||
}
|
||||
@@ -525,4 +632,196 @@ watch(visiable, () => {
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.tableBox .ant-table-row .ant-table-cell {
|
||||
height: 48px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #4F5156;
|
||||
line-height: 29px;
|
||||
padding: 0px;
|
||||
}
|
||||
.tableBox .ant-table-thead tr th {
|
||||
font-size: 12px;
|
||||
}
|
||||
.ant-tabs-tabpane{
|
||||
height: 100%;
|
||||
}
|
||||
.ant-tabs{
|
||||
overflow:visible;
|
||||
}
|
||||
.right1 {
|
||||
border-left: 1px solid #f2f6fe;
|
||||
width: 100%;
|
||||
margin-left: 20px;
|
||||
|
||||
.onerow {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-right: 40px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
width: 100%;
|
||||
.onleft {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
.already {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
margin-left: 32px;
|
||||
white-space: nowrap;
|
||||
// margin-bottom: 20px;
|
||||
}
|
||||
.count {
|
||||
color: #4ea6ff;
|
||||
font-size: 16px;
|
||||
margin: 0 6px;
|
||||
}
|
||||
.peo {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
.clbox {
|
||||
margin-right: 50px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
width: 104px;
|
||||
height: 32px;
|
||||
border-radius: 4px;
|
||||
background: #4ea6ff;
|
||||
.colose {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
// border-radius: 8px;
|
||||
// background: #ffffff;
|
||||
// position: relative;
|
||||
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||
background-size: 100%;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.allclear {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.selecteds {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-left: 32px;
|
||||
.person{
|
||||
width:100%;
|
||||
margin-top: 20px;
|
||||
border-top: 1px solid #f2f6fe;
|
||||
}
|
||||
.chose {
|
||||
width: 64px;
|
||||
height: 24px;
|
||||
margin-top: 25px;
|
||||
margin-right: 25px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 2px;
|
||||
border: 1px solid rgba(56, 139, 225, 1);
|
||||
color: rgba(56, 139, 225, 1);
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
.ch {
|
||||
position: absolute;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||
right: -8px;
|
||||
top: -8px;
|
||||
}
|
||||
}
|
||||
.ifsw{
|
||||
display:flex;
|
||||
align-items:end;
|
||||
justify-content: center;
|
||||
color:#4ea6ff;
|
||||
}
|
||||
.sw{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content: center;
|
||||
text-align: justify;
|
||||
color:#4ea6ff;
|
||||
margin-top: 23px;
|
||||
margin-left:10px;
|
||||
}
|
||||
.dept{
|
||||
width:100%;
|
||||
margin-top: 30px;
|
||||
border-top: 1px solid #f2f6fe;
|
||||
}
|
||||
.chose1 {
|
||||
//width: 90px;
|
||||
height: 24px;
|
||||
margin-top: 25px;
|
||||
margin-right: 25px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 2px;
|
||||
border: 1px solid rgba(56, 139, 225, 1);
|
||||
color: rgba(56, 139, 225, 1);
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
.span{
|
||||
white-space:nowrap;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
}
|
||||
.ch1 {
|
||||
position: absolute;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||
right: -8px;
|
||||
top: -8px;
|
||||
}
|
||||
|
||||
}
|
||||
.group{
|
||||
width:100%;
|
||||
margin-top: 30px;
|
||||
border-top: 1px solid #f2f6fe;
|
||||
}
|
||||
.chose2 {
|
||||
//width: 120px;
|
||||
height: 24px;
|
||||
margin-top: 25px;
|
||||
margin-right: 25px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 2px;
|
||||
border: 1px solid rgba(56, 139, 225, 1);
|
||||
color: rgba(56, 139, 225, 1);
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
.span{
|
||||
white-space:nowrap;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
}
|
||||
.ch2 {
|
||||
position: absolute;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||
right: -8px;
|
||||
top: -8px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -118,7 +118,7 @@ const tablecolumns = ref([
|
||||
title: "姓名",
|
||||
dataIndex: "studentName",
|
||||
key: "studentName",
|
||||
width: "20%",
|
||||
width: "10%",
|
||||
align: "left",
|
||||
className: "h",
|
||||
},
|
||||
@@ -126,7 +126,7 @@ const tablecolumns = ref([
|
||||
title: "工号",
|
||||
dataIndex: "studentUserNo",
|
||||
key: "studentUserNo",
|
||||
width: "10%",
|
||||
width: "20%",
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
@@ -135,7 +135,7 @@ const tablecolumns = ref([
|
||||
title: "部门",
|
||||
dataIndex: "studentDepartName",
|
||||
key: "studentDepartName",
|
||||
width: "10%",
|
||||
width: "20%",
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
@@ -144,7 +144,7 @@ const tablecolumns = ref([
|
||||
title: "加入方式",
|
||||
dataIndex: "source",
|
||||
key: "source",
|
||||
width: "10%",
|
||||
width: "20%",
|
||||
align: "center",
|
||||
customRender: ({record: {source}}) =>
|
||||
({1: "快速添加", 2: "组织", 3: "受众"}[source]),
|
||||
@@ -174,7 +174,7 @@ const tableData = ref({
|
||||
});
|
||||
|
||||
const stuRowSelection = computed(() => ({
|
||||
columnWidth: 20,
|
||||
columnWidth: 10,
|
||||
selectedRowKeys: stuSelectKeys.value,
|
||||
onChange: onStuSelectChange,
|
||||
preserveSelectedRowKeys: true,
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
placeholder="请输入课程名称"
|
||||
v-model:value="xzinputV1"
|
||||
v-model:validate="validate"
|
||||
v-model:finished="finished"
|
||||
|
||||
:maxlength="20"
|
||||
show-count
|
||||
:type="2"
|
||||
@@ -364,7 +364,7 @@
|
||||
placeholder="请输入课程名称"
|
||||
v-model:value="qdms_inputV1"
|
||||
v-model:validate="validate"
|
||||
v-model:finished="finished"
|
||||
|
||||
:maxlength="20"
|
||||
show-count
|
||||
:type="2"
|
||||
@@ -3732,7 +3732,7 @@ export default defineComponent({
|
||||
codevisible: false, //二维码弹窗
|
||||
codeInfo: null, //二维码内容
|
||||
codeUrl: codeUrl,
|
||||
finished: false,
|
||||
|
||||
// 课程三级分类
|
||||
options2222: [
|
||||
{
|
||||
@@ -4658,11 +4658,9 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
console.log("state.validate", state.validate);
|
||||
if (!state.finished) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!state.validate && state.finished) {
|
||||
|
||||
if (!state.validate) {
|
||||
message.destroy();
|
||||
return message.warning("该课程名称已存在");
|
||||
}
|
||||
|
||||
@@ -1,30 +1,15 @@
|
||||
<!-- 课件管理页面 -->
|
||||
<template>
|
||||
<!-- 预览弹窗 -->
|
||||
<a-modal
|
||||
:visible="visible"
|
||||
title="查看"
|
||||
:footer="null"
|
||||
:closable="false"
|
||||
wrapClassName="modalStyle lookCourseModal"
|
||||
width="80%"
|
||||
@cancel="handleCancel"
|
||||
@ok="handleCancel"
|
||||
>
|
||||
<a-modal :visible="visible" title="查看" :footer="null" :closable="false" wrapClassName="modalStyle lookCourseModal"
|
||||
width="80%" @cancel="handleCancel" @ok="handleCancel">
|
||||
<div class="modalHeader">
|
||||
<div class="headerLeft">
|
||||
<img
|
||||
style="width: 17px; height: 18px; margin-right: 8px"
|
||||
src="@/assets/images/basicinfo/add.png"
|
||||
/>
|
||||
<img style="width: 17px; height: 18px; margin-right: 8px" src="@/assets/images/basicinfo/add.png" />
|
||||
<span class="headerLeftText">预览</span>
|
||||
</div>
|
||||
<div style="margin-right: 57px; cursor: pointer">
|
||||
<img
|
||||
@click="handleCancel"
|
||||
style="width: 22px; height: 22px"
|
||||
src="@/assets/images/basicinfo/close22.png"
|
||||
/>
|
||||
<img @click="handleCancel" style="width: 22px; height: 22px" src="@/assets/images/basicinfo/close22.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
@@ -35,10 +20,7 @@
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="img"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">课程名称:</span>
|
||||
</div>
|
||||
@@ -51,27 +33,17 @@
|
||||
<div class="mbl_items2">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="img"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">封面图:</span>
|
||||
</div>
|
||||
<img
|
||||
:src="detail.picUrl"
|
||||
alt="img"
|
||||
style="width: 100px; height: 100px"
|
||||
/>
|
||||
<img :src="detail.picUrl" alt="img" style="width: 100px; height: 100px" />
|
||||
</div>
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
style="width: 10px; height: 10px"
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="img"
|
||||
/>
|
||||
<img style="width: 10px; height: 10px" src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="img" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">目标人群:</span>
|
||||
</div>
|
||||
@@ -94,10 +66,7 @@
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="img"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="img" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">内容分类:</span>
|
||||
</div>
|
||||
@@ -130,10 +99,7 @@
|
||||
<div class="mbl_items">
|
||||
<div class="item_nam">
|
||||
<div class="asterisk_icon">
|
||||
<img
|
||||
src="@/assets/images/coursewareManage/asterisk.png"
|
||||
alt="asterisk"
|
||||
/>
|
||||
<img src="@/assets/images/coursewareManage/asterisk.png" alt="asterisk" />
|
||||
</div>
|
||||
<span style="margin-right: 14px">授课教师:</span>
|
||||
</div>
|
||||
@@ -154,50 +120,25 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="mbl_items12">
|
||||
<div
|
||||
class="i12_box1"
|
||||
style="position: relative"
|
||||
v-for="(item, index) in detail.attach"
|
||||
:key="index"
|
||||
>
|
||||
<div class="i12_box1" style="position: relative" v-for="(item, index) in detail.attach" :key="index">
|
||||
<div class="file_img">
|
||||
<img
|
||||
v-if="
|
||||
<img v-if="
|
||||
item.indexOf('jpg') !== -1 ||
|
||||
item.indexOf('jpeg') !== -1 ||
|
||||
item.indexOf('png') !== -1
|
||||
"
|
||||
src="@/assets/images/coursewareManage/pngpic.png"
|
||||
/>
|
||||
" src="@/assets/images/coursewareManage/pngpic.png" />
|
||||
<div v-else>
|
||||
<img
|
||||
v-if="item.indexOf('doc') !== -1"
|
||||
src="@/assets/images/coursewareManage/docpic.png"
|
||||
/>
|
||||
<img v-if="item.indexOf('doc') !== -1" src="@/assets/images/coursewareManage/docpic.png" />
|
||||
<div v-else>
|
||||
<img
|
||||
v-if="item.indexOf('xls') !== -1"
|
||||
src="@/assets/images/coursewareManage/xlspic.png"
|
||||
/>
|
||||
<img v-if="item.indexOf('xls') !== -1" src="@/assets/images/coursewareManage/xlspic.png" />
|
||||
<div v-else>
|
||||
<img
|
||||
v-if="item.indexOf('ppt') !== -1"
|
||||
src="@/assets/images/coursewareManage/pptpic.png"
|
||||
/>
|
||||
<img v-if="item.indexOf('ppt') !== -1" src="@/assets/images/coursewareManage/pptpic.png" />
|
||||
<div v-else>
|
||||
<img
|
||||
v-if="item.indexOf('pdf') !== -1"
|
||||
src="@/assets/images/coursewareManage/pdfpic.png"
|
||||
/>
|
||||
<img v-if="item.indexOf('pdf') !== -1" src="@/assets/images/coursewareManage/pdfpic.png" />
|
||||
<div v-else>
|
||||
<img
|
||||
v-if="item.indexOf('zip') !== -1"
|
||||
src="@/assets/images/coursewareManage/zippic.png"
|
||||
/>
|
||||
<img
|
||||
v-else
|
||||
src="@/assets/images/coursewareManage/docpic.png"
|
||||
/>
|
||||
<img v-if="item.indexOf('zip') !== -1"
|
||||
src="@/assets/images/coursewareManage/zippic.png" />
|
||||
<img v-else src="@/assets/images/coursewareManage/docpic.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -207,8 +148,7 @@
|
||||
<div class="file_detail">
|
||||
<div class="file_name">
|
||||
<!-- http://111.231.196.214:12016/7.231.196.214:12016/7-1670486854017.jpg -->
|
||||
<span
|
||||
style="
|
||||
<span style="
|
||||
color: #6f6f6f;
|
||||
width: 200px;
|
||||
display: block;
|
||||
@@ -218,8 +158,7 @@
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 72px;
|
||||
"
|
||||
>
|
||||
">
|
||||
{{
|
||||
item.indexOf("-") !== -1
|
||||
? item.slice(
|
||||
@@ -243,7 +182,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a :href="item" style="margin-left: 5px">下载</a>
|
||||
<a :href="item.indexOf('http') !== -1 ? item : locationHref + item" style="margin-left: 5px">下载</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -412,6 +351,7 @@ export default defineComponent({
|
||||
],
|
||||
ceshi: "https://u-pre.boe.com/upload/测试下载ppt2-1671002026755.pptx",
|
||||
ceshi2: "http://111.231.196.214:12016/测试下载ppt3-1671001683026.pptx",
|
||||
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
|
||||
});
|
||||
|
||||
// item.slice(
|
||||
@@ -513,6 +453,7 @@ export default defineComponent({
|
||||
.lookCourseModal {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
|
||||
// width:1358px !important;
|
||||
.ant-modal-body {
|
||||
.modalHeader {
|
||||
@@ -848,9 +789,11 @@ export default defineComponent({
|
||||
.fotarea {
|
||||
width: calc(100% - 150px);
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.fuwenben {
|
||||
width: 90%;
|
||||
height: 20px;
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
placeholder="请输入评估名称"
|
||||
v-model:value="assessmentName"
|
||||
v-model:validate="validate"
|
||||
v-model:finished="finished"
|
||||
|
||||
:maxlength="15"
|
||||
show-count
|
||||
:type="4"
|
||||
@@ -199,6 +199,7 @@ import { toDate } from "../../api/method.js";
|
||||
import store from "@/store";
|
||||
import { message } from "ant-design-vue";
|
||||
import NameInput from "@/components/project/NameInput";
|
||||
import {validateName} from "@/api/index1";
|
||||
export default {
|
||||
name: "learningPath",
|
||||
components: {
|
||||
@@ -312,7 +313,7 @@ export default {
|
||||
copy_hs: false,
|
||||
back_hs: false,
|
||||
pub_hs: false,
|
||||
finished:false,
|
||||
|
||||
validate: true,
|
||||
});
|
||||
const tableDataFunc = () => {
|
||||
@@ -590,20 +591,26 @@ export default {
|
||||
state.assessmentName = item.assessmentName;
|
||||
state.newNext = true;
|
||||
};
|
||||
const handleNext = () => {
|
||||
const handleNext = async() => {
|
||||
if (!state.assessmentId) {
|
||||
if (!state.assessmentName) {
|
||||
message.error("请输入评估名称");
|
||||
return false;
|
||||
}
|
||||
if (!state.finished) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!state.validate && state.finished) {
|
||||
if (!state.validate ) {
|
||||
message.destroy();
|
||||
return message.warning("该评估名称已存在");
|
||||
}
|
||||
const offName = await validateName({name: state.assessmentName, type:4, id:state.assessmentId}).then(res => {
|
||||
return res.data.data == 1;
|
||||
});
|
||||
if(offName){
|
||||
message.destroy();
|
||||
return message.warning("课程名称重复,请重新填写");
|
||||
}
|
||||
|
||||
|
||||
|
||||
store.commit("SET_assessmentName", state.assessmentName);
|
||||
router.push("/researchadd");
|
||||
handleCancel();
|
||||
|
||||
Reference in New Issue
Block a user