|
@@ -62,7 +62,7 @@
|
|
|
<div class="navTask" :class="{
|
|
|
isNavTask: isClickColor > 0 && isClickColor == tIndex + 1,
|
|
|
}" v-for="(t, tIndex) in unitJson[unitIndex].chapterInfo[0]
|
|
|
-.taskJson" :key="tIndex" @click="goToTask(tIndex)">
|
|
|
+ .taskJson" :key="tIndex" @click="goToTask(tIndex)">
|
|
|
<div>任务{{ tIndex + 1 }}</div>
|
|
|
<el-tooltip effect="light" :content="t.task" placement="top">
|
|
|
<div>{{ t.task }}</div>
|
|
@@ -96,15 +96,15 @@
|
|
|
</div>
|
|
|
<div v-if="steps == 1 || steps == 2 || steps == 3" class="stepsWord">
|
|
|
{{
|
|
|
- steps == 1
|
|
|
- ? "第一步"
|
|
|
- : steps == 2
|
|
|
- ? "第二步"
|
|
|
- : steps == 3
|
|
|
- ? cidType === 0
|
|
|
- ? "第三步"
|
|
|
- : "第二步"
|
|
|
- : ""
|
|
|
+ steps == 1
|
|
|
+ ? "第一步"
|
|
|
+ : steps == 2
|
|
|
+ ? "第二步"
|
|
|
+ : steps == 3
|
|
|
+ ? cidType === 0
|
|
|
+ ? "第三步"
|
|
|
+ : "第二步"
|
|
|
+ : ""
|
|
|
}}
|
|
|
</div>
|
|
|
</div>
|
|
@@ -154,12 +154,12 @@
|
|
|
<div class="right_title">上传封面与成员</div>
|
|
|
|
|
|
<div style="
|
|
|
- padding: 0 0 50px 20px;
|
|
|
- display: flex;
|
|
|
- align-items: baseline;
|
|
|
- justify-content: flex-start;
|
|
|
- margin: 0 auto;
|
|
|
- ">
|
|
|
+ padding: 0 0 50px 20px;
|
|
|
+ display: flex;
|
|
|
+ align-items: baseline;
|
|
|
+ justify-content: flex-start;
|
|
|
+ margin: 0 auto;
|
|
|
+ ">
|
|
|
<div>
|
|
|
<div class="bInfo_title" style="margin-top: 0 !important">
|
|
|
项目封面
|
|
@@ -175,13 +175,13 @@
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- flex-flow: row nowrap;
|
|
|
- flex-direction: row;
|
|
|
- flex-wrap: wrap;
|
|
|
- align-items: baseline;
|
|
|
- margin: 0 30px;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-flow: row nowrap;
|
|
|
+ flex-direction: row;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ align-items: baseline;
|
|
|
+ margin: 0 30px;
|
|
|
+ ">
|
|
|
<!-- <div style="margin: 0 80px">
|
|
|
<div class="bInfo_title">
|
|
|
选择项目成员
|
|
@@ -206,17 +206,17 @@
|
|
|
}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="flex: 0.5 1 0%; margin: 0;width:180px" v-if="courseUserid != '' ? courseUserid == userid : true">
|
|
|
+ <div style="flex: 0.5 1 0%; margin: 0;width:180px"
|
|
|
+ v-if="courseUserid != '' ? courseUserid == userid : true">
|
|
|
<div class="bInfo_title">协同编辑</div>
|
|
|
<div class="addPeople" @click="openMember" style="background: #6b92c9">
|
|
|
添加协同成员
|
|
|
</div>
|
|
|
<div v-if="checkboxList3.length"
|
|
|
style="max-width: 100%;word-break: break-all;overflow: hidden;margin-top: 10px;font-size:14px;color:#6e6e6e">
|
|
|
- <span :class="{ tcMember: getMan2(tc) }" v-for="(tc, tcIndex) in checkboxList3"
|
|
|
- :key="tcIndex">{{
|
|
|
- getMan2(tc)
|
|
|
- }}</span>
|
|
|
+ <span :class="{ tcMember: getMan2(tc) }" v-for="(tc, tcIndex) in checkboxList3" :key="tcIndex">{{
|
|
|
+ getMan2(tc)
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -245,23 +245,23 @@
|
|
|
<div class="right_title">目标管理</div>
|
|
|
<div style="margin: 15px auto; padding: 0 0 0 20px">
|
|
|
<div style="
|
|
|
- width: 100%%;
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- flex-wrap: nowrap;
|
|
|
- align-content: center;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- ">
|
|
|
- <div style="
|
|
|
+ width: 100%%;
|
|
|
display: flex;
|
|
|
- flex-flow: row nowrap;
|
|
|
- align-items: flex-start;
|
|
|
- width: 100%;
|
|
|
- flex-direction: column;
|
|
|
+ flex-direction: row;
|
|
|
flex-wrap: nowrap;
|
|
|
- position: relative;
|
|
|
+ align-content: center;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
">
|
|
|
+ <div style="
|
|
|
+ display: flex;
|
|
|
+ flex-flow: row nowrap;
|
|
|
+ align-items: flex-start;
|
|
|
+ width: 100%;
|
|
|
+ flex-direction: column;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ position: relative;
|
|
|
+ ">
|
|
|
<!-- <div style="margin-right: 15px; min-width: 120px">
|
|
|
请选择评价指标
|
|
|
</div>
|
|
@@ -317,21 +317,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-if="evalua" style="
|
|
|
- border: 1px solid #e5e5e5;
|
|
|
- width: 95%;
|
|
|
- margin-top: 30px;
|
|
|
- box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
|
- ">
|
|
|
+ border: 1px solid #e5e5e5;
|
|
|
+ width: 95%;
|
|
|
+ margin-top: 30px;
|
|
|
+ box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
|
+ ">
|
|
|
<div class="e_add_top">
|
|
|
<div class="e_add_title">
|
|
|
<span>当前使用目标管理</span>
|
|
|
<span>{{ eTitle }}</span>
|
|
|
<img src="../../assets/line.png" class="cru_line" style="
|
|
|
- width: 125px;
|
|
|
- height: 20px;
|
|
|
- bottom: -10px;
|
|
|
- left: 155px;
|
|
|
- " />
|
|
|
+ width: 125px;
|
|
|
+ height: 20px;
|
|
|
+ bottom: -10px;
|
|
|
+ left: 155px;
|
|
|
+ " />
|
|
|
<!-- <el-input
|
|
|
v-model="eTitle"
|
|
|
placeholder="请输入名称"
|
|
@@ -352,8 +352,8 @@
|
|
|
<div class="e_add_list_pbox_content">
|
|
|
<Mind :showBar="false" :mindData="data" v-show="typeMode == 1"></Mind>
|
|
|
<Sunburst :Josn="eJson" :num="eJSONNum" style="width: 100%" v-if="typeMode == 2"></Sunburst>
|
|
|
- <SeeBoard :Josn="eJson" :num="eJSONNum" :ename="eTitle" style="width: 100%"
|
|
|
- v-if="typeMode == 3"></SeeBoard>
|
|
|
+ <SeeBoard :Josn="eJson" :num="eJSONNum" :ename="eTitle" style="width: 100%" v-if="typeMode == 3">
|
|
|
+ </SeeBoard>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -386,13 +386,13 @@
|
|
|
</div>
|
|
|
|
|
|
<div style="
|
|
|
- margin-top: 10px;
|
|
|
- line-height: 19px;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- padding: 0 20px;
|
|
|
- ">
|
|
|
+ margin-top: 10px;
|
|
|
+ line-height: 19px;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ padding: 0 20px;
|
|
|
+ ">
|
|
|
{{ aa.title }}
|
|
|
</div>
|
|
|
</div>
|
|
@@ -402,13 +402,13 @@
|
|
|
</div>
|
|
|
|
|
|
<div style="
|
|
|
- margin-top: 10px;
|
|
|
- line-height: 19px;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- padding: 0 20px;
|
|
|
- ">
|
|
|
+ margin-top: 10px;
|
|
|
+ line-height: 19px;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ padding: 0 20px;
|
|
|
+ ">
|
|
|
新建项目
|
|
|
</div>
|
|
|
</div>
|
|
@@ -418,13 +418,13 @@
|
|
|
</div>
|
|
|
|
|
|
<div style="
|
|
|
- margin-top: 10px;
|
|
|
- line-height: 19px;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- padding: 0 20px;
|
|
|
- ">
|
|
|
+ margin-top: 10px;
|
|
|
+ line-height: 19px;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ padding: 0 20px;
|
|
|
+ ">
|
|
|
我的项目
|
|
|
</div>
|
|
|
</div>
|
|
@@ -434,17 +434,17 @@
|
|
|
<div class="rightBox" v-if="this.steps == 3" ref="rightboxR">
|
|
|
<div class="basic_box">
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: center;
|
|
|
- position: sticky;
|
|
|
- top: 0;
|
|
|
- background: #fff;
|
|
|
- z-index: 99;
|
|
|
- width: 100%;
|
|
|
- padding: 0 20px 0 20px;
|
|
|
- box-sizing: border-box;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ position: sticky;
|
|
|
+ top: 0;
|
|
|
+ background: #fff;
|
|
|
+ z-index: 99;
|
|
|
+ width: 100%;
|
|
|
+ padding: 0 20px 0 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ ">
|
|
|
<div class="cru_selectBox">
|
|
|
<div v-for="(item, index) in unitJson" :key="index" class="cru_select"
|
|
|
:class="unitIndex == index ? 'cru_selected' : ''" @click="unitSet(index)">
|
|
@@ -471,11 +471,11 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- margin: 50px 0px 10px;
|
|
|
- font-size: 1.5em;
|
|
|
- font-weight: 700;
|
|
|
- color: #0f7eff;
|
|
|
- ">
|
|
|
+ margin: 50px 0px 10px;
|
|
|
+ font-size: 1.5em;
|
|
|
+ font-weight: 700;
|
|
|
+ color: #0f7eff;
|
|
|
+ ">
|
|
|
添加任务
|
|
|
</div>
|
|
|
<div class="taskBorder" v-for="(itemTask, itemTaskIndex) in item.taskJson" :key="itemTaskIndex">
|
|
@@ -485,38 +485,37 @@
|
|
|
任务{{ itemTaskIndex + 1 }}
|
|
|
</div>
|
|
|
<div class="chapter_contentbox" style="
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
- ">
|
|
|
- <div style="
|
|
|
- border-left: 6px solid #5699e8;
|
|
|
- height: 20px;
|
|
|
- padding-left: 10px;
|
|
|
- line-height: 22px;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
">
|
|
|
+ <div style="
|
|
|
+ border-left: 6px solid #5699e8;
|
|
|
+ height: 20px;
|
|
|
+ padding-left: 10px;
|
|
|
+ line-height: 22px;
|
|
|
+ ">
|
|
|
任务名称
|
|
|
</div>
|
|
|
<div>
|
|
|
- <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
|
|
|
- v-model="
|
|
|
- unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
- itemTaskIndex
|
|
|
- ].task
|
|
|
- " />
|
|
|
+ <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px" v-model="
|
|
|
+ unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].task
|
|
|
+ " />
|
|
|
</div>
|
|
|
<div class="remove" v-if="item.taskJson.length > 1" @click="deleteTask(itemTaskIndex)"
|
|
|
style="position: absolute; right: 55px"></div>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- margin: 0 0 20px 0;
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
- width: 70.5% !important;
|
|
|
- padding-top: 30px;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ margin: 0 0 20px 0;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ width: 70.5% !important;
|
|
|
+ padding-top: 30px;
|
|
|
+ ">
|
|
|
<div class="lineTitle">任务描述</div>
|
|
|
<div class="line"></div>
|
|
|
</div>
|
|
@@ -542,18 +541,18 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="basic_box" style="
|
|
|
- margin: 0;
|
|
|
- min-height: 0;
|
|
|
- width: 90% !important;
|
|
|
- paddint-top: 10px !important;
|
|
|
- ">
|
|
|
- <div style="
|
|
|
- display: flex;
|
|
|
- margin: 0 0 20px 0;
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
+ margin: 0;
|
|
|
+ min-height: 0;
|
|
|
+ width: 90% !important;
|
|
|
+ paddint-top: 10px !important;
|
|
|
">
|
|
|
+ <div style="
|
|
|
+ display: flex;
|
|
|
+ margin: 0 0 20px 0;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ ">
|
|
|
<div class="lineTitle">学习内容</div>
|
|
|
<div class="line"></div>
|
|
|
</div>
|
|
@@ -575,10 +574,10 @@
|
|
|
">
|
|
|
<div class="chapter_upload_t" style="width: 100%"></div>
|
|
|
<div class="chapter_upload_o" style="
|
|
|
- position: relative;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- ">
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ ">
|
|
|
<div class="chapter_upload_l" style="padding: 1px 0 0 10px">
|
|
|
<div v-if="item1.type == 2" class="chapter_upload_l_i1"></div>
|
|
|
<div v-if="
|
|
@@ -589,12 +588,12 @@
|
|
|
<div v-if="item1.type == 8" class="chapter_upload_l_i8" style="margin-left: 1px"></div>
|
|
|
</div>
|
|
|
<div class="chapter_upload_ic" style="
|
|
|
- cursor: pointer;
|
|
|
- position: absolute;
|
|
|
- width: 45px;
|
|
|
- right: 0;
|
|
|
- top: 0;
|
|
|
- ">
|
|
|
+ cursor: pointer;
|
|
|
+ position: absolute;
|
|
|
+ width: 45px;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ ">
|
|
|
<div class="chapter_upload_ic_l"></div>
|
|
|
<div class="chapter_upload_ic_r" style="position: absolute" @click.stop="
|
|
|
deleteChapterData(
|
|
@@ -621,34 +620,34 @@
|
|
|
index1
|
|
|
)
|
|
|
" style="
|
|
|
- border: none;
|
|
|
- outline: none;
|
|
|
- width: 80%;
|
|
|
- minwidth: 215px;
|
|
|
- z-index: 99;
|
|
|
- font-size: 14px;
|
|
|
- white-space: nowrap;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- " />
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ minwidth: 215px;
|
|
|
+ z-index: 99;
|
|
|
+ font-size: 14px;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " />
|
|
|
<input :placeholder="item1.name" v-if="item1.type == 6" style="
|
|
|
- border: none;
|
|
|
- outline: none;
|
|
|
- width: 80%;
|
|
|
- white-space: nowrap;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- " readonly="true" @click="selectAttText(itemTaskIndex, index1)" />
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " readonly="true" @click="selectAttText(itemTaskIndex, index1)" />
|
|
|
<input :placeholder="
|
|
|
item1.title ? item1.title : '链接'
|
|
|
" v-if="item1.type == 8" style="
|
|
|
- border: none;
|
|
|
- outline: none;
|
|
|
- width: 80%;
|
|
|
- white-space: nowrap;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- " readonly="true" @click="selectLine(itemTaskIndex, index1)" />
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " readonly="true" @click="selectLine(itemTaskIndex, index1)" />
|
|
|
<div class="chapter_upload_ud" style="z-index: 99">
|
|
|
<div class="chapter_upload_up" @click="
|
|
|
upCd($event, unitIndex, index, index1)
|
|
@@ -691,9 +690,19 @@
|
|
|
].proVisible
|
|
|
" class="mask">
|
|
|
<div class="progressBox">
|
|
|
+ <!-- <div id="closePro" class="closeCss">
|
|
|
+ <img src="../../../assets/icon/close.png" alt />
|
|
|
+ </div> -->
|
|
|
<div class="lbox">
|
|
|
<img src="../../assets/loading.gif" />上传中,请稍后
|
|
|
</div>
|
|
|
+ <div>
|
|
|
+ <span>{{ unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isFinishSize }}M</span> / <span>{{ unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+].isAllSize }}M</span>
|
|
|
+ </div>
|
|
|
<el-progress :text-inside="true" :stroke-width="20" :percentage="
|
|
|
unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
@@ -707,18 +716,18 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
- padding: 0 0 0 30px;
|
|
|
- paddint-top: 10px !important;
|
|
|
- ">
|
|
|
- <div style="
|
|
|
- display: flex;
|
|
|
flex-direction: row;
|
|
|
+ justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
- margin-bottom: 20px;
|
|
|
+ padding: 0 0 0 30px;
|
|
|
+ paddint-top: 10px !important;
|
|
|
">
|
|
|
+ <div style="
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ ">
|
|
|
<div class="lineTitle">练习内容</div>
|
|
|
<div class="line" style="width: 90%"></div>
|
|
|
</div>
|
|
@@ -726,24 +735,23 @@
|
|
|
<div class="toolChoose" style="padding: 0 0 0 30px">
|
|
|
<div class="tools">
|
|
|
<div class="leftTools" style="
|
|
|
- width: 95%;
|
|
|
- padding: 0 0 15px 0;
|
|
|
- border-bottom: 1px solid #efefef;
|
|
|
- margin-bottom: 15px;
|
|
|
- " v-for="(itemTool, toolIndex) in itemTask.toolChoose" :key="toolIndex">
|
|
|
+ width: 95%;
|
|
|
+ padding: 0 0 15px 0;
|
|
|
+ border-bottom: 1px solid #efefef;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ " v-for="(itemTool, toolIndex) in itemTask.toolChoose" :key="toolIndex">
|
|
|
<div>
|
|
|
<textarea rows="3" type="text" placeholder="添加工具描述" class="binfo_input"
|
|
|
- style="margin: 0 0 20px 0; width: 71.5% !important"
|
|
|
- v-model="itemTool.toolDetail"></textarea>
|
|
|
+ style="margin: 0 0 20px 0; width: 71.5% !important" v-model="itemTool.toolDetail"></textarea>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: baseline;
|
|
|
- flex-wrap: nowrap;
|
|
|
- justify-content: flex-start;
|
|
|
- position: relative;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: baseline;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ justify-content: flex-start;
|
|
|
+ position: relative;
|
|
|
+ ">
|
|
|
<div style="margin-right: 20px; font-weight: bold">
|
|
|
步骤 {{ toolIndex + 1 }} :
|
|
|
</div>
|
|
@@ -921,7 +929,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="tool">
|
|
|
- <div class="whiteBIcon" @click="addTools(3, itemTaskIndex, toolIndex)">
|
|
|
+ <div class="whiteBIcon" @click="openTools(itemTaskIndex, 3, toolIndex)">
|
|
|
<img src="../../assets/icon/secondToolList/mindMapping.png" alt />
|
|
|
<div style="margin: 5px 0">思维导图</div>
|
|
|
</div>
|
|
@@ -1284,11 +1292,11 @@
|
|
|
<div class="elist_css">
|
|
|
<div class="elist_title">
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 20px;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ ">
|
|
|
<div class="lineTitle">评价设置</div>
|
|
|
<div class="line" style="width: 90%"></div>
|
|
|
</div>
|
|
@@ -1322,8 +1330,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="addToolFun" @click="addEList(unitIndex, itemTaskIndex)"
|
|
|
- style="margin: 35px 35px 0 0">
|
|
|
+ <div class="addToolFun" @click="addEList(unitIndex, itemTaskIndex)" style="margin: 35px 35px 0 0">
|
|
|
<div class="addToolImg">
|
|
|
<img src="../../assets/icon/add.png" alt />
|
|
|
</div>
|
|
@@ -1331,21 +1338,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-if="evalua" style="
|
|
|
- border: 1px solid #e5e5e5;
|
|
|
- width: 55%;
|
|
|
- margin-top: 20px;
|
|
|
- box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
|
- " class="evaCss">
|
|
|
+ border: 1px solid #e5e5e5;
|
|
|
+ width: 55%;
|
|
|
+ margin-top: 20px;
|
|
|
+ box-shadow: 3px 1px 15px 3px #e0e0e0;
|
|
|
+ " class="evaCss">
|
|
|
<div class="e_add_top">
|
|
|
<div class="e_add_title">
|
|
|
<span>当前使用目标管理</span>
|
|
|
<span>{{ eTitle }}</span>
|
|
|
<img src="../../assets/line.png" class="cru_line" style="
|
|
|
- width: 125px;
|
|
|
- height: 20px;
|
|
|
- bottom: -10px;
|
|
|
- left: 155px;
|
|
|
- " />
|
|
|
+ width: 125px;
|
|
|
+ height: 20px;
|
|
|
+ bottom: -10px;
|
|
|
+ left: 155px;
|
|
|
+ " />
|
|
|
<!-- <el-input
|
|
|
v-model="eTitle"
|
|
|
placeholder="请输入名称"
|
|
@@ -1402,10 +1409,10 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="
|
|
|
- width: calc(100% - 20px);
|
|
|
- background: rgb(255, 255, 255);
|
|
|
- border-radius: 10px;
|
|
|
- " v-if="this.steps == 4">
|
|
|
+ width: calc(100% - 20px);
|
|
|
+ background: rgb(255, 255, 255);
|
|
|
+ border-radius: 10px;
|
|
|
+ " v-if="this.steps == 4">
|
|
|
<div class="basic_box_success">
|
|
|
<div class="right_img">
|
|
|
<img src="../../assets/icon/right.png" alt />
|
|
@@ -1446,8 +1453,8 @@
|
|
|
<el-button @click="dialogVisible = false">取消</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <el-dialog :title="updateBoolean2 ? '查看文档' : '添加文档'" :visible.sync="dialogVisible1" :append-to-body="true"
|
|
|
- width="25%" :before-close="handleClose" class="dialog_diy2 customWidth">
|
|
|
+ <el-dialog :title="updateBoolean2 ? '查看文档' : '添加文档'" :visible.sync="dialogVisible1" :append-to-body="true" width="25%"
|
|
|
+ :before-close="handleClose" class="dialog_diy2 customWidth">
|
|
|
<el-form>
|
|
|
<el-form-item label="文档标题">
|
|
|
<el-input v-model="tTitle" auto-complete="off" placeholder="请输入文档标题名..."></el-input>
|
|
@@ -1525,7 +1532,7 @@
|
|
|
<el-checkbox-group v-model="checkboxList" class="people_name">
|
|
|
<el-checkbox v-for="item in studentJuri" :key="item.userid" :label="item.userid">{{
|
|
|
item.name ? item.name :
|
|
|
- "暂无学生可选"
|
|
|
+ "暂无学生可选"
|
|
|
}}</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
</div>
|
|
@@ -1596,11 +1603,11 @@
|
|
|
:before-close="handleClose" class="dialog_diy">
|
|
|
<div>
|
|
|
<div class="a_add_title" style="
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ ">
|
|
|
<div style="margin-right: 20px; font-size: 20px">标题:</div>
|
|
|
<el-input v-model="askJson.askTitle" placeholder="请输入标题" style="width: 400px"></el-input>
|
|
|
</div>
|
|
@@ -1665,8 +1672,7 @@
|
|
|
<div class="a_add_head">
|
|
|
<div>
|
|
|
{{ index1 + 1 + "、" }}
|
|
|
- <el-input class="a_add_head_input" v-model="testJson.testJson[index1].teststitle"
|
|
|
- placeholder="请输入题目...">
|
|
|
+ <el-input class="a_add_head_input" v-model="testJson.testJson[index1].teststitle" placeholder="请输入题目...">
|
|
|
</el-input>
|
|
|
</div>
|
|
|
<div class="a_add_head_div">
|
|
@@ -1679,16 +1685,10 @@
|
|
|
<div class="a_add_input a_add_input_choice">
|
|
|
<el-radio-group v-model="testJson.testJson[index1].answer" v-if="testJson.testJson[index1].type == 1">
|
|
|
<div class="radioBox">
|
|
|
- <el-radio
|
|
|
- v-for="(item2, checkIndex) in testJson.testJson[index1]
|
|
|
- .testItem"
|
|
|
- :key="checkIndex"
|
|
|
- :label="checkIndex"
|
|
|
- >
|
|
|
+ <el-radio v-for="(item2, checkIndex) in testJson.testJson[index1]
|
|
|
+ .testItem" :key="checkIndex" :label="checkIndex">
|
|
|
<div style="margin-right:10px">选项{{ checkIndex + 1 }} </div>
|
|
|
- <div
|
|
|
- style="margin-right: 10px; width: 300px"
|
|
|
- v-if="
|
|
|
+ <div style="margin-right: 10px; width: 300px" v-if="
|
|
|
testJson.testJson[index1].checkList[checkIndex] &&
|
|
|
testJson.testJson[index1].checkList[checkIndex]
|
|
|
.imgType &&
|
|
@@ -1704,22 +1704,13 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <el-input
|
|
|
- v-else
|
|
|
- v-model="
|
|
|
- testJson.testJson[index1].checkList[checkIndex]
|
|
|
- "
|
|
|
- placeholder="请输入选项..."
|
|
|
- style="width: 300px; margin-right: 10px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-else v-model="
|
|
|
+ testJson.testJson[index1].checkList[checkIndex]
|
|
|
+ " placeholder="请输入选项..." style="width: 300px; margin-right: 10px"></el-input>
|
|
|
<div class="xzUpImg" @click.stop="addImg($event)">
|
|
|
<img src="../../assets/icon/xzUpImg.png" alt="">
|
|
|
- <input
|
|
|
- type="file"
|
|
|
- accept="image/*"
|
|
|
- style="display: none"
|
|
|
- @change="beforeUploadTi($event, index1, checkIndex)"
|
|
|
- />
|
|
|
+ <input type="file" accept="image/*" style="display: none"
|
|
|
+ @change="beforeUploadTi($event, index1, checkIndex)" />
|
|
|
</div>
|
|
|
</el-radio>
|
|
|
</div>
|
|
@@ -1727,23 +1718,16 @@
|
|
|
<el-checkbox-group v-model="testJson.testJson[index1].answer"
|
|
|
v-if="testJson.testJson[index1].type == '2'">
|
|
|
<div class="radioBox">
|
|
|
- <el-checkbox
|
|
|
- v-for="(item2, checkIndex1) in testJson.testJson[index1]
|
|
|
- .testItem"
|
|
|
- :key="checkIndex1"
|
|
|
- :label="checkIndex1"
|
|
|
- >
|
|
|
+ <el-checkbox v-for="(item2, checkIndex1) in testJson.testJson[index1]
|
|
|
+ .testItem" :key="checkIndex1" :label="checkIndex1">
|
|
|
<div style="margin-right:10px">选项{{ checkIndex1 + 1 }} </div>
|
|
|
- <div
|
|
|
- style="margin-right: 10px; width: 300px"
|
|
|
- v-if="
|
|
|
- testJson.testJson[index1].checkList[checkIndex1] &&
|
|
|
- testJson.testJson[index1].checkList[checkIndex1]
|
|
|
- .imgType &&
|
|
|
- testJson.testJson[index1].checkList[checkIndex1]
|
|
|
- .imgType == 1
|
|
|
- "
|
|
|
- >
|
|
|
+ <div style="margin-right: 10px; width: 300px" v-if="
|
|
|
+ testJson.testJson[index1].checkList[checkIndex1] &&
|
|
|
+ testJson.testJson[index1].checkList[checkIndex1]
|
|
|
+ .imgType &&
|
|
|
+ testJson.testJson[index1].checkList[checkIndex1]
|
|
|
+ .imgType == 1
|
|
|
+ ">
|
|
|
<div class="inImg" @click.stop="previewImg(testJson.testJson[index1].checkList[checkIndex1].src)">
|
|
|
<el-image :src="testJson.testJson[index1].checkList[checkIndex1].src" lazy />
|
|
|
<!-- <img :src="
|
|
@@ -1753,24 +1737,14 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <el-input
|
|
|
- v-else
|
|
|
- v-model="
|
|
|
- testJson.testJson[index1].checkList[checkIndex1]
|
|
|
- "
|
|
|
- placeholder="请输入选项..."
|
|
|
- style="width: 300px; margin-right: 10px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-else v-model="
|
|
|
+ testJson.testJson[index1].checkList[checkIndex1]
|
|
|
+ " placeholder="请输入选项..." style="width: 300px; margin-right: 10px"></el-input>
|
|
|
<div class="xzUpImg" @click.stop="addImg($event)">
|
|
|
<img src="../../assets/icon/xzUpImg.png" alt="">
|
|
|
- <input
|
|
|
- type="file"
|
|
|
- accept="image/*"
|
|
|
- style="display: none"
|
|
|
- @change="
|
|
|
- beforeUploadTi($event, index1, checkIndex1)
|
|
|
- "
|
|
|
- />
|
|
|
+ <input type="file" accept="image/*" style="display: none" @change="
|
|
|
+ beforeUploadTi($event, index1, checkIndex1)
|
|
|
+ " />
|
|
|
</div>
|
|
|
</el-checkbox>
|
|
|
</div>
|
|
@@ -1796,19 +1770,19 @@
|
|
|
<div class="toolChoose" style="padding: 0 0 0 30px">
|
|
|
<div class="tools">
|
|
|
<div class="leftTools" style="
|
|
|
- width: 95%;
|
|
|
- padding: 0 0 15px 0;
|
|
|
- border-bottom: 1px solid #efefef;
|
|
|
- margin-bottom: 15px;
|
|
|
- " v-for="(itemTools, itemToolsIndex) in chapTools" :key="itemToolsIndex">
|
|
|
+ width: 95%;
|
|
|
+ padding: 0 0 15px 0;
|
|
|
+ border-bottom: 1px solid #efefef;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ " v-for="(itemTools, itemToolsIndex) in chapTools" :key="itemToolsIndex">
|
|
|
<div style="
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: baseline;
|
|
|
- flex-wrap: nowrap;
|
|
|
- justify-content: flex-start;
|
|
|
- position: relative;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: baseline;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ justify-content: flex-start;
|
|
|
+ position: relative;
|
|
|
+ ">
|
|
|
<div class="chooseWho">
|
|
|
<div :class="chapToolsType == 0 ? 'isChooseActive' : ''" @click="chapToolsType = 0">
|
|
|
互动类
|
|
@@ -1942,8 +1916,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <input type="text" placeholder="添加工具描述" class="binfo_input"
|
|
|
- style="margin: 20px 0; width: 71.5% !important" v-model="itemTools.toolDetail" />
|
|
|
+ <input type="text" placeholder="添加工具描述" class="binfo_input" style="margin: 20px 0; width: 71.5% !important"
|
|
|
+ v-model="itemTools.toolDetail" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1957,11 +1931,11 @@
|
|
|
:before-close="handleClose" class="dialog_diy">
|
|
|
<div>
|
|
|
<div class="a_add_title" style="
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: flex-start;
|
|
|
- justify-content: center;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: flex-start;
|
|
|
+ justify-content: center;
|
|
|
+ ">
|
|
|
<div style="margin-bottom: 20px; font-size: 20px">问题:</div>
|
|
|
<el-input v-model="answerQ" placeholder="请输入您要问的问题"></el-input>
|
|
|
</div>
|
|
@@ -1975,11 +1949,11 @@
|
|
|
:before-close="handleClose" class="dialog_diy">
|
|
|
<div>
|
|
|
<div class="a_add_title" style="
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: flex-start;
|
|
|
- justify-content: center;
|
|
|
- ">
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: flex-start;
|
|
|
+ justify-content: center;
|
|
|
+ ">
|
|
|
<div style="margin-bottom: 20px; font-size: 20px">问题:</div>
|
|
|
<el-input v-model="answerQ" placeholder="请输入您想要回答的问题"></el-input>
|
|
|
</div>
|
|
@@ -2219,13 +2193,13 @@
|
|
|
<el-dialog title="添加班级" :visible.sync="dialogVisibleMoreUpload" :append-to-body="true" width="30%"
|
|
|
:before-close="handleClose" class="dialog_diy">
|
|
|
<div style="
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- flex-wrap: nowrap;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- ">
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ ">
|
|
|
<div>班级:</div>
|
|
|
<el-select multiple v-model="uploadJson" placeholder="请选择">
|
|
|
<el-option v-for="item in classJuri" :key="item.id" :label="item.name" :value="item.id">
|
|
@@ -2499,7 +2473,7 @@ export default {
|
|
|
return this.ManAarray.length ? _people2 : ''
|
|
|
}
|
|
|
},
|
|
|
- getClassC(){
|
|
|
+ getClassC() {
|
|
|
return function (c) {
|
|
|
let _c2 = ''
|
|
|
if (this.grade.length) {
|
|
@@ -3353,6 +3327,12 @@ export default {
|
|
|
_this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
|
].proVisible = true;
|
|
|
+ _this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isFinishSize = 0;
|
|
|
+ _this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isAllSize = (file.size / 1024 / 1024).toFixed(2);
|
|
|
if (file) {
|
|
|
var params = {
|
|
|
Key:
|
|
@@ -3377,13 +3357,27 @@ export default {
|
|
|
// console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
|
|
|
_this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
|
- ].progress = parseInt((evt.loaded * 80) / evt.total);
|
|
|
+ ].progress = parseInt(evt.loaded / evt.total * 100);
|
|
|
+ _this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isFinishSize = (
|
|
|
+ evt.loaded /
|
|
|
+ 1024 /
|
|
|
+ 1024
|
|
|
+ ).toFixed(2)
|
|
|
+ this.$forceUpdate();
|
|
|
})
|
|
|
.send(function (err, data) {
|
|
|
// loading.close();
|
|
|
_this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
|
].progress = 100;
|
|
|
+ _this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isFinishSize = _this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
+ itemTaskIndex
|
|
|
+ ].isAllSize
|
|
|
+ _this.$forceUpdate();
|
|
|
setTimeout(() => {
|
|
|
_this.unitJson[unitIndex].chapterInfo[0].taskJson[
|
|
|
itemTaskIndex
|
|
@@ -4382,6 +4376,17 @@ export default {
|
|
|
: { url: "", select: [], answer: [] };
|
|
|
this.selectSteps = 1;
|
|
|
this.dialogVisibleSelect = true;
|
|
|
+ } else if (i == 3) {
|
|
|
+ window.parent.postMessage(
|
|
|
+ {
|
|
|
+ tools: "3y",
|
|
|
+ cid: this.cid,
|
|
|
+ stage: this.unitIndex,
|
|
|
+ task: itemTaskIndex,
|
|
|
+ tool: toolIndex,
|
|
|
+ },
|
|
|
+ "*"
|
|
|
+ );
|
|
|
}
|
|
|
},
|
|
|
chapAddTools(i) {
|
|
@@ -5344,11 +5349,11 @@ export default {
|
|
|
this.checkEva(this.checkId);
|
|
|
}, 0);
|
|
|
},
|
|
|
- openMember(){
|
|
|
- this.searchTN = ''
|
|
|
- this.getTeacher();
|
|
|
- this.dialogVisibleMember = true
|
|
|
- },
|
|
|
+ openMember() {
|
|
|
+ this.searchTN = ''
|
|
|
+ this.getTeacher();
|
|
|
+ this.dialogVisibleMember = true
|
|
|
+ },
|
|
|
checkEva(id) {
|
|
|
this.selectEva();
|
|
|
this.evalua = id;
|
|
@@ -6569,6 +6574,7 @@ export default {
|
|
|
border-bottom: 2px solid #ccc;
|
|
|
text-align: center;
|
|
|
}
|
|
|
+
|
|
|
/* blockquote 样式 */
|
|
|
.cont>>>blockquote {
|
|
|
display: block;
|
|
@@ -7918,6 +7924,8 @@ ol {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
flex-direction: column;
|
|
|
+ position: relative;
|
|
|
+ color: #6c6c6c;
|
|
|
}
|
|
|
|
|
|
.progressBox .lbox {
|
|
@@ -8268,14 +8276,31 @@ ol {
|
|
|
}
|
|
|
|
|
|
.tcMember+.tcMember::before {
|
|
|
- content: '、';
|
|
|
+ content: '、';
|
|
|
}
|
|
|
-.xzUpImg{
|
|
|
+
|
|
|
+.xzUpImg {
|
|
|
width: 25px;
|
|
|
height: 25px;
|
|
|
}
|
|
|
-.xzUpImg>img{
|
|
|
+
|
|
|
+.xzUpImg>img {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
+
|
|
|
+.closeCss {
|
|
|
+ position: absolute;
|
|
|
+ top: 8px;
|
|
|
+ right: 8px;
|
|
|
+ cursor: pointer;
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.closeCss>img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+
|
|
|
</style>
|