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',
|
||||
label: '标签',
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
// currentRender: ({row, index}) => (
|
||||
// <el-input placeholder={row.tag} onClick={() => {}}></el-input>)
|
||||
},
|
||||
{
|
||||
prop: 'size',
|
||||
|
||||
@@ -223,7 +223,9 @@ const tableConfig = reactive({
|
||||
{
|
||||
prop: 'tag',
|
||||
label: '标签',
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
// currentRender: ({row, index}) => (
|
||||
// <el-input placeholder={row.tag} onClick={() => {}}></el-input>)
|
||||
},
|
||||
{
|
||||
prop: 'size',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="detail-block" v-loading="loading" :style="{padding:!formData.isSpecialFund?'0 30px':'0 0 0 30px'}">
|
||||
<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">
|
||||
<el-row gutter="30" style="margin-bottom: -18px;"
|
||||
:style="{marginLeft:!formData.isSpecialFund?'-8.5px':'-48.5px'}">
|
||||
@@ -115,15 +115,15 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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
|
||||
v-model="formData.economicEstimate"
|
||||
placeholder="请输入经费预算"
|
||||
placeholder="请输入预估经费预算"
|
||||
clearable
|
||||
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
||||
: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-col>
|
||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'-10px':route.query.id?'-40px':'0'}">
|
||||
@@ -183,15 +183,15 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="formData.isSpecialFund">
|
||||
<el-form-item label="申请总部专项资金(元)" prop="specialFundAmount">
|
||||
<el-form-item label="预估专项资金(元)" prop="specialFundAmount">
|
||||
<el-input
|
||||
v-model="formData.specialFundAmount"
|
||||
placeholder="请输入申请总部专项资金"
|
||||
placeholder="请输入预估专项资金"
|
||||
clearable
|
||||
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
||||
: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-col>
|
||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
|
||||
@@ -232,7 +232,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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>
|
||||
<el-select v-else v-model="formData.requirementId" clearable placeholder="请选择需求征集"
|
||||
@change="changeCollectData">
|
||||
@@ -444,7 +444,7 @@ const rules = reactive({
|
||||
softwareCopyright: [{required: true, message: '请输入软件著作权数量', trigger: ['blur', 'change']}],
|
||||
copyright: [{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']}],
|
||||
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
|
||||
specialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
<script setup lang="jsx">
|
||||
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 router = useRouter()
|
||||
@@ -55,15 +57,16 @@ const searchConfig = ref([
|
||||
const res=await getRequirementName(val)
|
||||
if(res.code==1000){
|
||||
let optionObj={}
|
||||
let options=[]
|
||||
let optionsMap = new Map();
|
||||
res.data.forEach(item=>{
|
||||
optionObj={
|
||||
value: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: {}
|
||||
},
|
||||
{
|
||||
label: '承办单位',
|
||||
prop: 'undertaker',
|
||||
component: 'el-tree-select',
|
||||
props: {
|
||||
placeholder: '请输入承办单位查询',
|
||||
clearable: true,
|
||||
data: [],
|
||||
filterable: true,
|
||||
checkStrictly: true,
|
||||
remote: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '项目影响',
|
||||
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>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -14,6 +14,7 @@ import {switchAttachmentState} from "@/api/project-manage/attachment";
|
||||
import {ElMessageBox} from "element-plus";
|
||||
import { getSubCompOpt } from '@/api/user/user.js';
|
||||
import {filterProjectName} from "@/api/project-manage";
|
||||
import {filterRequirementName} from "@/api/project-demand";
|
||||
|
||||
const router = useRouter()
|
||||
const shortcuts = [
|
||||
@@ -46,6 +47,35 @@ const shortcuts = [
|
||||
},
|
||||
]
|
||||
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: '征集公司',
|
||||
prop: 'affiliatedCompanyId',
|
||||
@@ -186,6 +216,11 @@ const tableConfig = reactive({
|
||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'requirementName',
|
||||
label: '征集名称',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'affiliatedCompany',
|
||||
label: '征集公司',
|
||||
|
||||
@@ -12,6 +12,7 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||
import {toThousands} from '@/utils/changePrice.js'
|
||||
import { getSubCompOpt } from '@/api/user/user.js';
|
||||
import {filterProjectName} from "@/api/project-manage";
|
||||
import {filterRequirementName} from "@/api/project-demand";
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
@@ -45,6 +46,35 @@ const shortcuts = [
|
||||
},
|
||||
]
|
||||
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: '征集公司',
|
||||
prop: 'affiliatedCompanyId',
|
||||
@@ -189,6 +219,11 @@ const tableConfig = reactive({
|
||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'requirementName',
|
||||
label: '征集名称',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'affiliatedCompany',
|
||||
label: '征集公司',
|
||||
|
||||
@@ -12,6 +12,7 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||
import {toThousands} from '@/utils/changePrice.js'
|
||||
import { getSubCompOpt } from '@/api/user/user.js';
|
||||
import {filterProjectName} from "@/api/project-manage";
|
||||
import {filterRequirementName} from "@/api/project-demand";
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const shortcuts = [
|
||||
@@ -44,6 +45,35 @@ const shortcuts = [
|
||||
},
|
||||
]
|
||||
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: '征集公司',
|
||||
prop: 'affiliatedCompanyId',
|
||||
@@ -184,6 +214,11 @@ const tableConfig = reactive({
|
||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'requirementName',
|
||||
label: '征集名称',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'affiliatedCompany',
|
||||
label: '征集公司',
|
||||
|
||||
Reference in New Issue
Block a user