Forráskód Böngészése

Merge branch 'lhd'

natasha 1 hete
szülő
commit
ddcac275c8

+ 18 - 18
src/views/book/courseware/preview/components/table/TablePreview.vue

@@ -299,7 +299,7 @@
                         :class="[index === 0 ? 'pinyin-text-left' : '']"
                       >
                         <template v-if="item.type === 'input'">
-                          <template v-if="data.property.fill_type === fillTypeList[0].value">
+                          <!-- <template v-if="data.property.fill_type === fillTypeList[0].value">
                             <el-input
                               :key="index"
                               v-model="item.value"
@@ -354,7 +354,7 @@
                               :attrib="data.unified_attrib"
                               @handleWav="handleMiniWav($event, item)"
                             />
-                          </template>
+                          </template> -->
                           <span v-if="data.property.pinyin_position === 'bottom'" class="pinyin">&nbsp;</span>
                         </template>
                         <template v-else>
@@ -369,9 +369,9 @@
                           }}</span>
                         </template>
                         <span
-                          v-show="computedAnswerText(item, i, j).length > 0"
                           :key="`answer-${j}`"
                           class="right-answer"
+                          v-show="computedAnswerText(item, i, j).length > 0"
                         >
                           {{ convertText(computedAnswerText(item, i, j)) }}
                         </span>
@@ -390,7 +390,7 @@
                           v-html="convertText(sanitizeHTML(item.value))"
                         ></span>
                         <template v-if="item.type === 'input'">
-                          <template v-if="data.property.fill_type === fillTypeList[0].value">
+                          <!-- <template v-if="data.property.fill_type === fillTypeList[0].value">
                             <el-input
                               :key="index"
                               v-model="item.value"
@@ -445,12 +445,12 @@
                               :attrib="data.unified_attrib"
                               @handleWav="handleMiniWav($event, item)"
                             />
-                          </template>
-                          {{ computedAnswerText(item, i, j) }}
+                          </template> -->
+
                           <span
-                            v-show="computedAnswerText(item, i, j).length > 0"
                             :key="`answer-${j}`"
                             class="right-answer"
+                            v-show="computedAnswerText(item, i, j).length > 0"
                           >
                             {{ convertText(computedAnswerText(item, i, j)) }}
                           </span>
@@ -598,7 +598,7 @@ export default {
       let answerValue = answerOptionList[item.inputIndex] ? answerOptionList[item.inputIndex].split('/') : '';
       let isRight = answerValue && answerValue.includes(selectValue);
       if (isRight || !answerValue) return '';
-      return `${answerValue.join('/')}`;
+      return `${answerValue.join('/')}`;
     },
     /**
      * 计算答题对错选项字体颜色
@@ -790,16 +790,6 @@ $border-color: #e6e6e6;
           }
         }
 
-        & + .right-answer {
-          position: relative;
-          left: -4px;
-          display: inline-block;
-          height: 32px;
-          line-height: 28px;
-          vertical-align: bottom;
-          border-bottom: 1px solid $font-color;
-        }
-
         :deep input.el-input__inner {
           padding: 0;
 
@@ -820,6 +810,16 @@ $border-color: #e6e6e6;
       }
     }
 
+    .right-answer {
+      position: relative;
+      left: -4px;
+      display: inline-block;
+      height: 24px;
+      line-height: 24px;
+      vertical-align: bottom;
+      border-bottom: 1px solid $font-color;
+    }
+
     .multilingual {
       display: block;
       word-break: break-word;

+ 41 - 6
src/views/personal_workbench/template_list/index.vue

@@ -30,20 +30,26 @@
           header-align="center"
           class-name="index-column"
         />
-        <el-table-column prop="sn" label="编号" align="center" header-align="center" />
+        <el-table-column prop="sn" width="140" label="编号" align="center" header-align="center" />
         <el-table-column prop="name" label="名称" align="center" header-align="center" />
-        <el-table-column prop="type" label="类型" align="center" header-align="center">
+        <el-table-column prop="type" width="90" label="类型" align="center" header-align="center">
           <template slot-scope="{ row }">
-            {{ row.type === 1 ? '整本教材模板' : row.type === 3 ? '整章教材模板' : '单页教材模板' }}
+            {{ row.type === 1 ? '整本教材' : row.type === 3 ? '整课内容' : '单页内容' }}
           </template>
         </el-table-column>
-        <el-table-column min-width="70" prop="share_status" label="共享状态" align="center" header-align="center">
+        <el-table-column prop="label_list" label="标签" align="center" header-align="center"
+          ><template slot-scope="{ row }">
+            {{ row.label_list.join('、') }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="memo" label="描述" align="center" header-align="center" />
+        <el-table-column width="80" prop="share_status" label="共享状态" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ row.share_status === 0 ? '未共享' : '已共享' }}
           </template>
         </el-table-column>
 
-        <el-table-column min-width="100" prop="status" label="发布状态" align="center" header-align="center">
+        <el-table-column width="120" prop="status" label="发布状态" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ status_list.find((item) => item.value === row.status).label }}
           </template>
@@ -72,10 +78,25 @@
       class="add-chapter"
       @close="dialogClose"
     >
-      <el-form ref="form" :model="data" :rules="rules" label-width="80px">
+      <el-form ref="form" :model="data" :rules="rules" label-position="top">
         <el-form-item label="模板名称" prop="name">
           <el-input ref="name" v-model="data.name" placeholder="请输入模板名称" />
         </el-form-item>
+        <el-form-item label="标签" prop="label_list">
+          <el-select
+            v-model="data.label_list"
+            multiple
+            filterable
+            allow-create
+            default-first-option
+            placeholder="请选择或输入模板标签"
+          >
+            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="模板描述" prop="memo">
+          <el-input ref="memo" v-model="data.memo" placeholder="请输入模板描述" type="textarea" />
+        </el-form-item>
       </el-form>
       <div slot="footer">
         <el-button @click="dialogClose">取消</el-button>
@@ -141,9 +162,21 @@ export default {
       },
       data: {
         name: '',
+        label_list: [],
+        memo: '',
       },
       visible: false,
       loading: false,
+      options: [
+        {
+          label: '小学',
+          value: '小学',
+        },
+        {
+          label: '阅读',
+          value: '阅读',
+        },
+      ],
     };
   },
   mounted() {
@@ -183,6 +216,8 @@ export default {
             });
             this.data = {
               name: '',
+              label_list: [],
+              memo: '',
             };
 
             this.queryList();

+ 3 - 2
src/views/personal_workbench/template_list/preview/CommonPreview.vue

@@ -22,7 +22,7 @@
         </el-popover>
       </div>
       <div class="courseware">
-        <!-- <span class="name-path">{{ courseware_info.name_path }}</span> -->
+        <span class="name-path">{{ courseware_info.name_path }}</span>
         <span class="flow-nodename">{{ courseware_info.cur_audit_flow_node_name }}</span>
         <slot name="middle" :courseware="courseware_info"></slot>
 
@@ -181,6 +181,7 @@ export default {
       if (this.curSelectId === nodeId) return;
       this.curSelectId = nodeId;
       this.getCoursewareComponentContent_View(nodeId);
+      this.getBookCoursewareInfo(nodeId);
       this.popoverShow = false;
     },
     /**
@@ -207,7 +208,7 @@ export default {
      */
     getTemplateChapterStructExpandList(template_id) {
       this.node_list = [];
-      GetTemplateChapterStructExpandList({ template_id, is_contain_root_node: 'true' }).then((res) => {
+      GetTemplateChapterStructExpandList({ template_id, is_contain_root_node: 'false' }).then((res) => {
         if (res.status === 1) {
           this.node_list = res.node_list;
         }

+ 12 - 6
src/views/personal_workbench/template_list_manager/index.vue

@@ -27,32 +27,38 @@
           header-align="center"
           class-name="index-column"
         />
-        <el-table-column prop="sn" label="编号" align="center" header-align="center" />
+        <el-table-column prop="sn" width="140" label="编号" align="center" header-align="center" />
         <el-table-column prop="name" label="名称" align="center" header-align="center" />
-        <el-table-column prop="type" label="类型" align="center" header-align="center">
+        <el-table-column prop="type" width="90" label="类型" align="center" header-align="center">
           <template slot-scope="{ row }">
-            {{ row.type === 1 ? '整本教材模板' : row.type === 3 ? '整章教材模板' : '单页教材模板' }}
+            {{ row.type === 1 ? '整本教材' : row.type === 3 ? '整课内容' : '单页内容' }}
           </template>
         </el-table-column>
+        <el-table-column prop="label_list" label="标签" align="center" header-align="center"
+          ><template slot-scope="{ row }">
+            {{ row.label_list.join('、') }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="memo" label="描述" align="center" header-align="center" />
 
         <el-table-column width="70" prop="storage_type" label="来源" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ row.storage_type === 0 ? '个人' : '机构' }}
           </template>
         </el-table-column>
-        <el-table-column width="70" prop="status" label="状态" align="center" header-align="center">
+        <el-table-column width="120" prop="status" label="状态" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ status_list.find((item) => item.value === row.status).label }}
           </template>
         </el-table-column>
-        <el-table-column width="120" prop="use_scope" label="使用范围" align="center" header-align="center">
+        <el-table-column width="80" prop="use_scope" label="使用范围" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ row.use_scope === 0 ? '本机构' : '全域' }}
           </template>
         </el-table-column>
         <el-table-column prop="create_time" label="创建时间" align="center" width="180" header-align="center" />
 
-        <el-table-column prop="operation" label="操作" fixed="right" width="300" align="center" header-align="center">
+        <el-table-column prop="operation" label="操作" fixed="right" width="230" align="center" header-align="center">
           <template slot-scope="{ row }">
             <span class="link" @click="previewTemplate(row)">预览</span>
             <span v-if="row.status === 0 || row.status === 3" class="link" @click="changeStatusTemplate(row, 1)">{{

+ 40 - 5
src/views/personal_workbench/template_list_org/index.vue

@@ -28,15 +28,21 @@
           header-align="center"
           class-name="index-column"
         />
-        <el-table-column prop="sn" label="编号" align="center" header-align="center" />
+        <el-table-column prop="sn" width="140" label="编号" align="center" header-align="center" />
         <el-table-column prop="name" label="名称" align="center" header-align="center" />
-        <el-table-column prop="type" label="类型" align="center" header-align="center">
+        <el-table-column prop="type" width="90" label="类型" align="center" header-align="center">
           <template slot-scope="{ row }">
-            {{ row.type === 1 ? '整本教材模板' : row.type === 3 ? '整章教材模板' : '单页教材模板' }}
+            {{ row.type === 1 ? '整本教材' : row.type === 3 ? '整课内容' : '单页内容' }}
           </template>
         </el-table-column>
+        <el-table-column prop="label_list" label="标签" align="center" header-align="center"
+          ><template slot-scope="{ row }">
+            {{ row.label_list.join('、') }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="memo" label="描述" align="center" header-align="center" />
 
-        <el-table-column min-width="70" prop="status" label="状态" align="center" header-align="center">
+        <el-table-column width="120" prop="status" label="状态" align="center" header-align="center">
           <template slot-scope="{ row }">
             {{ status_list.find((item) => item.value === row.status).label }}
           </template>
@@ -65,10 +71,25 @@
       class="add-chapter"
       @close="dialogClose"
     >
-      <el-form ref="form" :model="data" :rules="rules" label-width="80px">
+      <el-form ref="form" :model="data" :rules="rules" label-position="top">
         <el-form-item label="模板名称" prop="name">
           <el-input ref="name" v-model="data.name" placeholder="请输入模板名称" />
         </el-form-item>
+        <el-form-item label="标签" prop="label_list">
+          <el-select
+            v-model="data.label_list"
+            multiple
+            filterable
+            allow-create
+            default-first-option
+            placeholder="请选择或输入模板标签"
+          >
+            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="模板描述" prop="memo">
+          <el-input ref="memo" v-model="data.memo" placeholder="请输入模板描述" type="textarea" />
+        </el-form-item>
       </el-form>
       <div slot="footer">
         <el-button @click="dialogClose">取消</el-button>
@@ -132,9 +153,21 @@ export default {
       },
       data: {
         name: '',
+        label_list: [],
+        memo: '',
       },
       visible: false,
       loading: false,
+      options: [
+        {
+          label: '小学',
+          value: '小学',
+        },
+        {
+          label: '阅读',
+          value: '阅读',
+        },
+      ],
     };
   },
   mounted() {
@@ -174,6 +207,8 @@ export default {
             });
             this.data = {
               name: '',
+              label_list: [],
+              memo: '',
             };
 
             this.queryList();