瀏覽代碼

1. 修改序号默认位置 2. 拼音句首大写默认开启 3. 连线题改为富文本

dusenyao 2 周之前
父節點
當前提交
a0f2a07dc4
共有 42 個文件被更改,包括 193 次插入58 次删除
  1. 18 0
      src/api/project.js
  2. 1 0
      src/icons/svg/back-top.svg
  3. 2 0
      src/views/book/courseware/create/components/base/describe/DescribeSetting.vue
  4. 4 1
      src/views/book/courseware/create/components/base/stem/StemSetting.vue
  5. 9 5
      src/views/book/courseware/create/components/common/ModuleBase.vue
  6. 2 0
      src/views/book/courseware/create/components/question/image_text/ImageTextSetting.vue
  7. 10 1
      src/views/book/courseware/create/components/question/matching/Matching.vue
  8. 46 6
      src/views/book/courseware/create/index.vue
  9. 1 1
      src/views/book/courseware/data/article.js
  10. 1 1
      src/views/book/courseware/data/audio.js
  11. 1 1
      src/views/book/courseware/data/character.js
  12. 1 1
      src/views/book/courseware/data/characterBase.js
  13. 1 1
      src/views/book/courseware/data/common.js
  14. 3 3
      src/views/book/courseware/data/describe.js
  15. 1 1
      src/views/book/courseware/data/fill.js
  16. 2 2
      src/views/book/courseware/data/imageText.js
  17. 1 1
      src/views/book/courseware/data/judge.js
  18. 1 1
      src/views/book/courseware/data/label.js
  19. 1 1
      src/views/book/courseware/data/matching.js
  20. 1 1
      src/views/book/courseware/data/newWord.js
  21. 1 1
      src/views/book/courseware/data/notes.js
  22. 1 1
      src/views/book/courseware/data/otherWord.js
  23. 1 1
      src/views/book/courseware/data/picture.js
  24. 1 1
      src/views/book/courseware/data/pinyinBase.js
  25. 1 1
      src/views/book/courseware/data/recordInput.js
  26. 1 1
      src/views/book/courseware/data/select.js
  27. 1 1
      src/views/book/courseware/data/sort.js
  28. 3 3
      src/views/book/courseware/data/stem.js
  29. 1 1
      src/views/book/courseware/data/uploadControl.js
  30. 1 1
      src/views/book/courseware/data/uploadPreview.js
  31. 1 1
      src/views/book/courseware/data/video.js
  32. 1 1
      src/views/book/courseware/data/voiceMatrix.js
  33. 1 1
      src/views/book/courseware/data/write.js
  34. 1 1
      src/views/book/courseware/data/writeBase.js
  35. 1 1
      src/views/personal_workbench/project/ProductionEditorialManage.vue
  36. 1 1
      src/views/personal_workbench/project/ProjectInfoManage.vue
  37. 2 2
      src/views/project_manage/book/index.vue
  38. 1 1
      src/views/project_manage/org/book/index.vue
  39. 43 1
      src/views/project_manage/org/final/OrgFinalPreview.vue
  40. 1 1
      src/views/project_manage/org/final/index.vue
  41. 11 5
      src/views/project_manage/org/project/index.vue
  42. 10 2
      src/views/project_manage/project/index.vue

+ 18 - 0
src/api/project.js

@@ -220,6 +220,15 @@ export function ShangjiaBook(data) {
 }
 
 /**
+ * @description 驳回上架教材申请
+ * @param {object} data
+ * @param {string} data.project_id 项目ID
+ */
+export function RejectShangjiaBookRequest(data) {
+  return http.post(`${process.env.VUE_APP_EepServer}?MethodName=project_manager-RejectShangjiaBookRequest`, data);
+}
+
+/**
  * @description 退改项目
  * @param {object} data
  * @param {string} data.project_id 项目ID
@@ -227,3 +236,12 @@ export function ShangjiaBook(data) {
 export function RollbackProject(data) {
   return http.post(`${process.env.VUE_APP_EepServer}?MethodName=project_manager-RollbackProject`, data);
 }
+
+/**
+ * @description 驳回退改项目申请
+ * @param {object} data
+ * @param {string} data.project_id 项目ID
+ */
+export function RejectRollbackProjectRequest(data) {
+  return http.post(`${process.env.VUE_APP_EepServer}?MethodName=project_manager-RejectRollbackProjectRequest`, data);
+}

+ 1 - 0
src/icons/svg/back-top.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="16px" height="16.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#707070" d="M614.9 402.6V692c0 14.3-11.6 25.9-25.9 25.9H433.4c-14.3 0-25.9-11.6-25.9-25.9V402.6H262c-14.3 0-25.9-11.7-25.9-26 0-6.8 2.7-13.3 7.4-18.1L492.7 106c10.1-10.2 26.5-10.3 36.7-0.3l0.3 0.3 249.2 252.5c10 10.2 9.9 26.7-0.4 36.7-4.8 4.7-11.3 7.4-18.1 7.4H614.9zM123 823.1h778.1c14.3 0 25.9 11.6 25.9 25.9v53.2c0 14.3-11.6 25.9-25.9 25.9H123c-14.3 0-25.9-11.6-25.9-25.9V849c0-14.3 11.6-25.9 25.9-25.9z" /></svg>

+ 2 - 0
src/views/book/courseware/create/components/base/describe/DescribeSetting.vue

@@ -21,6 +21,8 @@
         <el-checkbox
           v-model="property.is_first_sentence_first_hz_pinyin_first_char_upper_case"
           :disabled="!isEnable(property.view_pinyin)"
+          true-label="true"
+          false-label="false"
           >句首大写</el-checkbox
         >
       </el-form-item>

+ 4 - 1
src/views/book/courseware/create/components/base/stem/StemSetting.vue

@@ -20,9 +20,12 @@
       <el-form-item label="">
         <el-checkbox
           v-model="property.is_first_sentence_first_hz_pinyin_first_char_upper_case"
+          true-label="true"
+          false-label="false"
           :disabled="!isEnable(property.view_pinyin)"
-          >句首大写</el-checkbox
         >
+          句首大写
+        </el-checkbox>
       </el-form-item>
     </el-form>
   </div>

+ 9 - 5
src/views/book/courseware/create/components/common/ModuleBase.vue

@@ -1,13 +1,13 @@
 <template>
-  <div class="module-wrapper">
+  <div class="module-wrapper" @click="clickWrapper">
     <div
       class="horizontal-line top"
-      :style="{ backgroundColor: bgColor }"
+      :style="{ backgroundColor: id === getCurSettingId() ? activeBgColor : bgColor }"
       @mousedown="dragStart($event, 'ns-resize', 'top')"
     ></div>
     <div
       class="vertical-line left"
-      :style="{ backgroundColor: bgColor }"
+      :style="{ backgroundColor: id === getCurSettingId() ? activeBgColor : bgColor }"
       @mousedown="dragStart($event, 'ew-resize', 'left')"
     ></div>
     <div class="module" draggable="false">
@@ -27,12 +27,12 @@
     </div>
     <div
       class="vertical-line right"
-      :style="{ backgroundColor: bgColor }"
+      :style="{ backgroundColor: id === getCurSettingId() ? activeBgColor : bgColor }"
       @mousedown="dragStart($event, 'ew-resize', 'right')"
     ></div>
     <div
       class="horizontal-line bottom"
-      :style="{ backgroundColor: bgColor }"
+      :style="{ backgroundColor: id === getCurSettingId() ? activeBgColor : bgColor }"
       @mousedown="dragStart($event, 'ns-resize', 'bottom')"
     ></div>
   </div>
@@ -60,6 +60,7 @@ export default {
         type: '',
       },
       bgColor: '#ebebeb',
+      activeBgColor: '#82b4ff',
     };
   },
   created() {
@@ -120,6 +121,9 @@ export default {
       this.bgColor = '#ebebeb';
       document.body.style.cursor = 'auto';
     },
+    clickWrapper() {
+      this.showSetting();
+    },
   },
 };
 </script>

+ 2 - 0
src/views/book/courseware/create/components/question/image_text/ImageTextSetting.vue

@@ -21,6 +21,8 @@
         <el-checkbox
           v-model="property.is_first_sentence_first_hz_pinyin_first_char_upper_case"
           :disabled="!isEnable(property.view_pinyin)"
+          true-label="true"
+          false-label="false"
           >句首大写</el-checkbox
         >
       </el-form-item>

+ 10 - 1
src/views/book/courseware/create/components/question/matching/Matching.vue

@@ -5,7 +5,9 @@
         <li v-for="(li, i) in data.option_list" :key="i" class="option-item">
           <div v-for="(item, j) in li" :key="item.mark" class="option">
             <span class="serial-number">{{ computeOptionMethods[data.property.serial_number_type_list[j]](i) }}</span>
-            <el-input v-model="item.content" placeholder="请输入" />
+            <span class="option-content">
+              <RichText v-model="item.content" placeholder="请输入" :inline="true" :height="32" />
+            </span>
           </div>
         </li>
       </ul>
@@ -141,6 +143,13 @@ export default {
       .serial-number {
         @include serial-number(32px);
       }
+
+      .option-content {
+        flex: 1;
+        padding: 0 4px;
+        margin-left: 4px;
+        background-color: $fill-color;
+      }
     }
   }
 }

+ 46 - 6
src/views/book/courseware/create/index.vue

@@ -16,12 +16,7 @@
       </div>
     </div>
 
-    <div class="create-middle">
-      <!-- <div class="create-operation">
-        <el-button @click="showSetBackground"><SvgIcon icon-class="background-img" />背景图</el-button>
-        <el-button><SvgIcon icon-class="template" />模板</el-button>
-      </div> -->
-
+    <div ref="createMiddle" class="create-middle" @scroll="handleMiddleScroll">
       <CreateCanvas
         ref="createCanvas"
         :is-edit="isEdit"
@@ -31,6 +26,10 @@
         @back="back"
         @changeEditStatus="changeEditStatus"
       />
+
+      <span v-if="showBackTop" class="back-top" @click="scrollMiddleToTop">
+        <SvgIcon icon-class="back-top" size="32" />
+      </span>
     </div>
 
     <div class="create-right">
@@ -79,8 +78,24 @@ export default {
       visibleWarn: false,
       isEdit: true, // 是否编辑状态
       isChange: false, // 是否有改动
+      showBackTop: false,
     };
   },
+  mounted() {
+    this.$nextTick(() => {
+      const middle = this.$refs.createMiddle;
+      if (middle) {
+        middle.addEventListener('scroll', this.handleMiddleScroll);
+        this.handleMiddleScroll();
+      }
+    });
+  },
+  beforeDestroy() {
+    const middle = this.$refs.createMiddle;
+    if (middle) {
+      middle.removeEventListener('scroll', this.handleMiddleScroll);
+    }
+  },
   methods: {
     judgeIsHasChange() {
       if (this.isChange) {
@@ -149,6 +164,17 @@ export default {
     getRichTextContent() {
       return this.$refs.createCanvas.getRichTextContent();
     },
+    handleMiddleScroll() {
+      const middle = this.$refs.createMiddle;
+      if (!middle) return;
+      this.showBackTop = middle.scrollTop > 0 && middle.scrollHeight > middle.clientHeight;
+    },
+    scrollMiddleToTop() {
+      const middle = this.$refs.createMiddle;
+      if (middle) {
+        middle.scrollTo({ top: 0, behavior: 'smooth' });
+      }
+    },
   },
 };
 </script>
@@ -230,6 +256,20 @@ export default {
         }
       }
     }
+
+    .back-top {
+      position: fixed;
+      right: 320px;
+      bottom: 30px;
+      z-index: 99;
+      padding: 4px;
+      cursor: pointer;
+      background-color: #fff;
+      background-color: rgba(255, 255, 255, 50%);
+      border: $border;
+      border-radius: 4px;
+      transition: background-color 0.3s;
+    }
   }
 
   &-right {

+ 1 - 1
src/views/book/courseware/data/article.js

@@ -41,7 +41,7 @@ export function getArticleProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     mp3_position: positionList[0].value,
     is_enable_new_word: switchOption[0].value,

+ 1 - 1
src/views/book/courseware/data/audio.js

@@ -11,7 +11,7 @@ export function getAudioProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     view_method: audioViewMethodList[0].value,
   };

+ 1 - 1
src/views/book/courseware/data/character.js

@@ -41,7 +41,7 @@ export function getCharacterProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
 
     is_enable_pinyin: showList[0].value,

+ 1 - 1
src/views/book/courseware/data/characterBase.js

@@ -76,7 +76,7 @@ export function getCharacterBaseProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     audio_generation_method: audioGenerationMethodList[0].value,
     is_enable_voice_answer: switchOption[0].value,

+ 1 - 1
src/views/book/courseware/data/common.js

@@ -38,7 +38,7 @@ export const serialNumberPositionList = [
 export let commonSetProperty = {
   serial_number: 1, // 序号
   sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-  sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+  sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
   sn_display_mode: displayList[0].value, // 序号显示方式:true显示 false隐藏
 };
 

+ 3 - 3
src/views/book/courseware/data/describe.js

@@ -10,13 +10,13 @@ export function getDescribeProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
     sn_style: serialNumberStyleList[0].value,
     sn_background_color: '#ea3232', // 序号背景色
     view_pinyin: 'true', // 显示拼音
     pinyin_position: pinyinPositionList[0].value, // top bottom
-    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'false', // 句首大写
+    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'true', // 句首大写
   };
 }
 
@@ -28,7 +28,7 @@ export function getDescribeData() {
     paragraph_list: [],
     paragraph_list_parameter: {
       text: '',
-      is_first_sentence_first_hz_pinyin_first_char_upper_case: 'false',
+      is_first_sentence_first_hz_pinyin_first_char_upper_case: 'true',
       pinyin_proofread_word_list: [],
     },
     property: getDescribeProperty(),

+ 1 - 1
src/views/book/courseware/data/fill.js

@@ -41,7 +41,7 @@ export function getFillProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     arrange_type: arrangeTypeList[0].value,
     audio_position: audioPositionList[0].value,

+ 2 - 2
src/views/book/courseware/data/imageText.js

@@ -12,12 +12,12 @@ export function getImageTextProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
 
     view_pinyin: 'true', // 显示拼音
     pinyin_position: pinyinPositionList[0].value, // top bottom
-    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'false', // 句首大写
+    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'true', // 句首大写
   };
 }
 

+ 1 - 1
src/views/book/courseware/data/judge.js

@@ -20,7 +20,7 @@ export function getJudgeProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     option_type_list: [option_type_list[0].value, option_type_list[1].value, option_type_list[2].value],
     is_view_incertitude: switchOption[0].value,

+ 1 - 1
src/views/book/courseware/data/label.js

@@ -9,7 +9,7 @@ export function getLabelProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
     sn_style: serialNumberStyleList[0].value,
     sn_background_color: '#ea3232', // 序号背景色

+ 1 - 1
src/views/book/courseware/data/matching.js

@@ -13,7 +13,7 @@ export function getMatchingProperty(column_num = 2) {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     serial_number_type_list: serialNumberTypeList.slice(0, column_num).map((item) => item.value),
     row_num: 2, // 行数

+ 1 - 1
src/views/book/courseware/data/newWord.js

@@ -63,7 +63,7 @@ export function getNewWordProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     audio_generation_method: audioGenerationMethodList[0].value,
     pinyin_position: pinyinPositionList[0].value,

+ 1 - 1
src/views/book/courseware/data/notes.js

@@ -27,7 +27,7 @@ export function getNotesProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     is_word_show: wordShowList[1].value,
   };

+ 1 - 1
src/views/book/courseware/data/otherWord.js

@@ -49,7 +49,7 @@ export function getOtherWordProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     audio_generation_method: audioGenerationMethodList[0].value,
     pinyin_position: pinyinPositionList[0].value,

+ 1 - 1
src/views/book/courseware/data/picture.js

@@ -10,7 +10,7 @@ export function getPictureProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value, // 序号显示方式:true显示 false隐藏
     view_method: viewMethodList[0].value, // 查看方式:independent独立 list列表
     view_memo: switchOption[0].value,

+ 1 - 1
src/views/book/courseware/data/pinyinBase.js

@@ -63,7 +63,7 @@ export function getPinyinBaseProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     arrange_type: arrangeTypeList[0].value,
     audio_position: audioPositionList[0].value,

+ 1 - 1
src/views/book/courseware/data/recordInput.js

@@ -19,7 +19,7 @@ export function getRecordInputProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
   };
 }

+ 1 - 1
src/views/book/courseware/data/select.js

@@ -15,7 +15,7 @@ export function getSelectProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     arrange_type: arrangeTypeList[0].value,
   };

+ 1 - 1
src/views/book/courseware/data/sort.js

@@ -19,7 +19,7 @@ export function getSortProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     option_count: 3,
     arrange_direction: arrangeTypeList[0].value,

+ 3 - 3
src/views/book/courseware/data/stem.js

@@ -10,13 +10,13 @@ export function getStemProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
     sn_style: serialNumberStyleList[0].value,
     sn_background_color: '#ea3232', // 序号背景色
     view_pinyin: 'true', // 显示拼音
     pinyin_position: pinyinPositionList[0].value, // top bottom
-    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'false', // 句首大写
+    is_first_sentence_first_hz_pinyin_first_char_upper_case: 'true', // 句首大写
   };
 }
 
@@ -28,7 +28,7 @@ export function getStemData() {
     paragraph_list: [],
     paragraph_list_parameter: {
       text: '',
-      is_first_sentence_first_hz_pinyin_first_char_upper_case: 'false',
+      is_first_sentence_first_hz_pinyin_first_char_upper_case: 'true',
       pinyin_proofread_word_list: [],
     },
     property: getStemProperty(),

+ 1 - 1
src/views/book/courseware/data/uploadControl.js

@@ -4,7 +4,7 @@ export function getUploadControlProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
   };
 }

+ 1 - 1
src/views/book/courseware/data/uploadPreview.js

@@ -10,7 +10,7 @@ export function getUploadPreviewProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
   };
 }

+ 1 - 1
src/views/book/courseware/data/video.js

@@ -9,7 +9,7 @@ export function getVideoProperty() {
   return {
     serial_number: 1, // 序号
     sn_type: serialNumberTypeList[0].value, // 序号类型:letter字母 number数字  capital大写字母 bracket_number括号数字
-    sn_position: serialNumberPositionList[0].value, // 序号位置:top-start top top-end,left-start left left-end等
+    sn_position: serialNumberPositionList[3].value, // 序号位置:top-start top top-end,left-start left left-end等
     sn_display_mode: displayList[0].value,
     view_method: viewMethodList[0].value, // 查看方式:independent独立 list列表
   };

+ 1 - 1
src/views/book/courseware/data/voiceMatrix.js

@@ -11,7 +11,7 @@ export function getVoiceMatrixProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     is_enable_row_play: switchOption[0].value, // 是否开启行播放
     is_enable_column_play: switchOption[0].value, // 是否开启列播放

+ 1 - 1
src/views/book/courseware/data/write.js

@@ -53,7 +53,7 @@ export function getWriteProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
     frame_type: 'tian',
     frame_color: '#F13232',

+ 1 - 1
src/views/book/courseware/data/writeBase.js

@@ -76,7 +76,7 @@ export function getWriteBaseProperty() {
   return {
     serial_number: 1,
     sn_type: serialNumberTypeList[0].value,
-    sn_position: serialNumberPositionList[0].value,
+    sn_position: serialNumberPositionList[3].value,
     sn_display_mode: displayList[0].value,
   };
 }

+ 1 - 1
src/views/personal_workbench/project/ProductionEditorialManage.vue

@@ -51,7 +51,7 @@
           <div class="operator">
             <span class="link">修改</span>
             <span class="link" @click="openSetProducer(id)">设置制作人</span>
-            <span v-if="is_leaf_chapter === 'true'" class="link" @click="openSetAuditor(id)">设置审校人</span>
+            <span class="link" @click="openSetAuditor(id)">设置审校人</span>
             <span class="link danger" @click="deleteChapter(id)">删除</span>
           </div>
         </div>

+ 1 - 1
src/views/personal_workbench/project/ProjectInfoManage.vue

@@ -50,7 +50,7 @@
           <span>{{ project.publisher }}</span>
           <span class="link">更改</span>
         </div>
-        <span class="label" style="line-height: 16px">语句容量<br />(课数)</span>
+        <span class="label" style="line-height: 16px">预计容量<br />(课数)</span>
         <div class="project-item">
           <span>{{ project.content_count_YG }}</span>
           <span class="link">更改</span>

+ 2 - 2
src/views/project_manage/book/index.vue

@@ -14,8 +14,8 @@
         <el-table-column prop="version" label="版本" width="80" header-align="center" />
         <el-table-column prop="project_sn" label="项目编号" width="120" header-align="center" />
         <el-table-column prop="project_name" label="项目名称" width="240" header-align="center" />
-        <el-table-column prop="content_count_SJ" label="教材页面数" width="120" header-align="center" />
-        <el-table-column prop="publish_time" label="上架时间" header-align="center" />
+        <el-table-column prop="content_count" label="教材页面数" width="120" header-align="center" align="center" />
+        <el-table-column prop="shangjia_time" label="上架时间" header-align="center" width="160" />
         <el-table-column label="已申请下架" header-align="center" align="center">
           <template slot-scope="{ row }">
             <span style="color: #f53f3f">

+ 1 - 1
src/views/project_manage/org/book/index.vue

@@ -16,7 +16,7 @@
         <el-table-column prop="org_name" label="所属机构" width="120" header-align="center" />
         <el-table-column prop="content_count" label="教材页面数" width="100" header-align="center" />
         <el-table-column prop="shangjia_time" label="上架时间" width="180" header-align="center" />
-        <el-table-column label="已申请下架" width="100" align="center" header-align="center">
+        <el-table-column label="已申请下架" align="center" header-align="center">
           <template slot-scope="{ row }">
             <span style="color: #f53f3f">
               {{ isTrue(row.is_request_xiajia) ? '√' : '' }}

+ 43 - 1
src/views/project_manage/org/final/OrgFinalPreview.vue

@@ -7,7 +7,21 @@
         <span class="link">查看项目信息</span>
         <span class="link">查看教材信息</span>
         <span v-if="isTrue(courseware.is_can_shangjia_book)" class="link" @click="openConfirmBookDialog">上架</span>
+        <span
+          v-if="isTrue(courseware.is_can_reject_shangjia_book_request)"
+          class="link"
+          @click="rejectShangjiaBookRequest"
+        >
+          驳回上架请求
+        </span>
         <span v-if="isTrue(courseware.is_can_rollback_project)" class="link" @click="rollbackProject">退改</span>
+        <span
+          v-if="isTrue(courseware.is_can_reject_rollback_project_request)"
+          class="link"
+          @click="rejectRollbackProjectRequest"
+        >
+          驳回退改请求
+        </span>
         <span class="link" @click="goBackBookList">返回项目列表</span>
       </template>
     </CommonPreview>
@@ -22,7 +36,7 @@ import CommonPreview from '@/components/CommonPreview.vue';
 import ConfirmBookInfo from './components/ConfirmBookInfo.vue';
 
 import { isTrue } from '@/utils/common';
-import { ShangjiaBook, RollbackProject } from '@/api/project';
+import { ShangjiaBook, RollbackProject, RejectShangjiaBookRequest, RejectRollbackProjectRequest } from '@/api/project';
 
 export default {
   name: 'OrgFinalPreview',
@@ -68,6 +82,34 @@ export default {
         })
         .catch(() => {});
     },
+    rejectShangjiaBookRequest() {
+      this.$confirm('确定要驳回上架请求吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          RejectShangjiaBookRequest({ project_id: this.project_id }).then(() => {
+            this.$message.success('驳回上架请求成功');
+            this.$refs.preview.getProjectBaseInfo();
+          });
+        })
+        .catch(() => {});
+    },
+    rejectRollbackProjectRequest() {
+      this.$confirm('确定要驳回退改请求吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          RejectRollbackProjectRequest({ project_id: this.project_id }).then(() => {
+            this.$message.success('驳回退改请求成功');
+            this.$refs.preview.getProjectBaseInfo();
+          });
+        })
+        .catch(() => {});
+    },
     goBackBookList() {
       this.$router.push({ path: '/project_manage/org/final' });
     },

+ 1 - 1
src/views/project_manage/org/final/index.vue

@@ -16,7 +16,7 @@
         <el-table-column prop="create_time" label="创建时间" width="180" header-align="center" />
         <el-table-column prop="content_count_SJ" label="教材页面数" width="100" header-align="center" />
         <el-table-column prop="request_status_name" label="申请状态" width="100" align="center" />
-        <el-table-column prop="version" label="教材版本" width="80" align="center" header-align="center" />
+        <el-table-column prop="version" label="教材版本" align="center" header-align="center" />
 
         <el-table-column label="操作" fixed="right" width="240" align="center" header-align="center">
           <template slot-scope="{ row }">

+ 11 - 5
src/views/project_manage/org/project/index.vue

@@ -13,13 +13,18 @@
         <el-table-column prop="name" label="名称" width="260" header-align="center" />
         <el-table-column prop="org_name" label="所属机构" width="120" header-align="center" />
         <el-table-column prop="leader_name_desc" label="项目组长" width="140" header-align="center" />
-        <el-table-column prop="create_date" label="创建日期" width="180" header-align="center" />
-        <el-table-column prop="content_count_SJ" label="教材内容数" width="100" header-align="center" />
-        <el-table-column prop="" label="教材内容审核通过数" header-align="center" />
+        <el-table-column prop="create_time" label="创建时间" width="180" header-align="center" />
+        <el-table-column prop="content_count_SJ" label="教材页面数" width="100" header-align="center" />
+        <el-table-column label="退改" header-align="center" align="center">
+          <template slot-scope="{ row }">
+            <span style="color: #f53f3f">{{ isTrue(row.is_rollback) ? '√' : '' }}</span>
+          </template>
+        </el-table-column>
 
         <el-table-column fixed="right" label="操作" width="150" align="center" header-align="center">
           <template slot-scope="{ row }">
-            <el-button type="text" size="small" @click="previewProject(row.id)">预览项目</el-button>
+            <span class="link">查看信息</span>
+            <span class="link" @click="previewProject(row.id)">预览项目</span>
           </template>
         </el-table-column>
       </el-table>
@@ -34,6 +39,7 @@ import PaginationPage from '@/components/PaginationPage.vue';
 import ProjectMenu from '@/views/project_manage/common/ProjectMenu.vue';
 
 import { PageQueryProjectList_OrgManager } from '@/api/list';
+import { isTrue } from '@/utils/common';
 
 export default {
   name: 'OrgProjectPage',
@@ -46,7 +52,7 @@ export default {
       list: [],
       total: 0,
       cur_page_begin_index: 0,
-      requestStatusList: ['无', '申请上架', '申请退改'],
+      isTrue,
     };
   },
   methods: {

+ 10 - 2
src/views/project_manage/project/index.vue

@@ -11,12 +11,18 @@
         </el-table-column>
         <el-table-column prop="sn" label="编号" width="140" header-align="center" />
         <el-table-column prop="name" label="名称" width="240" header-align="center" />
-        <el-table-column prop="create_date" label="创建日期" width="180" header-align="center" />
-        <el-table-column prop="content_count_SJ" label="教材内容数" width="100" header-align="center" />
+        <el-table-column prop="create_time" label="创建时间" width="180" header-align="center" />
+        <el-table-column prop="content_count_SJ" label="教材页面数" width="100" header-align="center" />
         <el-table-column prop="status_name" label="状态" width="120" header-align="center" />
         <el-table-column prop="request_status_name" label="申请状态" width="120" header-align="center" />
         <el-table-column prop="version" label="教材版本" width="120" header-align="center" />
+        <el-table-column label="退改" header-align="center" align="center" width="60">
+          <template slot-scope="{ row }">
+            <span style="color: #f53f3f">{{ isTrue(row.is_rollback) ? '√' : '' }}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="version_desc_YSJ" label="已上架教材版本" header-align="center" />
+
         <el-table-column label="操作" fixed="right" width="240" align="center" header-align="center">
           <template slot-scope="{ row }">
             <span class="link">查看信息</span>
@@ -36,6 +42,7 @@ import PaginationPage from '@/components/PaginationPage.vue';
 import ProjectMenu from '../common/ProjectMenu.vue';
 
 import { PageQueryMyProjectList_Leader } from '@/api/list';
+import { isTrue } from '@/utils/common';
 
 export default {
   name: 'ProjectManage',
@@ -48,6 +55,7 @@ export default {
       list: [],
       total: 0,
       cur_page_begin_index: 0,
+      isTrue,
     };
   },
   methods: {