Browse Source

文章生词。短语。注释

natasha 1 year ago
parent
commit
7ad2840566

+ 3 - 0
src/components/NavMenu.vue

@@ -55,6 +55,9 @@ export default {
         // this.$emit("handleSelectNav",key)
         window.localStorage.removeItem('pageSize')
         window.localStorage.removeItem('pageNumber')
+        window.localStorage.removeItem('pageSizes')
+        window.localStorage.removeItem('pageNumbers')
+        window.localStorage.removeItem('tabsIndex')
     },
     // 处理菜单权限
     handleMenu(){

+ 3 - 0
src/icons/svg/arrow-left-right-line.svg

@@ -0,0 +1,3 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M8.02515 6.02344L10.5 8.49834L8.02515 10.9732L7.318 10.2661L8.586 8.99794L2 8.99834V7.99834L8.586 7.99794L7.318 6.73054L8.02515 6.02344ZM3.97487 1.02344L4.68198 1.73055L3.414 2.99794L10 2.99831V3.99831L3.414 3.99794L4.68198 5.26609L3.97487 5.97319L1.5 3.49831L3.97487 1.02344Z" fill="currentColor"/>
+</svg>

+ 10 - 0
src/router/index.js

@@ -164,6 +164,16 @@ export const constantRoutes = [{
         component: () =>
             import ('@/views/finance_manage/FlowManage.vue')
     },
+    {
+        path: '/articleChecklist',
+        component: () =>
+            import ('@/views/content_manage/newspaper_manage/ArticleCheckList.vue')
+    },
+    {
+        path: '/checkArticle',
+        component: () =>
+            import ('@/views/content_manage/newspaper_manage/CheckArticle.vue')
+    },
     // 404 page must be placed at the end !!!
     { path: '*', redirect: '/', hidden: true }
 ]

+ 1 - 1
src/store/index.js

@@ -58,7 +58,7 @@ const store = new Vuex.Store({
             },
             9: {
                 text: '待校对',
-                bg: '#00B42A',
+                bg: '#C9CDD4',
                 color: ''
             }
         },

+ 2 - 1
src/views/content_manage/course_manage/LiveCourse.vue

@@ -44,7 +44,8 @@
                         type="index"
                         label="#"
                         sortable
-                        width="64">
+                        width="64"
+                        :index="(pageNumber-1)*pageSize+1">
                     </el-table-column>
                     <el-table-column
                         prop="name"

+ 2 - 1
src/views/content_manage/course_manage/RecordedCourse.vue

@@ -66,7 +66,8 @@
                         type="index"
                         label="#"
                         sortable
-                        width="64">
+                        width="64"
+                        :index="(pageNumber-1)*pageSize+1">
                     </el-table-column>
                     <el-table-column
                         prop="name"

+ 376 - 0
src/views/content_manage/newspaper_manage/ArticleCheckList.vue

@@ -0,0 +1,376 @@
+<template>
+  <div class="manage-root newspaper-create">
+    <Header />
+    <div class="manage-root-contain">
+        <nav-menu class="manage-root-contain-left" :activeMenuIndex="activeMenuIndex"></nav-menu>
+        <div class="manage-root-contain-right">
+            <breadcrumb :breadcrumbList="breadcrumbList" class="breadcrumb-box"></breadcrumb>
+            <div class="create-bottom">
+                <div class="issue-channel" v-if="issueChannel">
+                    <h3>{{newspaperForm.iss_name}}</h3>
+                    <div class="channel-item" v-for="(item,index) in issueChannel.chn_art_data" :key="index">
+                        <div class="channel-top">
+                            <i class="el-icon-caret-bottom" v-if="item.show" @click="item.show=!item.show"></i>
+                            <i class="el-icon-caret-top" v-else @click="item.show=!item.show"></i>
+                            <div class="channel-top-name">
+                                <span>{{item.chn_name}}</span>
+                            </div>
+                        </div>
+                        <el-collapse-transition>
+                            <template v-if="item.show">
+                                <ul
+                                    class="article-list"
+                                >
+                                    <li v-for="(itema,indexa) in item.arts" :key="indexa">
+                                        <div class="items">
+                                            <h6>{{itema.art_title}}</h6>
+                                            <span>最近编辑:{{itema.updater_real_name||itema.updater_user_name||itema.creator_real_name||itema.creator_user_name}}</span>
+                                            <span>{{itema.update_time||itema.create_time}}</span>
+                                            <template v-if="itema.art_status===9">
+                                                <span class="status-bg" :style="{background:'#C9CDD4'}"></span>
+                                                <b class="status-text" :style="{color:'#1D2129'}">
+                                                    待校对
+                                                </b>
+                                            </template>
+                                            <template v-else>
+                                                <span class="status-bg" :style="{background:'#165DFF'}"></span>
+                                                <b class="status-text" :style="{color:'#1D2129'}">
+                                                    已校对
+                                                </b>
+                                            </template>
+                                        </div>
+                                        <a @click="handleArticle(itema.id,itema.en_flag,item.chn_name)" style="display: flex;margin: 0 4px;align-items:center;">
+                                            <svg-icon icon-class="edit" class="edit-article"></svg-icon>校对
+                                        </a>
+                                        <span class="border"></span>
+                                        <i class="el-icon-delete" @click="handleDeleteArticle(item.arts,indexa,itema.id)"></i>
+                                    </li>
+                                </ul>
+                            </template>
+                        </el-collapse-transition>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  </div>
+</template>
+
+<script>
+//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+//例如:import 《组件名称》from ‘《组件路径》';
+import Header from "../../../components/Header.vue";
+import NavMenu from "../../../components/NavMenu.vue"
+import Breadcrumb from '../../../components/Breadcrumb.vue';
+import { getLogin } from "@/api/ajax";
+import { mapState } from 'vuex'; 
+
+export default {
+  //import引入的组件需要注入到对象中才能使用
+  components: { Header, NavMenu, Breadcrumb },
+  props: {},
+  data() {
+    return {
+        activeMenuIndex: "newspaper_manage",
+        breadcrumbList:[
+            {
+                icon:'file-list-line',
+                url:'',
+                text:''
+            },
+            {
+                icon:'',
+                url:'',
+                notLink: true,
+                text:'内容管理'
+            },
+            {
+                icon:'',
+                url:'',
+                text:'报纸管理'
+            }
+        ],
+        id:this.$route.query.id?this.$route.query.id:'',
+        newspaperForm:{
+            iss_name: '',
+            chn_data: ''
+        },
+        issueId: '',
+        issueChannel: null,
+        loading: false,
+    }
+  },
+  //计算属性 类似于data概念
+  computed: {
+    ...mapState(['$checkStatusColorList']),
+  },
+  //监控data中数据变化
+  watch: {
+    
+  },
+  //方法集合
+  methods: {
+    handleDeleteArticle(item,i,id){
+        this.$confirm("确定删除吗?", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+        }).then(() => {
+            item.splice(i, 1);
+            getLogin('/PaperServer/Manager/ArticleManager/DeleteArticle', {id:id})
+            .then((res) => {
+                if(res.status===1){
+                
+                }
+            })
+        });
+    },
+    getInfo(){
+        let MethodName = "/PaperServer/Manager/IssueManager/FindIssueById"
+        let data = {
+            id: this.id?this.id:this.issueId
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+                this.newspaperForm = res.data
+                let chn_art_data = []
+                if(res.data.chn_art_data){
+                    chn_art_data = JSON.parse(JSON.stringify(res.data.chn_art_data))
+                    chn_art_data.forEach((item,index)=>{
+                        if(!item.hasOwnProperty('arts')){
+                            this.$set(item,'arts',[])
+                        }
+                        item.editFlag = false
+                        item.edit_name = item.chn_name
+                        if(index===0){
+                            item.show = this.issueChannel&&this.issueChannel.chn_art_data&&this.issueChannel.chn_art_data[index]?this.issueChannel.chn_art_data[index].show:true
+                        }else{
+                            item.show = this.issueChannel&&this.issueChannel.chn_art_data&&this.issueChannel.chn_art_data[index]?this.issueChannel.chn_art_data[index].show:false
+                        }
+                    })
+                }else{
+                    JSON.parse(res.data.chn_data).forEach((itemc,index)=>{
+                        if(itemc){
+                            let obj = {
+                                chn_name: itemc,
+                                edit_name: itemc,
+                                arts: [],
+                                show: index===0?true:false
+                            }
+                            chn_art_data.push(obj)
+                        }
+                    })
+                }
+                this.issueChannel = {
+                    chn_count: res.data.chn_count,
+                    art_count: res.data.art_count,
+                    chn_art_data: chn_art_data
+                }
+            }
+        })
+        .catch(() => {
+        });
+    },
+    // 跳转文章
+    handleArticle(id,type,name){
+        this.$router.push({
+            path:'/checkArticle',
+            query: {
+                id: id,
+                en_flag: type?type:0,
+                issueId: this.id?this.id:this.issueId,
+                chn_name: name,
+                isCreate: !this.id?true:''
+            }
+        })
+    },
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  async created() {
+    let obj = {
+        icon:'',
+        url:'',
+        text:'创建报纸'
+    }
+    if(this.id){
+        obj.text = '校对'
+        this.getInfo()
+    }
+    this.breadcrumbList.push(obj)
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+
+  },
+  //生命周期-创建之前
+  beforeCreated() { },
+  //生命周期-挂载之前
+  beforeMount() { },
+  //生命周期-更新之前
+  beforUpdate() { },
+  //生命周期-更新之后
+  updated() { },
+  //生命周期-销毁之前
+  beforeDestory() { },
+  //生命周期-销毁完成
+  destoryed() { },
+  //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() { }
+}
+</script>
+<style lang="scss" scoped>
+/* @import url(); 引入css类 */
+ul{
+    margin: 0;
+    padding: 0;
+}
+.create-bottom{
+    padding: 40px 40px;
+    margin-top: 16px;
+    background: #FFFFFF;
+    border-radius: 4px;
+    height: calc(100vh - 130px);
+    overflow: auto;
+    h6{
+        color: #000;
+        font-size: 16px;
+        font-weight: 400;
+        line-height: 24px;
+        margin: 0 0 16px 0;
+    }
+}
+.issue-channel{
+    h3{
+        margin: 0 0 24px 0;
+        color: #1D2129;
+        font-size: 20px;
+        font-weight: 500;
+        line-height: 28px;
+    }
+    .issue-top{
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 8px;
+        &-left{
+            margin: 0;
+            color: #1D2129;
+            font-size: 20px;
+            font-weight: 500;
+            line-height: 28px;
+            span{
+                margin-left: 4px;
+                color: #86909C;
+                font-size: 14px;
+                font-weight: 400;
+                line-height: 22px;
+            }
+        }
+    }
+    .channel-item{
+        border: 1px solid #E5E6EB;
+        margin: 12px 0;
+        .channel-top{
+            display: flex;
+            padding: 0 12px;
+            height: 42px;
+            align-items: center;
+            .el-icon-caret-bottom,.el-icon-caret-top{
+                color: #4E5969;
+                width: 14px;
+                height: 14px;
+                cursor: pointer;
+            }
+            &-name{
+                margin-left: 6px;
+                flex: 1;
+                word-break: break-word;
+                color: #1D2129;
+                font-size: 14px;
+                font-weight: 400;
+                line-height: 22px;
+                .edit-chn-name{
+                    margin-left: 4px;
+                    cursor: pointer;
+                }
+            }
+            .el-button--text{
+                padding: 2px 12px;
+                color: #165DFF;
+                .el-icon-plus{
+                    width: 12px;
+                    height: 12px;
+                    margin-right: 8px;
+                    font-weight: bold;
+                }
+            }
+        }
+        .article-list{
+            margin: 0;
+            padding: 8px;
+            list-style: none;
+            background: #F7F8FA;
+            min-height: 44px;
+            border-top: 1px solid #E5E6EB;
+            li{
+                padding: 13px 20px;
+                border-bottom: 1px solid #E5E6EB;
+                display: flex;
+                align-items: center;
+                .svg-icon{
+                    width: 16px;
+                    height: 16px;
+                    cursor: move;
+                }
+                .edit-article{
+                    cursor: pointer;
+                    padding: 4px;
+                    width: 24px;
+                    height: 24px;
+                }
+                .items{
+                    flex: 1;
+                    margin: 0 16px;
+                    h6{
+                        font-size: 16px;
+                        font-weight: 500;
+                        line-height: 24px;
+                        margin-bottom: 2px;
+                        word-break: break-word;
+                    }
+                    span{
+                        color: #1D2129;
+                        font-size: 14px;
+                        font-weight: 400;
+                        line-height: 22px;
+                        margin-right: 8px;
+                    }
+                }
+                .border{
+                    height: 12px;
+                    width: 1px;
+                    display: block;
+                    background: #E5E6EB;
+                }
+                .el-icon-delete{
+                    font-weight: bold;
+                    cursor: pointer;
+                    padding: 8px;
+                }
+            }
+        }
+    }
+    .status-bg{
+        width: 6px;
+        height: 6px;
+        border-radius: 50%;
+        display: inline-block;
+        margin-right: 4px !important;
+    }
+    .status-text{
+        font-size: 14px;
+        font-weight: 400;
+        line-height: 22px;
+    }
+}
+</style>

+ 2 - 1
src/views/content_manage/newspaper_manage/ChannelList.vue

@@ -51,7 +51,8 @@
                 type="index"
                 label="#"
                 sortable
-                width="56">
+                width="56"
+                :index="(pageNumber-1)*pageSize+1">
             </el-table-column>
             <el-table-column
                 prop="tpl_name"

+ 445 - 0
src/views/content_manage/newspaper_manage/CheckArticle.vue

@@ -0,0 +1,445 @@
+<template>
+  <div class="manage-root create-article">
+    <Header/>
+    <breadcrumb :breadcrumbList="breadcrumbList" class="breadcrumb-box"></breadcrumb>
+    <el-button type="primary" plain class="add-btn" @click="handleSaveCheck" :loading="loading" >保存</el-button>
+    <div class="manage-root-contain" v-loading="subtitleLoading">
+
+        <Editor
+            id="article-cn"
+            v-model="articleForm.art_content"
+            :init="init"
+        />
+        <div class="save-btn">
+            <el-button type="primary" size="small" @click="handleSaveArticle('articleForm')" :loading="loading">下一步</el-button>
+            <el-button size="small" @click="onCancel('articleForm')">取消</el-button>
+        </div>
+        <el-button type="primary" size="small" class="preview-btn">预览</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+//例如:import 《组件名称》from ‘《组件路径》';
+import Header from "../../../components/Header.vue";
+import Breadcrumb from '../../../components/Breadcrumb.vue';
+import { getLogin } from "@/api/ajax";
+import tinymce from "tinymce/tinymce";
+import Editor from "@tinymce/tinymce-vue";
+import "tinymce/icons/default/icons";
+import "tinymce/themes/silver";
+// 引入富文本编辑器主题的js和css
+import "tinymce/themes/silver/theme.min";
+import "tinymce/skins/ui/oxide/skin.min.css";
+// 扩展插件
+// import "tinymce/plugins/"
+import "tinymce/plugins/image";
+import "tinymce/plugins/link";
+import "tinymce/plugins/code";
+import "tinymce/plugins/table";
+import "tinymce/plugins/lists";
+import "tinymce/plugins/wordcount"; // 字数统计插件
+import "tinymce/plugins/media"; // 插入视频插件
+import "tinymce/plugins/template"; // 模板插件
+import "tinymce/plugins/fullscreen";
+import "tinymce/plugins/paste";
+import "tinymce/plugins/preview";
+import "tinymce/plugins/contextmenu";
+import "tinymce/plugins/textcolor";
+import "tinymce/plugins/colorpicker";
+import { mapState } from 'vuex';
+import { getToken } from '@/utils/auth'
+
+export default {
+  //import引入的组件需要注入到对象中才能使用
+  components: { Header, Breadcrumb, Editor},
+  props: {},
+  data() {
+    //这里存放数据
+    return {
+        id:this.$route.query.id?this.$route.query.id:'',
+        en_flag:this.$route.query.en_flag?this.$route.query.en_flag*1:0,
+        breadcrumbList:[
+            {
+                icon:'file-list-line',
+                url:'',
+                text:''
+            },
+            {
+                icon:'',
+                url:'',
+                notLink: true,
+                text:'...'
+            },
+            {
+                icon:'',
+                url:'',
+                text:'校对'
+            },
+        ],
+        tableHeight: "",
+        loading: false,
+        articleForm: {
+            art_content: '', // 中文文章
+            articleEn: '', // 英文文章
+        },
+        init: null,
+        subtitleLoading: false, //生成字幕loading
+        sentenceList: [], // 句子信息
+        articleId: null,
+        wordLit:[],
+        annotationList: [],
+        phraseList: []
+    }
+  },
+  //计算属性 类似于data概念
+  computed: {
+  },
+  //监控data中数据变化
+  watch: {},
+  //方法集合
+  methods: {
+    getTableHeight() {
+      let tableH = 236; //距离页面下方的高度
+      let tableHeightDetil = window.innerHeight - tableH;
+      if (tableHeightDetil <= 300) {
+        this.tableHeight = 300;
+      } else {
+        this.tableHeight = window.innerHeight - tableH;
+      }
+    },
+    // 取消 恢复到修改前状态
+    onCancel(){
+        this.$router.go(-1)
+    },
+    handleSaveArticle(formName,flag){
+        this.$refs[formName].validate((valid) => {
+            if (valid) {
+                let MethodName = '/PaperServer/Manager/ArticleManager/AddArticle'
+                let data = {
+                    art_title: this.articleForm.art_title,
+                    page_no_in_pub: this.articleForm.page_no_in_pub*1,
+                    art_author: this.articleForm.art_author,
+                    art_content: this.articleForm.art_content,
+                    iss_id: this.$route.query.issueId,
+                    chn_item: this.$route.query.chn_name,
+                    en_flag: this.en_flag
+                }
+                if(this.id){
+                    MethodName = '/PaperServer/Manager/ArticleManager/EditArticle'
+                    data.id = this.id,
+                    data.updater_id = JSON.parse(getToken()).user_id
+                }
+                if(!this.articleForm.art_content.trim()){
+                    this.$message.warning('文章内容不能为空')
+                    return false
+                }
+                if(this.en_flag===0){
+                    
+                }else{
+                    data.art_content = this.id?this.articleForm.art_content:null
+                    data.art_org_content = this.articleForm.art_content.trim()
+                }
+                getLogin(MethodName, data)
+                .then((res) => {
+                    if(res.status===1){
+                        this.$message.success('文章保存成功')
+                        this.$router.go(-1)
+                    }
+                })
+            } else {
+                return false;
+            }
+        });
+    },
+    // 去掉前后空格
+    handleTrim(form,fild){
+        this[form][fild] = this[form][fild].trim()
+    },
+    // 获取文章信息
+    getArticleInfo(){
+        this.subtitleLoading = true
+        let MethodName = '/PaperServer/Manager/ArticleManager/FindArticleById'
+        let data = {
+            id: this.id
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+                let obj = {
+                    icon:'',
+                    url:'',
+                    text:res.data.art.art_title
+                }
+                this.breadcrumbList.push(obj)
+                this.articleForm = JSON.parse(JSON.stringify(res.data.art))
+                this.articleForm.articleEn = JSON.parse(JSON.stringify(res.data.art)).art_org_content
+                this.subtitleLoading = false
+            }
+        }).catch(()=>{
+            this.subtitleLoading = false
+        })
+    },
+    handleSaveCheck(){
+        this.loading = true
+        let MethodName = '/PaperServer/Manager/ArticleManager/EditArticleStatus'
+        let data = {
+            id: this.id,
+            art_status: 1
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+                this.loading = false
+            }
+        }).catch(()=>{
+            this.loading = false
+        })
+    }
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {
+    this.getTableHeight()
+    let lang_url = "";
+    let language = "";
+    let skin_url =
+      process.env.NODE_ENV == "development"
+        ? "/tinymce/skins/ui/oxide"
+        : window.g.zh_CN_URL + "/tinymce/skins/ui/oxide";
+
+    lang_url =
+      process.env.NODE_ENV == "development"
+        ? "/tinymce/langs/zh_CN.js"
+        : window.g.zh_CN_URL + "/tinymce/langs/zh_CN.js";
+    language = "zh_CN";
+
+    this.init = {
+        language_url: lang_url,
+        language: language,
+        skin_url: skin_url,
+        height: 600,
+        plugins: "link lists image code table wordcount  preview",
+        toolbar:
+            "preview bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat",
+        branding: false,
+    }; //富文本初始化
+    if(this.id){
+        this.getArticleInfo()
+    }
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    tinymce.init({
+      selector: `#article-cn`,
+    });
+  },
+  //生命周期-创建之前
+  beforeCreated() { },
+  //生命周期-挂载之前
+  beforeMount() { },
+  //生命周期-更新之前
+  beforUpdate() { },
+  //生命周期-更新之后
+  updated() { },
+  //生命周期-销毁之前
+  beforeDestory() { },
+  //生命周期-销毁完成
+  destoryed() { },
+  //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() { }
+}
+</script>
+<style lang="scss" scoped>
+/* @import url(); 引入css类 */
+.breadcrumb-box {
+    left: 24px;
+}
+.manage-root-contain{
+    margin: 56px 24px 24px;
+    height: calc(100vh - 132px);
+    border-radius: 4px;
+    background: #FFF;
+    padding: 24px 24px 80px 24px;
+    display: block;
+    position: relative;
+    &-inner{
+        overflow-y: auto;
+    }
+    .save-btn,.preview-btn{
+        position: absolute;
+        bottom: 24px;
+        left: 24px;
+    }
+    .preview-btn{
+        right: 24px;
+        left: auto;
+    }
+    
+}
+.el-form--inline{
+    display: flex;
+    width: 100%;
+}
+.title-box{
+    flex: 1;
+    .el-input{
+        width: 100%;
+    }
+}
+.source-box{
+    .el-input{
+        width: 205px;
+    }
+}
+.page-box{
+    .el-input{
+        width: 190px;
+    }
+    
+}
+.item-label{
+    color: #4E5969;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 22px;
+}
+.article-mp3-box{
+    display: flex;
+    height: 32px;
+    align-items: center;
+    margin: 8px 0 20px 0;
+}
+.article-mp3{
+    width: 82px;
+    height: 32px;
+    &-has{
+        width: 320px;
+    }
+}
+.article-mp3-list{
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    display: inline-block;
+    width: 226px;
+    li{
+        padding: 5px 12px;
+        height: 32px;
+        border-radius: 2px 0px 0px 2px;
+        background: #F2F3F5;
+        display: flex;
+        align-items: center;
+        a{
+            color: #1D2129;
+            display: flex;
+            align-items: center;
+            flex: 1;
+            span{
+                overflow:hidden;
+                text-overflow:ellipsis;
+                white-space: nowrap;
+                flex: 1;
+                display: block;
+                font-size: 14px;
+                line-height: 22px;
+            }
+            .svg-icon{
+                width: 16px;
+                height: 16px;
+                margin-right: 4px;
+                color: #1D2129;
+            }
+        }
+        .el-icon-error{
+            color: #4E5969;
+            cursor: pointer;
+            margin-left: 4px;
+        }
+    }
+}
+.error-tips{
+    font-size: 14px;
+    font-weight: 500;
+    line-height: 22px;
+    color: #F53F3F;
+    margin-left: 16px;
+    .svg-icon{
+        width: 12px;
+        height: 12px;
+        margin-right: 4px;
+    }
+}
+.resource-list{
+    list-style: none;
+    margin: 12px 0;
+    padding: 0;
+    li{
+        display: flex;
+        align-items: center;
+        margin-bottom: 16px;
+        a,>div{
+            width: 360px;
+            padding: 7px 12px;
+            background: #F7F8FA;
+            border-radius: 2px;
+            color: #1D2129;
+            display: flex;
+            align-items: center;
+            span{
+                overflow:hidden;
+                text-overflow:ellipsis;
+                white-space: nowrap;
+                flex: 1;
+                display: block;
+                font-size: 14px;
+                line-height: 22px;
+            }
+            .svg-icon{
+                width: 16px;
+                height: 16px;
+                margin-right: 8px;
+                color: #4E5969;
+            }
+        }
+        .el-icon-delete{
+            color: #4E5969;
+            cursor: pointer;
+            margin-left: 12px;
+            &:hover{
+                color: #165DFF;
+            }
+        }
+        >div{
+            display: flex;
+        }
+    }
+}
+.add-btn{
+    padding: 2px 12px;
+    border-radius: 2px;
+    border: 1px solid #165DFF;
+    color: #165DFF;
+    font-size: 12px;
+    font-weight: 400;
+    line-height: 20px; 
+    background: #FFF;
+    position: fixed;
+    top: 64px;
+    right: 24px;
+    .el-icon-plus{
+        margin-right: 8px;
+    }
+    &:hover{
+        background: #FFF;
+        color: #165DFF;
+    }
+}
+</style>
+<style lang="scss">
+.create-article{
+    .el-divider{
+        width: 600px;
+    }
+}
+</style>

+ 5 - 4
src/views/content_manage/newspaper_manage/CreateArticle.vue

@@ -363,9 +363,9 @@ export default {
                     chn_item: this.$route.query.chn_name,
                     en_flag: this.en_flag
                 }
-                if(this.id){
+                if(this.id||this.articleId){
                     MethodName = '/PaperServer/Manager/ArticleManager/EditArticle'
-                    data.id = this.id,
+                    data.id = this.id||this.articleId,
                     data.updater_id = JSON.parse(getToken()).user_id
                 }
                 if(!this.articleForm.art_content.trim()){
@@ -375,7 +375,7 @@ export default {
                 if(this.en_flag===0){
                     
                 }else{
-                    data.art_content = this.id?this.articleForm.art_content:null
+                    data.art_content = this.id||this.articleId?this.articleForm.art_content:null
                     data.art_org_content = this.articleForm.art_content.trim()
                     data.art_sounds = this.articleForm.articleMp3_id?[this.articleForm.articleMp3_id]:null
                     let resource_file_id_list = []
@@ -528,7 +528,7 @@ export default {
         this.subtitleLoading = true
         let MethodName = '/PaperServer/Manager/ArticleManager/FindArticleById'
         let data = {
-            id: this.id
+            id: this.id||this.articleId
         }
         getLogin(MethodName, data)
         .then((res) => {
@@ -667,6 +667,7 @@ export default {
         toolbar:
             "preview bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat",
         branding: false,
+        extended_valid_elements: 'p[class|pno|sno|tsno|id|explain],span[class|pno|sno|tsno|id|explain],div[class|pno|sno|tsno|id|explain]'
     }; //富文本初始化
     if(this.id){
         this.getArticleInfo()

+ 7 - 5
src/views/content_manage/newspaper_manage/CreateNewspaper.vue

@@ -510,7 +510,7 @@ export default {
             getLogin('/PaperServer/Manager/ArticleManager/DeleteArticle', {id:id})
             .then((res) => {
                 if(res.status===1){
-                this.vendorList = res.data
+                    
                 }
             })
         });
@@ -610,6 +610,7 @@ export default {
                 window.localStorage.removeItem('newsForm')
                 window.localStorage.removeItem('newsStep')
                 this.issueId = res.data.id
+                this.$router.replace('/createNewspaper?id='+res.data.id+'&isCreate=true')
                 this.stepIndex++
                 let chn_art_data = []
                 if(res.data.chn_art_data){
@@ -622,7 +623,7 @@ export default {
                         }
                     })
                 }else{
-                    JSON.parse(res.data.chn_data).forEach((itemc,index)=>{
+                    res.data.chn_data.forEach((itemc,index)=>{
                         let obj = {
                             chn_name: itemc,
                             edit_name: itemc,
@@ -632,7 +633,6 @@ export default {
                         chn_art_data.push(obj)
                     })
                 }
-                
                 this.issueChannel = {
                     chn_count: res.data.chn_count,
                     art_count: res.data.art_count,
@@ -813,7 +813,7 @@ export default {
                 en_flag: type?type:0,
                 issueId: this.id?this.id:this.issueId,
                 chn_name: name,
-                isCreate: !this.id?true:''
+                isCreate: this.$route.query.isCreate==='true'?true:''
             }
         })
     },
@@ -865,8 +865,10 @@ export default {
         url:'',
         text:'创建报纸'
     }
-    if(this.id){
+    if(this.$route.query.isCreate==='false'){
         obj.text = '编辑报纸'
+    }
+    if(this.id){
         this.getInfo()
     }
     this.breadcrumbList.push(obj)

+ 22 - 2
src/views/content_manage/newspaper_manage/Explain.vue

@@ -74,6 +74,10 @@ export default {
   },
   methods: {
     handleSave(flag){
+        if(this.data.bind_sents.length===0){
+            this.$message.warning('请添加句子')
+            return false
+        }
         this.$refs['articleForm'].validate((valid) => {
             if (valid) {
                 this.loading = true
@@ -137,7 +141,8 @@ export default {
         let arr = JSON.parse(JSON.stringify(list))
         arr.forEach(item=>{
             item.show = false
-            item.sel_token_idxes = []            
+            item.sel_token_idxes = []  
+            item.sent_id = item.id          
         })
         this.data.bind_sents = this.data.bind_sents.concat(arr)
         this.selectSentFlag = false
@@ -147,7 +152,22 @@ export default {
     if(this.itemData){
         let data = JSON.parse(JSON.stringify(this.itemData))
         this.data = data
-        if(!this.data.bind_sents){
+        if(this.data.bind_sent_data&&this.data.bind_sent_data.bind_sents){
+            let arr = []
+            this.data.bind_sent_data.bind_sents.forEach(item=>{
+                for(let i = 0; i < this.sentenceList.length; i++){
+                    if(item.sent_id===this.sentenceList[i].id){
+                        let obj = JSON.parse(JSON.stringify(this.sentenceList[i]))
+                        obj.sent_id = obj.id
+                        obj.show = false
+                        obj.sel_token_idxes = item.sel_token_idxes
+                        arr.push(obj)
+                        break
+                    }
+                }
+            })
+            this.data.bind_sents = arr
+        }else{
             this.data.bind_sents = []
         }
     }

+ 5 - 0
src/views/content_manage/newspaper_manage/NewWords.vue

@@ -206,6 +206,10 @@ export default {
   },
   methods: {
     handleSave(flag){
+        if(this.data.bind_sents.length===0){
+            this.$message.warning('请添加句子')
+            return false
+        }
         this.$refs['articleForm'].validate((valid) => {
             if (valid) {
                 this.loading = true
@@ -352,6 +356,7 @@ export default {
                                     sel_token_idxes.push(index)
                                 }
                             })
+                            items.sent_id = items.id
                             items.sel_token_idxes = sel_token_idxes
                             this.$set(items,'show',searchSentence.length===0?true:false)
                             searchSentence.push(items)

+ 23 - 2
src/views/content_manage/newspaper_manage/Phrase.vue

@@ -95,6 +95,10 @@ export default {
   },
   methods: {
     handleSave(flag){
+        if(this.data.bind_sents.length===0){
+            this.$message.warning('请添加句子')
+            return false
+        }
         this.$refs['articleForm'].validate((valid) => {
             if (valid) {
                 this.loading = true
@@ -186,6 +190,7 @@ export default {
                                 //         sel_token_idxes.push(index)
                                 //     }
                                 // })
+                                items.sent_id = items.id
                                 items.sel_token_idxes = flag?sel_token_idxes:[]
                                 this.$set(items,'show',searchSentence.length===0?true:false)
                                 searchSentence.push(items)
@@ -209,7 +214,8 @@ export default {
         let arr = JSON.parse(JSON.stringify(list))
         arr.forEach(item=>{
             item.show = false
-            item.sel_token_idxes = []            
+            item.sel_token_idxes = []
+            item.sent_id = item.id     
         })
         this.data.bind_sents = this.data.bind_sents.concat(arr)
         this.selectSentFlag = false
@@ -219,7 +225,22 @@ export default {
     if(this.itemData){
         let data = JSON.parse(JSON.stringify(this.itemData))
         this.data = data
-        if(!this.data.bind_sents){
+        if(this.data.bind_sent_data&&this.data.bind_sent_data.bind_sents){
+            let arr = []
+            this.data.bind_sent_data.bind_sents.forEach(item=>{
+                for(let i = 0; i < this.sentenceList.length; i++){
+                    if(item.sent_id===this.sentenceList[i].id){
+                        let obj = JSON.parse(JSON.stringify(this.sentenceList[i]))
+                        obj.sent_id = obj.id
+                        obj.show = false
+                        obj.sel_token_idxes = item.sel_token_idxes
+                        arr.push(obj)
+                        break
+                    }
+                }
+            })
+            this.data.bind_sents = arr
+        }else{
             this.data.bind_sents = []
         }
     }

+ 306 - 144
src/views/content_manage/newspaper_manage/index.vue

@@ -13,8 +13,8 @@
                     </div>
                 </div>
                 <div class="tabs">
-                    <a :class="[tabsIndex===0?'active':'']" @click="handleChangeTabs(0)">已校对 23</a>
-                    <a :class="[tabsIndex===1?'active':'']" @click="handleChangeTabs(1)">待校对 </a>
+                    <a :class="[tabsIndex===0?'active':'']" @click="handleChangeTabs(0)">已校对 {{checkNumber[1]?checkNumber[1]:''}}</a>
+                    <a :class="[tabsIndex===1?'active':'']" @click="handleChangeTabs(1)">待校对 {{checkNumber[0]?checkNumber[0]:''}}</a>
                 </div>
                 <div class="search-box">
                     <div class="search-item">
@@ -59,135 +59,238 @@
                         </el-select>
                     </div>
                 </div>
-                <el-table
-                    class="search-table"
-                    :data="tableData"
-                    style="width: 100%"
-                    @sort-change="handleSort"
-                    :default-sort = dataSort
-                    :max-height="tableHeight">
-                    <el-table-column
-                        type="index"
-                        label="#"
-                        sortable
-                        width="56">
-                    </el-table-column>
-                    <el-table-column
-                        prop="iss_name"
-                        label="名称"
-                        sortable="custom"
-                        min-width="226">
-                    </el-table-column>
-                    <el-table-column
-                        prop="iss_no"
-                        label="期数"
-                        width="84"
-                        sortable="custom">
-                    </el-table-column>
-                    <el-table-column
-                        prop="study_phase"
-                        label="学段"
-                        width="72">
-                        <template slot-scope="scope">
-                            {{formatterStudy(scope.row)}}
-                        </template>
-                    </el-table-column>
-                    <el-table-column
-                        prop="status"
-                        label="状态"
-                        width="104" >
-                        <template slot-scope="scope">
-                            <div class="status-box">
-                                <span :style="{background:$checkStatusColorList[scope.row.iss_status].bg}"></span>
-                                <b :style="{color:$checkStatusColorList[scope.row.iss_status].color}">{{$checkStatusColorList[scope.row.iss_status].text}}</b>
-                            </div>
-                        </template>
-                    </el-table-column>
-                    <el-table-column
-                        prop="creator_real_name"
-                        label="创建人"
-                        width="88"
-                        sortable="custom">
-                    </el-table-column>
-                    <el-table-column
-                        prop="create_time"
-                        label="创建时间"
-                        width="144" 
-                        sortable="custom">
-                        <template slot-scope="scope">
-                            {{scope.row.create_time?scope.row.create_time.substring(0,16):'-'}}
-                        </template>
-                    </el-table-column>
-                    <el-table-column
-                        prop="updater_real_name"
-                        label="最近编辑"
-                        min-width="96">
-                    </el-table-column>
-                    <el-table-column
-                        prop="update_time"
-                        label="最近编辑时间"
-                        width="144"
-                        sortable="custom">
-                        <template slot-scope="scope">
-                            {{scope.row.update_time?scope.row.update_time.substring(0,16):'-'}}
-                        </template>
-                    </el-table-column>
-                    <el-table-column
-                        fixed="right"
-                        label="操作"
-                        width="150">
-                        <template slot-scope="scope">
-                            <el-button
-                                @click.native.prevent="handleEdit(scope.row)"
-                                type="text"
-                                size="small"
-                                class="primary-btn">
-                                编辑
-                            </el-button>
-                            <el-button
-                                @click.native.prevent="handleCheck(scope.row, scope.$index)"
-                                type="text"
-                                size="small"
-                                class="primary-btn"
-                                v-if="scope.row.iss_status===0||scope.row.iss_status===3">
-                                审核
-                            </el-button>
-                            <el-button
-                                @click.native.prevent="handleUp(scope.row, scope.$index)"
-                                type="text"
-                                size="small"
-                                class="primary-btn"
-                                v-if="scope.row.iss_status===1">
-                                上架
-                            </el-button>
-                            <el-button
-                                @click.native.prevent="handleUp(scope.row, scope.$index)"
-                                type="text"
-                                size="small"
-                                class="red-btn"
-                                v-else-if="scope.row.iss_status===2">
-                                下架
-                            </el-button>
-                            <el-button
-                                @click.native.prevent="handleDelete(scope.row, scope.$index)"
-                                type="text"
-                                size="small"
-                                class="red-btn">
-                                删除
-                            </el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <el-pagination
-                    background
-                    @size-change="handleSizeChange"
-                    @current-change="handleCurrentChange"
-                    :current-page="pageNumber"
-                    :page-sizes="[10, 20, 30, 40]"
-                    :page-size="pageSize"
-                    layout="total, prev, pager, next, sizes, jumper"
-                    :total="total_count">
-                </el-pagination>
+                <template v-if="tabsIndex===0">
+                    <el-table
+                        class="search-table"
+                        :data="tableData"
+                        style="width: 100%"
+                        @sort-change="handleSort"
+                        :default-sort = dataSort
+                        :max-height="tableHeight"
+                        key='checked-table'>
+                        <el-table-column
+                            type="index"
+                            label="#"
+                            sortable
+                            width="56"
+                            :index="(pageNumber-1)*pageSize+1">
+                        </el-table-column>
+                        <el-table-column
+                            prop="iss_name"
+                            label="名称"
+                            sortable="custom"
+                            min-width="226">
+                        </el-table-column>
+                        <el-table-column
+                            prop="iss_no"
+                            label="期数"
+                            width="84"
+                            sortable="custom">
+                        </el-table-column>
+                        <el-table-column
+                            prop="study_phase"
+                            label="学段"
+                            width="72">
+                            <template slot-scope="scope">
+                                {{formatterStudy(scope.row)}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="status"
+                            label="状态"
+                            width="104" >
+                            <template slot-scope="scope">
+                                <div class="status-box">
+                                    <span :style="{background:$checkStatusColorList[scope.row.iss_status].bg}"></span>
+                                    <b :style="{color:$checkStatusColorList[scope.row.iss_status].color}">{{$checkStatusColorList[scope.row.iss_status].text}}</b>
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="creator_real_name"
+                            label="创建人"
+                            width="88"
+                            sortable="custom">
+                        </el-table-column>
+                        <el-table-column
+                            prop="create_time"
+                            label="创建时间"
+                            width="144" 
+                            sortable="custom">
+                            <template slot-scope="scope">
+                                {{scope.row.create_time?scope.row.create_time.substring(0,16):'-'}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="updater_real_name"
+                            label="最近编辑"
+                            min-width="96">
+                        </el-table-column>
+                        <el-table-column
+                            prop="update_time"
+                            label="最近编辑时间"
+                            width="144"
+                            sortable="custom">
+                            <template slot-scope="scope">
+                                {{scope.row.update_time?scope.row.update_time.substring(0,16):'-'}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            fixed="right"
+                            label="操作"
+                            width="150">
+                            <template slot-scope="scope">
+                                <el-button
+                                    @click.native.prevent="handleEdit(scope.row)"
+                                    type="text"
+                                    size="small"
+                                    class="primary-btn">
+                                    编辑
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleCheck(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="primary-btn"
+                                    v-if="scope.row.iss_status===0||scope.row.iss_status===3">
+                                    审核
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleUp(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="primary-btn"
+                                    v-if="scope.row.iss_status===1">
+                                    上架
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleUp(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="red-btn"
+                                    v-else-if="scope.row.iss_status===2">
+                                    下架
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleDelete(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="red-btn">
+                                    删除
+                                </el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <el-pagination
+                        background
+                        @size-change="(val)=>handleSizeChange(val,'pageSize','pageNumber')"
+                        @current-change="(val)=>handleCurrentChange(val,'pageNumber')"
+                        :current-page="pageNumber"
+                        :page-sizes="[10, 20, 30, 40]"
+                        :page-size="pageSize"
+                        layout="total, prev, pager, next, sizes, jumper"
+                        :total="total_count">
+                    </el-pagination>
+                </template>
+                <template v-else>
+                    <el-table
+                        class="search-table"
+                        :data="tableData"
+                        style="width: 100%"
+                        @sort-change="handleSort"
+                        :default-sort = dataSort
+                        :max-height="tableHeight"
+                        :key="'check-table'">
+                        <el-table-column
+                            type="index"
+                            label="#"
+                            sortable
+                            width="56"
+                            :index="(pageNumbers-1)*pageSizes+1">
+                        </el-table-column>
+                        <el-table-column
+                            prop="iss_name"
+                            label="名称"
+                            sortable="custom"
+                            min-width="226">
+                        </el-table-column>
+                        <el-table-column
+                            prop="iss_no"
+                            label="期数"
+                            width="84"
+                            sortable="custom">
+                        </el-table-column>
+                        <el-table-column
+                            prop="study_phase"
+                            label="学段"
+                            width="72">
+                            <template slot-scope="scope">
+                                {{formatterStudy(scope.row)}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="create_time"
+                            label="导入日期"
+                            width="144" 
+                            sortable="custom">
+                            <template slot-scope="scope">
+                                {{scope.row.create_time?scope.row.create_time.substring(0,10):'-'}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="updater_real_name"
+                            label="最近编辑"
+                            min-width="96">
+                        </el-table-column>
+                        <el-table-column
+                            prop="update_time"
+                            label="最近编辑时间"
+                            width="144"
+                            sortable="custom">
+                            <template slot-scope="scope">
+                                {{scope.row.update_time?scope.row.update_time.substring(0,16):'-'}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            fixed="right"
+                            label="操作"
+                            width="190">
+                            <template slot-scope="scope">
+                                <el-button
+                                    @click.native.prevent="handleEdits(scope.row)"
+                                    type="text"
+                                    size="small"
+                                    class="primary-btn">
+                                    校对
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleChecks(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="primary-btn">
+                                    完成校对
+                                </el-button>
+                                <el-button
+                                    @click.native.prevent="handleDelete(scope.row, scope.$index)"
+                                    type="text"
+                                    size="small"
+                                    class="red-btn">
+                                    删除
+                                </el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <el-pagination
+                        background
+                        @size-change="(val)=>handleSizeChange(val,'pageSizes','pageNumbers')"
+                        @current-change="(val)=>handleCurrentChange(val,'pageNumbers')"
+                        :current-page="pageNumbers"
+                        :page-sizes="[10, 20, 30, 40]"
+                        :page-size="pageSizes"
+                        layout="total, prev, pager, next, sizes, jumper"
+                        :total="total_count">
+                    </el-pagination>
+                </template>
             </div>
         </div>
     </div>
@@ -285,13 +388,17 @@ export default {
         tableData:[],
         pageSize: window.localStorage.getItem('pageSize')?Number(window.localStorage.getItem('pageSize')):10, 
         pageNumber: window.localStorage.getItem('pageNumber')?Number(window.localStorage.getItem('pageNumber')):1,
+        pageSizes: window.localStorage.getItem('pageSizes')?Number(window.localStorage.getItem('pageSizes')):10, 
+        pageNumbers: window.localStorage.getItem('pageNumbers')?Number(window.localStorage.getItem('pageNumbers')):1,
         tableHeight: "", // 表格高度
         total_count: 0,
         dataSort: {
             prop:'update_time',
             order: 'descending'
         },
-        tabsIndex: 0
+        tabsIndex: window.localStorage.getItem('tabsIndex')?Number(window.localStorage.getItem('tabsIndex'))*1:0,
+        check_flag: window.localStorage.getItem('tabsIndex')?Number(window.localStorage.getItem('tabsIndex'))*1===1?false:true:true,
+        checkNumber: [0,0]
     }
   },
   //计算属性 类似于data概念
@@ -313,9 +420,9 @@ export default {
     handleChangeTabs(value){
         this.tabsIndex = value
         if(value===1){
-            this.searchStatus = 9
+            this.check_flag = false
         }else{
-            this.searchStatus = null
+            this.check_flag = true
         }
         // this.pageNumber = 1
         this.getList()
@@ -342,11 +449,30 @@ export default {
         // 点击时记录页码和每页条数
         window.localStorage.setItem('pageSize',this.pageSize)
         window.localStorage.setItem('pageNumber',this.pageNumber)
+        window.localStorage.setItem('tabsIndex',this.tabsIndex)
         window.localStorage.removeItem('newsForm')
         window.localStorage.removeItem('newsStep')
         this.$router.push({
             path: "/createNewspaper",
             query: {
+                id: row?row.id:'',
+                isCreate: !row?'true':'false'
+            },
+        });
+    },
+    // 校对报刊
+    handleEdits(row){
+        // 根据登录用户判断当前用户是不是超管 在table里加上disabled
+
+        // 点击时记录页码和每页条数
+        window.localStorage.setItem('pageSizes',this.pageSizes)
+        window.localStorage.setItem('pageNumbers',this.pageNumbers)
+        window.localStorage.setItem('tabsIndex',this.tabsIndex)
+        window.localStorage.removeItem('newsForm')
+        window.localStorage.removeItem('newsStep')
+        this.$router.push({
+            path: "/articleChecklist",
+            query: {
                 id: row?row.id:''
             },
         });
@@ -368,7 +494,7 @@ export default {
       }
       getLogin(Mname, data).then(res => {
         this.$message.success("操作成功");
-        this.$set(this.tableData, index, updataData);
+        this.getList()
       });
     },
     // 审核
@@ -387,17 +513,39 @@ export default {
             updataData.iss_status = 1;
             getLogin(Mname, data).then(res => {
                 this.$message.success("操作成功");
-                this.$set(this.tableData, index, updataData);
+                this.getList()
             });
         }).catch(() => {
             data.iss_status = 3;
             updataData.iss_status = 3;
             getLogin(Mname, data).then(res => {
                 this.$message.success("操作成功");
-                this.$set(this.tableData, index, updataData);
+                this.getList()
             });      
         });
     },
+    // 审核
+    handleChecks(row, index){
+        let Mname = "/PaperServer/Manager/IssueManager/EditIssueStatus";
+        let updataData = JSON.parse(JSON.stringify(row));
+        let data = {
+            id: row.id
+        };
+        this.$confirm('确定完成校对吗?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+            data.iss_status = 0;
+            updataData.iss_status = 0;
+            getLogin(Mname, data).then(res => {
+                this.$message.success("操作成功");
+                this.getList()
+            });
+        }).catch(() => {
+               
+        });
+    },
     // 删除
     handleDelete(row){
         this.$confirm('确定删除吗?', '提示', {
@@ -420,18 +568,18 @@ export default {
                
         });
     },
-    handleSizeChange(val) {
-        this.pageSize = val
-        this.pageNumber = 1
+    handleSizeChange(val,type,page) {
+        this[type] = val
+        this[page] = 1
         this.getList()
     },
-    handleCurrentChange(val) {
-        this.pageNumber = val
+    handleCurrentChange(val,type) {
+        this[type] = val
         this.getList()
     },
     //计算table高度(动态设置table高度)
     getTableHeight() {
-      let tableH = 370; //距离页面下方的高度
+      let tableH = 420; //距离页面下方的高度
       let tableHeightDetil = window.innerHeight - tableH;
       if (tableHeightDetil <= 300) {
         this.tableHeight = 300;
@@ -475,7 +623,8 @@ export default {
             release_year: this.searchYear===-1?null:this.searchYear,
             page_capacity:this.pageSize,
             cur_page:this.pageNumber,
-            order_bys: order_column_list
+            order_bys: order_column_list,
+            check_flag: this.check_flag
         }
         getLogin(MethodName, data)
         .then((res) => {
@@ -515,10 +664,23 @@ export default {
             this.loading = false
         });
         
+    },
+    // 获取数目
+    getNumberData(){
+        getLogin('/PaperServer/Manager/IssueManager/FindNotCheckAndCheckedIssCount', {})
+        .then((res) => {
+            if(res.status===1){
+               this.checkNumber = res.data 
+            }
+        })
+        .catch(() => {
+            
+        });
     }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
+    this.getNumberData()
     this.getYearList()
     this.getTableHeight();
     this.getList()