<template>
    <div>
        <div class="crumbs">
            <el-breadcrumb separator="/">
                <el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript reviewer list </el-breadcrumb-item>
            </el-breadcrumb>
        </div>
        <div class="container" v-loading="loading">
            <div class="handle-box">
                <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible = true">Add reviewer</el-button>

                <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button>
            </div>
            <el-table :data="tableData" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header">
                <el-table-column type="index" label="No." align="center" width="60"></el-table-column>
                <!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
                <el-table-column label="Reviewer" align="center">
                    <template slot-scope="scope">
                        <el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
                            {{ scope.row.reviewer }}
                        </el-badge>
                    </template>
                </el-table-column>
                <el-table-column prop="country" label="Country" align="center"></el-table-column>
                <el-table-column prop="company" label="Company" align="center"></el-table-column>
                <el-table-column :formatter="majorTitle" label="Major" align="center"></el-table-column>
                <el-table-column prop="field" label="Field" align="center"></el-table-column>
                <el-table-column :formatter="revstate" label="state" align="center"></el-table-column>
                <el-table-column label="" width="230" align="center">
                    <template slot-scope="scope">
                        <el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">Detail</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <div class="pagination">
                <el-pagination
                    background
                    layout="total, prev, pager, next"
                    :current-page="query.pageIndex"
                    :page-size="query.pageSize"
                    :total="Total"
                    @current-change="handlePageChange"
                ></el-pagination>
            </div>
        </div>
        <el-dialog title="add reviewer" :visible.sync="editVisible" width="40%">
            <el-form ref="editform" :model="editform" label-width="100px">
                <el-form-item label="state">
                    <el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
                        <el-option :key="0" label="please select" :value="0"></el-option>
                        <el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="Country" v-if="editform.uid != 0">
                    <span>{{ reviewer_data.country }}</span>
                </el-form-item>
                <el-form-item label="Company" v-if="editform.uid != 0">
                    <span>{{ reviewer_data.company }}</span>
                </el-form-item>
                <el-form-item label="Major" v-if="editform.uid != 0">
                    <span>{{ reviewer_data.major_title }}</span>
                </el-form-item>
                <el-form-item label="Field" v-if="editform.uid != 0">
                    <span>{{ reviewer_data.field }}</span>
                </el-form-item>
                <el-form-item label="Introduction" v-if="editform.uid != 0">
                    <span>{{ reviewer_data.introduction }}</span>
                </el-form-item>
            </el-form>
            <span slot="footer" class="dialog-footer">
                <el-button @click="editVisible = false">cancel</el-button>
                <el-button type="primary" @click="saveEdit">save</el-button>
            </span>
        </el-dialog>
        <el-dialog title="Supplement" :visible.sync="editVisible1" width="40%">
            <el-form ref="questionform" :model="questionform" label-position="top" label-width="300px">
                <el-form-item label="Reviewer">
                    <el-select v-model="questionform.uid" filterable @change="changereviewer1()" placeholder="Please select">
                        <el-option :key="0" label="please select" :value="0"></el-option>
                        <el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="Country" v-if="questionform.uid != 0">
                    <span>{{ reviewer_data1.country }}</span>
                </el-form-item>
                <el-form-item label="Company" v-if="questionform.uid != 0">
                    <span>{{ reviewer_data1.company }}</span>
                </el-form-item>
                <el-form-item label="Major" v-if="questionform.uid != 0">
                    <span>{{ reviewer_data1.major_title }}</span>
                </el-form-item>
                <el-form-item label="Field" v-if="questionform.uid != 0">
                    <span>{{ reviewer_data1.field }}</span>
                </el-form-item>
                <el-form-item label="Introduction" v-if="questionform.uid != 0">
                    <span>{{ reviewer_data1.introduction }}</span>
                </el-form-item>
                <el-form-item label="1.Originality of the topic">
                    <el-radio-group v-model="questionform.qu1">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="2.Technical Quality">
                    <el-radio-group v-model="questionform.qu2">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="3.Importance in its Field">
                    <el-radio-group v-model="questionform.qu3">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="4.Style & Overall Representation">
                    <el-radio-group v-model="questionform.qu4">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="5.Readily Understandable">
                    <el-radio-group v-model="questionform.qu5">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="6.Suitability for the Journal">
                    <el-radio-group v-model="questionform.qu6">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="7.Adequate Illustrations or Drawings">
                    <el-radio-group v-model="questionform.qu7">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="8.English language">
                    <el-radio-group v-model="questionform.qu8">
                        <el-radio :label="1">Excellent</el-radio>
                        <el-radio :label="2">Good</el-radio>
                        <el-radio :label="3">Fair</el-radio>
                        <el-radio :label="4">Poor</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-collapse>
                <el-form-item label="9.Does the title represent manuscript's contents?">
                    <el-switch v-model="questionform.qu9" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="1">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu9contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="10.Is the Abstract accurate and concise?">
                    <el-switch v-model="questionform.qu10" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="2">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu10contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="11.Are the approach/ methods properly described?">
                    <el-switch v-model="questionform.qu11" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="3">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu11contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="12.Are the conclusions and interpretations sound?">
                    <el-switch v-model="questionform.qu12" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="4">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu12contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="13.Are the references properly cited?">
                    <el-switch v-model="questionform.qu13" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="5">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu13contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="14.Is this a new/ original/ confirmatory contribution?">
                    <el-switch v-model="questionform.qu14" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="6">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu14contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                <el-form-item label="15.Is it within the scope of the journal?">
                    <el-switch v-model="questionform.qu15" active-text="yes" inactive-text="no"></el-switch>
                    <el-collapse-item name="7">
                        <template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
                        <el-input
                            type="textarea"
                            placeholder="please input content"
                            v-model="questionform.qu15contents"
                            :rows="4"
                        ></el-input>
                    </el-collapse-item>
                </el-form-item>
                </el-collapse>
                <el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
                <el-form-item label="Overall the Paper is Rated">
                    (Poor-------------------------------------------------------------Excellent)
                    <br />
                    <el-radio-group v-model="questionform.rated" size="small">
                        <el-radio-button label="1"></el-radio-button>
                        <el-radio-button label="2"></el-radio-button>
                        <el-radio-button label="3"></el-radio-button>
                        <el-radio-button label="4"></el-radio-button>
                        <el-radio-button label="5"></el-radio-button>
                        <el-radio-button label="6"></el-radio-button>
                        <el-radio-button label="7"></el-radio-button>
                        <el-radio-button label="8"></el-radio-button>
                        <el-radio-button label="9"></el-radio-button>
                        <el-radio-button label="10"></el-radio-button>
                    </el-radio-group>
                    <br />
                    <span>Your score:{{ questionform.rated }}</span>
                </el-form-item>
                <el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
                    <el-radio-group v-model="questionform.recommend">
                        <el-radio :label="1">Accept with minor changes</el-radio>
                        <br />
                        <el-radio :label="2">Accept subject to revisions, as noted in comments</el-radio>
                        <br />
                        <el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
                        <br />
                        <el-radio :label="4">Reject, with no resubmission</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="OTHER SPECIFIC CRITICISMS">
                    <el-radio-group v-model="questionform.other">
                        <el-radio :label="1">Imperfect style</el-radio>
                        <br />
                        <el-radio :label="2">Too long</el-radio>
                        <br />
                        <el-radio :label="3">References incorrectly presented</el-radio>
                        <br />
                        <el-radio :label="4">Typographical and Grammatical errors</el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="Confidential Comments to the Editor">
                    <el-input type="textarea" placeholder="please input content" v-model="questionform.confident" :rows="8"></el-input>
                </el-form-item>
                <el-form-item label="Comments for the Authors">
                    <el-input type="textarea" placeholder="please input content" v-model="questionform.comment" :rows="8"></el-input>
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="addArtRev">submit</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
    </div>
</template>

<script>
export default {
    data() {
        return {
            baseUrl: this.Common.baseUrl,
            questionform: {
                uid: 0,
                articleId: this.$route.query.id,
                qu1: '',
                qu2: '',
                qu3: '',
                qu4: '',
                qu5: '',
                qu6: '',
                qu7: '',
                qu8: '',
                qu9: 'false',
                qu9contents: '',
                qu10: 'false',
                qu10contents: '',
                qu11: 'false',
                qu11contents: '',
                qu12: 'false',
                qu12contents: '',
                qu13: 'false',
                qu13contents: '',
                qu14: 'false',
                qu14contents: '',
                qu15: 'false',
                qu15contents: '',
                rated: '',
                recommend: '',
                other: '',
                confident: '',
                comment: ''
            },
            query: {
                articleId: this.$route.query.id,
                pageIndex: 1,
                pageSize: 10
            },
            editform: {
                uid: 0,
                articleId: this.$route.query.id
            },
            reviewer_data: {
                introduction: '',
                country: '',
                company: '',
                major_title: '',
                field: ''
            },
            reviewer_data1: {
                introduction: '',
                country: '',
                company: '',
                major_title: '',
                field: ''
            },
            editVisible: false,
            editVisible1: false,
            tableData: [],
            reviewerList: [],
            loading: false,
            Total: 0
        };
    },
    created() {
        this.getdate();
        this.initreviewerList();
    },
    computed: {
        upload_url: function () {
            return this.baseUrl + 'api/Reviewer/up_file';
        }
    },
    methods: {
        // 获取编辑列表数据
        getdate() {
            this.$api
                .post('api/Article/getReviewerList', this.query)
                .then((res) => {
                    this.Total = res.totle;
                    this.tableData = res.data;
                })
                .catch((err) => {
                    console.log(err);
                });
        },
        // 分页导航
        handlePageChange(val) {
            this.$set(this.query, 'pageIndex', val);
            this.getdate();
        },
        addReviewer() {
            alert('sssss');
        },
        //初始化审查员列表
        initreviewerList() {
            this.$api
                .post('api/Article/getArticleReviewerList', { articleId: this.query.articleId })
                .then((res) => {
                    this.reviewerList = res.data;
                })
                .catch((err) => {
                    console.log(err);
                });
        },
        //保存添加操作
        saveEdit() {
            if (this.editform.uid == 0) {
                this.$message.error('please select a reviewer');
            } else {
                this.loading = true;
                this.$api
                    .post('api/Article/addArticleReviewer', this.editform)
                    .then((res) => {
                        this.loading = false;
                        if (res.code == 0) {
                            this.$message.success('add success');
                            this.$router.go(0);
                        } else {
                            this.$message.error('add error');
                        }
                    })
                    .catch((err) => {
                        console.log(err);
                    });
            }
        },
        addArtRev(){
            if(this.questionform.uid==0){
                this.$message.error('Please select a reviewer');
            }else{
                this.loading = true;
                this.$api.post('api/Article/addArtRev',this.questionform)
                .then((res)=>{
                    this.loading = false;
                    if(res.code == 0){
                            this.$message.success('add success');
                            this.$router.go(0);
                    }else{
                        this.$message.error('add error');
                    }
                })
                    .catch((err) => {
                        console.log(err);
                    });
            }
        },
        showdetail(row) {
            if (row.state == 4) {
                this.$message.error('Review expired!');
            } else {
                this.$router.push({ path: 'articleReviewerDetail', query: { id: row.art_rev_id } });
            }
        },
        changereviewer() {
            if (this.editform.uid !== 0) {
                this.$api
                    .post('api/Article/getReviewerdetail', { uid: this.editform.uid })
                    .then((res) => {
                        this.reviewer_data.introduction = res.data.introduction;
                        this.reviewer_data.country = res.data.country;
                        this.reviewer_data.company = res.data.company;
                        this.reviewer_data.major_title = res.data.major_title;
                        this.reviewer_data.field = res.data.field;
                    })
                    .catch((err) => {
                        console.log(err);
                    });
            }
        },
        changereviewer1() {
            if (this.questionform.uid !== 0) {
                this.$api
                    .post('api/Article/getReviewerdetail', { uid: this.questionform.uid })
                    .then((res) => {
                        this.reviewer_data1.introduction = res.data.introduction;
                        this.reviewer_data1.country = res.data.country;
                        this.reviewer_data1.company = res.data.company;
                        this.reviewer_data1.major_title = res.data.major_title;
                        this.reviewer_data1.field = res.data.field;
                    })
                    .catch((err) => {
                        console.log(err);
                    });
            }
        },
        majorTitle(row, column, cellValue, index) {
            return row.major_title + '(' + row.major_ctitle + ')';
        },
        revstate(row, column, cellValue, index) {
            let frag = '';
            if (row.state == 0) {
                frag = 'With reviewer';
            } else if (row.state == 1) {
                frag = 'Revision';
            } else if (row.state == 2) {
                frag = 'Reject';
            } else if (row.state == 3) {
                frag = 'Accepted';
            } else if (row.state == 4) {
                frag = 'invalid';
            }
            return frag;
        }
    }
};
</script>

<style scoped>
.handle-box {
    margin-bottom: 20px;
}

.handle-select {
    width: 120px;
}

.handle-input {
    width: 300px;
    display: inline-block;
}
.table {
    width: 100%;
    font-size: 14px;
}
.red {
    color: #ff0000;
}
.mr10 {
    margin-right: 10px;
}
.table-td-thumb {
    display: block;
    margin: auto;
    width: 40px;
    height: 40px;
}
.el-table .warning-row {
    background: #f3ca7f;
}
.el-table .success-row {
    background: #bcfc9a;
}
.el-table .normol-row {
    background: #d8f1c7;
}
.el-table .red-row {
    background: #f05555;
}
</style>
