新增客户管理;

新增合同管理
This commit is contained in:
2023-06-10 01:29:51 +08:00
parent 4eca2ea5f5
commit 7f080a4c54
24 changed files with 2017 additions and 447 deletions

View File

@@ -0,0 +1,119 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {Contract, ContractParam} from './model';
/**
* 分页查询合同
*/
export async function pageContract(params: ContractParam) {
const res = await request.get<ApiResult<PageResult<Contract>>>(
'/tower/tower-contract/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询合同列表
*/
export async function listContract(params?: ContractParam) {
const res = await request.get<ApiResult<Contract[]>>(
'/tower/tower-contract',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询合同
*/
export async function getContract(id: number) {
const res = await request.get<ApiResult<Contract>>(
'/tower/tower-contract/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加合同
*/
export async function addContract(data: Contract) {
const res = await request.post<ApiResult<unknown>>(
'/tower/tower-contract',
data
);
if (res.data.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改合同
*/
export async function updateContract(data: Contract) {
const res = await request.put<ApiResult<unknown>>(
'/tower/tower-contract',
data
);
if (res.data.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量修改合同
*/
export async function updateBatchContract(data: Contract[]) {
const res = await request.put<ApiResult<unknown>>(
'/tower/tower-contract/batch',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除合同
*/
export async function removeContract(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
'/tower/tower-contract/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除合同
*/
export async function removeBatchContract(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
'/tower/tower-contract/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,46 @@
import type { PageParam } from '@/api';
/**
* 合同
*/
export interface Contract {
// 合同id
contractId?: any;
// 项目id
projectId: any;
// 承租方
companyId: any;
// 出租方
customerId: any;
// 业务负责人
customerContact?: string;
// 合同编号
contactNumber: string;
// 签订日期
signDate?: string;
// 开始日期
startDate?: string;
// 截止日期
endDate?: string;
// 合同金额
contractAmount?: number;
// 合同约定金额
contactAgreeAmount?: string;
// 合同是否已存档
isInStock?: number;
// 是否自动结算
autoSettle?: number;
userId?: any;
}
/**
* 合同搜索条件
*/
export interface ContractParam extends PageParam {
contactNumber?: string;
createTimeStart?: string;
createTimeEnd?: string;
betweenTime?: any;
}

View File

@@ -0,0 +1,133 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {ContractEquipment, ContractEquipmentParam} from './model';
/**
* 分页查询合同设备
*/
export async function pageContract(params: ContractEquipmentParam) {
const res = await request.get<ApiResult<PageResult<ContractEquipment>>>(
'/tower/tower-contract-equipment/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询合同设备列表
*/
export async function listContractEquipment(params?: ContractEquipmentParam) {
const res = await request.get<ApiResult<ContractEquipment[]>>(
'/tower/tower-contract-equipment',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询合同设备
*/
export async function getContractEquipment(id: number) {
const res = await request.get<ApiResult<ContractEquipment>>(
'/tower/tower-contract-equipment/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加合同设备
*/
export async function addContractEquipment(data: ContractEquipment) {
const res = await request.post<ApiResult<unknown>>(
'/tower/tower-contract-equipment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改合同设备
*/
export async function updateContractEquipment(data: ContractEquipment) {
const res = await request.put<ApiResult<unknown>>(
'/tower/tower-contract-equipment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量修改合同设备
*/
export async function updateBatchContractEquipment(data: ContractEquipment[]) {
const res = await request.put<ApiResult<unknown>>(
'/tower/tower-contract-equipment/batch',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量添加合同设备
*/
export async function addBatchContractEquipment(data: ContractEquipment[]) {
const res = await request.post<ApiResult<unknown>>(
'/tower/tower-contract-equipment/batch',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除合同设备
*/
export async function removeContractEquipment(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
'/tower/tower-contract-equipment/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除合同设备
*/
export async function removeBatchContractEquipment(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
'/tower/tower-contract-equipment/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,39 @@
import type { PageParam } from '@/api';
/**
* 合同
*/
export interface ContractEquipment {
contractEquipmentId?: any;
// 合同id
contractId: any;
// 设备名
equipmentName: string;
// 规格
equipmentModel: string;
// 数量
num: any;
// 租期
planRentMonth: any;
// 租金
rentAmount: any;
// 进退场费
inOutAmount: any;
// 劳务费
workerAmount: any;
// 其他费用
otherAmount: any;
// 预埋费
preBuryAmount: any;
// 备注
remark?: any;
userId?: any;
}
/**
* 合同搜索条件
*/
export interface ContractEquipmentParam extends PageParam {
contactId?: string;
}

View File

@@ -0,0 +1,133 @@
import request from "@/utils/request";
import type { ApiResult, PageResult } from "@/api";
import type { ContractFile, ContractFileParam } from "./model";
/**
* 分页查询合同文件
*/
export async function pageContract(params: ContractFileParam) {
const res = await request.get<ApiResult<PageResult<ContractFile>>>(
"/tower/tower-contract/page",
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询合同文件列表
*/
export async function listContractFile(params?: ContractFileParam) {
const res = await request.get<ApiResult<ContractFile[]>>(
"/tower/tower-contract-file",
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询合同文件
*/
export async function getContractFile(id: number) {
const res = await request.get<ApiResult<ContractFile>>(
"/tower/tower-contract-file/" + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加合同文件
*/
export async function addContractFile(data: ContractFile) {
const res = await request.post<ApiResult<unknown>>(
"/tower/tower-contract-file",
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改合同文件
*/
export async function updateContractFile(data: ContractFile) {
const res = await request.put<ApiResult<unknown>>(
"/tower/tower-contract-file",
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量修改合同文件
*/
export async function updateBatchContractFile(data: ContractFile[]) {
const res = await request.put<ApiResult<unknown>>(
"/tower/tower-contract-file/batch",
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量添加合同文件
*/
export async function addBatchContractFile(data: ContractFile[]) {
const res = await request.post<ApiResult<unknown>>(
"/tower/tower-contract-file/batch",
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除合同文件
*/
export async function removeContractFile(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
"/tower/tower-contract-file/" + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除合同文件
*/
export async function removeBatchContractFile(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
"/tower/tower-contract-file/batch",
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,24 @@
import type { PageParam } from '@/api';
/**
* 合同
*/
export interface ContractFile {
// 文件id
contractFileId?: any;
// 项目id
contractId?: any;
// 路径
path: string;
// 文件类型
type?: any;
userId?: any;
}
/**
* 合同搜索条件
*/
export interface ContractFileParam extends PageParam {
contactId?: string;
}