Merge pull request 'dd' (#406) from dd into master

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/406
This commit is contained in:
2024-06-28 12:16:35 +00:00
3 changed files with 67 additions and 53 deletions

View File

@@ -135,24 +135,14 @@ const checkBoxChange = (val) => {
isExpand.value = '展开'
}
}
const matterTree = (list, flag) => {
list.forEach(item => {
if (!flag) {
tree.value.setChecked(item, false)
}
if (item.children !== undefined) {
matterTree(item.children, false)
}
})
}
const getList = () => {
getSubCompOpt().then(res => {
dataList.value = [
{
label: "全选",
label: "所有公司",
value: -1,
children: res.data
}
},
...res.data
]
});
};
@@ -167,24 +157,34 @@ const filterNode = (value, data) => {
const show = () => {
//用于弹开部门选择
visible.value = true;
if(selectList.value.length==0){
selectList.value=[]
defaultChecked.value =[]
}else {
selectList.value = _value.value
defaultChecked.value = _value.value.map(item => item.value)
}
console.log('_value.value', _value.value, selectList.value)
// if(selectList.value.length==0){
// selectList.value=[]
// defaultChecked.value =[]
// }else {
selectList.value = _value.value
defaultChecked.value = _value.value.map(item => item.value)
// }
getList()
};
const updateTreeCheck = (item, flag) => {
// list.forEach(item => {
tree.value.setChecked(item, flag)
if (item.children !== undefined) {
updateTreeCheck(item.children, flag)
}
// })
}
const handleChange = (data, checked) => {
if (data.value == -1) {
if(checked){
checkStrictly.value = false
const index = checkList.value.indexOf('2')
if (index != -1) {
checkList.value.splice(index, 1)
for (const item of dataList.value) {
if (item.value !== -1) {
console.log('item',item)
updateTreeCheck(item, false)
}
}
matterTree(dataList.value[0].children, false)
tree.value.setChecked(data,true);
}
}

View File

@@ -38,10 +38,12 @@
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择所属公司' : '更改' }}
</el-button>
</div>
<div v-if="route.query.id" :class="showExpendClass(showMoreCompany)">{{ selectedCompanyList }}</div>
<div v-if="route.query.id" :class="showExpendClass(showMoreCompany)">{{ getName(selectedCompanyList) }}</div>
<div v-else :class="showExpendClass(showMoreCompany)">{{ getName(selectedCompanyList) }}</div>
<div style="color: #2a99ff;text-align: center;width: 100%;font-size: 15px;cursor: pointer"
@click="handleExpend">{{ showExpendText }}
@click="handleExpend">
{{ showExpendText }}
</div>
</el-form-item>
</el-col>
@@ -54,7 +56,7 @@
</el-form-item>
</el-col>
<el-col :span="6" v-if="formData.isSpecialFund">
<el-form-item label="专项资金" prop="specialFundId">
<el-form-item label="专项资金名称" prop="specialFundId">
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金" clearable filterable>
<el-option
v-for="item in specialFundOption"
@@ -100,7 +102,8 @@
<el-button color="#DED0B2" v-else @click="handleResubmit">重新提交</el-button>
<el-button @click="handleBack">返回</el-button>
</div>
<company-picker :multiple="true" ref="companyRef" title="请选择所属公司" @ok="selected" v-model:value="selectedCompanyList"/>
<company-picker :multiple="true" ref="companyRef" title="请选择所属公司" @ok="selected"
v-model:value="selectedCompanyList"/>
</div>
</template>
@@ -222,24 +225,16 @@ const showExpendClass = (showMoreCompany) => {
if (!showMoreCompany) {
if (selectedCompanyList.value.length === 0) {
showExpendText.value = ''
return ''
} else if (selectedCompanyList.value.length>14) {
return ''
} else if (selectedCompanyList.value.length > 14) {
showExpendText.value = '展开'
return 'company-style'
return 'company-style'
}
} else {
showExpendText.value = '收缩'
return ''
return ''
}
}
const getCompanyOptionItem = (val) => {
if (val !== undefined) {
val.forEach(item => {
matterTree(companyNameArray.value, companyOption.value, item)
})
}
return companyNameArray.value.join('');
}
const getName = (list) => {
return list.map(item => item.label).join('')
}
@@ -405,6 +400,25 @@ const handleResubmit = () => {
}
})
}
const getCompanyOptionItem = (val) => {
let newObj = {}
let newArray = []
if (val !== undefined) {
val.forEach(item => {
matterTree(companyNameArray.value, companyOption.value, item)
companyNameArray.value.forEach(companyItem => {
newObj = {
label: companyItem,
value: item
}
newArray.push(newObj)
})
})
}
return newArray;
}
const getDetailInfo = async () => {
getFormInfo(route.query.id).then(res => {
if (res.code === 1000) {

View File

@@ -1,14 +1,14 @@
<template>
<div class="detail-block" v-loading="loading">
<baseTitle title="需求上报"></baseTitle>
<el-form :model="formData" ref="summaryForm" :rules="rules">
<el-form :model="formData" ref="summaryForm" :rules="rules" label-width="140">
<el-row gutter="50">
<el-col :span="12">
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="5" v-if="!route.query.id">
<el-col :span="6" v-if="!route.query.id">
<el-form-item label="是否专项资金" prop="isSpecialFund">
<el-radio-group v-model="formData.isSpecialFund" @change="specialFundChange">
<el-radio :label="true"></el-radio>
@@ -16,7 +16,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6" v-if="route.query.id && formData.isSpecialFund">
<el-col :span="5" v-if="route.query.id && formData.isSpecialFund">
<el-form-item label="专项资金" prop="specialFundId">
<span>{{ formData.specialFund }}</span>
</el-form-item>
@@ -33,7 +33,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开始时间" prop="startTime">
<el-config-provider>
<el-date-picker
@@ -47,7 +47,7 @@
</el-config-provider>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="结束时间" prop="endTime"
:title="!formData.startTime?'请先选择开始时间!':''">
<el-config-provider>
@@ -64,7 +64,7 @@
</el-config-provider>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="项目类型" prop="projectType">
<el-select v-model="formData.projectType" placeholder="请选择项目类型" clearable filterable>
<el-option
@@ -76,7 +76,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="研发主体" prop="rdSubject">
<el-select v-model="formData.rdSubject" placeholder="请选择研发主体" clearable filterable>
<el-option
@@ -148,7 +148,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="产学研联合" prop="industryUniversityResearch">
<el-radio-group v-model="formData.industryUniversityResearch">
<el-radio v-for="item in cacheStore.getDict('industry_university')"
@@ -158,7 +158,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="开展政府申报" prop="governmentDeclaration">
<el-radio-group v-model="formData.governmentDeclaration">
<el-radio v-for="item in cacheStore.getDict('government_declaration')"
@@ -189,7 +189,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实用性新型专利(项)" prop="newPatent">
<el-form-item label="实用性新型专利(项)" prop="newPatent" label-width="145">
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利" :controls="false"/>
</el-form-item>
</el-col>
@@ -214,7 +214,7 @@
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.isSpecialFund!==false">
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount">
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount" label-width="280">
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
</el-form-item>
</el-col>
@@ -225,7 +225,7 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
<el-form-item label="研发项目关键内容描述" prop="contentDescription" label-width="140">
<el-input v-model="formData.contentDescription" placeholder="请输入研发项目关键内容描述" rows="4" type="textarea"
clearable></el-input>
</el-form-item>