董国庆
2025-06-28 2814a065bc65e5cdc4ea153813da7ff3e34450a5
culture/src/views/strainReportLibrary/reportLibraryOneFour/components/evaluate/index.vue
@@ -1,5 +1,5 @@
<template>
    <el-dialog :title="dialogTitle" :visible.sync="visible" width="80%" @open="open"   :close-on-click-modal="false"
    <el-dialog :title="dialogTitle" :visible.sync="visible" width="80%" @open="open" :close-on-click-modal="false"
        @close="handleClose">
        <div class="evaluate-dialog-layout">
            <!-- 左侧评分规则说明 -->
@@ -40,8 +40,8 @@
                            </el-form-item>
                        </div>
                    </div>
                    <el-table :data="currentAssessmentTable" border style="width: 100%; margin-top: 20px;" :show-summary="true"
                        :summary-method="getTableSummary" :span-method="tableSpanMethod">
                    <el-table :data="currentAssessmentTable" border style="width: 100%; margin-top: 20px;"
                        :show-summary="true" :summary-method="getTableSummary" :span-method="tableSpanMethod">
                        <el-table-column prop="index" label="序号" width="60">
                            <template slot-scope="scope">{{ scope.row.index }}</template>
                        </el-table-column>
@@ -53,19 +53,20 @@
                        </el-table-column>
                        <el-table-column prop="selectedScore" label="评定分值" width="120">
                            <template slot-scope="scope">
                                <el-input-number :disabled="obj.viewDetail" v-model="scope.row.selectedScore"  :max="scope.row.fullScore" :min="0"
                                 placeholder="请输入" :controls="false" style="width: 100%;" />
                                <el-input-number :disabled="obj.viewDetail" v-model="scope.row.selectedScore"
                                    :max="scope.row.fullScore" :min="0" placeholder="请输入" :controls="false"
                                    style="width: 100%;" />
                            </template>
                        </el-table-column>
                        <el-table-column prop="rule" :label="type == 1 || type == '1' ? '规程型课题报告评分规则' : '创新型课题报告评分规则'">
                            <template slot-scope="scope">
                                <span v-if="scope.$index === 0 && (type == 1 || type == '1')">
                                <span v-if="scope.$index === 0 && (type == 2 || type == '2')">
                                    1. 规程型课题评定总分的满分为5分。<br>
                                    2. 某分项工作完成,但出现以下三种错误中的1种,则减1分:<br>
                                    ①有缺项、漏项;②或不完整衔接;③或工作被多人拖延。<br>
                                    3. 不能完成该分项的全部工作,或课题不涉及该分项内容,则该分项评0分。
                                </span>
                                <span v-if="scope.$index === 0 && (type == 2 || type == '2')">
                                <span v-if="scope.$index === 0 && (type == 1 || type == '1')">
                                    1. 各分项评满分,应满足以下四项要求:<br>
                                    ①分项内容:清晰、系统、完整,结构逻辑清晰,无缺项;<br>
                                    ②团队工作运行顺畅,计划时间高效。<br>
@@ -93,7 +94,7 @@
        </div>
        <div class="evaluate-footer-btns" v-if="!obj.viewDetail">
            <el-button @click="$emit('back')">返回上一步</el-button>
            <el-button type="primary" @click="handleApprove" >提交评定结果</el-button>
            <el-button type="primary" @click="handleApprove">提交评定结果</el-button>
        </div>
    </el-dialog>
</template>
@@ -193,6 +194,12 @@
            detailData: {}
        };
    },
    watch: {
        type(val) {
            console.log(val);
        }
    },
    computed: {
        currentAssessmentTable() {
            return this.type == 2 || this.type == '2' ? this.assessmentTable1 : this.assessmentTable2;
@@ -212,19 +219,22 @@
    methods: {
        open() {
            if (this.obj.viewDetail) {
                viewEvaluate({id: this.obj.id}).then(res => {
                        this.form.reportCode = res.reportCode || '';
                        this.form.reportName = res.reportName || '';
                        this.form.id = res.id || '';
                        this.currentAssessmentTable = this.currentAssessmentTable.map((item,index)=> {
                            item.selectedScore = res.evaluate.split(',')[index] || 0;
                            return item;
                        })
                        this.detailData = res
                viewEvaluate({ id: this.obj.id }).then(res => {
                    this.form.reportCode = res.reportCode || '';
                    this.form.reportName = res.reportName || '';
                    this.form.id = res.id || '';
                    if (res.evaluate.split(',').length == 6) {
                        this.type = 1
                    }
                    this.currentAssessmentTable = this.currentAssessmentTable.map((item, index) => {
                        item.selectedScore = res.evaluate.split(',')[index] || 0;
                        return item;
                    })
                    this.detailData = res
                })
            }else{
                   this.form.reportCode = this.obj.reportCode || '';
            } else {
                this.form.reportCode = this.obj.reportCode || '';
                this.form.reportName = this.obj.reportName || '';
                this.form.id = this.obj.id || '';
            }
@@ -272,17 +282,18 @@
</script>
<style scoped lang="less">
.ml-30{
.ml-30 {
    margin-left: 30px;
}
.evaluate-footer-time{
.evaluate-footer-time {
    margin-top: 20px;
    font-size: 14px;
    color: #333;
    line-height: 27px;
    // font-family: "Source Han Sans CN Bold Bold";
}
.evaluate-dialog-layout {
    display: flex;
    flex-direction: row;