Merge pull request 'dj' (#949) from dj into master
Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/949
This commit is contained in:
@@ -123,7 +123,9 @@ const baseTableConf = reactive(
|
|||||||
{
|
{
|
||||||
prop: 'tag',
|
prop: 'tag',
|
||||||
label: '标签',
|
label: '标签',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
// currentRender: ({row, index}) => (
|
||||||
|
// <el-input placeholder={row.tag} onClick={() => {}}></el-input>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'size',
|
prop: 'size',
|
||||||
|
|||||||
@@ -223,7 +223,9 @@ const tableConfig = reactive({
|
|||||||
{
|
{
|
||||||
prop: 'tag',
|
prop: 'tag',
|
||||||
label: '标签',
|
label: '标签',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
// currentRender: ({row, index}) => (
|
||||||
|
// <el-input placeholder={row.tag} onClick={() => {}}></el-input>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'size',
|
prop: 'size',
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="detail-block" v-loading="loading" :style="{padding:!formData.isSpecialFund?'0 30px':'0 0 0 30px'}">
|
<div class="detail-block" v-loading="loading" :style="{padding:!formData.isSpecialFund?'0 30px':'0 0 0 30px'}">
|
||||||
<baseTitle title="项目基本信息"></baseTitle>
|
<baseTitle title="项目基本信息"></baseTitle>
|
||||||
<el-form :model="formData" ref="summaryForm" :rules="rules" :label-width="!formData.isSpecialFund?120:160"
|
<el-form :model="formData" ref="summaryForm" :rules="rules" :label-width="!formData.isSpecialFund?130:160"
|
||||||
:scroll-to-error="true">
|
:scroll-to-error="true">
|
||||||
<el-row gutter="30" style="margin-bottom: -18px;"
|
<el-row gutter="30" style="margin-bottom: -18px;"
|
||||||
:style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
|
:style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
|
||||||
@@ -115,15 +115,15 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':route.query.id?'':'-40px'}">
|
||||||
<el-form-item label="经费预算(元)" prop="economicEstimate">
|
<el-form-item label="预估经费预算(元)" prop="economicEstimate">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.economicEstimate"
|
v-model="formData.economicEstimate"
|
||||||
placeholder="请输入经费预算"
|
placeholder="请输入预估经费预算"
|
||||||
clearable
|
clearable
|
||||||
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
||||||
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
||||||
/>
|
/>
|
||||||
<!-- <el-input-number v-model="formData.economicEstimate" placeholder="请输入经费预算" :controls="false"/>-->
|
<!-- <el-input-number v-model="formData.economicEstimate" placeholder="请输入预估经费预算" :controls="false"/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
|
||||||
@@ -183,15 +183,15 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" v-if="formData.isSpecialFund">
|
<el-col :span="6" v-if="formData.isSpecialFund">
|
||||||
<el-form-item label="申请总部专项资金(元)" prop="specialFundAmount">
|
<el-form-item label="预估专项资金(元)" prop="specialFundAmount">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.specialFundAmount"
|
v-model="formData.specialFundAmount"
|
||||||
placeholder="请输入申请总部专项资金"
|
placeholder="请输入预估专项资金"
|
||||||
clearable
|
clearable
|
||||||
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
||||||
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
||||||
/>
|
/>
|
||||||
<!-- <el-input-number v-model="formData.specialFundAmount" placeholder="请输入申请总部专项资金" :controls="false"/>-->
|
<!-- <el-input-number v-model="formData.specialFundAmount" placeholder="请输入预估专项资金" :controls="false"/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?route.query.id?'-10px':'0':'0'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?route.query.id?'-10px':'0':'0'}">
|
||||||
<el-form-item label="需求征集" prop="requirementId">
|
<el-form-item label="需求征集" prop="requirementId" required>
|
||||||
<template v-if="formData.requirementDefaultName">{{ formData.requirementDefaultName }}</template>
|
<template v-if="formData.requirementDefaultName">{{ formData.requirementDefaultName }}</template>
|
||||||
<el-select v-else v-model="formData.requirementId" clearable placeholder="请选择需求征集"
|
<el-select v-else v-model="formData.requirementId" clearable placeholder="请选择需求征集"
|
||||||
@change="changeCollectData">
|
@change="changeCollectData">
|
||||||
@@ -444,7 +444,7 @@ const rules = reactive({
|
|||||||
softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],
|
softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],
|
||||||
copyright: [{required: true, message: '请输入著作权数量', trigger: ['blur', 'change']}],
|
copyright: [{required: true, message: '请输入著作权数量', trigger: ['blur', 'change']}],
|
||||||
other: [{required: true, message: '请输入其他数量', trigger: ['blur', 'change']}],
|
other: [{required: true, message: '请输入其他数量', trigger: ['blur', 'change']}],
|
||||||
economicEstimate: [{required: true, message: '请输入经费预算', trigger: ['blur', 'change']}],
|
economicEstimate: [{required: true, message: '请输入预估经费预算', trigger: ['blur', 'change']}],
|
||||||
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
|
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
|
||||||
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
|
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
|
||||||
specialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
|
specialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {addPlan,getRequirementName} from "@/api/project-demand/summary";
|
import {addPlan, getRequirementName} from "@/api/project-demand/summary";
|
||||||
|
import {getSubCompOpt} from "@/api/user/user";
|
||||||
|
import {filterRequirementName} from "@/api/project-demand";
|
||||||
|
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -55,15 +57,16 @@ const searchConfig = ref([
|
|||||||
const res=await getRequirementName(val)
|
const res=await getRequirementName(val)
|
||||||
if(res.code==1000){
|
if(res.code==1000){
|
||||||
let optionObj={}
|
let optionObj={}
|
||||||
let options=[]
|
let optionsMap = new Map();
|
||||||
res.data.forEach(item=>{
|
res.data.forEach(item=>{
|
||||||
optionObj={
|
optionObj={
|
||||||
value:item,
|
value:item,
|
||||||
label:item
|
label:item
|
||||||
}
|
}
|
||||||
options.push(optionObj)
|
optionsMap.set(optionObj.value, optionObj);
|
||||||
})
|
})
|
||||||
searchConfig.value.find(item => item.prop == 'requirementName').props.options = options
|
// 将 Map 转换为数组
|
||||||
|
searchConfig.value.find(item => item.prop == 'requirementName').props.options = Array.from(optionsMap.values())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -83,6 +86,19 @@ const searchConfig = ref([
|
|||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '承办单位',
|
||||||
|
prop: 'undertaker',
|
||||||
|
component: 'el-tree-select',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入承办单位查询',
|
||||||
|
clearable: true,
|
||||||
|
data: [],
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true,
|
||||||
|
remote: true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
prop: 'projectImpact',
|
prop: 'projectImpact',
|
||||||
@@ -423,6 +439,13 @@ const handleDetail = (row) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const init = async () => {
|
||||||
|
const res = await getSubCompOpt()
|
||||||
|
searchConfig.value.find(item=>item.prop == 'undertaker').props.data = res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import {switchAttachmentState} from "@/api/project-manage/attachment";
|
|||||||
import {ElMessageBox} from "element-plus";
|
import {ElMessageBox} from "element-plus";
|
||||||
import { getSubCompOpt } from '@/api/user/user.js';
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
import {filterProjectName} from "@/api/project-manage";
|
import {filterProjectName} from "@/api/project-manage";
|
||||||
|
import {filterRequirementName} from "@/api/project-demand";
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
@@ -46,6 +47,35 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = ref([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集名称',
|
||||||
|
prop: 'requirementName',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集名称查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
options: [],
|
||||||
|
remote: true,
|
||||||
|
remoteMethod:async (val)=>{
|
||||||
|
if(val){
|
||||||
|
const res=await filterRequirementName(val)
|
||||||
|
if(res.code==1000){
|
||||||
|
let optionObj={}
|
||||||
|
let options=[]
|
||||||
|
res.data.forEach(item=>{
|
||||||
|
optionObj={
|
||||||
|
value:item,
|
||||||
|
label:item
|
||||||
|
}
|
||||||
|
options.push(optionObj)
|
||||||
|
})
|
||||||
|
searchConfig.value.find(item => item.prop == 'requirementName').props.options = options
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
prop: 'affiliatedCompanyId',
|
prop: 'affiliatedCompanyId',
|
||||||
@@ -186,6 +216,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'requirementName',
|
||||||
|
label: '征集名称',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'affiliatedCompany',
|
prop: 'affiliatedCompany',
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
|||||||
import {toThousands} from '@/utils/changePrice.js'
|
import {toThousands} from '@/utils/changePrice.js'
|
||||||
import { getSubCompOpt } from '@/api/user/user.js';
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
import {filterProjectName} from "@/api/project-manage";
|
import {filterProjectName} from "@/api/project-manage";
|
||||||
|
import {filterRequirementName} from "@/api/project-demand";
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -45,6 +46,35 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = ref([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集名称',
|
||||||
|
prop: 'requirementName',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集名称查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
options: [],
|
||||||
|
remote: true,
|
||||||
|
remoteMethod:async (val)=>{
|
||||||
|
if(val){
|
||||||
|
const res=await filterRequirementName(val)
|
||||||
|
if(res.code==1000){
|
||||||
|
let optionObj={}
|
||||||
|
let options=[]
|
||||||
|
res.data.forEach(item=>{
|
||||||
|
optionObj={
|
||||||
|
value:item,
|
||||||
|
label:item
|
||||||
|
}
|
||||||
|
options.push(optionObj)
|
||||||
|
})
|
||||||
|
searchConfig.value.find(item => item.prop == 'requirementName').props.options = options
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
prop: 'affiliatedCompanyId',
|
prop: 'affiliatedCompanyId',
|
||||||
@@ -189,6 +219,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'requirementName',
|
||||||
|
label: '征集名称',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'affiliatedCompany',
|
prop: 'affiliatedCompany',
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
|||||||
import {toThousands} from '@/utils/changePrice.js'
|
import {toThousands} from '@/utils/changePrice.js'
|
||||||
import { getSubCompOpt } from '@/api/user/user.js';
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
import {filterProjectName} from "@/api/project-manage";
|
import {filterProjectName} from "@/api/project-manage";
|
||||||
|
import {filterRequirementName} from "@/api/project-demand";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
@@ -44,6 +45,35 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = ref([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集名称',
|
||||||
|
prop: 'requirementName',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集名称查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
options: [],
|
||||||
|
remote: true,
|
||||||
|
remoteMethod:async (val)=>{
|
||||||
|
if(val){
|
||||||
|
const res=await filterRequirementName(val)
|
||||||
|
if(res.code==1000){
|
||||||
|
let optionObj={}
|
||||||
|
let options=[]
|
||||||
|
res.data.forEach(item=>{
|
||||||
|
optionObj={
|
||||||
|
value:item,
|
||||||
|
label:item
|
||||||
|
}
|
||||||
|
options.push(optionObj)
|
||||||
|
})
|
||||||
|
searchConfig.value.find(item => item.prop == 'requirementName').props.options = options
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
prop: 'affiliatedCompanyId',
|
prop: 'affiliatedCompanyId',
|
||||||
@@ -184,6 +214,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'requirementName',
|
||||||
|
label: '征集名称',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'affiliatedCompany',
|
prop: 'affiliatedCompany',
|
||||||
label: '征集公司',
|
label: '征集公司',
|
||||||
|
|||||||
Reference in New Issue
Block a user