pull/480/head
parent
8ac3f8280f
commit
286cc500a0
|
|
@ -1,103 +1,121 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// 验收 VO
|
||||
export interface MainVO {
|
||||
id: number // 主键Id
|
||||
contractId: number // 合同Id
|
||||
projectCode: string // 任务书编号
|
||||
projectName: string // 任务书名称
|
||||
projectLeader: string // 项目负责人
|
||||
projectLeaderId: number // 项目负责人ID
|
||||
undertakingUnitName: string // 承担单位名称
|
||||
undertakingUnitId: number // 承担单位ID
|
||||
beginDate: Date // 开始时间
|
||||
endDate: Date // 结束时间
|
||||
accYear: string // 验收年度
|
||||
accDate: Date // 验收时间
|
||||
competentDeptId: number // 主管部门ID
|
||||
competentDeptName: string // 主管部门
|
||||
managerId: number // 主管工程师ID
|
||||
managerName: string // 主管工程师
|
||||
maintenanceUnitName: string // 维护单位名称
|
||||
maintenanceUnitId: number // 维护单位ID
|
||||
reviewUnitName: string // 审核单位名称
|
||||
reviewUnitId: number // 审核单位ID
|
||||
accMode: string // 验收形式
|
||||
accResult: string // 验收结果
|
||||
state: string // 状态
|
||||
}
|
||||
|
||||
// 验收 API
|
||||
export const MainApi = {
|
||||
// 查询验收分页
|
||||
getMainPage: async (params: any) => {
|
||||
return await request.get({ url: `/acceptance/main/page`, params })
|
||||
},
|
||||
|
||||
// 查询验收详情
|
||||
getMain: async (id: number) => {
|
||||
return await request.get({ url: `/acceptance/main/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增验收
|
||||
createMain: async (data: MainVO) => {
|
||||
return await request.post({ url: `/acceptance/main/create`, data })
|
||||
},
|
||||
|
||||
// 修改验收
|
||||
updateMain: async (data: MainVO) => {
|
||||
return await request.put({ url: `/acceptance/main/update`, data })
|
||||
},
|
||||
|
||||
// 删除验收
|
||||
deleteMain: async (id: number) => {
|
||||
return await request.delete({ url: `/acceptance/main/delete?id=` + id })
|
||||
},
|
||||
|
||||
// 导出验收 Excel
|
||||
exportMain: async (params) => {
|
||||
return await request.download({ url: `/acceptance/main/export-excel`, params })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收详细) ====================
|
||||
|
||||
// 获得验收详细
|
||||
getInfoByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/info/get-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收项目目标) ====================
|
||||
|
||||
// 获得验收项目目标列表
|
||||
getTargetListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/target/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收考核指标) ====================
|
||||
|
||||
// 获得验收考核指标列表
|
||||
getCheckListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/check/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收项目论文成果) ====================
|
||||
|
||||
// 获得验收项目论文成果列表
|
||||
getPublicationsListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/publications/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收其他成果) ====================
|
||||
|
||||
// 获得验收其他成果列表
|
||||
getAchieListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/achie/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收经费-新) ====================
|
||||
|
||||
// 获得验收经费-新列表
|
||||
getFundsListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/funds/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
}
|
||||
import request from '@/config/axios'
|
||||
|
||||
// 验收 VO
|
||||
export interface MainVO {
|
||||
id: number // 主键Id
|
||||
contractId: number // 合同Id
|
||||
projectCode: string // 任务书编号
|
||||
projectName: string // 任务书名称
|
||||
projectLeader: string // 项目负责人
|
||||
projectLeaderId: number // 项目负责人ID
|
||||
undertakingUnitName: string // 承担单位名称
|
||||
undertakingUnitId: number // 承担单位ID
|
||||
beginDate: Date // 开始时间
|
||||
endDate: Date // 结束时间
|
||||
accYear: string // 验收年度
|
||||
accDate: Date // 验收时间
|
||||
competentDeptId: number // 主管部门ID
|
||||
competentDeptName: string // 主管部门
|
||||
managerId: number // 主管工程师ID
|
||||
managerName: string // 主管工程师
|
||||
maintenanceUnitName: string // 维护单位名称
|
||||
maintenanceUnitId: number // 维护单位ID
|
||||
reviewUnitName: string // 审核单位名称
|
||||
reviewUnitId: number // 审核单位ID
|
||||
accMode: string // 验收形式
|
||||
accResult: string // 验收结果
|
||||
state: string // 状态
|
||||
}
|
||||
|
||||
// 验收 API
|
||||
export const MainApi = {
|
||||
// 查询验收分页
|
||||
getMainPage: async (params: any) => {
|
||||
return await request.get({ url: `/acceptance/main/page`, params })
|
||||
},
|
||||
|
||||
// 查询验收详情
|
||||
getMain: async (id: number) => {
|
||||
return await request.get({ url: `/acceptance/main/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增验收
|
||||
createMain: async (data: MainVO) => {
|
||||
return await request.post({ url: `/acceptance/main/create`, data })
|
||||
},
|
||||
|
||||
// 修改验收
|
||||
updateMain: async (data: MainVO) => {
|
||||
return await request.put({ url: `/acceptance/main/update`, data })
|
||||
},
|
||||
|
||||
// 删除验收
|
||||
deleteMain: async (id: number) => {
|
||||
return await request.delete({ url: `/acceptance/main/delete?id=` + id })
|
||||
},
|
||||
|
||||
// 导出验收 Excel
|
||||
exportMain: async (params) => {
|
||||
return await request.download({ url: `/acceptance/main/export-excel`, params })
|
||||
},
|
||||
// 导入立项
|
||||
getListPage: async (params) => {
|
||||
return await request.get({ url: `/acceptance/main/contractPage`, params })
|
||||
},
|
||||
|
||||
generateAcceptance: async (params: any) => {
|
||||
return await request.post({ url: `/acceptance/main/generateAcceptance`, params })
|
||||
},
|
||||
//审核
|
||||
auditAcceptance: async (data: MainVO) => {
|
||||
return await request.post({ url: `/acceptance/main/auditAcceptance`, data })
|
||||
},
|
||||
//提报
|
||||
presentingAcceptance: async (params: any) => {
|
||||
return await request.post({ url: `/acceptance/main/presentingAcceptance`, params })
|
||||
},
|
||||
getAuditList: async (params) => {
|
||||
return await request.get({ url: `/contract/main/getAuditList`, params })
|
||||
},
|
||||
// ==================== 子表(验收详细) ====================
|
||||
|
||||
// 获得验收详细
|
||||
getInfoByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/info/get-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收项目目标) ====================
|
||||
|
||||
// 获得验收项目目标列表
|
||||
getTargetListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/target/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收考核指标) ====================
|
||||
|
||||
// 获得验收考核指标列表
|
||||
getCheckListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/check/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收项目论文成果) ====================
|
||||
|
||||
// 获得验收项目论文成果列表
|
||||
getPublicationsListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/publications/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收其他成果) ====================
|
||||
|
||||
// 获得验收其他成果列表
|
||||
getAchieListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/achie/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
|
||||
// ==================== 子表(验收经费-新) ====================
|
||||
|
||||
// 获得验收经费-新列表
|
||||
getFundsListByAcceptanceId: async (acceptanceId) => {
|
||||
return await request.get({ url: `/acceptance/main/funds/list-by-acceptance-id?acceptanceId=` + acceptanceId })
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,103 +1,109 @@
|
|||
<template>
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
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="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="accYear">
|
||||
<el-input v-model="formData.accYear" placeholder="请输入验收年度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="验收时间" prop="accDate">
|
||||
<el-date-picker
|
||||
v-model="formData.accDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
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="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="accMode">
|
||||
<el-select v-model="formData.accMode" placeholder="请选择验收形式">
|
||||
<el-option
|
||||
v-for="dict in getStrDictOptions(DICT_TYPE.ACC_MODE)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="验收结果" prop="accResult">
|
||||
<el-input v-model="formData.accResult" placeholder="请输入验收结果" />
|
||||
</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-tab-pane label="验收详细" name="basic">
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" 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-row>
|
||||
<el-col :span="12">
|
||||
<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="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="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="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="accYear">
|
||||
<el-input v-model="formData.accYear" placeholder="请输入验收年度" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="验收时间" prop="accDate">
|
||||
<el-date-picker v-model="formData.accDate" type="date" value-format="x" 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="审核单位名称" prop="reviewUnitName">
|
||||
<el-input v-model="formData.reviewUnitName" placeholder="请输入审核单位名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="验收形式" prop="accMode">
|
||||
<el-select v-model="formData.accMode" placeholder="请选择验收形式">
|
||||
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.ACC_MODE)" :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="accResult">
|
||||
<el-input v-model="formData.accResult" placeholder="请输入验收结果" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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">
|
||||
<InfoForm ref="infoFormRef" :acceptance-id="formData.id" />
|
||||
</el-tab-pane>
|
||||
|
|
@ -132,7 +138,9 @@ import CheckForm from './components/CheckForm.vue'
|
|||
import PublicationsForm from './components/PublicationsForm.vue'
|
||||
import AchieForm from './components/AchieForm.vue'
|
||||
import FundsForm from './components/FundsForm.vue'
|
||||
|
||||
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
||||
const { wsCache } = useCache()
|
||||
const user = wsCache.get(CACHE_KEY.USER).user
|
||||
/** 验收 表单 */
|
||||
defineOptions({ name: 'MainForm' })
|
||||
|
||||
|
|
@ -148,8 +156,8 @@ const formData = ref({
|
|||
contractId: undefined,
|
||||
projectCode: undefined,
|
||||
projectName: undefined,
|
||||
projectLeader: undefined,
|
||||
projectLeaderId: undefined,
|
||||
projectLeader: user.nickname,
|
||||
projectLeaderId: user.id,
|
||||
undertakingUnitName: undefined,
|
||||
undertakingUnitId: undefined,
|
||||
beginDate: undefined,
|
||||
|
|
@ -173,7 +181,7 @@ const formRules = reactive({
|
|||
const formRef = ref() // 表单 Ref
|
||||
|
||||
/** 子表的表单 */
|
||||
const subTabsName = ref('info')
|
||||
const subTabsName = ref('basic')
|
||||
const infoFormRef = ref()
|
||||
const targetFormRef = ref()
|
||||
const checkFormRef = ref()
|
||||
|
|
@ -274,8 +282,8 @@ const resetForm = () => {
|
|||
contractId: undefined,
|
||||
projectCode: undefined,
|
||||
projectName: undefined,
|
||||
projectLeader: undefined,
|
||||
projectLeaderId: undefined,
|
||||
projectLeader: user.nickname,
|
||||
projectLeaderId: user.id,
|
||||
undertakingUnitName: undefined,
|
||||
undertakingUnitId: undefined,
|
||||
beginDate: undefined,
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
:inline="true"
|
||||
label-width="68px"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="合同Id" prop="contractId">
|
||||
<!-- <el-form-item label="合同Id" prop="contractId">
|
||||
<el-input
|
||||
v-model="queryParams.contractId"
|
||||
placeholder="请输入合同Id"
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="任务书编号" prop="projectCode">
|
||||
<el-input
|
||||
v-model="queryParams.projectCode"
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目负责人ID" prop="projectLeaderId">
|
||||
<!-- <el-form-item label="项目负责人ID" prop="projectLeaderId">
|
||||
<el-input
|
||||
v-model="queryParams.projectLeaderId"
|
||||
placeholder="请输入项目负责人ID"
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="承担单位名称" prop="undertakingUnitName">
|
||||
<el-input
|
||||
v-model="queryParams.undertakingUnitName"
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="承担单位ID" prop="undertakingUnitId">
|
||||
<!-- <el-form-item label="承担单位ID" prop="undertakingUnitId">
|
||||
<el-input
|
||||
v-model="queryParams.undertakingUnitId"
|
||||
placeholder="请输入承担单位ID"
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="开始时间" prop="beginDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.beginDate"
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="主管部门ID" prop="competentDeptId">
|
||||
<!-- <el-form-item label="主管部门ID" prop="competentDeptId">
|
||||
<el-input
|
||||
v-model="queryParams.competentDeptId"
|
||||
placeholder="请输入主管部门ID"
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="主管部门" prop="competentDeptName">
|
||||
<el-input
|
||||
v-model="queryParams.competentDeptName"
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="主管工程师ID" prop="managerId">
|
||||
<!-- <el-form-item label="主管工程师ID" prop="managerId">
|
||||
<el-input
|
||||
v-model="queryParams.managerId"
|
||||
placeholder="请输入主管工程师ID"
|
||||
|
|
@ -139,7 +139,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="主管工程师" prop="managerName">
|
||||
<el-input
|
||||
v-model="queryParams.managerName"
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="维护单位ID" prop="maintenanceUnitId">
|
||||
<!-- <el-form-item label="维护单位ID" prop="maintenanceUnitId">
|
||||
<el-input
|
||||
v-model="queryParams.maintenanceUnitId"
|
||||
placeholder="请输入维护单位ID"
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="审核单位名称" prop="reviewUnitName">
|
||||
<el-input
|
||||
v-model="queryParams.reviewUnitName"
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核单位ID" prop="reviewUnitId">
|
||||
<!-- <el-form-item label="审核单位ID" prop="reviewUnitId">
|
||||
<el-input
|
||||
v-model="queryParams.reviewUnitId"
|
||||
placeholder="请输入审核单位ID"
|
||||
|
|
@ -184,7 +184,7 @@
|
|||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="验收形式" prop="accMode">
|
||||
<el-select
|
||||
v-model="queryParams.accMode"
|
||||
|
|
@ -221,6 +221,9 @@
|
|||
<el-form-item>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||
<el-button type="primary" plain @click="handleInsert">
|
||||
<Icon icon="ep:upload" class="mr-5px" /> 导入立项
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
|
|
@ -245,14 +248,14 @@
|
|||
<!-- 列表 -->
|
||||
<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="主键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="项目负责人" align="center" prop="projectLeader" />
|
||||
<el-table-column label="项目负责人ID" align="center" prop="projectLeaderId" />
|
||||
<!-- <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="承担单位ID" align="center" prop="undertakingUnitId" /> -->
|
||||
<el-table-column
|
||||
label="开始时间"
|
||||
align="center"
|
||||
|
|
@ -275,14 +278,14 @@
|
|||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="主管部门ID" align="center" prop="competentDeptId" />
|
||||
<!-- <el-table-column label="主管部门ID" align="center" prop="competentDeptId" /> -->
|
||||
<el-table-column label="主管部门" align="center" prop="competentDeptName" />
|
||||
<el-table-column label="主管工程师ID" align="center" prop="managerId" />
|
||||
<!-- <el-table-column label="主管工程师ID" align="center" prop="managerId" /> -->
|
||||
<el-table-column label="主管工程师" align="center" prop="managerName" />
|
||||
<el-table-column label="维护单位名称" align="center" prop="maintenanceUnitName" />
|
||||
<el-table-column label="维护单位ID" align="center" prop="maintenanceUnitId" />
|
||||
<!-- <el-table-column label="维护单位ID" align="center" prop="maintenanceUnitId" /> -->
|
||||
<el-table-column label="审核单位名称" align="center" prop="reviewUnitName" />
|
||||
<el-table-column label="审核单位ID" align="center" prop="reviewUnitId" />
|
||||
<!-- <el-table-column label="审核单位ID" align="center" prop="reviewUnitId" /> -->
|
||||
<el-table-column label="验收形式" align="center" prop="accMode">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.ACC_MODE" :value="scope.row.accMode" />
|
||||
|
|
@ -292,21 +295,23 @@
|
|||
<el-table-column label="状态" align="center" prop="state" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="openForm('update', scope.row.id)"
|
||||
v-hasPermi="['acceptance:main:update']"
|
||||
>
|
||||
编辑
|
||||
<template v-if="scope.row.state == '1'">
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)"
|
||||
v-hasPermi="['contract:main:update']">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['contract:main:delete']">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button link type="primary" @click="handlePresenting(scope.row.id)">
|
||||
提报
|
||||
</el-button>
|
||||
</template>
|
||||
<el-button link type="primary" @click="handleauditContract(scope.row.id)" v-if="scope.row.state == '2'">
|
||||
审核
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['acceptance:main:delete']"
|
||||
>
|
||||
删除
|
||||
<el-button link type="primary" @click="handleRecord(scope.row.id)" v-if="scope.row.state == '2'">
|
||||
审核记录
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -319,7 +324,70 @@
|
|||
@pagination="getList"
|
||||
/>
|
||||
</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-checkbox :label="scope.row.id" v-model="currentRowValue" @change="handleCurrentChange(scope.row)">
|
||||
|
||||
</el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||
<el-table-column label="项目负责人" align="center" prop="projectLeader" />
|
||||
<el-table-column label="所属技术领域" align="center" prop="technicalField" />
|
||||
<el-table-column label="年度" align="center" prop="year" />
|
||||
|
||||
</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>
|
||||
<Dialog title="审核" v-model="dialogVisible1">
|
||||
<ContentWrap>
|
||||
<el-form label-width="80px" :model="formData" class="m-t-8px" :rules="formRules">
|
||||
<el-form-item label="" prop="status">
|
||||
<el-radio-group v-model="formData.status">
|
||||
<el-radio label="1">审核通过</el-radio>
|
||||
<el-radio label="0">审核不通过</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核意见" prop="comment" v-if="formData.status == '0'">
|
||||
<el-input type="textarea" v-model="formData.comment" resize="vertical" :autosize="{ minRows: 2, maxRows: 4 }" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</ContentWrap>
|
||||
<template #footer>
|
||||
<el-button type="primary" @click="submitForm1">确 定</el-button>
|
||||
<el-button @click="dialogVisible1 = false">取 消</el-button>
|
||||
</template>
|
||||
</Dialog>
|
||||
<Dialog title="审核记录" v-model="dialogVisible2">
|
||||
<ContentWrap>
|
||||
<el-timeline>
|
||||
<el-timeline-item :timestamp="formatDate(log.createTime)" placement="top" v-for="(log, index) in logList"
|
||||
:key="index">
|
||||
<el-card>
|
||||
<div>{{ log.creatorName }}</div>
|
||||
<p>{{ log.comment }}</p>
|
||||
<el-tag class="mr-10px" type="danger" v-if="log.status == '0'">审核不通过</el-tag>
|
||||
<el-tag class="mr-10px" type="success" v-if="log.status == '1'">审核通过</el-tag>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
|
||||
|
||||
</el-timeline>
|
||||
|
||||
<div v-if="logList.length == 0"> 暂无审核记录</div>
|
||||
</ContentWrap>
|
||||
|
||||
</Dialog>
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<MainForm ref="formRef" @success="getList" />
|
||||
</template>
|
||||
|
|
@ -330,16 +398,22 @@ import { dateFormatter } from '@/utils/formatTime'
|
|||
import download from '@/utils/download'
|
||||
import { MainApi, MainVO } from '@/api/acceptance/acceptance'
|
||||
import MainForm from './MainForm.vue'
|
||||
|
||||
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
||||
import { formatDate } from '@/utils/formatTime'
|
||||
/** 验收 列表 */
|
||||
defineOptions({ name: 'AcceptanceMain' })
|
||||
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogVisible1 = ref(false) // 弹窗的是否展示
|
||||
const dialogVisible2 = ref(false) // 弹窗的是否展示
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const loading1 = ref(true) // 列表的加载中
|
||||
const list = ref<MainVO[]>([]) // 列表的数据
|
||||
const logList = ref([]) // 弹窗的是否展示
|
||||
const list1 = ref<MainVO[]>([]) // 导入立项列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const total1 = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
|
|
@ -380,7 +454,9 @@ const getList = async () => {
|
|||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const formRules = reactive({
|
||||
comment: [{ required: true, message: '审核意见不能为空', trigger: 'blur' }],
|
||||
})
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
|
|
@ -398,7 +474,31 @@ const formRef = ref()
|
|||
const openForm = (type: string, id?: number) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
// 点击导入立项
|
||||
const handleInsert = async () => {
|
||||
currentRowValue.value = undefined
|
||||
dialogVisible.value = true
|
||||
getList1()
|
||||
|
||||
}
|
||||
const queryParams1 = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
projectName: undefined,
|
||||
projectLeader: undefined,
|
||||
projectCode: undefined,
|
||||
technicalField: undefined,
|
||||
year: undefined,
|
||||
})
|
||||
const { wsCache } = useCache()
|
||||
const user = wsCache.get(CACHE_KEY.USER).user
|
||||
const formData = ref({
|
||||
itemId: undefined,
|
||||
moduleId: "5",
|
||||
creatorName: user.nickname,
|
||||
status: '1',
|
||||
comment: '',
|
||||
})
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
|
|
@ -411,7 +511,66 @@ const handleDelete = async (id: number) => {
|
|||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
const handlePresenting = async (id: number) => {
|
||||
try {
|
||||
var par = { id: id }
|
||||
await MainApi.presentingAcceptance(par)
|
||||
await getList()
|
||||
} catch { }
|
||||
}
|
||||
//审核
|
||||
const handleauditContract = async (id: number) => {
|
||||
formData.value.itemId = id;
|
||||
dialogVisible1.value = true
|
||||
}
|
||||
const handleRecord = async (id: number) => {
|
||||
dialogVisible2.value = true
|
||||
try {
|
||||
const data = await MainApi.getAuditList({ id: id })
|
||||
logList.value = data
|
||||
|
||||
} finally {
|
||||
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 {
|
||||
await MainApi.generateAcceptance({ id: currentRow.value })
|
||||
message.success("提报成功")
|
||||
} finally {
|
||||
// 关闭弹窗
|
||||
currentRow.value = undefined
|
||||
currentRowValue.value = undefined
|
||||
dialogVisible.value = false
|
||||
}
|
||||
}
|
||||
const submitForm1 = async () => {
|
||||
try {
|
||||
await MainApi.auditAcceptance(formData.value as unknown as MainVO)
|
||||
message.success("审核成功")
|
||||
} finally {
|
||||
// 关闭弹窗
|
||||
currentRow.value = undefined
|
||||
currentRowValue.value = undefined
|
||||
dialogVisible.value = false
|
||||
}
|
||||
}
|
||||
/** 导出按钮操作 */
|
||||
const handleExport = async () => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -200,17 +200,6 @@ const queryParams = reactive({
|
|||
technicalField: undefined,
|
||||
year: undefined,
|
||||
})
|
||||
/** 获得 userType 颜色 */
|
||||
const getUserTypeColor = (type: any) => {
|
||||
|
||||
switch (type) {
|
||||
case '1':
|
||||
return '#67C23A'
|
||||
case '0':
|
||||
return '#E6A23C'
|
||||
}
|
||||
return '#409EFF'
|
||||
}
|
||||
const queryParams1 = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
|
|
|
|||
Loading…
Reference in New Issue