修改立项、执行情况
parent
3e917bb783
commit
25e35900b4
|
|
@ -131,6 +131,7 @@ export enum DICT_TYPE {
|
|||
TECHNICAL_FIELD = "technical_field",
|
||||
APPLY_UNIT_TYPE = "apply_unit_type", //立项-单位类型
|
||||
DEVIATION = 'deviation',//执行-完成情况
|
||||
CHANGE_TYPE = 'change_type',
|
||||
|
||||
// ========== INFRA 模块 ==========
|
||||
INFRA_BOOLEAN_STRING = 'infra_boolean_string',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,12 @@
|
|||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="立项年度" prop="year">
|
||||
<el-date-picker v-model="formData.year" type="year" placeholder="请选择立项年度"/>
|
||||
<el-date-picker v-model="formData.year" type="year" value-format="YYYY" placeholder="请选择立项年度"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="项目负责人" prop="projectLeader">
|
||||
<el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
|
@ -33,29 +38,29 @@
|
|||
<el-input v-model="formData.mainUnits" placeholder="请输入主要完成单位" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合作单位" prop="coopUnits">
|
||||
<el-input v-model="formData.coopUnits" placeholder="请输入合作单位" />
|
||||
<el-col :span="24">
|
||||
<el-form-item label="合作单位" prop="coopUnits" >
|
||||
<el-input v-model="formData.coopUnits" type="textarea" placeholder="请输入合作单位" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="研发周期" prop="developmentCycle">
|
||||
<el-input v-model="formData.developmentCycle" placeholder="请输入研发周期" />
|
||||
<el-input-number v-model="formData.developmentCycle" :min="1" placeholder="请输入研发周期" />年
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="总经费(万元)" prop="totalFee">
|
||||
<el-input v-model="formData.totalFee" placeholder="请输入总经费" />
|
||||
<el-input-number v-model="formData.totalFee" :min="1" placeholder="请输入总经费" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="拨款(万元)" prop="applyFee">
|
||||
<el-input v-model="formData.applyFee" placeholder="请输入拨款" />
|
||||
<el-input-number v-model="formData.applyFee" :min="1" placeholder="请输入拨款" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="自筹(万元)" prop="sefeFee">
|
||||
<el-input v-model="formData.sefeFee" placeholder="请输入自筹" />
|
||||
<el-input-number v-model="formData.sefeFee" :min="1" placeholder="请输入自筹" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col >
|
||||
|
|
@ -128,6 +133,7 @@ const formData = ref({
|
|||
id: undefined,
|
||||
projectName: undefined,
|
||||
year: undefined,
|
||||
projectLeader: undefined,
|
||||
undertakingUnitName: undefined,
|
||||
undertakingUnitId: undefined,
|
||||
mainUnits: undefined,
|
||||
|
|
@ -152,6 +158,24 @@ const formData = ref({
|
|||
state: undefined,
|
||||
})
|
||||
const formRules = reactive({
|
||||
projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
|
||||
year: [{ required: true, message: '立项年度不能为空', trigger: 'blur' }],
|
||||
projectLeader: [{ required: true, message: '项目负责人不能为空', trigger: 'blur' }],
|
||||
undertakingUnitName: [{ required: true, message: '牵头单位不能为空', trigger: 'blur' }],
|
||||
mainUnits: [{ required: true, message: '主要完成单位不能为空', trigger: 'blur' }],
|
||||
coopUnits: [{ required: true, message: '合作单位不能为空', trigger: 'blur' }],
|
||||
developmentCycle: [{ required: true, message: '研发周期不能为空', trigger: 'blur' }],
|
||||
totalFee: [{ required: true, message: '总经费不能为空', trigger: 'blur' }],
|
||||
applyFee: [{ required: true, message: '拨款不能为空', trigger: 'blur' }],
|
||||
sefeFee: [{ required: true, message: '自筹不能为空', trigger: 'blur' }],
|
||||
briefObjectives: [{ required: true, message: '项目目标不能为空', trigger: 'blur' }],
|
||||
briefContents: [{ required: true, message: '研究内容不能为空', trigger: 'blur' }],
|
||||
briefInnovate: [{ required: true, message: '创新点不能为空', trigger: 'blur' }],
|
||||
briefAchievement: [{ required: true, message: '科技及产业化成果不能为空', trigger: 'blur' }],
|
||||
briefBenefit: [{ required: true, message: '经济、社会效益不能为空', trigger: 'blur' }],
|
||||
|
||||
|
||||
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
|
|
|
|||
|
|
@ -18,13 +18,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="立项年度" prop="year">
|
||||
<el-input
|
||||
v-model="queryParams.year"
|
||||
placeholder="请输入立项年度"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
<el-date-picker v-model="queryParams.year" type="year" value-format="YYYY" placeholder="请选择立项年度" clearable class="!w-240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="牵头单位" prop="undertakingUnitName">
|
||||
<el-input
|
||||
|
|
@ -76,10 +70,11 @@
|
|||
<el-table-column label="序号" align="center" width="80" type="index"/>
|
||||
<el-table-column label="项目名称" align="center" width="200" prop="projectName" />
|
||||
<el-table-column label="立项年度" align="center" prop="year" />
|
||||
<el-table-column label="项目负责人" align="center" width="150" prop="projectLeader" />
|
||||
<el-table-column label="牵头单位" align="center" width="200" prop="undertakingUnitName" />
|
||||
<el-table-column label="主要完成单位" align="center" width="200" prop="mainUnits" />
|
||||
<el-table-column label="合作单位" align="center" width="200" prop="coopUnits" />
|
||||
<el-table-column label="研发周期" align="center" prop="developmentCycle" />
|
||||
<el-table-column label="研发周期(年)" align="center" width="120" prop="developmentCycle" />
|
||||
<el-table-column label="总经费(万元)" align="center" width="120" prop="totalFee" />
|
||||
<el-table-column label="拨款(万元)" align="center" width="100" prop="applyFee" />
|
||||
<el-table-column label="自筹(万元)" align="center" width="100" prop="sefeFee" />
|
||||
|
|
|
|||
|
|
@ -7,50 +7,87 @@
|
|||
label-width="100px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="任务书Id" prop="contractId">
|
||||
<el-input v-model="formData.contractId" placeholder="请输入任务书Id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="任务书编号" prop="projectCode">
|
||||
<el-input v-model="formData.projectCode" placeholder="请输入任务书编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="任务书名称" prop="projectName">
|
||||
<el-input v-model="formData.projectName" placeholder="请输入任务书名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目负责人" prop="projectLeader">
|
||||
<el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目负责人ID" prop="projectLeaderId">
|
||||
<el-input v-model="formData.projectLeaderId" placeholder="请输入项目负责人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="承担单位名称" prop="undertakingUnitName">
|
||||
<el-input v-model="formData.undertakingUnitName" placeholder="请输入承担单位名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="承担单位ID" prop="undertakingUnitId">
|
||||
<el-input v-model="formData.undertakingUnitId" placeholder="请输入承担单位ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目目标" prop="projectObjectives">
|
||||
<el-input v-model="formData.projectObjectives" type="textarea" placeholder="请输入项目目标" />
|
||||
</el-form-item>
|
||||
<el-form-item label="考核指标" prop="projectEvaluation">
|
||||
<el-input v-model="formData.projectEvaluation" type="textarea" placeholder="请输入考核指标" />
|
||||
</el-form-item>
|
||||
<el-form-item label="执行时间区段" prop="processDate">
|
||||
<el-date-picker
|
||||
v-model="formData.processDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择执行时间区段"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否偏差" prop="deviation">
|
||||
<el-input v-model="formData.deviation" placeholder="请输入是否偏差" />
|
||||
</el-form-item>
|
||||
<el-form-item label="偏差原因" prop="reason">
|
||||
<el-input v-model="formData.reason" placeholder="请输入偏差原因" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实际进度" prop="schedule">
|
||||
<el-input v-model="formData.schedule" type="textarea" placeholder="请输入实际进度" />
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-form-item label="任务书Id" prop="contractId" v-if="false">
|
||||
<el-input v-model="formData.contractId" placeholder="请输入任务书Id" />
|
||||
</el-form-item>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="任务书编号" prop="projectCode">
|
||||
<el-input v-model="formData.projectCode" placeholder="请输入任务书编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="任务书名称" prop="projectName">
|
||||
<el-input v-model="formData.projectName" placeholder="请输入任务书名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="项目负责人" prop="projectLeader">
|
||||
<el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-form-item label="项目负责人ID" prop="projectLeaderId" v-if="false">
|
||||
<el-input v-model="formData.projectLeaderId" placeholder="请输入项目负责人ID" />
|
||||
</el-form-item>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="牵头单位" prop="undertakingUnitName">
|
||||
<el-input v-model="formData.undertakingUnitName" placeholder="请输入牵头单位" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-form-item label="牵头单位ID" prop="undertakingUnitId" v-if="false">
|
||||
<el-input v-model="formData.undertakingUnitId" placeholder="请输入牵头单位ID" />
|
||||
</el-form-item>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目目标" prop="projectObjectives">
|
||||
<el-input v-model="formData.projectObjectives" type="textarea" :autosize="{minRows:6,maxRows:10}" placeholder="请输入项目目标" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="考核指标" prop="projectEvaluation">
|
||||
<el-input v-model="formData.projectEvaluation" type="textarea" :autosize="{minRows:6,maxRows:10}" placeholder="请输入考核指标" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="执行时间" prop="processDate">
|
||||
<el-date-picker
|
||||
v-model="formData.processDate"
|
||||
type="month"
|
||||
value-format="YYYY-MM"
|
||||
placeholder="请选择执行时间"
|
||||
class="!w-120px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="是否偏差" prop="deviation">
|
||||
<el-select
|
||||
v-model="formData.deviation"
|
||||
@change="handleSelectChange"
|
||||
placeholder="请选择是否偏差"
|
||||
clearable
|
||||
class="!w-120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getStrDictOptions(DICT_TYPE.DEVIATION)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="偏差原因" prop="reason">
|
||||
<el-input v-model="formData.reason" placeholder="请输入偏差原因" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="实际进度" prop="schedule">
|
||||
<el-input v-model="formData.schedule" type="textarea" :autosize="{minRows:6,maxRows:10}" placeholder="请输入实际进度" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||
|
|
@ -60,6 +97,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { MainApi, MainVO } from '@/api/process/process'
|
||||
import {DICT_TYPE, getStrDictOptions} from "@/utils/dict";
|
||||
|
||||
/** 执行 表单 */
|
||||
defineOptions({ name: 'MainForm' })
|
||||
|
|
@ -88,22 +126,26 @@ const formData = ref({
|
|||
schedule: undefined,
|
||||
})
|
||||
const formRules = reactive({
|
||||
contractId: [{ required: true, message: '任务书Id不能为空', trigger: 'blur' }],
|
||||
// contractId: [{ required: true, message: '任务书Id不能为空', trigger: 'blur' }],
|
||||
projectCode: [{ required: true, message: '任务书编号不能为空', trigger: 'blur' }],
|
||||
projectName: [{ required: true, message: '任务书名称不能为空', trigger: 'blur' }],
|
||||
projectLeader: [{ required: true, message: '项目负责人不能为空', trigger: 'blur' }],
|
||||
projectLeaderId: [{ required: true, message: '项目负责人ID不能为空', trigger: 'blur' }],
|
||||
// projectLeaderId: [{ required: true, message: '项目负责人ID不能为空', trigger: 'blur' }],
|
||||
undertakingUnitName: [{ required: true, message: '承担单位名称不能为空', trigger: 'blur' }],
|
||||
undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }],
|
||||
// undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }],
|
||||
projectObjectives: [{ required: true, message: '项目目标不能为空', trigger: 'blur' }],
|
||||
projectEvaluation: [{ required: true, message: '考核指标不能为空', trigger: 'blur' }],
|
||||
processDate: [{ required: true, message: '执行时间区段不能为空', trigger: 'blur' }],
|
||||
processDate: [{ required: true, message: '执行时间不能为空', trigger: 'blur' }],
|
||||
deviation: [{ required: true, message: '是否偏差不能为空', trigger: 'blur' }],
|
||||
reason: [{ required: true, message: '偏差原因不能为空', trigger: 'blur' }],
|
||||
schedule: [{ required: true, message: '实际进度不能为空', trigger: 'blur' }],
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
const handleSelectChange = (newValue) => {
|
||||
console.log("newValue="+ newValue);
|
||||
}
|
||||
|
||||
/** 打开弹窗 */
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
|
|
@ -166,4 +208,4 @@ const resetForm = () => {
|
|||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -6,17 +6,9 @@
|
|||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
:inline="true"
|
||||
label-width="68px"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="任务书Id" prop="contractId">
|
||||
<el-input
|
||||
v-model="queryParams.contractId"
|
||||
placeholder="请输入任务书Id"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="任务书编号" prop="projectCode">
|
||||
<el-input
|
||||
v-model="queryParams.projectCode"
|
||||
|
|
@ -44,35 +36,9 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目负责人ID" prop="projectLeaderId">
|
||||
<el-input
|
||||
v-model="queryParams.projectLeaderId"
|
||||
placeholder="请输入项目负责人ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="承担单位名称" prop="undertakingUnitName">
|
||||
<el-input
|
||||
v-model="queryParams.undertakingUnitName"
|
||||
placeholder="请输入承担单位名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="承担单位ID" prop="undertakingUnitId">
|
||||
<el-input
|
||||
v-model="queryParams.undertakingUnitId"
|
||||
placeholder="请输入承担单位ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="执行时间区段" prop="processDate">
|
||||
<el-date-picker
|
||||
|
||||
<el-form-item label="执行时间" prop="processDate">
|
||||
<!-- <el-date-picker
|
||||
v-model="queryParams.processDate"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
type="daterange"
|
||||
|
|
@ -80,25 +46,29 @@
|
|||
end-placeholder="结束日期"
|
||||
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
||||
class="!w-240px"
|
||||
/>-->
|
||||
<el-date-picker
|
||||
v-model="queryParams.processDate"
|
||||
type="month"
|
||||
value-format="YYYY-MM"
|
||||
placeholder="请选择执行时间"
|
||||
class = "!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否偏差" prop="deviation">
|
||||
<el-input
|
||||
<el-select
|
||||
v-model="queryParams.deviation"
|
||||
placeholder="请输入是否偏差"
|
||||
placeholder="请选择是否偏差"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="偏差原因" prop="reason">
|
||||
<el-input
|
||||
v-model="queryParams.reason"
|
||||
placeholder="请输入偏差原因"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getStrDictOptions(DICT_TYPE.DEVIATION)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||
|
|
@ -127,20 +97,21 @@
|
|||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="主键id" align="center" prop="id" />
|
||||
<el-table-column label="任务书Id" align="center" prop="contractId" />
|
||||
<el-table-column label="任务书编号" align="center" prop="projectCode" />
|
||||
<el-table-column label="任务书名称" align="center" prop="projectName" />
|
||||
<el-table-column label="主键id" align="center" prop="id" v-if="false"/>
|
||||
<el-table-column type="selection" width="30"/>
|
||||
<el-table-column label="序号" align="center" width="80" type="index"/>
|
||||
<el-table-column label="项目Id" align="center" prop="contractId" v-if="false" />
|
||||
<el-table-column label="项目编号" align="center" prop="projectCode" />
|
||||
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||
<el-table-column label="项目负责人" align="center" prop="projectLeader" />
|
||||
<el-table-column label="项目负责人ID" align="center" prop="projectLeaderId" />
|
||||
<el-table-column label="承担单位名称" align="center" prop="undertakingUnitName" />
|
||||
<el-table-column label="承担单位ID" align="center" prop="undertakingUnitId" />
|
||||
<el-table-column label="项目目标" align="center" prop="projectObjectives" />
|
||||
<el-table-column label="考核指标" align="center" prop="projectEvaluation" />
|
||||
<el-table-column label="执行时间区段" align="center" prop="processDate" />
|
||||
<el-table-column label="是否偏差" align="center" prop="deviation" />
|
||||
<el-table-column label="偏差原因" align="center" prop="reason" />
|
||||
<el-table-column label="实际进度" align="center" prop="schedule" />
|
||||
<el-table-column label="牵头单位" align="center" prop="undertakingUnitName" />
|
||||
<el-table-column label="承担单位ID" align="center" prop="undertakingUnitId" v-if="false"/>
|
||||
<el-table-column label="执行时间" align="center" prop="processDate" />
|
||||
<el-table-column label="是否偏差" align="center" prop="deviation" >
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.DEVIATION" :value="scope.row.deviation" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
|
|
@ -179,6 +150,7 @@
|
|||
import download from '@/utils/download'
|
||||
import { MainApi, MainVO } from '@/api/process/process'
|
||||
import MainForm from './MainForm.vue'
|
||||
import {DICT_TYPE, getStrDictOptions} from "@/utils/dict";
|
||||
|
||||
/** 执行 列表 */
|
||||
defineOptions({ name: 'ProcessMain' })
|
||||
|
|
@ -271,4 +243,4 @@ const handleExport = async () => {
|
|||
onMounted(() => {
|
||||
getList()
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue