| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="rule" :label="type == 2 || type == '2' ? '规程型课题报告评分规则' : '创新型课题报告评分规则'"> |
| | | <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> |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | { |
| | | category: '1.该分题的菌种专业知识', |
| | | selectedScore: 0, |
| | | criteria: '1.1 能讲生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | criteria: '1.1 微生物学基础,掌握各类微生物形态特性、生化特性及鉴定方法。1.2 菌种选育技术,了解掌握自然选育、诱变选育、基因工程育种。', |
| | | desc: '', |
| | | rule: '' |
| | | }, |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: -18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" |
| | | :file-list="fileList" |
| | | disabled |
| | | :on-preview="handlePreview"> |
| | | <!-- <el-button size="small" type="primary" disabled>点击上传</el-button> --> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | import ApprovalProcess from '@/components/approvalProcess' |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetail,audit } from '../../service' |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | getDetail() { |
| | | getDetail(this.data.id).then(res => { |
| | | if (res) { |
| | |
| | | <div>所属项目组</div> |
| | | </div> |
| | | <div class="header-title-right"> |
| | | <el-button |
| | | @click="showChoose = true" |
| | | class="el-icon-circle-plus-outline" |
| | | type="primary" |
| | | > |
| | | 选择项目组</el-button |
| | | > |
| | | <el-button @click="showChoose = true" class="el-icon-circle-plus-outline" type="primary"> |
| | | 选择项目组</el-button> |
| | | </div> |
| | | </div> |
| | | <Table :height="null" :data="tableData" :queryForm="queryForm" :total="0"> |
| | |
| | | <el-table-column prop="createTime" label="创建时间" /> |
| | | </template> |
| | | </Table> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | inline |
| | | label-position="top" |
| | | style="margin-top: 18px" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" inline label-position="top" style="margin-top: 18px"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="24"> |
| | | <el-form-item prop="reportTitle" label="报告标题"> |
| | | <el-input |
| | | v-model="form.reportTitle" |
| | | style="width: 100%" |
| | | placeholder="请输入报告标题" |
| | | /> |
| | | <el-input v-model="form.reportTitle" style="width: 100%" placeholder="请输入报告标题" /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="reportCode" |
| | | label="报告编号" |
| | | style="margin-left: 100px" |
| | | > |
| | | <el-input |
| | | v-model="form.reportCode" |
| | | style="width: 100%" |
| | | placeholder="请输入报告编号" |
| | | disabled |
| | | /> |
| | | <el-form-item prop="reportCode" label="报告编号" style="margin-left: 100px"> |
| | | <el-input v-model="form.reportCode" style="width: 100%" placeholder="请输入报告编号" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item prop="developPersonName" label="制定人"> |
| | | <el-input |
| | | v-model="form.developPersonName" |
| | | style="width: 100%" |
| | | placeholder="请输入制定人" |
| | | disabled |
| | | /> |
| | | <el-input v-model="form.developPersonName" style="width: 100%" placeholder="请输入制定人" disabled /> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="developDate" |
| | | label="制定日期" |
| | | style="margin-left: 100px" |
| | | > |
| | | <el-date-picker |
| | | :prefix-icon="null" |
| | | v-model="form.developDate" |
| | | type="date" |
| | | disabled |
| | | placeholder="请选择日期" |
| | | /> |
| | | <el-form-item prop="developDate" label="制定日期" style="margin-left: 100px"> |
| | | <el-date-picker :prefix-icon="null" v-model="form.developDate" type="date" disabled placeholder="请选择日期" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="reportText" style="margin-top: 18px"> |
| | | <ai-editor |
| | | ref="materialEditor" |
| | | :value="form.reportText" |
| | | style="width: 100%" |
| | | placeholder="请输入报告正文" |
| | | /> |
| | | <ai-editor ref="materialEditor" :value="form.reportText" style="width: 100%" placeholder="请输入报告正文" /> |
| | | </el-form-item> |
| | | <div class="header-title" style="width: 100%"> |
| | | <div class="header-title-left"> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <el-upload |
| | | action="#" |
| | | :file-list="fileList" |
| | | :http-request="handleUpload" |
| | | :before-upload="beforeUpload" |
| | | :on-remove="handleRemove" |
| | | > |
| | | <el-upload action="#" :file-list="fileList" :http-request="handleUpload" :before-upload="beforeUpload" |
| | | :on-remove="handleRemove" :on-preview="handlePreview"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">支持任意格式文件上传</div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | |
| | | <div class="end-btn" style="margin-top: 38px"> |
| | | <el-button type="primary" @click="submit" :loading="loading" |
| | | >发送</el-button |
| | | > |
| | | <el-button type="default" @click="save" :loading="loading" |
| | | >存草稿</el-button |
| | | > |
| | | <el-button type="primary" @click="submit" :loading="loading">发送</el-button> |
| | | <el-button type="default" @click="save" :loading="loading">存草稿</el-button> |
| | | </div> |
| | | </el-form> |
| | | </Card> |
| | | <chooseProject |
| | | @submit="getProjectData" |
| | | :show="showChoose" |
| | | @close="showChoose = false" |
| | | ></chooseProject> |
| | | <chooseProject @submit="getProjectData" :show="showChoose" @close="showChoose = false"></chooseProject> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { addData, getDetail, editData } from "./service"; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import { mapState } from "vuex"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | } else { |
| | | let newUrl = apiConfig.showImgUrl + file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | getDetail() { |
| | | getDetail(this.$route.query.id).then((res) => { |
| | | this.form = res; |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" |
| | | :file-list="fileList" |
| | | :on-preview="handlePreview" |
| | | disabled> |
| | | <!-- <el-button size="small" type="primary" disabled>点击上传</el-button> --> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | import ApprovalProcess from '@/components/approvalProcess' |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetail, audit } from '../../service' |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | getDetail() { |
| | | getDetail(this.data.id).then(res => { |
| | | if (res) { |
| | |
| | | if (this.$route.query.id) { |
| | | if (this.$route.query.type === 'detail') { |
| | | this.isDetail = true |
| | | // getListByItemId({ id: this.$route.query.id }).then(res=>{ |
| | | // this.reportTableData=res.data |
| | | |
| | | // }) |
| | | } else if (this.$route.query.type === 'edit') { |
| | | this.isEdit = true |
| | | } |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <!-- <el-upload |
| | | action="#" |
| | | <el-upload action="#" |
| | | :file-list="fileList" |
| | | :http-request="handleUpload" |
| | | :before-upload="beforeUpload" |
| | | :on-remove="handleRemove"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">支持任意格式文件上传</div> |
| | | </el-upload> --> |
| | | <el-upload action="#" :file-list="fileList" :http-request="handleUpload" :disabled="this.$route.query.type === 'detail'" |
| | | :disabled="this.$route.query.type === 'detail'" |
| | | :before-upload="beforeUpload" :on-remove="handleRemove"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">支持任意格式文件上传</div> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <el-upload action="https://jsonplaceholder.typicode.com/posts/" :file-list="fileList"> |
| | | <el-upload |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :file-list="fileList" |
| | | :on-preview="handlePreview" |
| | | > |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button> --> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | import ApprovalProcess from '@/components/approvalProcess' |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetailInfo, getDetail, detailAuditReport } from '../../service' |
| | | import {getFullUrl} from '@/utils/utils' |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open(){ |
| | | this.status=1; |
| | | this.remark='' |
| | |
| | | }] |
| | | } |
| | | if (res.qaTestItemReportList && res.qaTestItemReportList.length > 0) { |
| | | this.reportTableData = res.qaTestItemReportList |
| | | this.reportTableData = res.qaTestItemReportList.filter(item=> item.status!='-1') |
| | | } |
| | | } else { |
| | | this.$message.error(res.msg || '获取详情失败') |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="状态:"> |
| | | <el-select v-model="form.status" placeholder="请选择"> |
| | | <el-select v-model="form.status" placeholder="请选择" v-if="isChemist"> |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="草稿箱" value="-1"></el-option> |
| | | <el-option label="已提交" value="1"></el-option> |
| | | <el-option label="待评定" value="2"></el-option> |
| | | <el-option label="已评定" value="3"></el-option> |
| | | </el-select> |
| | | <el-select v-model="form.status" placeholder="请选择" v-else> |
| | | <el-option label="全部" value=""></el-option> |
| | | <el-option label="草稿箱" value="-1"></el-option> |
| | | <el-option label="待审核" value="1"></el-option> |
| | | <el-option label="已通过" value="2"></el-option> |
| | | <el-option label="已驳回" value="3"></el-option> |
| | | <el-option label="已撤销" value="4"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" style="margin-left: 63px;"> |
| | | <el-button type="default" style="margin-right: 10px;" @click="handleReset">重置</el-button> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" :file-list="fileList" |
| | | :on-preview="handlePreview" |
| | | disabled> |
| | | <!-- <el-button size="small" type="primary" disabled |
| | | >点击上传</el-button |
| | | > --> |
| | |
| | | import ApprovalProcess from "@/components/approvalProcess"; |
| | | import AiEditor from "@/components/AiEditor"; |
| | | import { getDetail, audit } from "../../service"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | getDetail() { |
| | | getDetail(this.data.id) |
| | | .then((res) => { |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: 18px"> |
| | | <el-upload action="https://jsonplaceholder.typicode.com/posts/" :file-list="fileList"> |
| | | <el-upload |
| | | :on-preview="handlePreview" |
| | | action="https://jsonplaceholder.typicode.com/posts/" :file-list="fileList"> |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button> --> |
| | | </el-upload> |
| | | </el-form-item> |
| | |
| | | import ApprovalProcess from '@/components/approvalProcess' |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetailInfo, getDetail, detailAuditReport } from '../../service' |
| | | |
| | | import apiConfig from '@/utils/baseurl'; |
| | | export default { |
| | | name: "ApprovalDialog", |
| | | components: { |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | getDetailInfo() { |
| | | getDetailInfo({ id: this.data.id }).then(res => { |
| | | if (res) { |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: -18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" :file-list="fileList" :on-preview="handlePreview" disabled> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | import AiEditor from "@/components/AiEditor"; |
| | | import { getDetail } from "../../service"; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open() { |
| | | if (!this.obj.id) { |
| | | this.$message.error("缺少必要参数"); |
| | |
| | | <template> |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :visible.sync="visible" |
| | | width="80%" |
| | | @open="open" |
| | | po |
| | | :close-on-click-modal="false" |
| | | @close="handleClose" |
| | | > |
| | | <div |
| | | class="approval-dialog" |
| | | :style="{ height: obj.isDetail ? '50vh' : '40vh' }" |
| | | > |
| | | <el-dialog :title="dialogTitle" :visible.sync="visible" width="80%" @open="open" po :close-on-click-modal="false" |
| | | @close="handleClose"> |
| | | <div class="approval-dialog" :style="{ height: obj.isDetail ? '50vh' : '40vh' }"> |
| | | <!-- 左侧审批内容 --> |
| | | <div class="approval-content"> |
| | | <Card class="approval-content-card"> |
| | |
| | | </template> |
| | | </Table> |
| | | |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | :rules="rules" |
| | | inline |
| | | label-position="top" |
| | | style="margin-top: 38px" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" inline label-position="top" style="margin-top: 38px"> |
| | | <div class="header-title" style="width: 100%"> |
| | | <div class="header-title-left"> |
| | | <img src="@/assets/public/headercard.png" /> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="reportCode" style="margin-top: 38px"> |
| | | <el-input |
| | | disabled |
| | | v-model="form.reportCode" |
| | | style="width: 100%" |
| | | placeholder="请输入报告编号" |
| | | /> |
| | | <el-input disabled v-model="form.reportCode" style="width: 100%" placeholder="请输入报告编号" /> |
| | | </el-form-item> |
| | | |
| | | <div class="header-title" style="width: 100%"> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="reportName" style="margin-top: 38px"> |
| | | <el-input |
| | | disabled |
| | | v-model="form.reportName" |
| | | style="width: 100%" |
| | | placeholder="请输入报告名称" |
| | | /> |
| | | <el-input disabled v-model="form.reportName" style="width: 100%" placeholder="请输入报告名称" /> |
| | | </el-form-item> |
| | | |
| | | <div class="header-title" style="width: 100%"> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="reportText" style="margin-top: 38px"> |
| | | <ai-editor |
| | | :readOnly="true" |
| | | :value="form.reportText" |
| | | style="width: 100%" |
| | | placeholder="请输入报告正文" |
| | | /> |
| | | <ai-editor :readOnly="true" :value="form.reportText" style="width: 100%" placeholder="请输入报告正文" /> |
| | | </el-form-item> |
| | | <div class="header-title" style="width: 100%"> |
| | | <div class="header-title-left"> |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: -18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" :on-preview="handlePreview" :file-list="fileList" disabled> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <div class="status"> |
| | | <div class="status-title">审批结果</div> |
| | | <div class="status-content"> |
| | | <div |
| | | class="resolve" |
| | | :class="status == '2' && 'activeStatus'" |
| | | @click.stop="status = 2" |
| | | > |
| | | <div class="resolve" :class="status == '2' && 'activeStatus'" @click.stop="status = 2"> |
| | | 通过 |
| | | </div> |
| | | <div |
| | | class="reject" |
| | | :class="status == '4' && 'activeStatus'" |
| | | @click.stop="status = 4" |
| | | > |
| | | <div class="reject" :class="status == '4' && 'activeStatus'" @click.stop="status = 4"> |
| | | 驳回 |
| | | </div> |
| | | </div> |
| | |
| | | <el-col :span="12"> |
| | | <div class="remark"> |
| | | <div class="remark-title">审批意见</div> |
| | | <el-input |
| | | type="textarea" |
| | | v-model="remark" |
| | | placeholder="请输入审批意见" |
| | | /> |
| | | <el-input type="textarea" v-model="remark" placeholder="请输入审批意见" /> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-button @click="handleClose">{{ |
| | | obj.isDetail ? "关闭" : "取 消" |
| | | }}</el-button> |
| | | <el-button type="primary" @click="handleApprove" v-if="!obj.isDetail" |
| | | >确认</el-button |
| | | > |
| | | <el-button type="primary" @click="handleApprove" v-if="!obj.isDetail">确认</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | import AiEditor from "@/components/AiEditor"; |
| | | import { getDetail } from "../../service"; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | export default { |
| | | name: "ApprovalDialog", |
| | |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | } else { |
| | | let newUrl = apiConfig.showImgUrl + file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open() { |
| | | if (!this.obj.id) { |
| | | this.$message.error("缺少必要参数"); |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: -18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" :on-preview="handlePreview":file-list="fileList" disabled> |
| | | </el-upload> |
| | | </el-form-item> |
| | | |
| | |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetail } from '../../service'; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | |
| | | export default { |
| | |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open() { |
| | | if (!this.obj.id) { |
| | | this.$message.error('缺少必要参数'); |
| | |
| | | </div> |
| | | </div> |
| | | <el-form-item prop="name" style="margin-top: -18px"> |
| | | <el-upload action="#" :file-list="fileList" disabled> |
| | | <el-upload action="#" :file-list="fileList" :on-preview="handlePreview" disabled> |
| | | </el-upload> |
| | | </el-form-item> |
| | | |
| | |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetail } from '../../service'; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | |
| | | export default { |
| | |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open() { |
| | | if (!this.obj.id) { |
| | | this.$message.error('缺少必要参数'); |
| | |
| | | <el-form-item prop="feasibilityReportFiles" style="margin-top: -18px"> |
| | | <el-upload |
| | | disabled |
| | | :on-preview="handlePreview" |
| | | :file-list="fileList" |
| | | /> |
| | | </el-form-item> |
| | |
| | | import AiEditor from '@/components/AiEditor' |
| | | import { getDetail } from '../../service'; |
| | | import { customUploadRequest, getFullUrl } from "@/utils/utils"; |
| | | import apiConfig from '@/utils/baseurl'; |
| | | |
| | | |
| | | export default { |
| | |
| | | }, |
| | | methods: { |
| | | getFullUrl, |
| | | handlePreview(file) { |
| | | console.log('url', file) |
| | | if (file && file.url) { |
| | | if (file.url && file.url.startsWith(apiConfig.showImgUrl)) { |
| | | window.open(file.url, '_blank'); |
| | | }else{ |
| | | let newUrl=apiConfig.showImgUrl+file.url; |
| | | window.open(newUrl, '_blank'); |
| | | } |
| | | } |
| | | }, |
| | | open() { |
| | | if (!this.obj.id) { |
| | | this.$message.error('缺少必要参数'); |