diff --git a/src/api/contract/contract/index.ts b/src/api/contract/contract/index.ts
index 928d2651c..768a2bd31 100644
--- a/src/api/contract/contract/index.ts
+++ b/src/api/contract/contract/index.ts
@@ -1,129 +1,136 @@
-import request from '@/config/axios'
-
-// 任务书主 VO
-export interface MainVO {
- id: number // 主键id
- projectName: string // 项目名称
- projectLeader: string // 项目负责人
- projectLeaderId: number // 项目负责人Id
- projectCode: string // 项目编号
- technicalField: string // 所属技术领域
- year: string // 年度
- beginDate: Date // 开始时间
- endDate: Date // 结束时间
- planName: string // 计划类型
- planId: string // 计划Id
- supportingCondition: string // 课题实施所需的其他配套条件
- gender: number // 性别
- age: string // 年龄
- education: string // 学历
- major: string // 所学专业
- engagMajor: string // 从事专业
- position: string // 职务(职称)
- phoneNo: string // 电话
- email: string // 邮箱
- fax: string // 传真
- postalCode: string // 邮编
- address: string // 通讯地址
- achievement: string // 主要业绩
- competentDeptId: number // 主管部门ID
- competentDeptName: string // 主管部门
- managerId: number // 主管工程师ID
- managerName: string // 主管工程师
- maintenanceUnitName: string // 维护单位名称
- maintenanceUnitId: number // 维护单位ID
- undertakingUnitName: string // 承担单位名称
- undertakingUnitId: number // 承担单位ID
- reviewUnitName: string // 审核单位名称
- reviewUnitId: number // 审核单位ID
- state: string // 状态
-}
-
-// 任务书主 API
-export const MainApi = {
- // 查询任务书主分页
- getMainPage: async (params: any) => {
- return await request.get({ url: `/contract/main/page`, params })
- },
-
- // 查询任务书主详情
- getMain: async (id: number) => {
- return await request.get({ url: `/contract/main/get?id=` + id })
- },
-
- // 新增任务书主
- createMain: async (data: MainVO) => {
- return await request.post({ url: `/contract/main/create`, data })
- },
-
- // 修改任务书主
- updateMain: async (data: MainVO) => {
- return await request.put({ url: `/contract/main/update`, data })
- },
-
- // 删除任务书主
- deleteMain: async (id: number) => {
- return await request.delete({ url: `/contract/main/delete?id=` + id })
- },
-
- // 导出任务书主 Excel
- exportMain: async (params) => {
- return await request.download({ url: `/contract/main/export-excel`, params })
- },
-
-// ==================== 子表(任务书详细信息) ====================
-
- // 获得任务书详细信息
- getInfoByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/info/get-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(任务书项目目标) ====================
-
- // 获得任务书项目目标列表
- getTargetListByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/target/list-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(任务书考核指标) ====================
-
- // 获得任务书考核指标列表
- getCheckListByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/check/list-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(项目实施计划) ====================
-
- // 获得项目实施计划列表
- getPlanListByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/plan/list-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(任务书经费) ====================
-
- // 获得任务书经费列表
- getFundsListByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/funds/list-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(参加单位) ====================
-
- // 获得参加单位列表
- getUnitListByContractId: async (contractId) => {
- return await request.get({ url: `/contract/main/unit/list-by-contract-id?contractId=` + contractId })
- },
-
-// ==================== 子表(项目所需设备) ====================
-
- // 获得项目所需设备列表
- getDeviceListByContractId: async (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 })
- },
-}
\ No newline at end of file
+import request from '@/config/axios'
+
+// 任务书主 VO
+export interface MainVO {
+ id: number // 主键id
+ projectName: string // 项目名称
+ projectLeader: string // 项目负责人
+ projectLeaderId: number // 项目负责人Id
+ projectCode: string // 项目编号
+ technicalField: string // 所属技术领域
+ year: string // 年度
+ beginDate: Date // 开始时间
+ endDate: Date // 结束时间
+ planName: string // 计划类型
+ planId: string // 计划Id
+ supportingCondition: string // 课题实施所需的其他配套条件
+ gender: number // 性别
+ age: string // 年龄
+ education: string // 学历
+ major: string // 所学专业
+ engagMajor: string // 从事专业
+ position: string // 职务(职称)
+ phoneNo: string // 电话
+ email: string // 邮箱
+ fax: string // 传真
+ postalCode: string // 邮编
+ address: string // 通讯地址
+ achievement: string // 主要业绩
+ competentDeptId: number // 主管部门ID
+ competentDeptName: string // 主管部门
+ managerId: number // 主管工程师ID
+ managerName: string // 主管工程师
+ maintenanceUnitName: string // 维护单位名称
+ maintenanceUnitId: number // 维护单位ID
+ undertakingUnitName: string // 承担单位名称
+ undertakingUnitId: number // 承担单位ID
+ reviewUnitName: string // 审核单位名称
+ reviewUnitId: number // 审核单位ID
+ state: string // 状态
+}
+
+// 任务书主 API
+export const MainApi = {
+ // 查询任务书主分页
+ getMainPage: async (params: any) => {
+ return await request.get({ url: `/contract/main/page`, params })
+ },
+
+ // 查询任务书主详情
+ getMain: async (id: number) => {
+ return await request.get({ url: `/contract/main/get?id=` + id })
+ },
+
+ // 新增任务书主
+ createMain: async (data: MainVO) => {
+ return await request.post({ url: `/contract/main/create`, data })
+ },
+
+ // 修改任务书主
+ updateMain: async (data: MainVO) => {
+ return await request.put({ url: `/contract/main/update`, data })
+ },
+
+ // 删除任务书主
+ deleteMain: async (id: number) => {
+ return await request.delete({ url: `/contract/main/delete?id=` + id })
+ },
+
+ // 导出任务书主 Excel
+ exportMain: async (params) => {
+ return await request.download({ url: `/contract/main/export-excel`, params })
+ },
+ // 导入立项
+ getListPage: async (params) => {
+ return await request.get({ url: `/apply/main/page`, params })
+ },
+
+ generateContract: async (data: MainVO) => {
+ return await request.post({ url: `/contract/main/generateContract`, data })
+ },
+// ==================== 子表(任务书详细信息) ====================
+
+ // 获得任务书详细信息
+ getInfoByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/info/get-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(任务书项目目标) ====================
+
+ // 获得任务书项目目标列表
+ getTargetListByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/target/list-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(任务书考核指标) ====================
+
+ // 获得任务书考核指标列表
+ getCheckListByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/check/list-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(项目实施计划) ====================
+
+ // 获得项目实施计划列表
+ getPlanListByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/plan/list-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(任务书经费) ====================
+
+ // 获得任务书经费列表
+ getFundsListByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/funds/list-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(参加单位) ====================
+
+ // 获得参加单位列表
+ getUnitListByContractId: async (contractId) => {
+ return await request.get({ url: `/contract/main/unit/list-by-contract-id?contractId=` + contractId })
+ },
+
+// ==================== 子表(项目所需设备) ====================
+
+ // 获得项目所需设备列表
+ getDeviceListByContractId: async (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 })
+ },
+}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 6336511fd..7ce764634 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -124,6 +124,7 @@ export enum DICT_TYPE {
SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type',
SYSTEM_SOCIAL_TYPE = 'system_social_type',
SYSTEM_EDUCATION = "education", // 学历
+ PLAN_ID="plan_id",//计划类型
SYSTEM_MAJOR = "major", //专业
// ========== 所属技术领域 ==========
diff --git a/src/views/contract/contract/MainForm.vue b/src/views/contract/contract/MainForm.vue
index d21d69279..31dad024b 100644
--- a/src/views/contract/contract/MainForm.vue
+++ b/src/views/contract/contract/MainForm.vue
@@ -1,141 +1,174 @@
-
+
@@ -37,7 +37,7 @@
-
+
diff --git a/src/views/contract/contract/components/InfoForm.vue b/src/views/contract/contract/components/InfoForm.vue
index 8a9bdf95d..079307c33 100644
--- a/src/views/contract/contract/components/InfoForm.vue
+++ b/src/views/contract/contract/components/InfoForm.vue
@@ -3,7 +3,7 @@
ref="formRef"
:model="formData"
:rules="formRules"
- label-width="100px"
+ label-width="350px"
v-loading="formLoading"
>
@@ -45,7 +45,7 @@ const formLoading = ref(false) // 表单的加载中
const formData = ref([])
const formRules = reactive({
contractId: [{ required: true, message: '任务书ID不能为空', trigger: 'blur' }],
- purposeSignificance: [{ required: true, message: '项目目的与意义不能为空', trigger: 'blur' }],
+/* purposeSignificance: [{ required: true, message: '项目目的与意义不能为空', trigger: 'blur' }],
currentSituation: [{ required: true, message: '项目所属领域国内外产业、技术的现状和发展趋势不能为空', trigger: 'blur' }],
workFoundation: [{ required: true, message: '项目现有工作基础不能为空', trigger: 'blur' }],
projectAccording: [{ required: true, message: '项目实施目标及考核指标-考核指标依据不能为空', trigger: 'blur' }],
@@ -53,7 +53,7 @@ const formRules = reactive({
researchRoadmap: [{ required: true, message: '主要研究开发内容-技术路线不能为空', trigger: 'blur' }],
researchInnovation: [{ required: true, message: '主要研究开发内容-创新性不能为空', trigger: 'blur' }],
riskAnalysis: [{ required: true, message: '课题实施的风险分析不能为空', trigger: 'blur' }],
- projectAchie: [{ required: true, message: '预期主要成果形式、知识产权归属不能为空', trigger: 'blur' }],
+ projectAchie: [{ required: true, message: '预期主要成果形式、知识产权归属不能为空', trigger: 'blur' }],*/
})
const formRef = ref() // 表单 Ref
@@ -104,4 +104,4 @@ const getData = () => {
}
defineExpose({ validate, getData })
-
\ No newline at end of file
+
diff --git a/src/views/contract/contract/index.vue b/src/views/contract/contract/index.vue
index aa87a3022..5099c574d 100644
--- a/src/views/contract/contract/index.vue
+++ b/src/views/contract/contract/index.vue
@@ -1,82 +1,43 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
- 搜索
- 重置
-
+
+ 搜索
+
+
+ 重置
+
+
+ 导入立项
+
+
新增
-
+
导出
@@ -97,20 +58,8 @@
-
-
+
+
@@ -122,43 +71,47 @@
-
+
-
+
编辑
-
+
删除
-
+
+
+
@@ -176,9 +129,13 @@ defineOptions({ name: 'ContractMain' })
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
+const dialogVisible = ref(false) // 弹窗的是否展示
const loading = ref(true) // 列表的加载中
+const loading1 = ref(true) // 列表的加载中
const list = ref([]) // 列表的数据
+const list1 = ref([]) // 导入立项列表的数据
const total = ref(0) // 列表的总页数
+const total1 = ref(0) // 列表的总页数
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
@@ -188,6 +145,15 @@ const queryParams = reactive({
technicalField: undefined,
year: undefined,
})
+const queryParams1 = reactive({
+ pageNo: 1,
+ pageSize: 10,
+ projectName: undefined,
+ projectLeader: undefined,
+ projectCode: undefined,
+ technicalField: undefined,
+ year: undefined,
+})
const queryFormRef = ref() // 搜索的表单
const exportLoading = ref(false) // 导出的加载中
@@ -202,7 +168,32 @@ const getList = async () => {
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 = () => {
queryParams.pageNo = 1
@@ -220,6 +211,12 @@ const formRef = ref()
const openForm = (type: string, id?: number) => {
formRef.value.open(type, id)
}
+// 点击导入立项
+const handleInsert = async () => {
+ dialogVisible.value = true
+ getList1()
+
+}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
@@ -231,7 +228,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess'))
// 刷新列表
await getList()
- } catch {}
+ } catch { }
}
/** 导出按钮操作 */