123
parent
eb72621b81
commit
064a3645ec
|
|
@ -1,129 +1,136 @@
|
||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
// 任务书主 VO
|
// 任务书主 VO
|
||||||
export interface MainVO {
|
export interface MainVO {
|
||||||
id: number // 主键id
|
id: number // 主键id
|
||||||
projectName: string // 项目名称
|
projectName: string // 项目名称
|
||||||
projectLeader: string // 项目负责人
|
projectLeader: string // 项目负责人
|
||||||
projectLeaderId: number // 项目负责人Id
|
projectLeaderId: number // 项目负责人Id
|
||||||
projectCode: string // 项目编号
|
projectCode: string // 项目编号
|
||||||
technicalField: string // 所属技术领域
|
technicalField: string // 所属技术领域
|
||||||
year: string // 年度
|
year: string // 年度
|
||||||
beginDate: Date // 开始时间
|
beginDate: Date // 开始时间
|
||||||
endDate: Date // 结束时间
|
endDate: Date // 结束时间
|
||||||
planName: string // 计划类型
|
planName: string // 计划类型
|
||||||
planId: string // 计划Id
|
planId: string // 计划Id
|
||||||
supportingCondition: string // 课题实施所需的其他配套条件
|
supportingCondition: string // 课题实施所需的其他配套条件
|
||||||
gender: number // 性别
|
gender: number // 性别
|
||||||
age: string // 年龄
|
age: string // 年龄
|
||||||
education: string // 学历
|
education: string // 学历
|
||||||
major: string // 所学专业
|
major: string // 所学专业
|
||||||
engagMajor: string // 从事专业
|
engagMajor: string // 从事专业
|
||||||
position: string // 职务(职称)
|
position: string // 职务(职称)
|
||||||
phoneNo: string // 电话
|
phoneNo: string // 电话
|
||||||
email: string // 邮箱
|
email: string // 邮箱
|
||||||
fax: string // 传真
|
fax: string // 传真
|
||||||
postalCode: string // 邮编
|
postalCode: string // 邮编
|
||||||
address: string // 通讯地址
|
address: string // 通讯地址
|
||||||
achievement: string // 主要业绩
|
achievement: string // 主要业绩
|
||||||
competentDeptId: number // 主管部门ID
|
competentDeptId: number // 主管部门ID
|
||||||
competentDeptName: string // 主管部门
|
competentDeptName: string // 主管部门
|
||||||
managerId: number // 主管工程师ID
|
managerId: number // 主管工程师ID
|
||||||
managerName: string // 主管工程师
|
managerName: string // 主管工程师
|
||||||
maintenanceUnitName: string // 维护单位名称
|
maintenanceUnitName: string // 维护单位名称
|
||||||
maintenanceUnitId: number // 维护单位ID
|
maintenanceUnitId: number // 维护单位ID
|
||||||
undertakingUnitName: string // 承担单位名称
|
undertakingUnitName: string // 承担单位名称
|
||||||
undertakingUnitId: number // 承担单位ID
|
undertakingUnitId: number // 承担单位ID
|
||||||
reviewUnitName: string // 审核单位名称
|
reviewUnitName: string // 审核单位名称
|
||||||
reviewUnitId: number // 审核单位ID
|
reviewUnitId: number // 审核单位ID
|
||||||
state: string // 状态
|
state: string // 状态
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务书主 API
|
// 任务书主 API
|
||||||
export const MainApi = {
|
export const MainApi = {
|
||||||
// 查询任务书主分页
|
// 查询任务书主分页
|
||||||
getMainPage: async (params: any) => {
|
getMainPage: async (params: any) => {
|
||||||
return await request.get({ url: `/contract/main/page`, params })
|
return await request.get({ url: `/contract/main/page`, params })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 查询任务书主详情
|
// 查询任务书主详情
|
||||||
getMain: async (id: number) => {
|
getMain: async (id: number) => {
|
||||||
return await request.get({ url: `/contract/main/get?id=` + id })
|
return await request.get({ url: `/contract/main/get?id=` + id })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 新增任务书主
|
// 新增任务书主
|
||||||
createMain: async (data: MainVO) => {
|
createMain: async (data: MainVO) => {
|
||||||
return await request.post({ url: `/contract/main/create`, data })
|
return await request.post({ url: `/contract/main/create`, data })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 修改任务书主
|
// 修改任务书主
|
||||||
updateMain: async (data: MainVO) => {
|
updateMain: async (data: MainVO) => {
|
||||||
return await request.put({ url: `/contract/main/update`, data })
|
return await request.put({ url: `/contract/main/update`, data })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 删除任务书主
|
// 删除任务书主
|
||||||
deleteMain: async (id: number) => {
|
deleteMain: async (id: number) => {
|
||||||
return await request.delete({ url: `/contract/main/delete?id=` + id })
|
return await request.delete({ url: `/contract/main/delete?id=` + id })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 导出任务书主 Excel
|
// 导出任务书主 Excel
|
||||||
exportMain: async (params) => {
|
exportMain: async (params) => {
|
||||||
return await request.download({ url: `/contract/main/export-excel`, params })
|
return await request.download({ url: `/contract/main/export-excel`, params })
|
||||||
},
|
},
|
||||||
|
// 导入立项
|
||||||
// ==================== 子表(任务书详细信息) ====================
|
getListPage: async (params) => {
|
||||||
|
return await request.get({ url: `/apply/main/page`, params })
|
||||||
// 获得任务书详细信息
|
},
|
||||||
getInfoByContractId: async (contractId) => {
|
|
||||||
return await request.get({ url: `/contract/main/info/get-by-contract-id?contractId=` + contractId })
|
generateContract: async (data: MainVO) => {
|
||||||
},
|
return await request.post({ url: `/contract/main/generateContract`, data })
|
||||||
|
},
|
||||||
// ==================== 子表(任务书项目目标) ====================
|
// ==================== 子表(任务书详细信息) ====================
|
||||||
|
|
||||||
// 获得任务书项目目标列表
|
// 获得任务书详细信息
|
||||||
getTargetListByContractId: async (contractId) => {
|
getInfoByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/target/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/info/get-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(任务书考核指标) ====================
|
// ==================== 子表(任务书项目目标) ====================
|
||||||
|
|
||||||
// 获得任务书考核指标列表
|
// 获得任务书项目目标列表
|
||||||
getCheckListByContractId: async (contractId) => {
|
getTargetListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/check/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/target/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(项目实施计划) ====================
|
// ==================== 子表(任务书考核指标) ====================
|
||||||
|
|
||||||
// 获得项目实施计划列表
|
// 获得任务书考核指标列表
|
||||||
getPlanListByContractId: async (contractId) => {
|
getCheckListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/plan/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/check/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(任务书经费) ====================
|
// ==================== 子表(项目实施计划) ====================
|
||||||
|
|
||||||
// 获得任务书经费列表
|
// 获得项目实施计划列表
|
||||||
getFundsListByContractId: async (contractId) => {
|
getPlanListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/funds/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/plan/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(参加单位) ====================
|
// ==================== 子表(任务书经费) ====================
|
||||||
|
|
||||||
// 获得参加单位列表
|
// 获得任务书经费列表
|
||||||
getUnitListByContractId: async (contractId) => {
|
getFundsListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/unit/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/funds/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(项目所需设备) ====================
|
// ==================== 子表(参加单位) ====================
|
||||||
|
|
||||||
// 获得项目所需设备列表
|
// 获得参加单位列表
|
||||||
getDeviceListByContractId: async (contractId) => {
|
getUnitListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/device/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/unit/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
|
|
||||||
// ==================== 子表(主要参加人员) ====================
|
// ==================== 子表(项目所需设备) ====================
|
||||||
|
|
||||||
// 获得主要参加人员列表
|
// 获得项目所需设备列表
|
||||||
getParticipantListByContractId: async (contractId) => {
|
getDeviceListByContractId: async (contractId) => {
|
||||||
return await request.get({ url: `/contract/main/participant/list-by-contract-id?contractId=` + contractId })
|
return await request.get({ url: `/contract/main/device/list-by-contract-id?contractId=` + contractId })
|
||||||
},
|
},
|
||||||
}
|
|
||||||
|
// ==================== 子表(主要参加人员) ====================
|
||||||
|
|
||||||
|
// 获得主要参加人员列表
|
||||||
|
getParticipantListByContractId: async (contractId) => {
|
||||||
|
return await request.get({ url: `/contract/main/participant/list-by-contract-id?contractId=` + contractId })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,141 +1,151 @@
|
||||||
<template>
|
<template>
|
||||||
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
||||||
<el-form
|
|
||||||
ref="formRef"
|
|
||||||
:model="formData"
|
|
||||||
:rules="formRules"
|
|
||||||
label-width="100px"
|
|
||||||
v-loading="formLoading"
|
|
||||||
>
|
|
||||||
<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="projectCode">
|
|
||||||
<el-input v-model="formData.projectCode" placeholder="请输入项目编号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="所属技术领域" prop="technicalField">
|
|
||||||
<el-select v-model="formData.technicalField" placeholder="请选择所属技术领域">
|
|
||||||
<el-option
|
|
||||||
v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)"
|
|
||||||
:key="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
:value="dict.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="年度" prop="year">
|
|
||||||
<el-input v-model="formData.year" placeholder="请输入年度" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="开始时间" prop="beginDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="formData.beginDate"
|
|
||||||
type="date"
|
|
||||||
value-format="x"
|
|
||||||
placeholder="选择开始时间"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="结束时间" prop="endDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="formData.endDate"
|
|
||||||
type="date"
|
|
||||||
value-format="x"
|
|
||||||
placeholder="选择结束时间"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="计划类型" prop="planName">
|
|
||||||
<el-select v-model="formData.planName" placeholder="请选择计划类型">
|
|
||||||
<el-option
|
|
||||||
v-for="dict in getStrDictOptions(DICT_TYPE.PLAN_ID)"
|
|
||||||
:key="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
:value="dict.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="计划Id" prop="planId">
|
|
||||||
<el-input v-model="formData.planId" placeholder="请输入计划Id" />
|
|
||||||
</el-form-item> -->
|
|
||||||
<el-form-item label="课题实施所需的其他配套条件" prop="supportingCondition">
|
|
||||||
<el-input v-model="formData.supportingCondition" placeholder="请输入课题实施所需的其他配套条件" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="性别" prop="gender">
|
|
||||||
<el-input v-model="formData.gender" placeholder="请输入性别" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="年龄" prop="age">
|
|
||||||
<el-input v-model="formData.age" placeholder="请输入年龄" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="学历" prop="education">
|
|
||||||
<el-input v-model="formData.education" placeholder="请输入学历" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="所学专业" prop="major">
|
|
||||||
<el-input v-model="formData.major" placeholder="请输入所学专业" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="从事专业" prop="engagMajor">
|
|
||||||
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="职务(职称)" prop="position">
|
|
||||||
<el-input v-model="formData.position" placeholder="请输入职务(职称)" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="电话" prop="phoneNo">
|
|
||||||
<el-input v-model="formData.phoneNo" placeholder="请输入电话" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="邮箱" prop="email">
|
|
||||||
<el-input v-model="formData.email" placeholder="请输入邮箱" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="传真" prop="fax">
|
|
||||||
<el-input v-model="formData.fax" placeholder="请输入传真" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="邮编" prop="postalCode">
|
|
||||||
<el-input v-model="formData.postalCode" placeholder="请输入邮编" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="通讯地址" prop="address">
|
|
||||||
<el-input v-model="formData.address" placeholder="请输入通讯地址" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="主要业绩" prop="achievement">
|
|
||||||
<el-input v-model="formData.achievement" placeholder="请输入主要业绩" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="主管部门ID" prop="competentDeptId">
|
|
||||||
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
|
|
||||||
</el-form-item> -->
|
|
||||||
<el-form-item label="主管部门" prop="competentDeptName">
|
|
||||||
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="主管工程师ID" prop="managerId">
|
|
||||||
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
|
|
||||||
</el-form-item> -->
|
|
||||||
<el-form-item label="主管工程师" prop="managerName">
|
|
||||||
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="维护单位名称" prop="maintenanceUnitName">
|
|
||||||
<el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="维护单位ID" prop="maintenanceUnitId">
|
|
||||||
<el-input v-model="formData.maintenanceUnitId" 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="reviewUnitName">
|
|
||||||
<el-input v-model="formData.reviewUnitName" placeholder="请输入审核单位名称" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item label="审核单位ID" prop="reviewUnitId">
|
|
||||||
<el-input v-model="formData.reviewUnitId" placeholder="请输入审核单位ID" />
|
|
||||||
</el-form-item> -->
|
|
||||||
<el-form-item label="状态" prop="state">
|
|
||||||
<el-input v-model="formData.state" placeholder="请输入状态" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<!-- 子表的表单 -->
|
<!-- 子表的表单 -->
|
||||||
<el-tabs v-model="subTabsName">
|
<el-tabs v-model="subTabsName">
|
||||||
|
<el-tab-pane label="基础信息" name="basic">
|
||||||
|
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="250px" v-loading="formLoading">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
|
||||||
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
|
<el-input v-model="formData.projectName" placeholder="请输入项目名称" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="项目负责人" prop="projectLeader">
|
||||||
|
<el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="项目负责人Id" prop="projectLeaderId">
|
||||||
|
<el-input v-model="formData.projectLeaderId" placeholder="请输入项目负责人Id" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="项目编号" prop="projectCode">
|
||||||
|
<el-input v-model="formData.projectCode" placeholder="请输入项目编号" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="所属技术领域" prop="technicalField">
|
||||||
|
<el-select v-model="formData.technicalField" placeholder="请选择所属技术领域">
|
||||||
|
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)" :key="dict.value"
|
||||||
|
:label="dict.label" :value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="年度" prop="year">
|
||||||
|
<el-input v-model="formData.year" placeholder="请输入年度" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="开始时间" prop="beginDate">
|
||||||
|
<el-date-picker v-model="formData.beginDate" type="date" value-format="x" placeholder="选择开始时间" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="结束时间" prop="endDate">
|
||||||
|
<el-date-picker v-model="formData.endDate" type="date" value-format="x" placeholder="选择结束时间" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="计划类型" prop="planName">
|
||||||
|
<el-select v-model="formData.planName" placeholder="请选择计划类型">
|
||||||
|
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.PLAN_ID)" :key="dict.value" :label="dict.label"
|
||||||
|
:value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="计划Id" prop="planId">
|
||||||
|
<el-input v-model="formData.planId" placeholder="请输入计划Id" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="课题实施所需的其他配套条件" prop="supportingCondition">
|
||||||
|
<el-input v-model="formData.supportingCondition" placeholder="请输入课题实施所需的其他配套条件" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="性别" prop="gender">
|
||||||
|
<el-input v-model="formData.gender" placeholder="请输入性别" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="年龄" prop="age">
|
||||||
|
<el-input v-model="formData.age" placeholder="请输入年龄" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="学历" prop="education">
|
||||||
|
<el-input v-model="formData.education" placeholder="请输入学历" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="所学专业" prop="major">
|
||||||
|
<el-input v-model="formData.major" placeholder="请输入所学专业" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="从事专业" prop="engagMajor">
|
||||||
|
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="职务(职称)" prop="position">
|
||||||
|
<el-input v-model="formData.position" placeholder="请输入职务(职称)" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="电话" prop="phoneNo">
|
||||||
|
<el-input v-model="formData.phoneNo" placeholder="请输入电话" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="邮箱" prop="email">
|
||||||
|
<el-input v-model="formData.email" placeholder="请输入邮箱" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="传真" prop="fax">
|
||||||
|
<el-input v-model="formData.fax" placeholder="请输入传真" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="邮编" prop="postalCode">
|
||||||
|
<el-input v-model="formData.postalCode" placeholder="请输入邮编" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="通讯地址" prop="address">
|
||||||
|
<el-input v-model="formData.address" placeholder="请输入通讯地址" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="主要业绩" prop="achievement">
|
||||||
|
<el-input v-model="formData.achievement" placeholder="请输入主要业绩" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="主管部门ID" prop="competentDeptId">
|
||||||
|
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="主管部门" prop="competentDeptName">
|
||||||
|
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="主管工程师ID" prop="managerId">
|
||||||
|
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="主管工程师" prop="managerName">
|
||||||
|
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="维护单位名称" prop="maintenanceUnitName">
|
||||||
|
<el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="维护单位ID" prop="maintenanceUnitId">
|
||||||
|
<el-input v-model="formData.maintenanceUnitId" placeholder="请输入维护单位ID" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="承担单位名称" prop="undertakingUnitName">
|
||||||
|
<el-input v-model="formData.undertakingUnitName" placeholder="请输入承担单位名称" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="承担单位ID" prop="undertakingUnitId">
|
||||||
|
<el-input v-model="formData.undertakingUnitId" placeholder="请输入承担单位ID" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="审核单位名称" prop="reviewUnitName">
|
||||||
|
<el-input v-model="formData.reviewUnitName" placeholder="请输入审核单位名称" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<!-- <el-form-item label="审核单位ID" prop="reviewUnitId">
|
||||||
|
<el-input v-model="formData.reviewUnitId" placeholder="请输入审核单位ID" />
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="状态" prop="state">
|
||||||
|
<el-input v-model="formData.state" placeholder="请输入状态" />
|
||||||
|
</el-form-item></el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-tab-pane>
|
||||||
<el-tab-pane label="任务书详细信息" name="info">
|
<el-tab-pane label="任务书详细信息" name="info">
|
||||||
<InfoForm ref="infoFormRef" :contract-id="formData.id" />
|
<InfoForm ref="infoFormRef" :contract-id="formData.id" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
@ -228,43 +238,43 @@ const formData = ref({
|
||||||
})
|
})
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
|
projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
|
||||||
projectLeader: [{ 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' }],
|
||||||
projectCode: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
|
// projectCode: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
|
||||||
technicalField: [{ required: true, message: '所属技术领域不能为空', trigger: 'change' }],
|
// technicalField: [{ required: true, message: '所属技术领域不能为空', trigger: 'change' }],
|
||||||
year: [{ required: true, message: '年度不能为空', trigger: 'blur' }],
|
// year: [{ required: true, message: '年度不能为空', trigger: 'blur' }],
|
||||||
beginDate: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
|
// beginDate: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
|
||||||
endDate: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
|
// endDate: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
|
||||||
planName: [{ required: true, message: '计划类型不能为空', trigger: 'change' }],
|
// planName: [{ required: true, message: '计划类型不能为空', trigger: 'change' }],
|
||||||
planId: [{ required: true, message: '计划Id不能为空', trigger: 'blur' }],
|
// planId: [{ required: true, message: '计划Id不能为空', trigger: 'blur' }],
|
||||||
supportingCondition: [{ required: true, message: '课题实施所需的其他配套条件不能为空', trigger: 'blur' }],
|
// supportingCondition: [{ required: true, message: '课题实施所需的其他配套条件不能为空', trigger: 'blur' }],
|
||||||
gender: [{ required: true, message: '性别不能为空', trigger: 'blur' }],
|
// gender: [{ required: true, message: '性别不能为空', trigger: 'blur' }],
|
||||||
age: [{ required: true, message: '年龄不能为空', trigger: 'blur' }],
|
// age: [{ required: true, message: '年龄不能为空', trigger: 'blur' }],
|
||||||
education: [{ required: true, message: '学历不能为空', trigger: 'blur' }],
|
// education: [{ required: true, message: '学历不能为空', trigger: 'blur' }],
|
||||||
major: [{ required: true, message: '所学专业不能为空', trigger: 'blur' }],
|
// major: [{ required: true, message: '所学专业不能为空', trigger: 'blur' }],
|
||||||
engagMajor: [{ required: true, message: '从事专业不能为空', trigger: 'blur' }],
|
// engagMajor: [{ required: true, message: '从事专业不能为空', trigger: 'blur' }],
|
||||||
position: [{ required: true, message: '职务(职称)不能为空', trigger: 'blur' }],
|
// position: [{ required: true, message: '职务(职称)不能为空', trigger: 'blur' }],
|
||||||
phoneNo: [{ required: true, message: '电话不能为空', trigger: 'blur' }],
|
// phoneNo: [{ required: true, message: '电话不能为空', trigger: 'blur' }],
|
||||||
email: [{ required: true, message: '邮箱不能为空', trigger: 'blur' }],
|
// email: [{ required: true, message: '邮箱不能为空', trigger: 'blur' }],
|
||||||
fax: [{ required: true, message: '传真不能为空', trigger: 'blur' }],
|
// fax: [{ required: true, message: '传真不能为空', trigger: 'blur' }],
|
||||||
postalCode: [{ required: true, message: '邮编不能为空', trigger: 'blur' }],
|
// postalCode: [{ required: true, message: '邮编不能为空', trigger: 'blur' }],
|
||||||
address: [{ required: true, message: '通讯地址不能为空', trigger: 'blur' }],
|
// address: [{ required: true, message: '通讯地址不能为空', trigger: 'blur' }],
|
||||||
achievement: [{ required: true, message: '主要业绩不能为空', trigger: 'blur' }],
|
// achievement: [{ required: true, message: '主要业绩不能为空', trigger: 'blur' }],
|
||||||
competentDeptId: [{ required: true, message: '主管部门ID不能为空', trigger: 'blur' }],
|
// competentDeptId: [{ required: true, message: '主管部门ID不能为空', trigger: 'blur' }],
|
||||||
competentDeptName: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }],
|
// competentDeptName: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }],
|
||||||
managerId: [{ required: true, message: '主管工程师ID不能为空', trigger: 'blur' }],
|
// managerId: [{ required: true, message: '主管工程师ID不能为空', trigger: 'blur' }],
|
||||||
managerName: [{ required: true, message: '主管工程师不能为空', trigger: 'blur' }],
|
// managerName: [{ required: true, message: '主管工程师不能为空', trigger: 'blur' }],
|
||||||
maintenanceUnitName: [{ required: true, message: '维护单位名称不能为空', trigger: 'blur' }],
|
// maintenanceUnitName: [{ required: true, message: '维护单位名称不能为空', trigger: 'blur' }],
|
||||||
maintenanceUnitId: [{ required: true, message: '维护单位ID不能为空', trigger: 'blur' }],
|
// maintenanceUnitId: [{ required: true, message: '维护单位ID不能为空', trigger: 'blur' }],
|
||||||
undertakingUnitName: [{ required: true, message: '承担单位名称不能为空', trigger: 'blur' }],
|
// undertakingUnitName: [{ required: true, message: '承担单位名称不能为空', trigger: 'blur' }],
|
||||||
undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }],
|
// undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }],
|
||||||
reviewUnitName: [{ required: true, message: '审核单位名称不能为空', trigger: 'blur' }],
|
// reviewUnitName: [{ required: true, message: '审核单位名称不能为空', trigger: 'blur' }],
|
||||||
reviewUnitId: [{ required: true, message: '审核单位ID不能为空', trigger: 'blur' }],
|
// reviewUnitId: [{ required: true, message: '审核单位ID不能为空', trigger: 'blur' }],
|
||||||
})
|
})
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
|
|
||||||
/** 子表的表单 */
|
/** 子表的表单 */
|
||||||
const subTabsName = ref('info')
|
const subTabsName = ref('basic')
|
||||||
const infoFormRef = ref()
|
const infoFormRef = ref()
|
||||||
const targetFormRef = ref()
|
const targetFormRef = ref()
|
||||||
const checkFormRef = ref()
|
const checkFormRef = ref()
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="来源或支出;0:来源;1:支出" min-width="150">
|
<el-table-column label="来源或支出;0:来源;1:支出" min-width="250">
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.sourceExpend`" :rules="formRules.sourceExpend" class="mb-0px!">
|
<el-form-item :prop="`${$index}.sourceExpend`" :rules="formRules.sourceExpend" class="mb-0px!">
|
||||||
<el-input v-model="row.sourceExpend" placeholder="请输入来源或支出;0:来源;1:支出" />
|
<el-input v-model="row.sourceExpend" placeholder="请输入来源或支出;0:来源;1:支出" />
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="项目承担单位自筹经费" min-width="150">
|
<el-table-column label="项目承担单位自筹经费" min-width="200">
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.sSelfFinancing`" :rules="formRules.sSelfFinancing" class="mb-0px!">
|
<el-form-item :prop="`${$index}.sSelfFinancing`" :rules="formRules.sSelfFinancing" class="mb-0px!">
|
||||||
<el-input v-model="row.sSelfFinancing" placeholder="请输入项目承担单位自筹经费" />
|
<el-input v-model="row.sSelfFinancing" placeholder="请输入项目承担单位自筹经费" />
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
:model="formData"
|
:model="formData"
|
||||||
:rules="formRules"
|
:rules="formRules"
|
||||||
label-width="100px"
|
label-width="350px"
|
||||||
v-loading="formLoading"
|
v-loading="formLoading"
|
||||||
>
|
>
|
||||||
<el-form-item label="项目目的与意义" prop="purposeSignificance">
|
<el-form-item label="项目目的与意义" prop="purposeSignificance">
|
||||||
|
|
|
||||||
|
|
@ -1,82 +1,43 @@
|
||||||
<template>
|
<template>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<!-- 搜索工作栏 -->
|
<!-- 搜索工作栏 -->
|
||||||
<el-form
|
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
|
||||||
class="-mb-15px"
|
|
||||||
:model="queryParams"
|
|
||||||
ref="queryFormRef"
|
|
||||||
:inline="true"
|
|
||||||
label-width="68px"
|
|
||||||
>
|
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter="handleQuery"
|
||||||
v-model="queryParams.projectName"
|
class="!w-240px" />
|
||||||
placeholder="请输入项目名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目负责人" prop="projectLeader">
|
<el-form-item label="项目负责人" prop="projectLeader">
|
||||||
<el-input
|
<el-input v-model="queryParams.projectLeader" placeholder="请输入项目负责人" clearable @keyup.enter="handleQuery"
|
||||||
v-model="queryParams.projectLeader"
|
class="!w-240px" />
|
||||||
placeholder="请输入项目负责人"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目编号" prop="projectCode">
|
<el-form-item label="项目编号" prop="projectCode">
|
||||||
<el-input
|
<el-input v-model="queryParams.projectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery"
|
||||||
v-model="queryParams.projectCode"
|
class="!w-240px" />
|
||||||
placeholder="请输入项目编号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属技术领域" prop="technicalField">
|
<el-form-item label="所属技术领域" prop="technicalField">
|
||||||
<el-select
|
<el-select v-model="queryParams.technicalField" placeholder="请选择所属技术领域" clearable class="!w-240px">
|
||||||
v-model="queryParams.technicalField"
|
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)" :key="dict.value" :label="dict.label"
|
||||||
placeholder="请选择所属技术领域"
|
:value="dict.value" />
|
||||||
clearable
|
|
||||||
class="!w-240px"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)"
|
|
||||||
:key="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
:value="dict.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="年度" prop="year">
|
<el-form-item label="年度" prop="year">
|
||||||
<el-input
|
<el-input v-model="queryParams.year" placeholder="请输入年度" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
v-model="queryParams.year"
|
|
||||||
placeholder="请输入年度"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
<el-button @click="handleQuery">
|
||||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||||
<el-button
|
</el-button>
|
||||||
type="primary"
|
<el-button @click="resetQuery">
|
||||||
plain
|
<Icon icon="ep:refresh" class="mr-5px" /> 重置
|
||||||
@click="openForm('create')"
|
</el-button>
|
||||||
v-hasPermi="['contract:main:create']"
|
<el-button type="primary" plain @click="handleInsert">
|
||||||
>
|
<Icon icon="ep:upload" class="mr-5px" /> 导入立项
|
||||||
|
</el-button>
|
||||||
|
<el-button type="primary" plain @click="openForm('create')" v-hasPermi="['contract:main:create']">
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button type="success" plain @click="handleExport" :loading="exportLoading"
|
||||||
type="success"
|
v-hasPermi="['contract:main:export']">
|
||||||
plain
|
|
||||||
@click="handleExport"
|
|
||||||
:loading="exportLoading"
|
|
||||||
v-hasPermi="['contract:main:export']"
|
|
||||||
>
|
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -97,20 +58,8 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="年度" align="center" prop="year" />
|
<el-table-column label="年度" align="center" prop="year" />
|
||||||
<el-table-column
|
<el-table-column label="开始时间" align="center" prop="beginDate" :formatter="dateFormatter" width="180px" />
|
||||||
label="开始时间"
|
<el-table-column label="结束时间" align="center" prop="endDate" :formatter="dateFormatter" width="180px" />
|
||||||
align="center"
|
|
||||||
prop="beginDate"
|
|
||||||
:formatter="dateFormatter"
|
|
||||||
width="180px"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
label="结束时间"
|
|
||||||
align="center"
|
|
||||||
prop="endDate"
|
|
||||||
:formatter="dateFormatter"
|
|
||||||
width="180px"
|
|
||||||
/>
|
|
||||||
<el-table-column label="计划类型" align="center" prop="planName">
|
<el-table-column label="计划类型" align="center" prop="planName">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :type="DICT_TYPE.PLAN_ID" :value="scope.row.planName" />
|
<dict-tag :type="DICT_TYPE.PLAN_ID" :value="scope.row.planName" />
|
||||||
|
|
@ -122,43 +71,47 @@
|
||||||
<el-table-column label="承担单位名称" align="center" prop="undertakingUnitName" />
|
<el-table-column label="承担单位名称" align="center" prop="undertakingUnitName" />
|
||||||
<el-table-column label="审核单位名称" align="center" prop="reviewUnitName" />
|
<el-table-column label="审核单位名称" align="center" prop="reviewUnitName" />
|
||||||
<el-table-column label="状态" align="center" prop="state" />
|
<el-table-column label="状态" align="center" prop="state" />
|
||||||
<el-table-column
|
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
|
||||||
label="创建时间"
|
|
||||||
align="center"
|
|
||||||
prop="createTime"
|
|
||||||
:formatter="dateFormatter"
|
|
||||||
width="180px"
|
|
||||||
/>
|
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['contract:main:update']">
|
||||||
link
|
|
||||||
type="primary"
|
|
||||||
@click="openForm('update', scope.row.id)"
|
|
||||||
v-hasPermi="['contract:main:update']"
|
|
||||||
>
|
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['contract:main:delete']">
|
||||||
link
|
|
||||||
type="danger"
|
|
||||||
@click="handleDelete(scope.row.id)"
|
|
||||||
v-hasPermi="['contract:main:delete']"
|
|
||||||
>
|
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- 分页 -->
|
<!-- 分页 -->
|
||||||
<Pagination
|
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
|
||||||
:total="total"
|
@pagination="getList" />
|
||||||
v-model:page="queryParams.pageNo"
|
|
||||||
v-model:limit="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
<!-- 导入立项 -->
|
||||||
|
<Dialog title="导入立项" v-model="dialogVisible">
|
||||||
|
<ContentWrap>
|
||||||
|
<el-table v-loading="loading1" :data="list1" :stripe="true" :show-overflow-tooltip="true" highlight-current-row>
|
||||||
|
<el-table-column align="center" width="65">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-radio :label="scope.row.id" v-model="currentRowValue" @change="handleCurrentChange(scope.row)">
|
||||||
|
|
||||||
|
</el-radio>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||||
|
<el-table-column label="立项年度" align="center" prop="year" />
|
||||||
|
<!-- <el-table-column label="项目负责人Id" align="center" prop="projectLeaderId" /> -->
|
||||||
|
<el-table-column label="审核状态" align="center" prop="state" />
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<Pagination :total="total1" v-model:page="queryParams1.pageNo" v-model:limit="queryParams1.pageSize"
|
||||||
|
@pagination="getList1" />
|
||||||
|
</ContentWrap>
|
||||||
|
<template #footer>
|
||||||
|
<el-button :disabled="!currentRow" type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</template>
|
||||||
|
</Dialog>
|
||||||
<!-- 表单弹窗:添加/修改 -->
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
<MainForm ref="formRef" @success="getList" />
|
<MainForm ref="formRef" @success="getList" />
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -176,9 +129,13 @@ defineOptions({ name: 'ContractMain' })
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const loading = ref(true) // 列表的加载中
|
const loading = ref(true) // 列表的加载中
|
||||||
|
const loading1 = ref(true) // 列表的加载中
|
||||||
const list = ref<MainVO[]>([]) // 列表的数据
|
const list = ref<MainVO[]>([]) // 列表的数据
|
||||||
|
const list1 = ref<MainVO[]>([]) // 导入立项列表的数据
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
|
const total1 = ref(0) // 列表的总页数
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
|
@ -188,6 +145,15 @@ const queryParams = reactive({
|
||||||
technicalField: undefined,
|
technicalField: undefined,
|
||||||
year: undefined,
|
year: undefined,
|
||||||
})
|
})
|
||||||
|
const queryParams1 = reactive({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
projectName: undefined,
|
||||||
|
projectLeader: undefined,
|
||||||
|
projectCode: undefined,
|
||||||
|
technicalField: undefined,
|
||||||
|
year: undefined,
|
||||||
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
const queryFormRef = ref() // 搜索的表单
|
||||||
const exportLoading = ref(false) // 导出的加载中
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
|
|
||||||
|
|
@ -202,7 +168,32 @@ const getList = async () => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const getList1 = async () => {
|
||||||
|
loading1.value = true
|
||||||
|
try {
|
||||||
|
const data = await MainApi.getListPage(queryParams1)
|
||||||
|
list1.value = data.list
|
||||||
|
total1.value = data.total
|
||||||
|
} finally {
|
||||||
|
loading1.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** 选中行 */
|
||||||
|
const currentRowValue = ref(undefined) // 选中行的 value
|
||||||
|
const currentRow = ref(undefined) // 选中行
|
||||||
|
const handleCurrentChange = (row) => {
|
||||||
|
currentRow.value = row.id
|
||||||
|
}
|
||||||
|
const submitForm = async () => {
|
||||||
|
try {
|
||||||
|
const data = await MainApi.generateContract({id:currentRow.value})
|
||||||
|
console.log(data)
|
||||||
|
} finally {
|
||||||
|
// 关闭弹窗
|
||||||
|
currentRow.value =undefined
|
||||||
|
dialogVisible.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
const handleQuery = () => {
|
const handleQuery = () => {
|
||||||
queryParams.pageNo = 1
|
queryParams.pageNo = 1
|
||||||
|
|
@ -220,6 +211,12 @@ const formRef = ref()
|
||||||
const openForm = (type: string, id?: number) => {
|
const openForm = (type: string, id?: number) => {
|
||||||
formRef.value.open(type, id)
|
formRef.value.open(type, id)
|
||||||
}
|
}
|
||||||
|
// 点击导入立项
|
||||||
|
const handleInsert = async () => {
|
||||||
|
dialogVisible.value = true
|
||||||
|
getList1()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
const handleDelete = async (id: number) => {
|
const handleDelete = async (id: number) => {
|
||||||
|
|
@ -231,7 +228,7 @@ const handleDelete = async (id: number) => {
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
// 刷新列表
|
// 刷新列表
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue