feat: 新增需求上报部分页面内容
This commit is contained in:
168
src/views/projectdemand/demandsummary/add.vue
Normal file
168
src/views/projectdemand/demandsummary/add.vue
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
<template>
|
||||||
|
<fvForm :schema="schame" @getInstance="getInstance"></fvForm>
|
||||||
|
<div class="oper-page-btn">
|
||||||
|
<el-button type="primary" @click="staging">存为草稿</el-button>
|
||||||
|
<el-button type="primary" @click="handleSubmit">发布</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="jsx">
|
||||||
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
|
|
||||||
|
const localData = reactive({
|
||||||
|
form: null
|
||||||
|
})
|
||||||
|
|
||||||
|
const schame = computed(()=>{
|
||||||
|
let arr = [
|
||||||
|
{
|
||||||
|
label: '名称',
|
||||||
|
prop: 'name',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '开始时间',
|
||||||
|
prop: 'startTime',
|
||||||
|
component: 'el-date-picker',
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '所属公司',
|
||||||
|
prop: 'company',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '项目类型',
|
||||||
|
prop: 'projectType',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '结束时间',
|
||||||
|
prop: 'endTime',
|
||||||
|
component: 'el-date-picker',
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '出资类型',
|
||||||
|
prop: 'monenyType',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '项目影响',
|
||||||
|
prop: 'projectEffect',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '所属业务板块',
|
||||||
|
prop: 'ywbank',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '预期成果形式',
|
||||||
|
prop: 'yuqichengg',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '预期技术标准制定',
|
||||||
|
prop: 'yuqizhidingbiaozhu',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '产学研联合',
|
||||||
|
prop: 'chanxue',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '开展政府申报',
|
||||||
|
prop: 'zhengfushenbao',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '知识产权状况',
|
||||||
|
prop: 'zhishichanquan',
|
||||||
|
component: markRaw(fvSelect),
|
||||||
|
props: {},
|
||||||
|
colProps: {
|
||||||
|
span: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '现有业务描述',
|
||||||
|
prop: 'yewudes',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
type: 'textarea'
|
||||||
|
},
|
||||||
|
colProps: {
|
||||||
|
span: 24
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '研发项目关键内容描述',
|
||||||
|
prop: 'contentnesss',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
type: 'textarea'
|
||||||
|
},
|
||||||
|
colProps: {
|
||||||
|
span: 24
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
return arr
|
||||||
|
})
|
||||||
|
|
||||||
|
const getInstance = (e) => {
|
||||||
|
localData.form = e
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleSubmit = async () => {}
|
||||||
|
|
||||||
|
const staging = async () => {}
|
||||||
|
</script>
|
||||||
@@ -1,21 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<fvSearchForm :searchConfig="searchConfig"></fvSearchForm>
|
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||||
<fvTable :table-config="tableConfig"></fvTable>
|
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick"></fvTable>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import { reactive, shallowRef } from 'vue';
|
import { reactive, ref, shallowRef } from 'vue';
|
||||||
import fvSelect from './../../../fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
const localData = reactive({
|
const localData = reactive({
|
||||||
// 表格配置
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const tableIns= ref()
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
|
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '名称',
|
label: '名称',
|
||||||
prop: 'name',
|
prop: 'name',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -114,14 +121,46 @@ const tableConfig = reactive({
|
|||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<el-button type={'primary'} link onClick={()=>{}}>详情</el-button>
|
<el-button type={'primary'} link onClick={()=>{}} >详情</el-button>
|
||||||
<el-button type={'primary'} link onClick={()=>{}}>上报</el-button>
|
<el-button type={'primary'} link onClick={()=>{}} >上报</el-button>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
api: '',
|
||||||
|
params: {},
|
||||||
|
btns: [
|
||||||
|
{name: '新增上报', key: 'add', type: 'primary', auth: ''},
|
||||||
|
{name: '年度计划导出', key: '_export', type: 'primary', auth: ''},
|
||||||
|
{name: '经费预算生成', key: 'preMonty', type: 'primary', auth: ''},
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const search = (val) => {
|
||||||
|
let obj = {...val}
|
||||||
|
if(obj.time) {
|
||||||
|
obj.startTime = obj.time[0]
|
||||||
|
obj.endTime = obj.time[1]
|
||||||
|
delete obj.dateValue
|
||||||
|
}
|
||||||
|
tableConfig.params = obj
|
||||||
|
tableIns.value.refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
const headBtnClick = (key) => {
|
||||||
|
switch(key) {
|
||||||
|
case 'add': handleAdd()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleAdd = () => {
|
||||||
|
router.push({
|
||||||
|
name: 'Demandsummaryadd',
|
||||||
|
query: {}
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user