Commit ef40cc57 authored by 徐俊's avatar 徐俊
parents fa2eef81 218a2be2
......@@ -20,7 +20,7 @@
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">单位国别</div>
<div class="required">单位地址</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
......@@ -53,7 +53,7 @@
<div class="special-middle">
<div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.unitCountry'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitCountry" :maxLength="20" placeholder="单位名称" style="width: 80%" />
<a-input v-model="item.unitCountry" :maxLength="20" placeholder="单位国别" style="width: 80%" />
</a-form-model-item>
</div>
</div>
......@@ -62,7 +62,7 @@
<div class="special-middle">
<div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.unitAddress'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitAddress" :maxLength="100" placeholder="单位国别" style="width: 80%" />
<a-input v-model="item.unitAddress" :maxLength="100" placeholder="单位地址" style="width: 80%" />
</a-form-model-item>
</div>
</div>
......@@ -111,7 +111,7 @@
const Model = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
export default {
name: 'cooperativeUnits',
name: 'cooperativeUnitsEdit',
data () {
return {
......
<template>
<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-col :span="1" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="5" 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="6" 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-row>
<a-row v-for="(item, index) in dataList" :key="'cooperativeUnits'+index" type="flex" class="row_center">
<a-col :span="1">
<div class="special-middle">
<div>
{{ index + 1 }}
</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ item.unitName }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.unitCountry }}
</div>
</div>
</a-col>
<a-col :span="6">
<div class="special-middle">
<div>
{{ item.unitAddress }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.organizationCode }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.projectWork }}
</div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
export default {
name: 'cooperativeUnitsInfo',
data () {
return {
}
},
props: {
dataList: {
type: Array,
default: () => {
return []
}
},
},
components: {
},
created () {
},
methods: {
}
}
</script>
<template>
<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-col :span="2" class="bg-gray" style="text-align: center;">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="10" class="bg-gray" style="text-align: center;">
<div class="special-middle">
<div>文件名</div>
</div>
</a-col>
<a-col :span="10" class="bg-gray" style="text-align: center;">
<div class="special-middle">
<div>附件说明</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray" style="text-align: center;">
<div class="special-middle">
<div>操作</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in fileList" :key="'appendix' + index" type="flex" class="row_center">
<a-col :span="2" style="text-align: center;">
<div class="special-middle">
<div>{{index + 1}}</div>
</div>
</a-col>
<a-col :span="10" style="text-align: center;">
<div class="special-middle">
<div v-if="item.fileName" style="text-align: left;">
<!-- {{item.fileName}} -->
<document-view :fileUrl="item.downloadUrl" :fileName="item.fileName" :imageArray="[item.downloadUrl]"></document-view>
</div>
<div v-else></div>
</div>
</a-col>
<a-col :span="10" style="text-align: center;">
<div class="special-middle">
<div>{{item.fileExplain}}<span v-if="item.required" style="color:red;">*</span></div>
</div>
</a-col>
<a-col :span="2" style="text-align: center;">
<div class="special-middle">
<div v-if="item.downloadUrl"><a :href="item.downloadUrl" :download="item.fileName">下载</a></div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
import documentView from '@/views/components/common/documentView'
const File = { fileName: "", downloadUrl: "", fileExplain: "", downloadId: "" };
export default {
name: "FileInfo",
components: {
documentView
},
props: {
fileList: {
type: Array,
default: () => {
return [{ ...File }];
},
},
},
data() {
return {};
},
methods: {},
};
</script>
\ No newline at end of file
<template>
<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-col :span="2" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >单位政策名称</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >出台日期</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >文号</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >有效期</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >主要内容</div>
</div>
</a-col>
<a-col :span="8" class="bg-gray">
<div class="special-middle">
<div>附件</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in dataList" :key="'managementRuleList'+index" type="flex" class="row_center">
<a-col :span="2">
<div class="special-middle">
<div>
{{ index + 1 }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.policyName }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.releaseDate }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.documentNumber }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.validityPeriod }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.mainContent }}
</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div v-if="item.fileName" style="text-align: left;">
<document-view :fileUrl="item.downloadUrl" :fileName="item.fileName" :imageArray="[item.downloadUrl]"></document-view>
</div>
<div v-else></div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
import documentView from '@/views/components/common/documentView'
export default {
name: "managementRuleInfo",
components: {
documentView
},
props: {
dataList: {
type: Array,
default: () => {
return [{ ...ManagementRule }]
}
},
},
data () {
return {
};
},
created () {
},
computed: {
},
methods: {
},
};
</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>
......@@ -473,7 +473,7 @@
</a-row>
<!-- 项目合作单位 -->
<cooperative-units :cooperativeUnits.sync="formData.cooperativeUnits" />
<cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" />
<!-- 项目组成员 -->
<project-member-edit :dataList.sync="formData.members" />
......@@ -623,7 +623,7 @@ import paraMultiSelect from '@/views/components/common/paraMultiSelect'
import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect'
import projectMemberEdit from '@/views/report/project/components/projectMemberEdit'
import cooperativeUnits from '@/views/report/project/components/cooperativeUnits'
import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeUnitsEdit'
import budgetEdit from '@/views/report/project/components/budgetEdit'
import fundPlanEdit from '@/views/report/project/components/fundPlanEdit'
import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue'
......@@ -644,7 +644,7 @@ const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
export default {
name: 'projectEdit',
components: {
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnits, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectSubEdit, managementRuleEdit, fileEdit
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectSubEdit, managementRuleEdit, fileEdit
},
props: {
value: {
......
......@@ -416,10 +416,10 @@
</a-row>
<!-- 项目合作单位 -->
<!-- <cooperative-units :cooperativeUnits.sync="value.cooperativeUnits" /> -->
<cooperative-units-info :dataList.sync="value.cooperativeUnits" />
<!-- 项目组成员 -->
<!-- <proj-group-member :members.sync="value.members" /> -->
<project-member-info :dataList.sync="value.members" />
<a-row>
<a-col :span="24" style="border-top: 0px">
......@@ -522,19 +522,31 @@
<div v-html="toTextarea(value.otherTarget)"></div>
</a-col>
</a-row>
<!-- 项目课题设置 -->
<project-sub-info :dataList.sync="value.projectSubList" />
<!-- 单位科研项目及资金管理制度表 -->
<management-rule-info :dataList.sync="value.managementRuleList" />
<!-- 附件 -->
<file-info :fileList.sync="value.fileList" />
</div>
</template>
<script>
import moment from 'moment'
import projectMemberInfo from '@/views/report/project/components/projectMemberInfo'
import cooperativeUnitsInfo from '@/views/report/project/components/cooperativeUnitsInfo'
import projectSubInfo from '@/views/report/project/components/projectSubInfo'
import managementRuleInfo from '@/views/report/project/components/managementRuleInfo'
import fileInfo from "@/views/report/project/components/keyProject/fileInfo";
import documentView from '@/views/components/common/documentView'
import AuditList from '@/views/audit/components/auditInfo'
import { toTextarea } from '@/views/utils/common'
export default {
components: {
AuditList, documentView
projectMemberInfo, cooperativeUnitsInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView
},
name: "ProjectInfo",
data () {
......
......@@ -308,16 +308,12 @@ export default {
this.memObject = {}
this.visibleEdit = false
this.dataList.push(value)
// this.addArrey(value)
console.log(this.dataList)
},
addMember () {//添加成员
this.memObject = { ...Member }
this.visibleEdit = true
},
addArrey (value) {//添加成员
this.dataList.push(value)
},
removeMembers (item) {//移除成员
let index = this.dataList.indexOf(item)
if (index !== -1) {
......@@ -343,64 +339,5 @@ export default {
}
</script>
<style scoped lang="less">
::v-deep .table_list {
.ant-col {
padding: 0px 0px;
text-align: left;
}
.ant-form-item-control {
line-height: 4px;
}
.ant-select {
font-size: 12px;
}
.ant-select .ant-select-selection--single {
height: 24px !important;
}
.ant-select .ant-select-selection__rendered {
line-height: 22px !important;
margin-right: 6px !important;
margin-left: 6px !important;
}
.ant-select .ant-select-selection__rendered .ant-form-item-control {
line-height: 26px !important;
}
.ant-col .ant-form-item .ant-col {
padding: 0px;
}
.from-table .row_center .ant-col {
text-align: left !important;
}
.special-pum-select .ant-form-item-control-wrapper {
display: flex;
justify-content: center;
align-content: center;
}
.special-pum-select .ant-form-item-children {
display: block;
}
.special-pum-select .ant-form-item-control {
line-height: 26px;
}
input[type="text"],
input[type="password"],
input[type="number"],
textarea {
box-sizing: border-box;
margin: 0;
padding: 0;
width: 100%;
height: 24px;
padding: 2px 6px;
color: rgba(0, 0, 0, 0.65);
font-size: 12px;
border-radius: 2px;
}
.ant-input {
height: 24px !important;
}
.ant-input-number-input {
height: 24px !important;
}
}
</style>
<template>
<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-col :span="1" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >课题名称</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >课题承担单位</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >所在地</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >课颖负责人</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >课题预算总经费</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div >其中:省科技经费</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>自筹经费</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>合作单位</div>
</div>
</a-col>
<a-col :span="7" class="bg-gray">
<div class="special-middle">
<div>附件</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in dataList" :key="'projectSubList'+index" type="flex" class="row_center">
<a-col :span="1">
<div class="special-middle">
<div>
{{ index + 1 }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.projName }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.undertakingUnit }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.address }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.director }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.totalBudget }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.govBudget }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.selfBudget }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.cooperativeUnits }}
</div>
</div>
</a-col>
<a-col :span="7">
<div class="special-middle">
<div v-if="item.fileName" style="text-align: left;">
<document-view :fileUrl="item.downloadUrl" :fileName="item.fileName" :imageArray="[item.downloadUrl]"></document-view>
</div>
<div v-else></div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
import documentView from '@/views/components/common/documentView'
export default {
name: "projectSubInfo",
components: {
documentView
},
props: {
dataList: {
type: Array,
default: () => {
return [{ ...ProjectSub }]
}
},
},
data () {
return {
};
},
created () {
},
computed: {
},
methods: {
},
};
</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>
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