13404089107
2025-05-28 64ef5cc0ffd379e606ff67cac662a8c54177b7c2
对接菌种库操作员评定接口和写页面
7个文件已修改
3个文件已添加
812 ■■■■■ 已修改文件
culture/src/router/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainOperationAssessment/components/evaluate/index.vue 512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainOperationAssessment/index.vue 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainOperationAssessment/service.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainReportLibrary/reportLibraryOne/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainReportLibrary/reportLibraryOneFour/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainReportLibrary/reportLibraryOneTWO/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/strainReportLibrary/reportLibraryOneThree/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/system/user/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/views/system/user/service.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
culture/src/router/index.js
@@ -456,6 +456,23 @@
    ],
  },
  {
    path: "/strainOperationAssessment",
    component: Layouts,
    meta: {
      title: "菌种库操作评定",
    },
    children: [
      {
        path: "list",
        meta: {
          title: "评定列表",
        },
        component: () =>
          import("../views/strainOperationAssessment/index.vue"),
      },
    ],
  },
  {
    path: "/deliveryAssessment",
    component: Layouts,
    meta: {
culture/src/views/strainOperationAssessment/components/evaluate/index.vue
New file
@@ -0,0 +1,512 @@
<template>
    <el-dialog :title="dialogTitle" :visible.sync="visible" width="80%" @open="open" po :close-on-click-modal="false"
        @close="handleClose">
        <div class="approval-dialog">
            <!-- 左侧审批内容 -->
            <div class="approval-content">
                <template>
                    <el-form ref="form" :model="form" :rules="rules" inline label-position="top">
                        <div style="display: flex;">
                            <div>
                                <div class="header-title" style="width: 100%;">
                                    <div class="header-title-left">
                                        <div>报告编号</div>
                                    </div>
                                </div>
                                <el-form-item prop="reportCode">
                                    <el-input disabled v-model="form.reportCode" style="width: 100%;"
                                        placeholder="请输入报告编号" />
                                </el-form-item>
                            </div>
                            <div style="margin-left: 100px;">
                                <div class="header-title" style="width: 100%;">
                                    <div class="header-title-left">
                                        <div>报告名称</div>
                                    </div>
                                </div>
                                <el-form-item prop="reportName">
                                    <el-input disabled v-model="form.reportName" style="width: 100%;"
                                        placeholder="请输入报告名称" />
                                </el-form-item>
                            </div>
                        </div>
                        <div class="table">
                            <el-table :data="assessmentTable" border style="width: 100%" :show-summary="true"
                                :span-method="tableSpanMethod" :summary-method="getTableSummary">
                                <el-table-column prop="category" label="菌种实验员专业能力考核项" width="180"></el-table-column>
                                <el-table-column prop="score" label="该项评分" width="120">
                                    <template slot-scope="scope">
                                        <el-radio-group :disabled="obj.viewDetail"
                                            v-if="scope.row.category !== '5.实验失败'" v-model="scope.row.selectedScore">
                                            <el-radio :label="0">0分</el-radio>
                                            <el-radio :label="1">1分</el-radio>
                                            <el-radio :label="2">2分</el-radio>
                                        </el-radio-group>
                                        <el-radio-group :disabled="obj.viewDetail" v-else
                                            v-model="scope.row.selectedScore">
                                            <el-radio :label="0">否0分</el-radio>
                                            <el-radio :label="-3">是-3分</el-radio>
                                        </el-radio-group>
                                    </template>
                                </el-table-column>
                                <el-table-column prop="criteria" label="该项评分参考标准"></el-table-column>
                                <el-table-column prop="desc" label="评分规则说明">
                                    <template slot-scope="scope">
                                        <p> 【0分】 实验操作失误或实验方案设计无效导致实验失败、数据不可用。</p>
                                        <p> 【1分】存在操作有误及实验过程出现问题,没有严格按照操作规程运行;如实验准备不充分,取样遗漏等。</p>
                                        <p> 【2分】完整按照操作规程及实验室管理制度运行,无任何问题。</p>
                                    </template>
                                </el-table-column>
                                <el-table-column prop="rule" label="考评规则">
                                    <template slot-scope="scope">
                                        菌种工程师以分题内容考核菌种实验员。
                                    </template>
                                </el-table-column>
                            </el-table>
                        </div>
                    </el-form>
                </template>
                <!-- <SelectMember ref="selectMember" /> -->
            </div>
        </div>
        <div class="evaluate-footer-time" v-if="obj.viewDetail">
            <span>评定时间:{{ detailData.evaluateTime }}</span>
            <span class="ml-30">评定人:{{ detailData.evaluateName }}</span>
        </div>
        <div slot="footer" class="dialog-footer" v-if="!obj.viewDetail">
            <el-button type="primary" @click="handleApprove">提交评定结果</el-button>
        </div>
    </el-dialog>
</template>
<script>
import ApprovalProcess from '@/components/approvalProcess'
import AiEditor from '@/components/AiEditor'
import { viewEvaluate } from '../../service'
export default {
    name: "ApprovalDialog",
    components: {
        ApprovalProcess,
        AiEditor
    },
    props: {
        visible: {
            type: Boolean,
            default: false,
        },
        type: {
            type: String,
            default: "approve", // approve-审批,view-查看
        },
        obj: {
            type: Object,
            default: () => {
                return {
                    isDetail: false
                }
            },
        },
    },
    data() {
        return {
            form: {
                reportCode: "",
                reportName: "",
                reportText: "",
                teamName: "",
                createBy: "",
                createTime: "",
                status: "",
                approvalComment: "",
                approver: "",
                approveTime: "",
                processData: [],
                updateBy: "",
                auditRemark: "",
                auditPersonName: "",
                auditTime: ""
            },
            detailData: {},
            assessmentTable: [
                {
                    category: '1.该分题的菌种专业知识',
                    selectedScore: 0,
                    criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '2.操作能力',
                    selectedScore: 0,
                    criteria: '1.菌种分离无菌操作规范 2.菌种培养无菌操作规范 3.菌种保存无菌操作规范 4.菌种鉴定无菌操作规范',
                    desc: '',
                    rule: ''
                },
                {
                    category: '3.仪器设备使用',
                    selectedScore: 0,
                    criteria: '能正确使用实验仪器,如移液器、恒温箱等,操作规范。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '4.实验数据记录与分析',
                    selectedScore: 0,
                    criteria: '实验数据记录及时、准确、完整,能简单分析数据。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '5.实验失败',
                    selectedScore: 0,
                    criteria: '无论何种原因,本次实验失败。',
                    desc: '',
                    rule: ''
                }
            ],
            tableData: [],
            rules: {},
            status: "2",
            remark: "",
        };
    },
    computed: {
        dialogTitle() {
            return this.type === "approve" ? "菌种工程师操作评定" : "菌种工程师操作评定详情";
        },
        totalScore() {
            return this.assessmentTable.reduce((sum, item) => sum + (item.selectedScore || 0), 0);
        }
    },
    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.assessmentTable = this.assessmentTable.map((item, index) => {
                        item.selectedScore = Number(res.evaluate.split(',')[index]) || 0;
                        return item;
                    })
                    this.detailData = res
                })
            } else {
                this.form.reportCode = this.obj.reportCode || '';
                this.form.reportName = this.obj.reportName || '';
                this.form.id = this.obj.id || '';
            }
        },
        handleClose() {
            this.$emit("close");
            this.form = {
                reportCode: "",
                reportName: "",
                reportText: "",
                teamName: "",
                createBy: "",
            }
            this.assessmentTable = [
                {
                    category: '1.该分题的菌种专业知识',
                    selectedScore: 0,
                    criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '2.操作能力',
                    selectedScore: 0,
                    criteria: '1.菌种分离无菌操作规范 2.菌种培养无菌操作规范 3.菌种保存无菌操作规范 4.菌种鉴定无菌操作规范',
                    desc: '',
                    rule: ''
                },
                {
                    category: '3.仪器设备使用',
                    selectedScore: 0,
                    criteria: '能正确使用实验仪器,如移液器、恒温箱等,操作规范。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '4.实验数据记录与分析',
                    selectedScore: 0,
                    criteria: '实验数据记录及时、准确、完整,能简单分析数据。',
                    desc: '',
                    rule: ''
                },
                {
                    category: '5.实验失败',
                    selectedScore: 0,
                    criteria: '无论何种原因,本次实验失败。',
                    desc: '',
                    rule: ''
                }
            ]
            this.form.approvalComment = "";
        },
        tableSpanMethod({ row, column, rowIndex, columnIndex }) {
            // 评分规则说明(desc)和考评规则(rule)列合并所有行
            // desc列索引为3,rule列索引为4(从0开始)
            if (columnIndex === 3 || columnIndex === 4) {
                if (rowIndex === 0) {
                    return [this.assessmentTable.length, 1]; // 合并所有行
                } else {
                    return [0, 0]; // 其他行隐藏
                }
            }
            return [1, 1];
        },
        getTableSummary(param) {
            const { columns } = param;
            const sums = [];
            columns.forEach((column, index) => {
                if (index === 0) {
                    sums[index] = '合计';
                } else if (index === 1) {
                    sums[index] = this.totalScore + '分';
                } else {
                    sums[index] = '';
                }
            });
            return sums;
        },
        handleApprove() {
            this.$emit("approve", {
                ...this.form,
                evaluateTotal: this.totalScore,
                evaluate: this.assessmentTable.map(item => item.selectedScore).join(',')
            });
        },
        handleCurrentChange(page) {
            this.form.pageNum = page
            this.getList()
        },
        handleSizeChange(size) {
            this.form.pageSize = size
            this.getList()
        },
    },
};
</script>
<style scoped lang="less">
.ml-30 {
    margin-left: 30px;
}
.evaluate-footer-time {
    margin-top: 20px;
    font-size: 14px;
    color: #333;
    line-height: 27px;
    // font-family: "Source Han Sans CN Bold Bold";
}
::v-deep .el-dialog__header {
    border-bottom: 1px solid #e4e7ed;
}
.approval-dialog {
    .approval-content {
        background: #ffffff;
        border-radius: 10px;
    }
    .approval-flow {
        padding: 40px 20px;
        // width: 405px;
        flex: 2;
        background: #ffffff;
        border-radius: 10px;
        .flow-title {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 20px;
            color: #303133;
        }
        .flow-content {
            height: calc(100% - 40px);
            overflow-y: auto;
            .el-form--inline .el-form-item {
                margin-right: 83px;
            }
        }
    }
}
.approval-content-card {
    box-shadow: none !important;
}
.header-title {
    // display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
    gap: 13px;
    .header-title-left {
        display: flex;
        align-items: center;
        gap: 13px;
        margin-top: 38px;
        img {
            width: 12px;
            height: 19px;
        }
        div {
            flex-shrink: 0;
            font-weight: bold;
            font-size: 18px;
            color: #222222;
            line-height: 27px;
            font-family: "Source Han Sans CN Bold Bold";
            &:before {
                content: "*";
                color: #f56c6c;
                margin-right: 4px;
            }
        }
        span {
            flex-shrink: 0;
            font-weight: bold;
            font-size: 18px;
            color: #222222;
            line-height: 27px;
            font-family: "Source Han Sans CN Bold Bold";
        }
    }
    .header-title-left :first-child {
        margin-top: 0;
    }
}
.header-title:first-child {
    .header-title-left {
        margin-top: 0;
    }
}
.item-title {
    padding-left: 25px;
    span {
        flex-shrink: 0;
        font-weight: bold;
        font-size: 14px;
        color: #222222;
        line-height: 27px;
        font-family: "Source Han Sans CN Bold Bold";
        margin: 18px 0;
        &:before {
            content: "*";
            color: #f56c6c;
            margin-right: 4px;
        }
    }
}
.approval-dialog-approve {
    align-content: center;
    .status {
        margin-right: 40px;
        max-width: 60%;
    }
    //   align-items: center;
    .status-title {
        color: #222222;
        font-family: "SourceHanSansCN-Medium";
        line-height: 14px;
        margin-bottom: 16px;
    }
    .status-content {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 16px;
        background: #ffffff;
        border-radius: 10px;
        border: 1px solid rgba(4, 156, 154, 0.5);
        .resolve {
            border-radius: 10px;
            flex: 1;
            font-size: 16px;
            // padding: 5px 55px;
            font-weight: 400;
            color: #333333;
            cursor: pointer;
            line-height: 32px;
            display: flex;
            align-items: center;
            justify-content: center
        }
        .reject {
            flex: 1;
            border-radius: 10px;
            font-size: 16px;
            line-height: 32px;
            // padding: 5px 55px;
            font-weight: 400;
            color: #333333;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center
        }
        .activeStatus {
            background: #ebfefd;
            color: #049c9a;
            box-shadow: 0px 0px 6px 0px rgba(10, 109, 108, 0.25);
            border-radius: 10px;
        }
    }
    .remark-title {
        color: #222222;
        font-family: "SourceHanSansCN-Medium";
        line-height: 14px;
        margin-bottom: 16px;
    }
}
.dialog-footer {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 20px;
    button {
        width: 150px;
    }
}
</style>
culture/src/views/strainOperationAssessment/index.vue
New file
@@ -0,0 +1,215 @@
<template>
    <div class="list">
        <el-card class="header-box">
            <div class="box-title">
                <img src="@/assets/public/notice.png" class="header-icon"> <span>设立课题规则</span>
            </div>
            <div class="header-content">
                <p>1、根据可研报告、产品构思设计的工艺研究路线,一条工艺路线设立一个课题。如果一个课题中有多个化合物需要开发研究,则每个化合物作为一个分题;分题归集到该课题中,最终形成课题报告。不同课题报告中的分题不能重复使用。
                </p>
                <p>2、在可行研究阶段,工艺开发升级,重新规划工艺研究路线,则以新规划的工艺路线方案来设定课题。</p>
            </div>
        </el-card>
        <TableCustom :tableData="tableData" :queryForm="queryForm" :height="null" :total="total"
            @currentChange="handleCurrentChange" @sizeChange="handleSizeChange">
            <template #search>
                <el-form :model="form" label-width="auto" inline>
                    <el-form-item label="所属项目组:">
                        <el-input v-model="form.teamName" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="报告名称:">
                        <el-input v-model="form.reportName" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="评定时间">
                        <el-date-picker v-model="form.time" type="daterange" range-separator="至"
                            start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="default" style="margin-right: 10px;" @click="resetForm">重置</el-button>
                        <el-button type="primary" @click="getLists">查询</el-button>
                    </el-form-item>
                </el-form>
            </template>
            <template #setting>
                <div class="table-setting-box">
                    <div class="table-setting">
                        <div class="table-tit" :class="!isDraft && 'table-title'" @click="handleTabChange(false)">
                            评定列表
                        </div>
                    </div>
                </div>
            </template>
            <template #table>
                <el-table-column prop="teamName" label="所属项目组" />
                <el-table-column prop="evaluateName" label="评定人" />
                <el-table-column prop="evaluateTime" label="评定时间" />
                <el-table-column label="操作">
                    <template #default="{ row }">
                        <el-button type="text" v-if="row.status != 1" @click="viewEvaluate(row)">详情</el-button>
                    </template>
                </el-table-column>
            </template>
        </TableCustom>
        <Evaluate :visible="showEvaluate" :obj="obj" @close="showEvaluate = false" />
    </div>
</template>
<script>
import Evaluate from './components/evaluate'
import { getList } from './service'
import moment from 'moment'
export default {
    name: 'ProjectList',
    components: {
        Evaluate
    },
    data() {
        return {
            form: {
                teamName: '',
                reportName: '',
                time: [],
            },
            tableData: [],
            showEvaluate: false,
            queryForm: {
                pageSize: 10,
                pageNum: 1,
            },
            total: 0,
            isDraft: false,
            obj: {},
            experimentList: []
        }
    },
    mounted() {
        this.getLists()
    },
    methods: {
        viewEvaluate(row) {
            this.obj = row
            this.obj.viewDetail = true
            this.showEvaluate = true
        },
        handleCurrentChange(page) {
            this.queryForm.pageNum = page
            this.getLists()
        },
        handleSizeChange(size) {
            this.queryForm.pageSize = size
            this.getLists()
        },
        getLists() {
            const params = {
                pageNum: this.queryForm.pageNum,
                pageSize: this.queryForm.pageSize,
                teamName: this.form.teamName,
                reportName: this.form.reportName,
                time: this.form.time.length?moment(this.form.time[0]).format('YYYY-MM-DD 00:00:00') + ' - ' + moment(this.form.time[1]).format('YYYY-MM-DD 23:59:59'):'',
            }
            getList(params).then(res => {
                if (res.code === 200) {
                    this.total = res.data.total
                    this.tableData = res.data.records
                }
            })
        },
        resetForm() {
            this.form = {
                teamName: '',
                reportName: '',
                time: [],
            }
            this.getLists()
        }
    }
}
</script>
<style scoped lang="less">
.table-setting-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.el-icon-plus {
    margin-bottom: 20px;
}
.header-content {
    font-family: PingFangSC, PingFang SC;
    font-weight: 400;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.88);
    margin-left: 30px;
}
.box-title {
    font-family: SourceHanSansCN, SourceHanSansCN;
    font-weight: bold;
    font-size: 18px;
    color: #222222;
    line-height: 27px;
    display: flex;
    align-items: center;
}
.header-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}
.header-box {
    border-radius: 16px;
    margin-bottom: 30px;
}
.table-setting {
    display: flex;
    gap: 14px;
}
.table-tit {
    background: #FAFAFC;
    border-radius: 8px 8px 0px 0px;
    border: 1px solid #DCDFE6;
    width: 166px;
    height: 50px;
    border-radius: 8px 8px 0px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    // margin-bottom: 21px;
    font-family: SourceHanSansCN, SourceHanSansCN;
    font-weight: bold;
    font-size: 18px;
    color: rgba(96, 98, 102, 1);
    line-height: 27px;
}
.list {
    height: 100%;
}
.table-title {
    width: 166px;
    height: 50px;
    background: #FFFFFF;
    border-radius: 8px 8px 0px 0px;
    border: 1px solid #049C9A;
    display: flex;
    align-items: center;
    justify-content: center;
    // margin-bottom: 21px;
    font-family: SourceHanSansCN, SourceHanSansCN;
    font-weight: bold;
    font-size: 18px;
    color: #049C9A;
    line-height: 27px;
}
</style>
culture/src/views/strainOperationAssessment/service.js
New file
@@ -0,0 +1,15 @@
import axios from '@/utils/request';
// 列表
export const getList = (data) => {
    console.log('qweqwe',data);
  return axios.post('/api/t-strain-report/pageList', { ...data })
}
//查看评定详情
export const viewEvaluate = (data) => {
  return axios.get('/open/t-strain-report/getDetailById', {params: {id: data.id}})
}
culture/src/views/strainReportLibrary/reportLibraryOne/index.vue
@@ -34,7 +34,7 @@
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="default" style="margin-right: 10px;" @click="resetForm">重置</el-button>
                        <el-button type="primary">查询</el-button>
                        <el-button type="primary" @click="getLists">查询</el-button>
                    </el-form-item>
                </el-form>
            </template>
@@ -99,6 +99,7 @@
import Approval from './components/approval'
import Evaluate from './components/evaluate'
import { getList, approve, evaluate, deleteReport, revokeAudit } from './service'
import moment from 'moment'
export default {
    name: 'ProjectList',
@@ -203,8 +204,7 @@
                pageSize: this.queryForm.pageSize,
                teamName: this.form.teamName,
                reportName: this.form.reportName,
                startTime: this.form.date && this.form.date[0] ? this.form.date[0] : '',
                endTime: this.form.date && this.form.date[1] ? this.form.date[1] : '',
                time: this.form.time.length?moment(this.form.date[0]).format('YYYY-MM-DD 00:00:00') + ' - ' + moment(this.form.date[1]).format('YYYY-MM-DD 23:59:59'):'',
                status: this.form.status,
                isDraft: this.isDraft ? 1 : 0,
                reportType: 1
culture/src/views/strainReportLibrary/reportLibraryOneFour/index.vue
@@ -34,7 +34,7 @@
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="default" style="margin-right: 10px;" @click="resetForm">重置</el-button>
                        <el-button type="primary">查询</el-button>
                        <el-button type="primary" @click="getLists">查询</el-button>
                    </el-form-item>
                </el-form>
            </template>
@@ -76,7 +76,7 @@
                        <el-button type="text" v-if="row.status == 2 && [1, 2].includes(roleType)"
                            @click="handleEvaluate(row)">评定</el-button>
                        <el-button type="text" v-if="row.status != 1" @click="viewDetail(row)">详情</el-button>
                        <el-button type="text" v-if="roleType == 3 && row.status == 4  || isDraft"
                        <el-button type="text" v-if="roleType == 3 && row.status == 4 || isDraft"
                            @click="handleDetail(row)">编辑</el-button>
                        <el-button type="text" v-if="roleType == 3 && isDraft" @click="handleDelete(row)">删除</el-button>
                        <el-button type="text" v-if="row.status == 1 && roleType == 3"
@@ -103,6 +103,7 @@
import Evaluate from './components/evaluate'
import ChoiceMethod from './components/choiceMethod'
import { getList, approve, evaluate, deleteReport, revokeAudit } from './service'
import moment from 'moment'
export default {
    name: 'ProjectList',
@@ -219,8 +220,7 @@
                pageSize: this.queryForm.pageSize,
                teamName: this.form.teamName,
                reportName: this.form.reportName,
                startTime: this.form.date && this.form.date[0] ? this.form.date[0] : '',
                endTime: this.form.date && this.form.date[1] ? this.form.date[1] : '',
                time: this.form.date.length ? moment(this.form.date[0]).format('YYYY-MM-DD 00:00:00') + ' - ' + moment(this.form.date[1]).format('YYYY-MM-DD 23:59:59') : '',
                status: this.form.status,
                isDraft: this.isDraft ? 1 : 0,
                reportType: 3
culture/src/views/strainReportLibrary/reportLibraryOneTWO/index.vue
@@ -34,7 +34,7 @@
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="default" style="margin-right: 10px;" @click="resetForm">重置</el-button>
                        <el-button type="primary">查询</el-button>
                        <el-button type="primary" @click="getLists">查询</el-button>
                    </el-form-item>
                </el-form>
            </template>
@@ -103,7 +103,7 @@
import Evaluate from './components/evaluate'
import ChoiceMethod from './components/choiceMethod'
import { getList, approve, evaluate, deleteReport, revokeAudit } from './service'
import moment from 'moment'
export default {
    name: 'ProjectList',
    components: {
@@ -219,8 +219,7 @@
                pageSize: this.queryForm.pageSize,
                teamName: this.form.teamName,
                reportName: this.form.reportName,
                startTime: this.form.date && this.form.date[0] ? this.form.date[0] : '',
                endTime: this.form.date && this.form.date[1] ? this.form.date[1] : '',
                time: this.form.date.length?moment(this.form.date[0]).format('YYYY-MM-DD 00:00:00') + ' - ' + moment(this.form.date[1]).format('YYYY-MM-DD 23:59:59'):'',
                status: this.form.status,
                isDraft: this.isDraft ? 1 : 0,
                reportType: 2
culture/src/views/strainReportLibrary/reportLibraryOneThree/index.vue
@@ -34,7 +34,7 @@
                    </el-form-item>
                    <el-form-item label="">
                        <el-button type="default" style="margin-right: 10px;" @click="resetForm">重置</el-button>
                        <el-button type="primary">查询</el-button>
                        <el-button type="primary" @click="getLists">查询</el-button>
                    </el-form-item>
                </el-form>
            </template>
@@ -103,6 +103,7 @@
import Evaluate from './components/evaluate'
import ChoiceMethod from './components/choiceMethod'
import { getList, approve, evaluate, deleteReport, revokeAudit } from './service'
import moment from 'moment'
export default {
    name: 'ProjectList',
@@ -219,8 +220,7 @@
                pageSize: this.queryForm.pageSize,
                teamName: this.form.teamName,
                reportName: this.form.reportName,
                startTime: this.form.date && this.form.date[0] ? this.form.date[0] : '',
                endTime: this.form.date && this.form.date[1] ? this.form.date[1] : '',
                time: this.form.date.length?moment(this.form.date[0]).format('YYYY-MM-DD 00:00:00') + ' - ' + moment(this.form.date[1]).format('YYYY-MM-DD 23:59:59'):'',
                status: this.form.status,
                isDraft: this.isDraft ? 1 : 0,
                reportType: 3
culture/src/views/system/user/index.vue
@@ -133,11 +133,11 @@
  },
  mounted() { },
  methods: {
    getTypeList() {
      typeList().then((res) => {
        this.deptTypeList = res.data.data
      })
    },
    // getTypeList() {
    //   typeList().then((res) => {
    //     this.deptTypeList = res.data.data
    //   })
    // },
    getRoleList() {
      roleList().then((res) => {
        this.roleList = res
culture/src/views/system/user/service.js
@@ -7,12 +7,12 @@
// 添加
export const add = (data) => {
  return axios.post('/system/user/add', { ...data })
  return axios.post('/api/system/user/add', { ...data })
}
// 编辑
export const edit = (data) => {
  return axios.post('/system/user/edit', { ...data })
  return axios.post('/api/system/user/edit', { ...data })
}
// 删除
@@ -20,10 +20,6 @@
  return axios.delete(`/system/user/deleteById/${id}`)
}
// 部门
export const deptList = (data) => {
  return axios.post(`/t-dept/listAll`)
}
export const roleList = () => {
  return axios.post(`/system/role/listNotPage`)
@@ -34,8 +30,8 @@
}
export const updatePwd = (data) => {
  return axios.post(`/system/user/resetPwd`, { ...data })
  return axios.post(`/api/system/user/resetPwd`, { ...data })
}
export const typeList = () => {
  return axios.get(`/t-business-dept/list/type?type=1`,)
}
// export const typeList = () => {
//   return axios.get(`/t-business-dept/list/type?type=1`,)
// }