<template> <div> <a-spin :spinning="loading" style="width: 100%;height: 100%;"> <project-view v-model="objId" /> <a-form-model ref="form" :model="auditObj" :rules="rules" class="from-table"> <audit-edit :auditObj.sync="auditObj" :disabledBtns.sync="disabledBtns" /> </a-form-model> </a-spin> </div> </template> <script> import { isEmptyParams } from "@/views/utils/common"; import { budgetList } from '@/views/report/project/config' import ProjectView from '@/views/report/project/components/projectView' import AuditList from '@/views/audit/components/auditInfo' import AuditEdit from '@/views/audit/components/auditEdit' export default { name: "Audit", components: { ProjectView, AuditList, AuditEdit }, data () { return { projectInfo: { projName: '', startDate: '', endDate: '', applyMoney: '', projClassName: '', appPersonName: '', sex: '', titleName: '', degreeName: '', specName: '', jobUnit: '', mobile: '', address: '', appUnitName: '', linkName: '', linkEmail: '', linkTel: '', knowledgeName: '', projContent: '', projTarget: '', projKeywords: '', // 合作单位 together: [{ unitName: '', unitAddress: '', projectWork: '' }, { unitName: '', unitAddress: '', projectWork: '' }], // 项目组成员 members: [], // 经费 budget: budgetList(), projDoc: null, fileList: [{ fileName: '', url: '', remarks: '', id: '' }], auditList: [{ result: '', unit: '', time: '' }], }, auditObj: { id: this.value, auditObjectId: this.objId, auditResult: null, auditType: 1, auditContent: '' }, rules: { auditContent: { required: true, message: '请填写审核意见', trigger: 'blur' }, auditResult: { required: true, message: '请选择审核结果', trigger: 'change' }, }, loading: false, }; }, props: { value: { type: String, default: () => { return null } }, objId: { type: String, default () { return null } }, disabledBtns: { type: Object, default () { return { btnPassed: false, btnReturn: true, btnUnpassed: false, } } } }, created () { this.load() }, methods: { load () { let pars = { id: this.objId } if (this.objId != null) { this.loading = true this.$api.project.getProjectInfoById(pars).then(({ data = {} }) => { if (data) { this.projectInfo = data this.loading = false } this.$emit('onDisabled', false) }).catch(() => { }) } }, cancel () { this.$emit('closeWindow', 'auditcel') }, submit () { this.$refs.form.validate(valid => { if (valid) { this.$emit('onDisabled', true) this.loading = true let pars = isEmptyParams(this.auditObj) let par = { ...pars } this.$api.auditManager.projectAudit(par).then(({ data = {} }) => { if (data) { if (data === '项目上报已经到达上限!') { this.$message.info('项目上报已经到达上限!') } else { this.$message.success('审核成功!') this.$emit('closeWindow', 'audit') } } this.loading = false this.$emit('onDisabled', false) }).catch(() => { this.loading = false this.$emit('onDisabled', false) }) } else { this.$emit('changeScroll') this.$message.error('请选择审核结果或填写审核意见!') return false } }) }, }, } </script> <style lang="less" scoped> </style>