Commit 1826ec4f authored by wangxl's avatar wangxl

33333

parent c2d931a9
...@@ -113,7 +113,7 @@ export default { ...@@ -113,7 +113,7 @@ export default {
dataList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ManagementRule }] return []
} }
}, },
}, },
......
...@@ -518,7 +518,9 @@ ...@@ -518,7 +518,9 @@
</a-col> </a-col>
</a-row> </a-row>
<!-- 在研或完成基础研究项目情况 --> <!-- 在研或完成基础研究项目情况 -->
<project-research-edit :dataList.sync="formData.managementRuleList" />
<project-research-edit :dataList.sync="formData.researchList" />
<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">
...@@ -645,6 +647,8 @@ import fileEdit from '@/views/report/project/components/fileEdit' ...@@ -645,6 +647,8 @@ 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 Research = { 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 }
...@@ -655,7 +659,7 @@ const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' } ...@@ -655,7 +659,7 @@ const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
export default { export default {
name: 'projectEdit', name: 'projectEdit',
components: { components: {
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectResearchEdit,projectSubEdit, managementRuleEdit, fileEdit paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
}, },
props: { props: {
value: { value: {
...@@ -717,6 +721,7 @@ export default { ...@@ -717,6 +721,7 @@ export default {
budget: [], budget: [],
fundPlan: [], fundPlan: [],
equipments: [], equipments: [],
researchList: [],
projectSubList: [], projectSubList: [],
managementRuleList: [], managementRuleList: [],
fileList: [], fileList: [],
...@@ -799,6 +804,8 @@ export default { ...@@ -799,6 +804,8 @@ export default {
} }
}, },
loadList () { loadList () {
if (!!!this.formData.researchList || this.formData.researchList.length == 0)
this.formData.researchList = [{ ...Research }]
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)
......
...@@ -563,7 +563,7 @@ ...@@ -563,7 +563,7 @@
</a-col> </a-col>
</a-row> </a-row>
<!-- 在研或完成基础研究项目情况 --> <!-- 在研或完成基础研究项目情况 -->
<project-research-info :dataList.sync="value.managementRuleList" /> <project-research-info :dataList.sync="value.researchList" />
<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">
......
<template> <template>
<div> <div>
<a-row> <a-row type="flex" class="row_center">
<a-col :span="24"> <a-col :span="3" class="bg-gray">
<div class="tb-title"> <div class="special-middle">
<span>单位科研项目及资金管理制度</span> <div class="required">项目编号</div>
</div> </div>
</a-col> </a-col>
</a-row> <a-col :span="3" class="bg-gray">
<a-row type="flex" class="row_center">
<a-col :span="6" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">单位政策名称</div> <div class="required">项目名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">出台日期</div> <div class="required">批准单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">文号</div> <div class="required">负责人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" 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>
</div> </div>
</a-col> </a-col>
<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>
</div> </div>
</a-col> </a-col>
<a-col :span="6" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>附件</div> <div class="required">项目经费(万元)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="2" class="bg-gray">
...@@ -44,36 +42,41 @@ ...@@ -44,36 +42,41 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row v-for="(item, index) in managementRuleList" :key="'managementRuleList'+index" type="flex" class="row_center"> <a-row v-for="(item, index) in dataList" :key="'researchList'+index" type="flex" class="row_center">
<a-col :span="6"> <a-col :span="3">
<a-form-model-item :prop="'managementRuleList.' + index + '.policyName'" :rules="{ required: true, message: '*', trigger: 'blur',}"> <a-form-model-item :prop="'researchList.' + index + '.projNo'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.policyName" :maxLength="100" placeholder="单位政策名称" style="width:85%" /> <a-input v-model="item.projNo" :maxLength="50" placeholder="项目编号" style="width:85%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="3">
<a-form-model-item :prop="'managementRuleList.' + index + '.releaseDate'" :rules="{ required: true, message: '*', trigger: 'change',}"> <a-form-model-item :prop="'researchList.' + index + '.projName'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="出台日期" v-model="item.releaseDate" style="width:85%" /> <a-input v-model="item.projName" :projName="50" placeholder="项目名称" style="width:85%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="3">
<a-form-model-item :prop="'managementRuleList.' + index + '.documentNumber'" :rules="{ required: true, message: '*', trigger: 'blur',}"> <a-form-model-item :prop="'researchList.' + index + '.approveUnit'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-input v-model="item.documentNumber" :maxLength="100" placeholder="文号" style="width:85%" /> <a-input v-model="item.approveUnit" :maxLength="50" placeholder="批准单位" style="width:85%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="3">
<a-form-model-item :prop="'managementRuleList.' + index + '.validityPeriod'" :rules="{ required: true, message: '*', trigger: 'change',}"> <a-form-model-item :prop="'researchList.' + index + '.leader'" :rules="{ required: true, message: '*', trigger: 'blur',}">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="有效期" v-model="item.validityPeriod" style="width:85%" /> <a-input v-model="item.leader" :maxLength="100" placeholder="负责人" style="width:85%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="4">
<a-form-model-item :prop="'managementRuleList.' + index + '.mainContent'" :rules="{ required: true, message: '*', trigger: 'blur',}"> <a-form-model-item :prop="'researchList.' + index + '.startDate'" :rules="{ required: true, message: '*', trigger: 'change',}">
<a-input v-model="item.mainContent" placeholder="主要内容" :maxLength="100" style="width:85%" /> <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-form-model-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<div class="special-middle"> <a-form-model-item :prop="'researchList.' + index + '.endDate'" :rules="{ required: true, message: '*', trigger: 'change',}">
<file-load :file.sync="managementRuleList[index]" :index="index" :name="'managementRuleList'" /> <a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="结束日期" v-model="item.endDate" style="width:85%" />
</div> </a-form-model-item>
</a-col>
<a-col :span="2">
<a-form-model-item :prop="'researchList.' + 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>
<a-col :span="2"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
...@@ -96,22 +99,20 @@ ...@@ -96,22 +99,20 @@
</template> </template>
<script> <script>
const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const Research = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null }
import { isEmptyParams } from "@/views/utils/common"
import fileLoad from '@/views/components/common/fileLoad'
export default { export default {
name: "projectResearchEdit", name: "projectResearchEdit",
components: { components: {
fileLoad
}, },
props: { props: {
managementRuleList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ManagementRule }] return [{ ...Research }]
} }
}, },
}, },
...@@ -128,12 +129,12 @@ export default { ...@@ -128,12 +129,12 @@ export default {
}, },
methods: { methods: {
addArrey () {//添加成员 addArrey () {//添加成员
this.managementRuleList.push({ ...ManagementRule }) this.dataList.push({ ...Research })
}, },
deleteArrey (item) {//移除成员 deleteArrey (item) {//移除成员
let index = this.managementRuleList.indexOf(item) let index = this.dataList.indexOf(item)
if (index !== -1) { if (index !== -1) {
this.managementRuleList.splice(index, 1) this.dataList.splice(index, 1)
} }
}, },
}, },
......
<template> <template>
<div> <div>
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>单位科研项目及资金管理制度</span>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center"> <a-row type="flex" class="row_center">
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>序号</div> <div>序号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >单位政策名称</div> <div class="required">项目编号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >出台日期</div> <div class="required">项目名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >文号</div> <div class="required">批准单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >有效期</div> <div class="required">负责人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >主要内容</div> <div class="required">开始日期</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>附件</div> <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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row v-for="(item, index) in dataList" :key="'managementRuleList'+index" type="flex" class="row_center"> <a-row v-for="(item, index) in dataList" :key="'researchListInfo'+index" type="flex" class="row_center">
<a-col :span="2"> <a-col :span="3">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ index + 1 }} {{ index + 1 }}
...@@ -55,44 +58,50 @@ ...@@ -55,44 +58,50 @@
<a-col :span="4"> <a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.policyName }} {{ item.projNo }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ moment(item.releaseDate).format('YYYY-MM-DD') }} {{ item.projName }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="4">
<div class="special-middle">
<div>
{{ item.approveUnit }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.documentNumber }} {{ item.leader }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ moment(item.validityPeriod).format('YYYY-MM-DD') }} {{ moment(item.startDate).format('YYYY-MM-DD') }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.mainContent }} {{ moment(item.endDate).format('YYYY-MM-DD') }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div v-if="item.fileName" style="text-align: left;"> <div>
<document-view :fileUrl="item.downloadUrl" :fileName="item.fileName" :imageArray="[item.downloadUrl]"></document-view> {{ item.funds }}
</div> </div>
<div v-else></div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -101,19 +110,18 @@ ...@@ -101,19 +110,18 @@
<script> <script>
import documentView from '@/views/components/common/documentView'
import moment from 'moment' import moment from 'moment'
export default { export default {
name: "projectResearchInfo", name: "projectResearchInfo",
components: { components: {
documentView
}, },
props: { props: {
dataList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ManagementRule }] return []
} }
}, },
}, },
......
...@@ -148,7 +148,7 @@ export default { ...@@ -148,7 +148,7 @@ export default {
dataList: { dataList: {
type: Array, type: Array,
default: () => { default: () => {
return [{ ...ProjectSub }] return []
} }
}, },
}, },
......
...@@ -116,6 +116,7 @@ export default { ...@@ -116,6 +116,7 @@ export default {
members: [], members: [],
budget: [], budget: [],
equipments: [], equipments: [],
researchList: [],
projectSubList: [], projectSubList: [],
managementRuleList: [], managementRuleList: [],
fileList: [], fileList: [],
......
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