diff --git a/dist.zip b/dist.zip deleted file mode 100644 index fada9b0..0000000 Binary files a/dist.zip and /dev/null differ diff --git a/package.json b/package.json index 1b6a2f4..82ac81d 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "file-saver": "2.0.5", "fuse.js": "7.0.0", "gcoord": "^1.0.7", - "geotiff": "^2.1.4-beta.0", + "geotiff": "^2.1.3", "highlight.js": "11.9.0", "image-conversion": "2.1.1", "js-cookie": "3.0.5", diff --git a/src/api/project/contractor/types.ts b/src/api/project/contractor/types.ts index ed0421d..f041fa6 100644 --- a/src/api/project/contractor/types.ts +++ b/src/api/project/contractor/types.ts @@ -28,6 +28,10 @@ export interface ContractorVO { * 管理人联系电话 */ custodianPhone: string; + /** + * 分包类型 + */ + contractorType?: string; /** * 公司相关文件 @@ -80,7 +84,10 @@ export interface ContractorForm extends BaseEntity { * 管理人联系电话 */ custodianPhone?: string; - + /** + * 分包类型 + */ + contractorType?: string; /** * 公司相关文件 */ @@ -120,6 +127,10 @@ export interface ContractorQuery extends PageQuery { * 管理人联系电话 */ custodianPhone?: string; + /** + * 分包类型 + */ + contractorType?: string; /** * 日期范围参数 diff --git a/src/api/project/subcontract/index.ts b/src/api/project/subcontract/index.ts new file mode 100644 index 0000000..dca8461 --- /dev/null +++ b/src/api/project/subcontract/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { SubcontractVO, SubcontractForm, SubcontractQuery } from '@/api/project/subcontract/types'; + +/** + * 查询分包合同列表 + * @param query + * @returns {*} + */ + +export const listSubcontract = (query?: SubcontractQuery): AxiosPromise => { + return request({ + url: '/project/subcontract/list', + method: 'get', + params: query + }); +}; + +/** + * 查询分包合同详细 + * @param id + */ +export const getSubcontract = (id: string | number): AxiosPromise => { + return request({ + url: '/project/subcontract/' + id, + method: 'get' + }); +}; + +/** + * 新增分包合同 + * @param data + */ +export const addSubcontract = (data: SubcontractForm) => { + return request({ + url: '/project/subcontract', + method: 'post', + data: data + }); +}; + +/** + * 修改分包合同 + * @param data + */ +export const updateSubcontract = (data: SubcontractForm) => { + return request({ + url: '/project/subcontract', + method: 'put', + data: data + }); +}; + +/** + * 删除分包合同 + * @param id + */ +export const delSubcontract = (id: string | number | Array) => { + return request({ + url: '/project/subcontract/' + id, + method: 'delete' + }); +}; diff --git a/src/api/project/subcontract/types.ts b/src/api/project/subcontract/types.ts new file mode 100644 index 0000000..fdb6c19 --- /dev/null +++ b/src/api/project/subcontract/types.ts @@ -0,0 +1,136 @@ +export interface SubcontractVO { + /** + * 项目id + */ + projectId: string | number; + + /** + * 分包方id + */ + contractorId: string | number; + + /** + * 合同文件id + */ + contractFileId: string | number; + + /** + * 合同编号 + */ + contractNumber: string; + + /** + * 合同名称 + */ + contractName: string; + + /** + * 合同类型 + */ + contractType: string; + + /** + * 合同金额 + */ + contractAmount: number; + + /** + * 合同时间 + */ + contractTime: string; + + /** + * 备注 + */ + remark: string; + +} + +export interface SubcontractForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 分包方id + */ + contractorId?: string | number; + + /** + * 合同文件id + */ + contractFileId?: string | number; + + /** + * 合同编号 + */ + contractNumber?: string; + + /** + * 合同名称 + */ + contractName?: string; + + /** + * 合同类型 + */ + contractType?: string; + + /** + * 合同金额 + */ + contractAmount?: number; + + /** + * 合同时间 + */ + contractTime?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface SubcontractQuery extends PageQuery { + + /** + * 项目id + */ + projectId?: string | number; + + /** + * 分包方id + */ + contractorId?: string | number; + + /** + * 合同编号 + */ + contractNumber?: string; + + /** + * 合同名称 + */ + contractName?: string; + + /** + * 合同类型 + */ + contractType?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/directive/index.ts b/src/directive/index.ts index ef25ee8..966a646 100644 --- a/src/directive/index.ts +++ b/src/directive/index.ts @@ -1,7 +1,6 @@ import copyText from './common/copyText'; import { hasPermi, hasRoles } from './permission'; import { App } from 'vue'; - export default (app: App) => { app.directive('copyText', copyText); app.directive('hasPermi', hasPermi); diff --git a/src/views/project/constructionUser/index.vue b/src/views/project/constructionUser/index.vue index c4ae0a7..2031760 100644 --- a/src/views/project/constructionUser/index.vue +++ b/src/views/project/constructionUser/index.vue @@ -194,7 +194,7 @@ - +
用户信息
@@ -337,10 +337,10 @@
- + - + @@ -358,7 +358,7 @@ - +
{{ item.label }}
@@ -372,7 +372,7 @@
- +
@@ -387,7 +387,7 @@ - + @@ -400,7 +400,7 @@ - + 请输入薪资 - +
@@ -435,7 +435,7 @@ - + @@ -43,13 +48,18 @@ + + + - + - - + @@ -82,6 +91,11 @@ + + + + + @@ -93,7 +107,7 @@
- +
@@ -104,6 +118,7 @@ import { addContractor, delContractor, getContractor, listContractor, updateCont import { ContractorForm, ContractorQuery, ContractorVO } from '@/api/project/contractor/types'; import ContractorFileDialog from '@/views/project/contractor/component/ContractorFileDialog.vue'; import { useUserStoreHook } from '@/store/modules/user'; +import { listData } from '@/api/system/dict/data'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -120,6 +135,7 @@ const queryFormRef = ref(); const contractorFormRef = ref(); // 获取用户 store const userStore = useUserStoreHook(); +const dictList = ref([]); //字典列表 // 从 store 中获取项目列表和当前选中的项目 const currentProject = computed(() => userStore.selectedProject); const dialog = reactive({ @@ -134,6 +150,7 @@ const initFormData: ContractorForm = { principalPhone: undefined, custodian: undefined, custodianPhone: undefined, + contractorType: undefined, fileMap: undefined, remark: undefined, projectId: currentProject.value.id @@ -150,6 +167,7 @@ const data = reactive>({ principalPhone: undefined, custodian: undefined, custodianPhone: undefined, + contractorType: undefined, projectId: currentProject.value.id, params: {} }, @@ -159,14 +177,34 @@ const data = reactive>({ }); const { queryParams, form, rules } = toRefs(data); - +/** 查询字典数据列表 */ +const getDictList = async () => { + const res = await listData({ + pageNum: 1, + pageSize: 10, + dictName: '', + dictType: 'contractor_type', + dictLabel: '' + }); + dictList.value = res.rows; +}; +// 分包类型 +const filterType=(val)=>{ + let label=''; + dictList.value.forEach(item=>{ + if(item.dictValue==val){ + label=item.dictLabel + } + }) + return label; +} /** 查询分包单位列表 */ const getList = async () => { loading.value = true; const res = await listContractor(queryParams.value); contractorList.value = res.rows; total.value = res.total; - loading.value = false; + loading.value = false; }; /** 取消按钮 */ @@ -278,6 +316,7 @@ onUnmounted(() => { listeningProject(); }); onMounted(() => { + getDictList(); getList(); }); diff --git a/src/views/project/subcontract/index.vue b/src/views/project/subcontract/index.vue new file mode 100644 index 0000000..84e4ec5 --- /dev/null +++ b/src/views/project/subcontract/index.vue @@ -0,0 +1,299 @@ + + +