diff --git a/.env.development b/.env.development index fe20df3..21892b7 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.159:8898' +VITE_APP_BASE_API = 'http://192.168.110.180:8898' # 无人机接口地址 diff --git a/src/api/design/prelimScheme/index.ts b/src/api/design/prelimScheme/index.ts new file mode 100644 index 0000000..970bc29 --- /dev/null +++ b/src/api/design/prelimScheme/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { PrelimSchemeVO, PrelimSchemeForm, PrelimSchemeQuery } from '@/api/design/prelimScheme/types'; + +/** + * 查询设计初步方案列表 + * @param query + * @returns {*} + */ + +export const listPrelimScheme = (query?: PrelimSchemeQuery): AxiosPromise => { + return request({ + url: '/design/prelimScheme/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设计初步方案详细 + * @param id + */ +export const getPrelimScheme = (id: string | number): AxiosPromise => { + return request({ + url: '/design/prelimScheme/' + id, + method: 'get' + }); +}; + +/** + * 新增设计初步方案 + * @param data + */ +export const addPrelimScheme = (data: PrelimSchemeForm) => { + return request({ + url: '/design/prelimScheme', + method: 'post', + data: data + }); +}; + +/** + * 修改设计初步方案 + * @param data + */ +export const updatePrelimScheme = (data: PrelimSchemeForm) => { + return request({ + url: '/design/prelimScheme/update/' + data.id, + method: 'post', + data: data + }); +}; + +/** + * 删除设计初步方案 + * @param id + */ +export const delPrelimScheme = (id: string | number | Array) => { + return request({ + url: '/design/prelimScheme/' + id, + method: 'delete' + }); +}; diff --git a/src/api/design/prelimScheme/types.ts b/src/api/design/prelimScheme/types.ts new file mode 100644 index 0000000..b2fae65 --- /dev/null +++ b/src/api/design/prelimScheme/types.ts @@ -0,0 +1,101 @@ +export interface PrelimSchemeVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * ossId + */ + ossId: string | number; + + /** + * 文件名称 + */ + fileName: string; + + /** + * 文件访问路径 + */ + fileUrl: string; + + /** + * 审核状态 + */ + status: string; + +} + +export interface PrelimSchemeForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * ossId + */ + ossId?: string | number; + + /** + * 文件名称 + */ + fileName?: string; + + /** + * 文件访问路径 + */ + fileUrl?: string; + + /** + * 审核状态 + */ + status?: string; + +} + +export interface PrelimSchemeQuery extends PageQuery { + + /** + * 项目id + */ + projectId?: string | number; + + /** + * ossId + */ + ossId?: string | number; + + /** + * 文件名称 + */ + fileName?: string; + + /** + * 文件访问路径 + */ + fileUrl?: string; + + /** + * 审核状态 + */ + status?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/design/scheme/index.ts b/src/api/design/scheme/index.ts new file mode 100644 index 0000000..bfd280a --- /dev/null +++ b/src/api/design/scheme/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SchemeVO, SchemeForm, SchemeQuery } from '@/api/design/scheme/types'; + +/** + * 查询设计初步方案列表 + * @param query + * @returns {*} + */ + +export const listScheme = (query?: SchemeQuery): AxiosPromise => { + return request({ + url: '/design/scheme/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设计初步方案详细 + * @param id + */ +export const getScheme = (id: string | number): AxiosPromise => { + return request({ + url: '/design/scheme/' + id, + method: 'get' + }); +}; + +/** + * 新增设计初步方案 + * @param data + */ +export const addScheme = (data: SchemeForm) => { + return request({ + url: '/design/scheme', + method: 'post', + data: data + }); +}; + +/** + * 修改设计初步方案 + * @param data + */ +export const updateScheme = (data: SchemeForm) => { + return request({ + url: '/design/scheme/update/' + data.id, + method: 'post', + data: data + }); +}; + +/** + * 删除设计初步方案 + * @param id + */ +export const delScheme = (id: string | number | Array) => { + return request({ + url: '/design/scheme/' + id, + method: 'delete' + }); +}; diff --git a/src/api/design/scheme/types.ts b/src/api/design/scheme/types.ts new file mode 100644 index 0000000..2e17c0c --- /dev/null +++ b/src/api/design/scheme/types.ts @@ -0,0 +1,101 @@ +export interface SchemeVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * ossId + */ + ossId: string | number; + + /** + * 文件名称 + */ + fileName: string; + + /** + * 文件访问路径 + */ + fileUrl: string; + + /** + * 审核状态 + */ + status: string; + +} + +export interface SchemeForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * ossId + */ + ossId?: string | number; + + /** + * 文件名称 + */ + fileName?: string; + + /** + * 文件访问路径 + */ + fileUrl?: string; + + /** + * 审核状态 + */ + status?: string; + +} + +export interface SchemeQuery extends PageQuery { + + /** + * 项目id + */ + projectId?: string | number; + + /** + * ossId + */ + ossId?: string | number; + + /** + * 文件名称 + */ + fileName?: string; + + /** + * 文件访问路径 + */ + fileUrl?: string; + + /** + * 审核状态 + */ + status?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/design/subcontract/index.ts b/src/api/design/subcontract/index.ts new file mode 100644 index 0000000..6101911 --- /dev/null +++ b/src/api/design/subcontract/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SubcontractVO, SubcontractForm, SubcontractQuery } from '@/api/design/subcontract/types'; + +/** + * 查询设计分包列表 + * @param query + * @returns {*} + */ + +export const listSubcontract = (query?: SubcontractQuery): AxiosPromise => { + return request({ + url: '/design/subcontract/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设计分包详细 + * @param id + */ +export const getSubcontract = (id: string | number): AxiosPromise => { + return request({ + url: '/design/subcontract/' + id, + method: 'get' + }); +}; + +/** + * 新增设计分包 + * @param data + */ +export const addSubcontract = (data: SubcontractForm) => { + return request({ + url: '/design/subcontract', + method: 'post', + data: data + }); +}; + +/** + * 修改设计分包 + * @param data + */ +export const updateSubcontract = (data: SubcontractForm) => { + return request({ + url: '/design/subcontract', + method: 'put', + data: data + }); +}; + +/** + * 删除设计分包 + * @param id + */ +export const delSubcontract = (id: string | number | Array) => { + return request({ + url: '/design/subcontract/' + id, + method: 'delete' + }); +}; diff --git a/src/api/design/subcontract/types.ts b/src/api/design/subcontract/types.ts new file mode 100644 index 0000000..993cfd5 --- /dev/null +++ b/src/api/design/subcontract/types.ts @@ -0,0 +1,56 @@ +export interface SubcontractVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 项目id + */ + projectId: string | number; + + /** + * 分包内容 + */ + subContent: string; + +} + +export interface SubcontractForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 分包内容 + */ + subContent?: string; + +} + +export interface SubcontractQuery extends PageQuery { + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 分包内容 + */ + subContent?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/api/design/volumeCatalog/types.ts b/src/api/design/volumeCatalog/types.ts index bc5cee3..5b44b8f 100644 --- a/src/api/design/volumeCatalog/types.ts +++ b/src/api/design/volumeCatalog/types.ts @@ -2,7 +2,7 @@ export interface VolumeCatalogVO { /** * 主键ID */ - id: string | number; + design: string | number; /** * 项目ID @@ -28,14 +28,13 @@ export interface VolumeCatalogVO { * 备注 */ remark: string; - } export interface VolumeCatalogForm extends BaseEntity { /** * 主键ID */ - id?: string | number; + design?: string | number; /** * 项目ID @@ -61,11 +60,9 @@ export interface VolumeCatalogForm extends BaseEntity { * 备注 */ remark?: string; - } export interface VolumeCatalogQuery extends PageQuery { - /** * 项目ID */ @@ -86,11 +83,8 @@ export interface VolumeCatalogQuery extends PageQuery { */ documentName?: string; - /** - * 日期范围参数 - */ - params?: any; + /** + * 日期范围参数 + */ + params?: any; } - - - diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index 3faf620..961904a 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -18,6 +18,8 @@ :drag="isDarg" :data="data" :auto-upload="autoUpload" + :on-change="handleChange" + :on-remove="handleRemove" >
@@ -108,8 +110,9 @@ const props = defineProps({ showFileList: propTypes.bool.def(false), // 其他参数 data: propTypes.object.def({}), + // 成功回调 onUploadSuccess: { - type: Function as PropType<(files: any[]) => void>, + type: Function as PropType<(files: any[], res: any) => void>, default: undefined }, // 失败回调 @@ -124,7 +127,8 @@ const props = defineProps({ }); const { proxy } = getCurrentInstance() as ComponentInternalInstance; -const emit = defineEmits(['update:modelValue']); +const emit = defineEmits(['update:modelValue', 'handleChange', 'handleRemove']); + const number = ref(0); const uploadList = ref([]); const baseUrl = import.meta.env.VITE_APP_BASE_API; @@ -236,34 +240,49 @@ const handleUploadSuccess = (res: any, file: UploadFileWithOssId) => { } else { uploadList.value.push({}); } - - uploadedSuccessfully(); } else { number.value--; proxy?.$modal.closeLoading(); proxy?.$modal.msgError(res.msg); fileUploadRef.value?.handleRemove(file); - uploadedSuccessfully(); } + uploadedSuccessfully(res); +}; + +const handleChange = (file: any, fileList: any) => { + emit('handleChange', file, fileList); +}; + +// 删除文件 +const handleRemove = (file: any, fileList: any) => { + console.log(11); + + emit('handleRemove', file, fileList); }; // 删除文件 const handleDelete = async (index: string | number, type?: string) => { await proxy?.$modal.confirm('是否确认删除此文件?').finally(); - if (type === 'ossId') { - delOss(index); - fileList.value = fileList.value.filter((f) => f.ossId !== index); - } else { - let ossId = fileList.value[index].ossId; - delOss(ossId); - index = parseInt(index as string); - fileList.value.splice(index, 1); + try { + if (type === 'ossId') { + delOss(index); + fileList.value = fileList.value.filter((f) => f.ossId !== index); + } else { + let ossId = fileList.value[index].ossId; + delOss(ossId); + index = parseInt(index as string); + fileList.value.splice(index, 1); + } + } finally { + emit('handleRemove'); + emit('update:modelValue', listToString(fileList.value)); } - emit('update:modelValue', listToString(fileList.value)); }; // 上传结束处理 -const uploadedSuccessfully = () => { +const uploadedSuccessfully = (res: any) => { + console.log(11121); + if (props.isImportInfo) { emit('update:modelValue', 'ok'); fileUploadRef.value?.clearFiles(); @@ -279,13 +298,14 @@ const uploadedSuccessfully = () => { emit('update:modelValue', listToString(fileList.value)); proxy?.$modal.closeLoading(); - props.onUploadSuccess?.(fileList.value); + props.onUploadSuccess?.(fileList.value, res); } }; // 获取文件名称 const getFileName = (name: string) => { // 如果是url那么取最后的名字 如果不是直接返回 + if (!name) return ''; if (name.lastIndexOf('/') > -1) { return name.slice(name.lastIndexOf('/') + 1); } else { diff --git a/src/views/cory/template/indexEdit.vue b/src/views/cory/template/indexEdit.vue index f87a617..ebff02c 100644 --- a/src/views/cory/template/indexEdit.vue +++ b/src/views/cory/template/indexEdit.vue @@ -33,17 +33,66 @@
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 上传附件 + + + + + + + + - - - - - - - - + + + + + + + + + + + + + @@ -51,26 +100,29 @@ + + + 施工项目部 - + 项目监理机构 - + 建设单位 - +
@@ -121,7 +173,7 @@ import { StartProcessBo } from '@/api/workflow/workflowCommon/types'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; import { useUserStoreHook } from '@/store/modules/user'; import { listByIds } from '@/api/system/oss'; -import { addContactnotice,getContactnotice ,updateContactnotice} from '@/api/cory/contactnotice'; +import { addContactnotice, getContactnotice, updateContactnotice } from '@/api/cory/contactnotice'; // 获取用户 store const userStore = useUserStoreHook(); @@ -136,7 +188,7 @@ const flowCodeOptions = [ { value: currentProject.value?.id + '_changecontact', label: '变更联系单审批' - }, + } ]; const flowCode = ref(''); @@ -170,6 +222,7 @@ const initFormData = { serialNumber: '', to: '', subject: '', + costEstimation: '', content: '', attachments: '', contractorLeader: '', @@ -237,7 +290,7 @@ const getInfo = () => { ...JSON.parse(res.data.detail) }; console.log(routeParams.value); - + Object.assign(form.value, data); loading.value = false; buttonLoading.value = false; @@ -250,16 +303,16 @@ const submitForm = (status1: string) => { leaveFormRef.value?.validate(async (valid: boolean) => { if (valid) { buttonLoading.value = true; - // var res; - // if (form.value.id) { - // res = await updateContactnotice(form.value).finally(() => (buttonLoading.value = false)); - // } else { - // res = await addContactnotice(form.value).finally(() => (buttonLoading.value = false)); - // } - // if (res.code == 200) { + var res; + if (form.value.id) { + res = await updateContactnotice(form.value).finally(() => (buttonLoading.value = false)); + } else { + res = await addContactnotice(form.value).finally(() => (buttonLoading.value = false)); + } + if (res.code == 200) { dialog.visible = false; submit(status.value, form.value); - // } + } } }); }; diff --git a/src/views/design/prelimScheme/index.vue b/src/views/design/prelimScheme/index.vue new file mode 100644 index 0000000..5f40877 --- /dev/null +++ b/src/views/design/prelimScheme/index.vue @@ -0,0 +1,227 @@ + + + diff --git a/src/views/design/prelimScheme/indexEdit.vue b/src/views/design/prelimScheme/indexEdit.vue new file mode 100644 index 0000000..6a138c8 --- /dev/null +++ b/src/views/design/prelimScheme/indexEdit.vue @@ -0,0 +1,423 @@ + + + + diff --git a/src/views/design/scheme/index.vue b/src/views/design/scheme/index.vue new file mode 100644 index 0000000..4b1b5f7 --- /dev/null +++ b/src/views/design/scheme/index.vue @@ -0,0 +1,226 @@ + + + diff --git a/src/views/design/scheme/indexEdit.vue b/src/views/design/scheme/indexEdit.vue new file mode 100644 index 0000000..307eb89 --- /dev/null +++ b/src/views/design/scheme/indexEdit.vue @@ -0,0 +1,431 @@ + + + + diff --git a/src/views/design/subcontract/index.vue b/src/views/design/subcontract/index.vue new file mode 100644 index 0000000..b4c2a88 --- /dev/null +++ b/src/views/design/subcontract/index.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/design/volumeCatalog/index.vue b/src/views/design/volumeCatalog/index.vue index 89206cf..75f085c 100644 --- a/src/views/design/volumeCatalog/index.vue +++ b/src/views/design/volumeCatalog/index.vue @@ -44,10 +44,20 @@ - + + + + + + + - + + + - +