diff --git a/src/api/infra/module/index.ts b/src/api/infra/module/index.ts
new file mode 100644
index 000000000..21b53aa73
--- /dev/null
+++ b/src/api/infra/module/index.ts
@@ -0,0 +1,42 @@
+import request from '@/config/axios'
+
+// 模块-阶段管理 VO
+export interface ModuleVO {
+ id: number // 主键Id
+ moduleName: string // 模块名称
+ stage: string // 阶段
+ revision: number // 乐观锁
+}
+
+// 模块-阶段管理 API
+export const ModuleApi = {
+ // 查询模块-阶段管理分页
+ getModulePage: async (params: any) => {
+ return await request.get({ url: `/infra/module/page`, params })
+ },
+
+ // 查询模块-阶段管理详情
+ getModule: async (id: number) => {
+ return await request.get({ url: `/infra/module/get?id=` + id })
+ },
+
+ // 新增模块-阶段管理
+ createModule: async (data: ModuleVO) => {
+ return await request.post({ url: `/infra/module/create`, data })
+ },
+
+ // 修改模块-阶段管理
+ updateModule: async (data: ModuleVO) => {
+ return await request.put({ url: `/infra/module/update`, data })
+ },
+
+ // 删除模块-阶段管理
+ deleteModule: async (id: number) => {
+ return await request.delete({ url: `/infra/module/delete?id=` + id })
+ },
+
+ // 导出模块-阶段管理 Excel
+ exportModule: async (params) => {
+ return await request.download({ url: `/infra/module/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/infra/modulefile/index.ts b/src/api/infra/modulefile/index.ts
new file mode 100644
index 000000000..6d4e33cd2
--- /dev/null
+++ b/src/api/infra/modulefile/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 模块文件管理 VO
+export interface ModuleFileVO {
+ id: number // 主键Id
+ fileName: string // 文件名称
+ fileType: string // 文件类型
+ revision: number // 乐观锁
+ moduleId: number // 模块id
+ required: boolean // 是否为必传
+ fileSize: number // 文件大小
+}
+
+// 模块文件管理 API
+export const ModuleFileApi = {
+ // 查询模块文件管理分页
+ getModuleFilePage: async (params: any) => {
+ return await request.get({ url: `/infra/module-file/page`, params })
+ },
+
+ // 查询模块文件管理详情
+ getModuleFile: async (id: number) => {
+ return await request.get({ url: `/infra/module-file/get?id=` + id })
+ },
+
+ // 新增模块文件管理
+ createModuleFile: async (data: ModuleFileVO) => {
+ return await request.post({ url: `/infra/module-file/create`, data })
+ },
+
+ // 修改模块文件管理
+ updateModuleFile: async (data: ModuleFileVO) => {
+ return await request.put({ url: `/infra/module-file/update`, data })
+ },
+
+ // 删除模块文件管理
+ deleteModuleFile: async (id: number) => {
+ return await request.delete({ url: `/infra/module-file/delete?id=` + id })
+ },
+
+ // 导出模块文件管理 Excel
+ exportModuleFile: async (params) => {
+ return await request.download({ url: `/infra/module-file/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/patents/patents/index.ts b/src/api/patents/patents/index.ts
index c55b1888b..ace511982 100644
--- a/src/api/patents/patents/index.ts
+++ b/src/api/patents/patents/index.ts
@@ -50,10 +50,27 @@ export const MainApi = {
return await request.download({ url: `/patents/main/export-excel`, params })
},
+ //审核
+ auditPatent: async (data: MainVO) => {
+ return await request.post({ url: `/patents/main/auditPatent`, data })
+ },
+ //提报
+ presentingPatent: async (params: any) => {
+ return await request.post({ url: `/patents/main/presentingPatent`, params })
+ },
+ //审核记录
+ getAuditList: async (params) => {
+ return await request.get({ url: `/patents/main/getAuditList`, params })
+ },
+ // 成文
+ generateDoc: async (id: number)=>{
+ return await request.download({ url: `/patents/main/generate-doc?id=` + id })
+ },
+
// ==================== 子表(专利信息) ====================
// 获得专利信息列表
getInfoListByPatentsId: async (patentsId) => {
return await request.get({ url: `/patents/main/info/list-by-patents-id?patentsId=` + patentsId })
},
-}
\ No newline at end of file
+}
diff --git a/src/api/publicLab/equip/index.ts b/src/api/publicLab/equip/index.ts
new file mode 100644
index 000000000..fe69b0957
--- /dev/null
+++ b/src/api/publicLab/equip/index.ts
@@ -0,0 +1,42 @@
+import request from '@/config/axios'
+
+// 实验室设备 VO
+export interface LabEquipmentVO {
+ id: number // 主键ID
+ labId: number // 实验室ID
+ equipmentName: string // 设备名称
+ revision: number // 乐观锁
+}
+
+// 实验室设备 API
+export const LabEquipmentApi = {
+ // 查询实验室设备分页
+ getLabEquipmentPage: async (params: any) => {
+ return await request.get({ url: `/lab-equipment/page`, params })
+ },
+
+ // 查询实验室设备详情
+ getLabEquipment: async (id: number) => {
+ return await request.get({ url: `/lab-equipment/get?id=` + id })
+ },
+
+ // 新增实验室设备
+ createLabEquipment: async (data: LabEquipmentVO) => {
+ return await request.post({ url: `/lab-equipment/create`, data })
+ },
+
+ // 修改实验室设备
+ updateLabEquipment: async (data: LabEquipmentVO) => {
+ return await request.put({ url: `/lab-equipment/update`, data })
+ },
+
+ // 删除实验室设备
+ deleteLabEquipment: async (id: number) => {
+ return await request.delete({ url: `/lab-equipment/delete?id=` + id })
+ },
+
+ // 导出实验室设备 Excel
+ exportLabEquipment: async (params) => {
+ return await request.download({ url: `/lab-equipment/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/publicLab/lab/index.ts b/src/api/publicLab/lab/index.ts
new file mode 100644
index 000000000..b49852d89
--- /dev/null
+++ b/src/api/publicLab/lab/index.ts
@@ -0,0 +1,48 @@
+import request from '@/config/axios'
+
+// 公共实验室 VO
+export interface LabVO {
+ id: number // 主键ID
+ labName: string // 实验室名称
+ revision: number // 乐观锁
+}
+
+// 公共实验室 API
+export const LabApi = {
+ // 查询公共实验室分页
+ getLabPage: async (params: any) => {
+ return await request.get({ url: `/Lab/page`, params })
+ },
+
+ // 查询公共实验室详情
+ getLab: async (id: number) => {
+ return await request.get({ url: `/Lab/get?id=` + id })
+ },
+
+ // 新增公共实验室
+ createLab: async (data: LabVO) => {
+ return await request.post({ url: `/Lab/create`, data })
+ },
+
+ // 修改公共实验室
+ updateLab: async (data: LabVO) => {
+ return await request.put({ url: `/Lab/update`, data })
+ },
+
+ // 删除公共实验室
+ deleteLab: async (id: number) => {
+ return await request.delete({ url: `/Lab/delete?id=` + id })
+ },
+
+ // 导出公共实验室 Excel
+ exportLab: async (params) => {
+ return await request.download({ url: `/Lab/export-excel`, params })
+ },
+
+ // ==================== 子表(实验室设备) ====================
+
+ // 获得实验室设备列表
+ getLabEquipmentListByLabId: async (labId) => {
+ return await request.get({ url: `/Lab/lab-equipment/list-by-lab-id?labId=` + labId })
+ }
+}
\ No newline at end of file
diff --git a/src/api/publicLab/publicLab/index.ts b/src/api/publicLab/publicLab/index.ts
index 33d73b191..c3ddaa7ea 100644
--- a/src/api/publicLab/publicLab/index.ts
+++ b/src/api/publicLab/publicLab/index.ts
@@ -14,6 +14,8 @@ export interface VO {
deptId: number // 单位ID
deptName: string // 单位名称
revision: number // 乐观锁
+ checkout: string // 归还
+ state: number // 归还状态
}
// 公共实验室信 API
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index 2dd5e0f30..79a51c3b8 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -54,7 +54,8 @@ export default {
updateTime: '更新时间',
copy: '复制',
copySuccess: '复制成功',
- copyError: '复制失败'
+ copyError: '复制失败',
+ checkoutSuccess: '归还成功',
},
lock: {
lockScreen: '锁定屏幕',
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index f63bee6e4..a77fdc276 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -128,6 +128,54 @@ const remainingRouter: AppRouteRecordRaw[] = [
]
},
+ {
+ path: '/lab',
+ component: Layout,
+ name: 'llab',
+ meta: {
+ hidden: true
+ },
+ children: [
+ {
+ path: 'equip/:labId',
+ component: () => import('@/views/publicLab/publicLab/equip/index.vue'),
+ name: 'eequip',
+ meta: {
+ title: '设备管理',
+ noCache: true,
+ hidden: true,
+ canTo: true,
+ icon: '',
+ activeMenu: '/publicLab/lab'
+ }
+ }
+ ]
+ },
+
+ {
+ path: '/module-file',
+ component: Layout,
+ name: 'modulefile',
+ meta: {
+ hidden: true
+ },
+ children: [
+ {
+ path: 'file/:moduleId',
+ component: () => import('@/views/infra/modulefile/file/index.vue'),
+ name: 'modulefile-file',
+ meta: {
+ title: '文件管理',
+ noCache: true,
+ hidden: true,
+ canTo: true,
+ icon: '',
+ activeMenu: '/infra/module-file'
+ }
+ }
+ ]
+ },
+
{
path: '/codegen',
component: Layout,
diff --git a/src/views/infra/modulefile/ModuleForm.vue b/src/views/infra/modulefile/ModuleForm.vue
new file mode 100644
index 000000000..e211b4a68
--- /dev/null
+++ b/src/views/infra/modulefile/ModuleForm.vue
@@ -0,0 +1,115 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/infra/modulefile/file/ModuleFileForm.vue b/src/views/infra/modulefile/file/ModuleFileForm.vue
new file mode 100644
index 000000000..a3b169493
--- /dev/null
+++ b/src/views/infra/modulefile/file/ModuleFileForm.vue
@@ -0,0 +1,137 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/infra/modulefile/file/index.vue b/src/views/infra/modulefile/file/index.vue
new file mode 100644
index 000000000..bf924efdb
--- /dev/null
+++ b/src/views/infra/modulefile/file/index.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+ {{ scope.row.fileSize ? scope.row.fileSize + ' MB' : '' }}
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/infra/modulefile/index.vue b/src/views/infra/modulefile/index.vue
new file mode 100644
index 000000000..b917fa92d
--- /dev/null
+++ b/src/views/infra/modulefile/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 文件管理
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/patents/patents/index.vue b/src/views/patents/patents/index.vue
index 54b4006c8..029d37f4b 100644
--- a/src/views/patents/patents/index.vue
+++ b/src/views/patents/patents/index.vue
@@ -122,7 +122,8 @@
:formatter="dateFormatter"
width="180px"
/>
-
+
+
删除
+
+ 成文
+
+
+ 提报
+
+
+ 审核
+
+
+ 审核记录
+
@@ -152,6 +170,46 @@
/>
+
+
+
@@ -162,6 +220,8 @@ import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { MainApi, MainVO } from '@/api/patents/patents'
import MainForm from './MainForm.vue'
+import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
+import { formatDate } from '@/utils/formatTime'
/** 专利信息 列表 */
defineOptions({ name: 'PatentsMain' })
@@ -187,6 +247,22 @@ const queryParams = reactive({
})
const queryFormRef = ref() // 搜索的表单
const exportLoading = ref(false) // 导出的加载中
+const dialogVisible1 = ref(false) // 弹窗的是否展示
+const dialogVisible2 = ref(false) // 弹窗的是否展示
+const logList = ref([]) // 弹窗的是否展示
+
+const { wsCache } = useCache()
+const user = wsCache.get(CACHE_KEY.USER).user
+const formData = ref({
+ itemId: undefined,
+ moduleId: "7",
+ creatorName: user.nickname,
+ status: '1',
+ comment: '',
+})
+const formRules = reactive({
+ comment: [{ required: true, message: '审核意见不能为空', trigger: 'blur' }],
+})
/** 查询列表 */
const getList = async () => {
@@ -246,6 +322,61 @@ const handleExport = async () => {
}
}
+//提报
+const handlePresenting = async (id: number) => {
+ try {
+ var par = { id: id }
+ await MainApi.presentingPatent(par)
+ await getList()
+ } catch { }
+}
+
+//审核
+const handleauditPatent = async (id: number) => {
+ formData.value.itemId = id;
+ formData.value.comment = ''
+ 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 submitForm1 = async () => {
+ try {
+ await MainApi.auditPatent(formData.value as unknown as MainVO)
+ message.success("审核成功")
+ await getList()
+ } finally {
+ // 关闭弹窗
+ //currentRow.value = undefined
+ //currentRowValue.value = undefined
+ dialogVisible1.value = false
+ }
+}
+
+const generateDoc = async (id: number,name:string) =>{
+ //todo
+ try{
+ // 发起导出
+ // exportLoading.value = true
+ const filename = name +'.docx'
+ const data = await MainApi.generateDoc(id)
+ download.word(data, filename)
+ } catch {
+ } finally {
+ // exportLoading.value = false
+ }
+}
+
/** 初始化 **/
onMounted(() => {
getList()
diff --git a/src/views/publicLab/publicLab/equip/LabEquipmentForm.vue b/src/views/publicLab/publicLab/equip/LabEquipmentForm.vue
new file mode 100644
index 000000000..ba4e2319b
--- /dev/null
+++ b/src/views/publicLab/publicLab/equip/LabEquipmentForm.vue
@@ -0,0 +1,103 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/publicLab/publicLab/equip/index.vue b/src/views/publicLab/publicLab/equip/index.vue
new file mode 100644
index 000000000..d9b41ecd5
--- /dev/null
+++ b/src/views/publicLab/publicLab/equip/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/publicLab/publicLab/lab/Form.vue b/src/views/publicLab/publicLab/lab/Form.vue
new file mode 100644
index 000000000..a8a3e5d92
--- /dev/null
+++ b/src/views/publicLab/publicLab/lab/Form.vue
@@ -0,0 +1,98 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/publicLab/publicLab/lab/index.vue b/src/views/publicLab/publicLab/lab/index.vue
new file mode 100644
index 000000000..b70d56bf5
--- /dev/null
+++ b/src/views/publicLab/publicLab/lab/index.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 设备管理
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/publicLab/publicLab/reservation/CheckoutForm.vue b/src/views/publicLab/publicLab/reservation/CheckoutForm.vue
new file mode 100644
index 000000000..7c7cb712a
--- /dev/null
+++ b/src/views/publicLab/publicLab/reservation/CheckoutForm.vue
@@ -0,0 +1,187 @@
+
+
+
+
diff --git a/src/views/publicLab/publicLab/Form.vue b/src/views/publicLab/publicLab/reservation/Form.vue
similarity index 100%
rename from src/views/publicLab/publicLab/Form.vue
rename to src/views/publicLab/publicLab/reservation/Form.vue
diff --git a/src/views/publicLab/publicLab/index.vue b/src/views/publicLab/publicLab/reservation/index.vue
similarity index 76%
rename from src/views/publicLab/publicLab/index.vue
rename to src/views/publicLab/publicLab/reservation/index.vue
index 91fe1416d..54ab803f4 100644
--- a/src/views/publicLab/publicLab/index.vue
+++ b/src/views/publicLab/publicLab/reservation/index.vue
@@ -8,7 +8,7 @@
:inline="true"
label-width="100px"
>
-
+
-
+
+
+ 未归还
+ 待确认
+ 已确认
+
+
+
删除
+
+ 归还
+
+
+ 归还信息
+
+
+ 确认归还
+
@@ -115,6 +146,8 @@
+
+