fix : 修复细节
This commit is contained in:
@@ -19,3 +19,10 @@ export const getAllocationProcess = () => {
|
||||
method: "get"
|
||||
});
|
||||
};
|
||||
export const getAllocationDetailList = (params) => {
|
||||
return request({
|
||||
url: '/workflow/mosr/cost/allocation/process',
|
||||
method: "get",
|
||||
params:params
|
||||
});
|
||||
};
|
||||
|
||||
@@ -2,16 +2,6 @@
|
||||
<div v-loading="loading">
|
||||
<el-form :model="formData" ref="form" class="query-form" label-width="auto">
|
||||
<el-row>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="分摊名称">-->
|
||||
<!-- <span>{{ formData.shareName }}</span>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="分摊月份">-->
|
||||
<!-- <span>{{ formData.apportionmentMonth }}</span>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="24">
|
||||
<el-form-item>
|
||||
<fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>
|
||||
@@ -19,7 +9,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item>
|
||||
<el-table :data="formData.usrAllocationList" style="width: 100%">
|
||||
<el-table :data="detailList" style="width: 100%">
|
||||
<el-table-column prop="projectId" label="项目名称" width="180"/>
|
||||
<el-table-column prop="researchPersonnel" label="研发人员" width="180"/>
|
||||
<el-table-column prop="wagesPayable" label="应发工资"/>
|
||||
@@ -30,40 +20,14 @@
|
||||
<el-table-column prop="workday" label="工作日(天)"/>
|
||||
<el-table-column prop="researchDuration" label="研发时长(天)"/>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div v-if="formData.taskId">
|
||||
<baseTitle title="审核意见"></baseTitle>
|
||||
<el-form-item prop="auditOpinion">
|
||||
<el-input
|
||||
v-model="formData.auditOpinion"
|
||||
:rows="3"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div class="approval-record">
|
||||
<baseTitle title="审批记录"></baseTitle>
|
||||
<div class="process">
|
||||
<operation-render v-if="processViewer" :operation-list="data.operationList"
|
||||
:state="data.state"/>
|
||||
<process-diagram-viewer v-if="processViewer" id-name="collectionProcess"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<opinion v-if="data.taskId" :formData="data.formData" :taskId="data.taskId"></opinion>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="jsx">
|
||||
import OperationRender from '@/views/workflow/common/OperationRender.vue'
|
||||
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'
|
||||
|
||||
const searchConfig = reactive([
|
||||
{
|
||||
@@ -100,7 +64,6 @@ const searchConfig = reactive([
|
||||
},
|
||||
])
|
||||
const tableIns = ref()
|
||||
const tableData = ref([])
|
||||
const props = defineProps({
|
||||
formData: {
|
||||
type: Array,
|
||||
@@ -110,9 +73,9 @@ const props = defineProps({
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
processViewer: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
detailList: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
loading: {
|
||||
type: Boolean,
|
||||
@@ -121,7 +84,7 @@ const props = defineProps({
|
||||
})
|
||||
const search = (val) => {
|
||||
tableConfig.params = {...val}
|
||||
// tableIns.value.refresh()
|
||||
tableIns.value.refresh()
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<el-form-item label="需求上报附件" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'">
|
||||
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
|
||||
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>{{fileList}}
|
||||
<fvTable style="width: 100%;max-height: 400px;" v-if="processViewer" :tableConfig="tableConfig"
|
||||
:data="fileList" :isSettingCol="false" :pagination="false">
|
||||
<template #empty>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
|
||||
<el-row gutter="50">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="名称" prop="projectName">
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<span>{{ localFormData.projectName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -19,7 +19,7 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<span>{{ formData.endTime }}</span>
|
||||
<span>{{ localFormData.endTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -73,7 +73,9 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="知识产权状况" prop="intellectualProperty">
|
||||
<span>{{ filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty) }}</span>
|
||||
<span>{{
|
||||
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
@@ -129,33 +131,11 @@
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" >
|
||||
<el-col :span="24">
|
||||
<file-component title="需求上报附件" tag="需求上报"
|
||||
:file-list="localFormData.fileList"
|
||||
:file-list-show="fileListShow"/>
|
||||
<!-- <el-form-item label="需求上报附件">-->
|
||||
<!-- <file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>-->
|
||||
<!-- <fvTable style="width: 100%;max-height: 400px;" v-if="processViewer" :tableConfig="tableConfig"-->
|
||||
<!-- :data="localFormData.fileList" :isSettingCol="false" :pagination="false">-->
|
||||
<!-- <template #empty>-->
|
||||
<!-- <el-empty :image-size="90" description="暂无数据" style="padding: 0"/>-->
|
||||
<!-- </template>-->
|
||||
<!-- </fvTable>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <div v-if="data.taskId">-->
|
||||
<!-- <baseTitle title="审核意见"></baseTitle>-->
|
||||
<!-- <el-form-item prop="auditOpinion">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="localFormData.auditOpinion"-->
|
||||
<!-- :rows="3"-->
|
||||
<!-- type="textarea"-->
|
||||
<!-- placeholder="请输入审核意见"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-col>-->
|
||||
</el-row>
|
||||
<div class="approval-record">
|
||||
<baseTitle title="审批记录"></baseTitle>
|
||||
@@ -165,10 +145,6 @@
|
||||
<process-diagram-viewer v-if="processViewer" id-name="summaryProcess"/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="oper-page-btn" v-if="data.state === '1' && data.taskId">-->
|
||||
<!-- <el-button @click="handleReject(summaryForm)">驳回</el-button>-->
|
||||
<!-- <el-button color="#DED0B2" @click="handleAgree">同意</el-button>-->
|
||||
<!-- </div>-->
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
@@ -252,8 +228,6 @@ const handleDownload = (row) => {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
watch(() => props.processViewer, (newVal) => {
|
||||
props.processViewer = newVal
|
||||
}, {deep: true})
|
||||
|
||||
@@ -42,7 +42,7 @@ const props = defineProps({
|
||||
},
|
||||
})
|
||||
const rules = reactive({
|
||||
tagName: [{required: true, message: '请输入标签名称', trigger: 'blur'}],
|
||||
tagName: [{required: true, message: '请输入标签名称', trigger: ['blur', 'change']}],
|
||||
})
|
||||
const tagForm = ref()
|
||||
const showTable = ref(true)
|
||||
|
||||
@@ -45,6 +45,11 @@ const props = defineProps({
|
||||
stepSuccess: {
|
||||
type: Array,
|
||||
default: ['00']
|
||||
},
|
||||
//直接上报/需求征集
|
||||
reportType:{
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
})
|
||||
|
||||
@@ -238,6 +243,11 @@ getBaseInfo()
|
||||
watchEffect(() => {
|
||||
localActive.value = props.active
|
||||
})
|
||||
watchEffect(() => {
|
||||
if(props.reportType==='direct'){
|
||||
localSteps.value=localSteps.value.slice(1)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -15,12 +15,16 @@
|
||||
</el-form>
|
||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
|
||||
<el-tab-pane label="分摊明细" name="first">
|
||||
<expense-detail :formData="shareData.formData" :data="shareData" :showTable="showTable"
|
||||
:processViewer="shareProcessViewer"
|
||||
<expense-detail :formData="shareData.formData" :data="shareData"
|
||||
:processViewer="shareProcessViewer" :detailList="detailList"
|
||||
:loading="loading"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="分摊汇总" name="second">
|
||||
|
||||
<!-- <fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick">-->
|
||||
<!-- <template #empty>-->
|
||||
<!-- <el-empty description="暂无数据"/>-->
|
||||
<!-- </template>-->
|
||||
<!-- </fvTable>-->
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div class="approval-record">
|
||||
@@ -37,32 +41,40 @@
|
||||
<script setup lang="jsx">
|
||||
import {ElNotification} from "element-plus";
|
||||
import {useProcessStore} from '@/stores/processStore.js';
|
||||
import {getAllocationDetail} from "@/api/expense-manage";
|
||||
import {getAllocationDetail, getAllocationDetailList} from "@/api/expense-manage";
|
||||
|
||||
const processStore = useProcessStore()
|
||||
const route = useRoute()
|
||||
const shareData = ref({})
|
||||
const detailList = ref([])
|
||||
const formData = ref({})
|
||||
const shareProcessViewer = ref(true)
|
||||
const showTable = ref(true)
|
||||
const loading = ref(false)
|
||||
const activeName = ref('first')
|
||||
const getDetail = async () => {
|
||||
const id = route.query.id
|
||||
showTable.value = false
|
||||
shareProcessViewer.value = false
|
||||
loading.value = true
|
||||
const {code, data, msg} = await getAllocationDetail(id)
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
message: msg,
|
||||
type: code === 1000 ? 'success' : 'error'
|
||||
})
|
||||
if (code === 1000) {
|
||||
shareData.value = data
|
||||
formData.value = data.formData
|
||||
loading.value = false
|
||||
if(data.operationList==null)return;
|
||||
} else {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
message: msg,
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
loading.value = false
|
||||
}
|
||||
const getDetailList = async () => {
|
||||
let params = {
|
||||
allocationId: route.query.id
|
||||
}
|
||||
shareProcessViewer.value = false
|
||||
const {code, data, msg} = await getAllocationDetailList(params)
|
||||
if (code === 1000) {
|
||||
detailList.value = data
|
||||
processStore.setDesign(data)
|
||||
processStore.runningList.value = data.runningList;
|
||||
processStore.endList.value = data.endList;
|
||||
@@ -71,32 +83,36 @@ const getDetail = async () => {
|
||||
processStore.passList.value = data.passList;
|
||||
nextTick(() => {
|
||||
shareProcessViewer.value = true
|
||||
showTable.value = true
|
||||
})
|
||||
} else {
|
||||
loading.value = false
|
||||
}else {
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
message: msg,
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
}
|
||||
getDetail()
|
||||
getDetailList()
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
:deep(.el-tabs__nav-scroll) {
|
||||
width: 100%;
|
||||
:deep(.el-tabs__nav-scroll) {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
||||
.el-tabs__nav {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
|
||||
.el-tabs__nav {
|
||||
display: flex;
|
||||
.el-tabs__item {
|
||||
flex: 1;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.el-tabs__item {
|
||||
flex: 1;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.is-active {
|
||||
color: black;
|
||||
//background-color: #DED0B2;
|
||||
}
|
||||
.is-active {
|
||||
color: black;
|
||||
//background-color: #DED0B2;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -8,24 +8,25 @@
|
||||
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="5">-->
|
||||
<!-- <el-form-item label="是否专项资金" prop="isSpecialFund">-->
|
||||
<!-- <el-radio-group v-model="formData.isSpecialFund" >-->
|
||||
<!-- <el-radio :label="true">是</el-radio>-->
|
||||
<!-- <el-radio :label="false">否</el-radio>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="5">
|
||||
<el-form-item label="是否专项资金" prop="isSpecialFund">
|
||||
<el-radio-group v-model="formData.isSpecialFund">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
<el-radio :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="专项资金" prop="specialFund" v-if="formData.isSpecialFund">
|
||||
<el-select v-model="formData.specialFund" placeholder="请选择专项资金" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in specialFundOption"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<!-- <span>{{ getSpecialFundName(formData.specialFund) }}</span>-->
|
||||
<el-select v-model="formData.specialFund" placeholder="请选择专项资金" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in specialFundOption"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -33,8 +34,9 @@
|
||||
<el-config-provider>
|
||||
<el-date-picker
|
||||
v-model="formData.startTime"
|
||||
type="datetime"
|
||||
type="date"
|
||||
placeholder="开始时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
style="width: 100%"
|
||||
/>
|
||||
@@ -46,10 +48,13 @@
|
||||
<el-config-provider>
|
||||
<el-date-picker
|
||||
v-model="formData.endTime"
|
||||
type="datetime"
|
||||
type="date"
|
||||
placeholder="结束时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
style="width: 100%"
|
||||
:disabled="!formData.startTime"
|
||||
:disabled-date="disabledDate"
|
||||
/>
|
||||
</el-config-provider>
|
||||
</el-form-item>
|
||||
@@ -243,7 +248,7 @@
|
||||
<script setup lang="jsx">
|
||||
import {debounce} from 'lodash'
|
||||
import {getDetail, getProcessInfo, requirementReported, resubmitReported} from "./api";
|
||||
import {ElMessage, ElNotification} from "element-plus";
|
||||
import {ElNotification} from "element-plus";
|
||||
import {useTagsView} from '@/stores/tagsview.js'
|
||||
import {useCacheStore} from '@/stores/cache.js'
|
||||
import {useProcessStore} from '@/stores/processStore.js';
|
||||
@@ -272,21 +277,22 @@ const formData = ref({
|
||||
industryUniversityResearch: '0',
|
||||
governmentDeclaration: '0',
|
||||
})
|
||||
|
||||
const rules = reactive({
|
||||
projectName: [{required: true, message: '请输入项目名称', trigger: 'blur'}],
|
||||
specialFund: [{required: true, message: '请选择专项资金', trigger: 'blur'}],
|
||||
startTime: [{required: true, message: '请选择开始时间', trigger: 'blur'}],
|
||||
rdSubject: [{required: true, message: '请输入研发主体', trigger: 'blur'}],
|
||||
projectType: [{required: true, message: '请选择项目类型', trigger: 'blur'}],
|
||||
endTime: [{required: true, message: '请选择结束时间', trigger: 'blur'}],
|
||||
investmentType: [{required: true, message: '请选择出资类型', trigger: 'blur'}],
|
||||
projectImpact: [{required: true, message: '请选择项目影响', trigger: 'blur'}],
|
||||
businessSegment: [{required: true, message: '请选择所属业务板块', trigger: 'blur'}],
|
||||
resultForm: [{required: true, message: '请选择预期成果形式', trigger: 'blur'}],
|
||||
technicalStandard: [{required: true, message: '请选择预期技术标准制定', trigger: 'blur'}],
|
||||
industryUniversityResearch: [{required: true, message: '请选择产学研联合', trigger: 'blur'}],
|
||||
governmentDeclaration: [{required: true, message: '请选择开展政府申报', trigger: 'blur'}],
|
||||
intellectualProperty: [{required: true, message: '请选择知识产权状况', trigger: 'blur'}],
|
||||
startTime: [{required: true, message: '请选择开始时间', trigger: ['blur', 'change']}],
|
||||
endTime: [{required: true, message: '请选择结束时间', trigger: ['blur', 'change']}],
|
||||
rdSubject: [{required: true, message: '请选择研发主体', trigger: ['blur', 'change']}],
|
||||
projectType: [{required: true, message: '请选择项目类型', trigger: ['blur', 'change']}],
|
||||
investmentType: [{required: true, message: '请选择出资类型', trigger: ['blur', 'change']}],
|
||||
projectImpact: [{required: true, message: '请选择项目影响', trigger: ['blur', 'change']}],
|
||||
businessSegment: [{required: true, message: '请选择所属业务板块', trigger: ['blur', 'change']}],
|
||||
resultForm: [{required: true, message: '请选择预期成果形式', trigger: ['blur', 'change']}],
|
||||
technicalStandard: [{required: true, message: '请选择预期技术标准制定', trigger: ['blur', 'change']}],
|
||||
industryUniversityResearch: [{required: true, message: '请选择产学研联合', trigger: ['blur', 'change']}],
|
||||
governmentDeclaration: [{required: true, message: '请选择开展政府申报', trigger: ['blur', 'change']}],
|
||||
intellectualProperty: [{required: true, message: '请选择知识产权状况', trigger: ['blur', 'change']}],
|
||||
inventionPatent: [{required: true, message: '请输入发明专利', trigger: 'blur'}],
|
||||
newPatent: [{required: true, message: '请输入实用性新型专利', trigger: 'blur'}],
|
||||
softwareCopyright: [{required: true, message: '请输入软件著作权', trigger: 'blur'}],
|
||||
@@ -297,16 +303,33 @@ const rules = reactive({
|
||||
serviceDescription: [{required: true, message: '请输入现有业务描述', trigger: 'blur'}],
|
||||
contentDescription: [{required: true, message: '请输入研发项目关键内容描述', trigger: 'blur'}]
|
||||
})
|
||||
|
||||
const disabledDate = (time) => {
|
||||
return time.getTime() < new Date(formData.value.startTime).getTime();
|
||||
}
|
||||
|
||||
const getIsFund = async () => {
|
||||
getFormInfo(route.query.id).then(res => {
|
||||
if (!route.query.id) return;
|
||||
loading.value = true
|
||||
await getFormInfo(route.query.id).then(res => {
|
||||
if (res.code === 1000) {
|
||||
loading.value = false
|
||||
formData.value.isSpecialFund = res.data.isSpecialFund
|
||||
if(res.data.isSpecialFund){
|
||||
if (res.data.isSpecialFund) {
|
||||
formData.value.specialFund = Number(res.data.specialFund)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
const getSpecialFundName = (val) => {
|
||||
let label
|
||||
specialFundOption.value.forEach(item => {
|
||||
if (item.value == val) {
|
||||
label = item.label
|
||||
}
|
||||
})
|
||||
return label
|
||||
}
|
||||
const compositeParam = (item, type) => {
|
||||
let tag = ''
|
||||
if (name.value === 'Summary/add' || name.value === 'Summary/edit') {
|
||||
@@ -346,7 +369,13 @@ const getFileParam = (item) => {
|
||||
const handleSubmit = debounce(async (instance) => {
|
||||
if (!instance) return
|
||||
instance.validate(async (valid, fields) => {
|
||||
if (!valid) return
|
||||
if (!valid) {
|
||||
return ElNotification({
|
||||
title: '提示',
|
||||
message: '请完善数据,再提交!',
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
let singleFile = {}
|
||||
if (file.value.fileId !== undefined) {
|
||||
singleFile = {
|
||||
@@ -388,12 +417,13 @@ const handleSubmit = debounce(async (instance) => {
|
||||
// }
|
||||
let params = {
|
||||
...formData.value,
|
||||
isSpecialFund:false,
|
||||
isSpecialFund: formData.value.isSpecialFund ? formData.value.isSpecialFund : false,
|
||||
deploymentId: deploymentId.value,
|
||||
fileList: otherFiles,
|
||||
singleFile: singleFile,
|
||||
requirementId: route.query.id
|
||||
requirementId: route.query.id ? route.query.id : '-1'
|
||||
}
|
||||
console.log('params', params)
|
||||
if (JSON.stringify(singleFile) === "{}") {
|
||||
attachment.value.validate()
|
||||
ElNotification({
|
||||
@@ -402,10 +432,9 @@ const handleSubmit = debounce(async (instance) => {
|
||||
type: 'error'
|
||||
})
|
||||
return;
|
||||
}else {
|
||||
} else {
|
||||
attachment.value.clearValidate()
|
||||
}
|
||||
console.log('params', params)
|
||||
let res = await requirementReported(params)
|
||||
ElNotification({
|
||||
title: '提示',
|
||||
@@ -446,7 +475,7 @@ const handleResubmit = debounce(() => {
|
||||
deploymentId: deploymentId.value,
|
||||
fileList: otherFiles,
|
||||
singleFile: singleFile,
|
||||
requirementId: route.query.id
|
||||
requirementId: route.query.id ? route.query.id : '-1'
|
||||
}
|
||||
if (JSON.stringify(singleFile) === "{}") {
|
||||
attachment.value.validate()
|
||||
@@ -456,7 +485,7 @@ const handleResubmit = debounce(() => {
|
||||
type: 'error'
|
||||
})
|
||||
return;
|
||||
}else {
|
||||
} else {
|
||||
attachment.value.clearValidate()
|
||||
}
|
||||
console.log('重新提交params', params)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<steps :active="1" @setDetail="setDetail" @stepChange="stepChange">
|
||||
<steps :active="1" @setDetail="setDetail" @stepChange="stepChange" :reportType="route.query.id=='-1'?'direct':''">
|
||||
<template #content>
|
||||
<collection-detail v-show="showActive == '00'" :formData="summaryData.formData" :data="summaryData"
|
||||
:processViewer="summaryProcessViewer" :loading="loading"/>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
import {reactive, ref, shallowRef} from 'vue';
|
||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||
import {useRouter} from 'vue-router';
|
||||
|
||||
const localData = reactive({})
|
||||
|
||||
const tableIns = ref()
|
||||
@@ -82,7 +83,12 @@ const tableConfig = reactive({
|
||||
},
|
||||
{
|
||||
prop: 'requirementName',
|
||||
label: '名称',
|
||||
label: '征集名称',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'projectName',
|
||||
label: '项目名称',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
@@ -164,9 +170,9 @@ const tableConfig = reactive({
|
||||
if (buttons.has("edit")) {
|
||||
btn.push({label: '编辑', prem: ['mosr:collect:resubmit'], func: () => handleEdit(row), type: 'primary'})
|
||||
}
|
||||
if (buttons.has("report")) {
|
||||
btn.push({label: '上报', prem: ['mosr:collect:reported'], func: () => handleAdd(row), type: 'primary'})
|
||||
}
|
||||
// if (buttons.has("report")) {
|
||||
// btn.push({label: '上报', prem: ['mosr:collect:reported'], func: () => handleAdd(row), type: 'primary'})
|
||||
// }
|
||||
return (
|
||||
<div style={{width: '100%'}}>
|
||||
{
|
||||
@@ -184,7 +190,7 @@ const tableConfig = reactive({
|
||||
{
|
||||
buttons.has("delete") ?
|
||||
<popover-delete name={row.requirementName} type={'需求'} btnType={'danger'}
|
||||
perm={['mosr:collect:del']} onDelete={() => handleDelete(row)}/>
|
||||
perm={['mosr:collect:del']} onDelete={() => handleDelete(row)}/>
|
||||
: ''
|
||||
}
|
||||
</div>
|
||||
@@ -195,10 +201,18 @@ const tableConfig = reactive({
|
||||
api: '/workflow/mosr/requirement/collect',
|
||||
params: {},
|
||||
btns: [
|
||||
{name: '年度计划导出', key: '_export', color: '#DED0B2', auth: ''},
|
||||
{name: '经费预算生成', key: 'preMonty', color: '#DED0B2', auth: ''},
|
||||
{name: '新增上报', key: 'add', color: '#DED0B2', auth: ''},
|
||||
{name: '年度计划导出', key: '_export', auth: ''},
|
||||
{name: '经费预算生成', key: 'preMonty', auth: ''},
|
||||
]
|
||||
})
|
||||
const headBtnClick = (key) => {
|
||||
switch (key) {
|
||||
case 'add':
|
||||
handleAdd()
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const search = (val) => {
|
||||
let obj = {...val}
|
||||
@@ -211,11 +225,11 @@ const search = (val) => {
|
||||
tableIns.value.refresh()
|
||||
}
|
||||
|
||||
const handleAdd = (row) => {
|
||||
const handleAdd = () => {
|
||||
router.push({
|
||||
name: 'Summary/add',
|
||||
query: {
|
||||
id: row.requirementId
|
||||
// id: row.requirementId
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -232,7 +246,7 @@ const handleDetail = (row) => {
|
||||
router.push({
|
||||
name: 'Summary/detail',
|
||||
query: {
|
||||
id: row.requirementId,
|
||||
id: row.requirementId===null?'-1':row.requirementId,
|
||||
projectId: row.projectId,
|
||||
state: row.state
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ const showTable = ref(true)
|
||||
const tagForm = ref()
|
||||
const name = ref(router.currentRoute.value.name)
|
||||
const rules = reactive({
|
||||
tagName: [{required: true, message: '请输入标签名称', trigger: 'blur'}],
|
||||
tagName: [{required: true, message: '请输入标签名称', trigger: ['blur', 'change']}],
|
||||
})
|
||||
const changeInput=()=>{
|
||||
showInput.value=!showInput.value;
|
||||
|
||||
Reference in New Issue
Block a user