Commit 191bd6fb authored by 徐俊's avatar 徐俊

xujun

parents 4227f5aa 70cb94c7
...@@ -320,25 +320,18 @@ router.beforeEach(async (to, from, next) => { ...@@ -320,25 +320,18 @@ router.beforeEach(async (to, from, next) => {
const hasUser = JSON.parse(window.sessionStorage.getItem('user')) const hasUser = JSON.parse(window.sessionStorage.getItem('user'))
const hasMenu = JSON.parse(window.sessionStorage.getItem('menuList')) const hasMenu = JSON.parse(window.sessionStorage.getItem('menuList'))
if (hasUser && hasMenu) { if (hasUser && hasMenu) {
if (to.path === '/sys') { if (hasUser.type === '3' && !!!hasUser.projType && hasUser.roles != '4') {
if (!hasUser.projType && hasUser.type === '3' && hasUser.roles != '4') { if (to.path === '/sys') {
next() next()
NProgress.done() NProgress.done()
}
else {
next({ path: '/' })
NProgress.done()
}
} else {
if (!hasUser.projType && hasUser.type === '3' && hasUser.roles != '4') {
next(`/sys`)
NProgress.done()
} else { } else {
// setType(hasUser.type + '') next(`/sys`)
// await store.dispatch('app/auth', to.path)
next()
NProgress.done() NProgress.done()
} }
} else {
await store.dispatch('app/auth', to.path)
next()
NProgress.done()
} }
} else { } else {
await store.dispatch('user/getUser') await store.dispatch('user/getUser')
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
</template> </template>
<script> <script>
import { getType, getUnitType } from '@/views/utils/auth' import { getType } from '@/views/utils/auth'
import moment from 'moment' import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common"; import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common";
import paraSelect from '@/views/components/common/paraSelect' import paraSelect from '@/views/components/common/paraSelect'
...@@ -151,19 +151,16 @@ export default { ...@@ -151,19 +151,16 @@ export default {
this.getListByPage() this.getListByPage()
}, },
getYear () { getYear () {
let type = getUnitType() this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => {
this.$api.batch.getCurrentYearBatch({ type: type, projType: getType() }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
this.searchForm.reportYear = data.year this.searchForm.reportYear = data.year
console.log('1')
this.getListByPage() this.getListByPage()
} }
}).catch(() => { }) }).catch(() => { })
}, },
getListByPage () { getListByPage () {
console.log('2')
this.getCount() this.getCount()
this.loading = true; this.loading = true;
let pars = isEmptyParams(this.searchForm); let pars = isEmptyParams(this.searchForm);
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
</div> </div>
<div style="width: 100%;height: calc(100% - 50px);overflow: auto;" ref="main"> <div style="width: 100%;height: calc(100% - 50px);overflow: auto;" ref="main">
<div class="x_modal_content"> <div class="x_modal_content">
<project-info v-model="projectInfo" :tabsData.sync="tabsData" v-if="projType" /> <project-info v-model="formData" :tabsData.sync="tabsData" v-if="projType=='1'" />
<project-info-Key v-model="projectInfo" :tabsData.sync="tabsData" v-else /> <project-info-Key v-model="formData" :tabsData.sync="tabsData" v-if="projType=='2'" />
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<div class="tb-title"> <div class="tb-title">
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<audit-list v-model="projectInfo.auditList" /> <audit-list v-model="formData.auditList" />
</a-col> </a-col>
</a-row> </a-row>
<a-form-model ref="form" :model="auditObj" :rules="rules" class="from-table font-line-space"> <a-form-model ref="form" :model="auditObj" :rules="rules" class="from-table font-line-space">
...@@ -66,7 +66,7 @@ export default { ...@@ -66,7 +66,7 @@ export default {
{ title: '单位科研项目及资金管理制度', key: '10', isShow: true }, { title: '单位科研项目及资金管理制度', key: '10', isShow: true },
// { title: '诚信承诺书', key: '11', isShow: true }, // { title: '诚信承诺书', key: '11', isShow: true },
], ],
projectInfo: { formData: {
id: null, id: null,
organizationCode: null, organizationCode: null,
address: null, address: null,
...@@ -121,7 +121,7 @@ export default { ...@@ -121,7 +121,7 @@ export default {
auditResult: { required: true, message: '请选择审核结果', trigger: 'change' }, auditResult: { required: true, message: '请选择审核结果', trigger: 'change' },
}, },
loading: false, loading: false,
projType: getType() == "1" projType: getType()
}; };
}, },
props: { props: {
...@@ -148,7 +148,7 @@ export default { ...@@ -148,7 +148,7 @@ export default {
this.loading = true this.loading = true
this.$api.project.getProjectInfoById(pars).then(({ data = {} }) => { this.$api.project.getProjectInfoById(pars).then(({ data = {} }) => {
if (data) { if (data) {
this.projectInfo = data this.formData = data
this.loading = false this.loading = false
} else } else
this.$emit('close', 'error') this.$emit('close', 'error')
......
...@@ -133,7 +133,7 @@ export default { ...@@ -133,7 +133,7 @@ export default {
this.$message.success('登录成功!'); this.$message.success('登录成功!');
setToken(data.access_token) setToken(data.access_token)
//this.$router.push({ path: this.redirect || '/home', query: this.otherQuery }) //this.$router.push({ path: this.redirect || '/home', query: this.otherQuery })
this.$router.push({ path: '/home' }) this.$router.push({ path: '/' })
} }
else { else {
this.getCode() this.getCode()
......
...@@ -150,7 +150,6 @@ export default { ...@@ -150,7 +150,6 @@ export default {
}, },
data () { data () {
return { return {
projType: getType() == "1",
loadState: false, //判断是否查询信息完整状态 loadState: false, //判断是否查询信息完整状态
isComplete: false, isComplete: false,
formData: { id: null, nation: null, title: null, education: null, spec: null, email: null, sex: null, birthday: null }, formData: { id: null, nation: null, title: null, education: null, spec: null, email: null, sex: null, birthday: null },
......
...@@ -113,7 +113,7 @@ export default { ...@@ -113,7 +113,7 @@ export default {
dataList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ManagementRule }] return []
} }
}, },
}, },
......
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
</div> </div>
</a-col> </a-col>
</a-row> --> </a-row> -->
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">开户银行</div> <div class="required">开户银行</div>
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<!-- <a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
...@@ -227,7 +227,7 @@ ...@@ -227,7 +227,7 @@
</div> </div>
</a-col> </a-col>
</a-row> --> </a-row> -->
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">上年度研发经费支出总额(单位:万元)</div> <div class="required">上年度研发经费支出总额(单位:万元)</div>
...@@ -290,8 +290,8 @@ ...@@ -290,8 +290,8 @@
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
...@@ -330,9 +330,10 @@ ...@@ -330,9 +330,10 @@
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="recommendUnit"> {{ formData.appUnitName }}
<!-- <a-form-model-item prop="recommendUnit">
<a-input placeholder="推荐部门" v-model="formData.recommendUnit" :maxLength="100" style="width: 80%" /> <a-input placeholder="推荐部门" v-model="formData.recommendUnit" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item> -->
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
...@@ -357,7 +358,7 @@ ...@@ -357,7 +358,7 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目依托的科技创新基地</div> <div class="required">项目依托的科技创新基地</div>
...@@ -368,7 +369,7 @@ ...@@ -368,7 +369,7 @@
<a-input placeholder="项目依托的科技创新基地" v-model="formData.technologyInnovationBase" :maxLength="100" style="width: 80%" /> <a-input placeholder="项目依托的科技创新基地" v-model="formData.technologyInnovationBase" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
...@@ -509,10 +510,21 @@ ...@@ -509,10 +510,21 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>3、在研或完成基础研究项目情况</span>
</div>
</a-col>
</a-row>
<!-- 在研或完成基础研究项目情况 -->
<project-research-edit :projectResearchList.sync="formData.projectResearchList" />
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">3、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div> <div class="required">4、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
...@@ -599,9 +611,9 @@ ...@@ -599,9 +611,9 @@
<!-- 经费预算 --> <!-- 经费预算 -->
<budget-edit :budget.sync="formData.budget" /> <budget-edit :budget.sync="formData.budget" />
<!-- 分年度用款计划 --> <!-- 分年度用款计划 -->
<fund-plan-edit :fundPlan.sync="formData.fundPlan"/> <fund-plan-edit :fundPlan.sync="formData.fundPlan" />
<!-- 设备费-购置设备预算明细表 --> <!-- 设备费-购置设备预算明细表 -->
<equipments-edit :equipments.sync="formData.equipments"/> <equipments-edit :equipments.sync="formData.equipments" />
<!-- 科技计划项目承担单位研究资金支出预算明细表 --> <!-- 科技计划项目承担单位研究资金支出预算明细表 -->
<unit-payment-edit :unitPayment.sync="formData.unitPayment"/> <unit-payment-edit :unitPayment.sync="formData.unitPayment"/>
<!-- 项目绩效指标 --> <!-- 项目绩效指标 -->
...@@ -631,12 +643,15 @@ import fundPlanEdit from '@/views/report/project/components/fundPlanEdit' ...@@ -631,12 +643,15 @@ import fundPlanEdit from '@/views/report/project/components/fundPlanEdit'
import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue' import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue'
import unitPaymentEdit from '@/views/report/project/components/unitPaymentEdit.vue' import unitPaymentEdit from '@/views/report/project/components/unitPaymentEdit.vue'
import projectKpiEdit from '@/views/report/project/components/projectKpiEdit.vue' import projectKpiEdit from '@/views/report/project/components/projectKpiEdit.vue'
import projectResearchEdit from '@/views/report/project/components/projectResearchEdit'
import projectSubEdit from '@/views/report/project/components/projectSubEdit' import projectSubEdit from '@/views/report/project/components/projectSubEdit'
import managementRuleEdit from '@/views/report/project/components/managementRuleEdit' import managementRuleEdit from '@/views/report/project/components/managementRuleEdit'
import fileEdit from '@/views/report/project/components/fileEdit' import fileEdit from '@/views/report/project/components/fileEdit'
import { isEmptyParams } from "@/views/utils/common" import { isEmptyParams } from "@/views/utils/common"
import moment from 'moment' import moment from 'moment'
const ProjResearch = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null }
const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null } const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
...@@ -676,8 +691,7 @@ const projectKPI = { ...@@ -676,8 +691,7 @@ const projectKPI = {
export default { export default {
name: 'projectEdit', name: 'projectEdit',
components: { components: {
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
projectSubEdit, managementRuleEdit, fileEdit
}, },
props: { props: {
value: { value: {
...@@ -738,12 +752,12 @@ export default { ...@@ -738,12 +752,12 @@ export default {
cooperativeUnits: [], cooperativeUnits: [],
members: [], members: [],
budget: [], budget: [],
fundPlan:[], fundPlan: [],
equipments: [], equipments: [],
projectResearchList: [],
projectSubList: [], projectSubList: [],
managementRuleList: [], managementRuleList: [],
fileList: [], fileList: [],
projType: getType()
}, },
rules: { rules: {
organizationCode: [{ required: true, message: '请填写组织机构代码/统一社会信用代码', trigger: 'blur' },], organizationCode: [{ required: true, message: '请填写组织机构代码/统一社会信用代码', trigger: 'blur' },],
...@@ -754,17 +768,17 @@ export default { ...@@ -754,17 +768,17 @@ export default {
// workforce: [{ required: true, message: '请填写职工总数', trigger: 'blur' },], // workforce: [{ required: true, message: '请填写职工总数', trigger: 'blur' },],
// specializedPersonnel: [{ required: true, message: '请填写其中专科以上人员', trigger: 'blur' },], // specializedPersonnel: [{ required: true, message: '请填写其中专科以上人员', trigger: 'blur' },],
// researchPersonnel: [{ required: true, message: '请填写研究开发人员', trigger: 'blur' },], // researchPersonnel: [{ required: true, message: '请填写研究开发人员', trigger: 'blur' },],
depositBank: [{ required: true, message: '请填写开户银行', trigger: 'blur' },], // depositBank: [{ required: true, message: '请填写开户银行', trigger: 'blur' },],
bankAccount: [{ required: true, message: '请填写银行账号', trigger: 'blur' },], // bankAccount: [{ required: true, message: '请填写银行账号', trigger: 'blur' },],
depositBankAddress: [{ required: false, message: '请填写开户银行地址', trigger: 'blur' },], // depositBankAddress: [{ required: false, message: '请填写开户银行地址', trigger: 'blur' },],
interbankNumber: [{ required: false, message: '请填写开户银行地址', trigger: 'blur' },], // interbankNumber: [{ required: false, message: '请填写开户银行地址', trigger: 'blur' },],
researchTotal: [{ required: true, message: '请填写上年度研发经费支出总额', trigger: 'blur' },], // researchTotal: [{ required: true, message: '请填写上年度研发经费支出总额', trigger: 'blur' },],
isResearchActive: [{ required: true, message: '请选择上年度是否填报了研发活动情况', trigger: 'change' },], // isResearchActive: [{ required: true, message: '请选择上年度是否填报了研发活动情况', trigger: 'change' },],
researchCount: [{ required: true, message: '请填写上一年度填报的研发投入总数', trigger: 'blur' },], // researchCount: [{ required: true, message: '请填写上一年度填报的研发投入总数', trigger: 'blur' },],
researchPersonCount: [{ required: true, message: '请填写上一年度填报的研发人员数', trigger: 'blur' },], // researchPersonCount: [{ required: true, message: '请填写上一年度填报的研发人员数', trigger: 'blur' },],
projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },], projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },],
leadUnit: [{ required: true, message: '请填写项目所属二级学院/部门名称(牵头单位)', trigger: 'blur' },], leadUnit: [{ required: true, message: '请填写项目所属二级学院/部门名称(牵头单位)', trigger: 'blur' },],
recommendUnit: [{ required: true, message: '请填写推荐部门', trigger: 'blur' },], // recommendUnit: [{ required: false, message: '请填写推荐部门', trigger: 'blur' },],
startDate: { required: true, message: '请选择项日开始时间', trigger: 'change' }, startDate: { required: true, message: '请选择项日开始时间', trigger: 'change' },
endDate: { required: true, message: '请选择项目结束时间', trigger: 'change' }, endDate: { required: true, message: '请选择项目结束时间', trigger: 'change' },
technologyInnovationBase: [{ required: true, message: '请填写项目依托的科技创新基地', trigger: 'blur' },], technologyInnovationBase: [{ required: true, message: '请填写项目依托的科技创新基地', trigger: 'blur' },],
...@@ -799,8 +813,10 @@ export default { ...@@ -799,8 +813,10 @@ export default {
if (!!this.value) { if (!!this.value) {
this.$api.project.getProjectInfoById({ id: this.value }).then(({ data = {} }) => { this.$api.project.getProjectInfoById({ id: this.value }).then(({ data = {} }) => {
if (data) { if (data) {
console.log('q', data)
this.formData = data this.formData = data
this.loadList() this.loadList()
console.log('h', this.formData)
} else } else
this.$emit('close', 'error') this.$emit('close', 'error')
this.$emit('load', false) this.$emit('load', false)
...@@ -811,8 +827,10 @@ export default { ...@@ -811,8 +827,10 @@ export default {
} else { } else {
this.$api.project.getNewProject({ projType: getType() }).then(({ data = {} }) => { this.$api.project.getNewProject({ projType: getType() }).then(({ data = {} }) => {
if (data) { if (data) {
console.log('q', data)
this.formData = data this.formData = data
this.loadList() this.loadList()
console.log('h', this.formData)
} else } else
this.$emit('close', 'error') this.$emit('close', 'error')
this.$emit('load', false) this.$emit('load', false)
...@@ -823,6 +841,9 @@ export default { ...@@ -823,6 +841,9 @@ export default {
} }
}, },
loadList () { loadList () {
if (!!!this.formData.projectResearchList || this.formData.projectResearchList.length == 0)
this.formData.projectResearchList = [{ ...ProjResearch }]
if (!!!this.formData.managementRuleList || this.formData.managementRuleList.length == 0) if (!!!this.formData.managementRuleList || this.formData.managementRuleList.length == 0)
this.formData.managementRuleList = [{ ...ManagementRule }] this.formData.managementRuleList = [{ ...ManagementRule }]
if (!!!this.formData.projectSubList || this.formData.projectSubList.length == 0) if (!!!this.formData.projectSubList || this.formData.projectSubList.length == 0)
......
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
</div> </div>
</a-col> </a-col>
</a-row> --> </a-row> -->
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>开户银行</div> <div>开户银行</div>
...@@ -196,8 +196,8 @@ ...@@ -196,8 +196,8 @@
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>上年度研发经费支出总额(单位:万元)</div> <div>上年度研发经费支出总额(单位:万元)</div>
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px"> <a-col :span="24" style="border-top: 0px">
...@@ -293,7 +293,7 @@ ...@@ -293,7 +293,7 @@
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
{{ value.recommendUnit }} {{ value.appUnitName }}
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -319,7 +319,7 @@ ...@@ -319,7 +319,7 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>项目依托的科技创新基地</div> <div>项目依托的科技创新基地</div>
...@@ -330,7 +330,7 @@ ...@@ -330,7 +330,7 @@
{{ value.technologyInnovationBase }} {{ value.technologyInnovationBase }}
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
...@@ -555,10 +555,19 @@ ...@@ -555,10 +555,19 @@
<div v-html="toTextarea(value.memResume)"></div> <div v-html="toTextarea(value.memResume)"></div>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>3、在研或完成基础研究项目情况</span>
</div>
</a-col>
</a-row>
<!-- 在研或完成基础研究项目情况 -->
<project-research-info :dataList.sync="value.projectResearchList" />
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>3、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div> <div>4、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
...@@ -672,6 +681,7 @@ import fundPlanInfo from '@/views/report/project/components/fundPlanInfo' ...@@ -672,6 +681,7 @@ import fundPlanInfo from '@/views/report/project/components/fundPlanInfo'
import equipmentsInfo from '@/views/report/project/components/equipmentsInfo.vue' import equipmentsInfo from '@/views/report/project/components/equipmentsInfo.vue'
import unitPaymentInfo from '@/views/report/project/components/unitPaymentInfo.vue' import unitPaymentInfo from '@/views/report/project/components/unitPaymentInfo.vue'
import projectKpiInfo from '@/views/report/project/components/projectKpiInfo.vue' import projectKpiInfo from '@/views/report/project/components/projectKpiInfo.vue'
import projectResearchInfo from '@/views/report/project/components/projectResearchInfo'
import projectSubInfo from '@/views/report/project/components/projectSubInfo' import projectSubInfo from '@/views/report/project/components/projectSubInfo'
import managementRuleInfo from '@/views/report/project/components/managementRuleInfo' import managementRuleInfo from '@/views/report/project/components/managementRuleInfo'
import fileInfo from "@/views/report/project/components/fileInfo"; import fileInfo from "@/views/report/project/components/fileInfo";
...@@ -684,7 +694,7 @@ import { toTextarea } from '@/views/utils/common' ...@@ -684,7 +694,7 @@ import { toTextarea } from '@/views/utils/common'
export default { export default {
components: { components: {
projectMemberInfo, cooperativeUnitsInfo, budgetInfo, fundPlanInfo, equipmentsInfo, unitPaymentInfo, projectKpiInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView projectMemberInfo, cooperativeUnitsInfo, budgetInfo, fundPlanInfo, equipmentsInfo, unitPaymentInfo, projectKpiInfo,projectResearchInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView
}, },
name: "ProjectInfo", name: "ProjectInfo",
data () { data () {
......
<template>
<div>
<a-row type="flex" class="row_center">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">项目编号</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">项目名称</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">批准单位</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">负责人</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">开始日期</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">结束日期</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div class="required">项目经费(万元)</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>操作</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in projectResearchList" :key="'projectResearchList'+index" type="flex" class="row_center">
<a-col :span="3">
<a-form-model-item :prop="'projectResearchList.' + index + '.projNo'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.projNo" :maxLength="50" placeholder="项目编号" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="3">
<a-form-model-item :prop="'projectResearchList.' + index + '.projName'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.projName" :projName="50" placeholder="项目名称" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="3">
<a-form-model-item :prop="'projectResearchList.' + index + '.approveUnit'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.approveUnit" :maxLength="50" placeholder="批准单位" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="3">
<a-form-model-item :prop="'projectResearchList.' + index + '.leader'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.leader" :maxLength="100" placeholder="负责人" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="4">
<a-form-model-item :prop="'projectResearchList.' + index + '.startDate'" :rules="{ required: true, message: '*', trigger: 'change',}">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="开始日期" v-model="item.startDate" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="4">
<a-form-model-item :prop="'projectResearchList.' + index + '.endDate'" :rules="{ required: true, message: '*', trigger: 'change',}">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="结束日期" v-model="item.endDate" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'projectResearchList.' + index + '.funds'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.funds" placeholder="项目经费" :min="0" :step="0.01" style="width:85%" />
</a-form-model-item>
</a-col>
<a-col :span="2">
<div class="special-middle">
<a-popconfirm title="确定要删除吗?" ok-text="确定" cancel-text="取消" @confirm="deleteArrey(item)">
<a-button type="link" size="small">删除</a-button>
</a-popconfirm>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="24" style="text-align: center">
<div class="special-middle">
<a-button type="dashed" style="width: 20%" @click="addArrey()">
<a-icon type="plus" /> 添加 <span style="color:red;margin-left:10px"></span>
</a-button>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
const ProjResearch = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null }
export default {
name: "projectResearchEdit",
components: {
},
props: {
projectResearchList: {
type: Array,
default: () => {
return [{ ...ProjResearch }]
}
},
},
data () {
return {
};
},
created () {
},
computed: {
},
methods: {
addArrey () {//添加成员
this.dataList.push({ ...ProjResearch })
},
deleteArrey (item) {//移除成员
let index = this.dataList.indexOf(item)
if (index !== -1) {
this.dataList.splice(index, 1)
}
},
},
};
</script>
<style scoped lang="less">
.file-description {
display: block;
width: 100%;
line-height: 22px;
padding: 3px 3px 3px 3px;
color: red;
white-space: normal;
word-wrap: break-word;
// text-indent: 1em;
}
.inner_from {
.ant-row-flex:last-child .ant-col {
border-bottom: 0;
}
.ant-row-flex .ant-col:first-child {
border-left: 0;
}
.ant-row-flex {
border-right: 0;
}
}
.special-middle {
.font_s {
margin: 0 6px;
}
}
</style>
<template>
<div>
<a-row type="flex" class="row_center">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">项目编号</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">项目名称</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">批准单位</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">负责人</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">开始日期</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">结束日期</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">项目经费(万元)</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>操作</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in dataList" :key="'researchListInfo'+index" type="flex" class="row_center">
<a-col :span="3">
<div class="special-middle">
<div>
{{ index + 1 }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.projNo }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.projName }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.approveUnit }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.leader }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ moment(item.startDate).format('YYYY-MM-DD') }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ moment(item.endDate).format('YYYY-MM-DD') }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.funds }}
</div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
import moment from 'moment'
export default {
name: "projectResearchInfo",
components: {
},
props: {
dataList: {
type: Array,
default: () => {
return []
}
},
},
data () {
return {
};
},
created () {
},
computed: {
},
methods: {
moment,
},
};
</script>
<style scoped lang="less">
.file-description {
display: block;
width: 100%;
line-height: 22px;
padding: 3px 3px 3px 3px;
color: red;
white-space: normal;
word-wrap: break-word;
// text-indent: 1em;
}
.inner_from {
.ant-row-flex:last-child .ant-col {
border-bottom: 0;
}
.ant-row-flex .ant-col:first-child {
border-left: 0;
}
.ant-row-flex {
border-right: 0;
}
}
.special-middle {
.font_s {
margin: 0 6px;
}
}
</style>
...@@ -148,7 +148,7 @@ export default { ...@@ -148,7 +148,7 @@ export default {
dataList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ProjectSub }] return []
} }
}, },
}, },
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
<div class="page-footer"> <div class="page-footer">
<!-- 申报项目详情 --> <!-- 申报项目详情 -->
<!-- <a-button type="primary" @click="onExport">导出</a-button> --> <!-- <a-button type="primary" @click="onExport">导出</a-button> -->
<project-info v-model="projectInfo" :tabsData.sync="tabsData" v-if="projType" /> <project-info v-model="formData" :tabsData.sync="tabsData" v-if="projType=='1'" />
<project-info-Key v-model="projectInfo" :tabsData.sync="tabsData" v-else /> <project-info-Key v-model="formData" :tabsData.sync="tabsData" v-if="projType=='2'" />
</div> </div>
</a-spin> </a-spin>
</div> </div>
...@@ -60,7 +60,7 @@ export default { ...@@ -60,7 +60,7 @@ export default {
data () { data () {
return { return {
tabsData: [ tabsData: [
{ title: '全部', key: '0', isShow: true }, { title: '全部', key: '0', isShow: true },
{ title: '基本情况', key: '1', isShow: true }, { title: '基本情况', key: '1', isShow: true },
{ title: '项目人员情况', key: '2', isShow: true }, { title: '项目人员情况', key: '2', isShow: true },
{ title: '项目可行性研究情况', key: '3', isShow: true }, { title: '项目可行性研究情况', key: '3', isShow: true },
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
{ title: '单位科研项目及资金管理制度', key: '10', isShow: true }, { title: '单位科研项目及资金管理制度', key: '10', isShow: true },
// { title: '诚信承诺书', key: '11', isShow: true }, // { title: '诚信承诺书', key: '11', isShow: true },
], ],
projectInfo: { formData: {
id: null, id: null,
organizationCode: null, organizationCode: null,
address: null, address: null,
...@@ -118,13 +118,13 @@ export default { ...@@ -118,13 +118,13 @@ export default {
members: [], members: [],
budget: [], budget: [],
equipments: [], equipments: [],
projectResearchList: [],
projectSubList: [], projectSubList: [],
managementRuleList: [], managementRuleList: [],
fileList: [], fileList: [],
projType: getType()
}, },
loading: false, loading: false,
projType: getType() == "1" projType: getType()
}; };
}, },
props: { props: {
...@@ -133,9 +133,10 @@ export default { ...@@ -133,9 +133,10 @@ export default {
default: () => { default: () => {
return null return null
} }
} },
}, },
created () { created () {
console.log(this.projType)
this.getProjectInfoById() this.getProjectInfoById()
}, },
methods: { methods: {
...@@ -144,7 +145,7 @@ export default { ...@@ -144,7 +145,7 @@ export default {
this.loading = true this.loading = true
this.$api.project.getProjectInfoById({ id: this.value }).then(({ data = {} }) => { this.$api.project.getProjectInfoById({ id: this.value }).then(({ data = {} }) => {
if (data) { if (data) {
this.projectInfo = data this.formData = data
this.loading = false this.loading = false
} else } else
this.$emit('close', 'error') this.$emit('close', 'error')
...@@ -156,7 +157,7 @@ export default { ...@@ -156,7 +157,7 @@ export default {
let blob = new Blob([res], { let blob = new Blob([res], {
type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8", type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8",
}); });
const fileName = this.projectInfo.projName + '.doc'; const fileName = this.formData.projName + '.doc';
let downloadElement = document.createElement('a') let downloadElement = document.createElement('a')
let href = window.URL.createObjectURL(blob); //创建下载的链接 let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href; downloadElement.href = href;
......
...@@ -32,22 +32,22 @@ ...@@ -32,22 +32,22 @@
</div> </div>
<div class="content"> <div class="content">
<div class="content_list"> <div class="content_list">
<div class="content_list_item " @click="onUser(1)"> <div class="content_list_item " @click="onChangeType(1)">
<div class="item_header item_b"></div> <div class="item_header item_b"></div>
<div class="item_center"> <div class="item_center">
<a-icon type="file-text" class="item_center-icon" theme="twoTone" two-tone-color="#f5b65c" /> <a-icon type="file-text" class="item_center-icon" theme="twoTone" two-tone-color="#f5b65c" />
</div> </div>
<div class="item_title">云南省卫生健康领域<br/>科技计划项目</div> <div class="item_title">云南省卫生健康领域<br />科技计划项目</div>
<div class="item_bottom"> <div class="item_bottom">
<a-icon type="right-circle" class="item_bottom-icon" /> <a-icon type="right-circle" class="item_bottom-icon" />
</div> </div>
</div> </div>
<div style="margin-left: 70px;" class="content_list_item" @click="onUser(2)"> <div style="margin-left: 70px;" class="content_list_item" @click="onChangeType(2)">
<div class="item_header item_r"></div> <div class="item_header item_r"></div>
<div class="item_center"> <div class="item_center">
<a-icon type="book" class="item_center-icon" theme="twoTone" two-tone-color="#ff87a8" /> <a-icon type="book" class="item_center-icon" theme="twoTone" two-tone-color="#ff87a8" />
</div> </div>
<div class="item_title">云南省<br/>公立医院高水平临床专科建设<br/>科技项目</div> <div class="item_title">云南省<br />公立医院高水平临床专科建设<br />科技项目</div>
<div class="item_bottom"> <div class="item_bottom">
<a-icon type="right-circle" class="item_bottom-icon" /> <a-icon type="right-circle" class="item_bottom-icon" />
</div> </div>
...@@ -76,7 +76,7 @@ export default { ...@@ -76,7 +76,7 @@ export default {
this.userInfo = JSON.parse(window.sessionStorage.getItem('user')) this.userInfo = JSON.parse(window.sessionStorage.getItem('user'))
}, },
methods: { methods: {
onUser (type) { onChangeType (type) {
this.loading = true this.loading = true
this.$changeProjType(type) this.$changeProjType(type)
this.loading = false this.loading = false
......
...@@ -32,21 +32,4 @@ export function setType (type) { ...@@ -32,21 +32,4 @@ export function setType (type) {
return type return type
} }
export function getUnitType () {
let user = JSON.parse(window.sessionStorage.getItem("user"))
let type = 0
//最高级行政单位管理员
if (user && user.roles && (user.roles.indexOf("0") != -1)) {}
else if (user && user.roles && (user.roles.indexOf("1") != -1)) {//行政管理员
type = 3
} else if (user && user.roles && (user.roles.indexOf("2") != -1)) {//单位管理员
if (user.unitCode.length == (Vue.prototype.$defaultLength * 2))
type = 4//省直单位
else
type = 2//州市级及以下单位
} else if (user && user.roles && (user.roles.indexOf("5") != -1)) {//专家
type = 5
}
return type
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment