完善合同管理;
新增结算管理
This commit is contained in:
@@ -7,15 +7,15 @@ export interface Contract {
|
||||
// 合同id
|
||||
contractId?: any;
|
||||
// 项目id
|
||||
projectId: any;
|
||||
projectId?: any;
|
||||
// 承租方
|
||||
companyId: any;
|
||||
companyId?: any;
|
||||
// 出租方
|
||||
customerId: any;
|
||||
customerId?: any;
|
||||
// 业务负责人
|
||||
customerContact?: string;
|
||||
// 合同编号
|
||||
contactNumber: string;
|
||||
contactNumber?: string;
|
||||
// 签订日期
|
||||
signDate?: string;
|
||||
// 开始日期
|
||||
@@ -30,6 +30,10 @@ export interface Contract {
|
||||
isInStock?: number;
|
||||
// 是否自动结算
|
||||
autoSettle?: number;
|
||||
// 结算方式
|
||||
settleMethod?: number;
|
||||
// 跨月结算日期
|
||||
extendMonthDate?: number;
|
||||
userId?: any;
|
||||
|
||||
}
|
||||
@@ -42,5 +46,12 @@ export interface ContractParam extends PageParam {
|
||||
createTimeStart?: string;
|
||||
createTimeEnd?: string;
|
||||
betweenTime?: any;
|
||||
|
||||
}
|
||||
|
||||
export const ContractSettleMethod = [
|
||||
'跨月结算',
|
||||
'自然月结算',
|
||||
'按日结算',
|
||||
'系数结算-跨月',
|
||||
'系数结算-自然月',
|
||||
]
|
||||
|
||||
133
src/api/tower/contractSettle/equipment/index.ts
Normal file
133
src/api/tower/contractSettle/equipment/index.ts
Normal file
@@ -0,0 +1,133 @@
|
||||
import request from '@/utils/request';
|
||||
import type {ApiResult, PageResult} from '@/api';
|
||||
import type {ContractSettleEquipment, ContractSettleEquipmentParam} from './model';
|
||||
|
||||
/**
|
||||
* 分页查询合同设备
|
||||
*/
|
||||
export async function pageContract(params: ContractSettleEquipmentParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ContractSettleEquipment>>>(
|
||||
'/tower/tower-contract-settle-equipment/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同设备列表
|
||||
*/
|
||||
export async function listContractSettleEquipment(params?: ContractSettleEquipmentParam) {
|
||||
const res = await request.get<ApiResult<ContractSettleEquipment[]>>(
|
||||
'/tower/tower-contract-settle-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 getContractSettleEquipment(id: number) {
|
||||
const res = await request.get<ApiResult<ContractSettleEquipment>>(
|
||||
'/tower/tower-contract-settle-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 addContractSettleEquipment(data: ContractSettleEquipment) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同设备
|
||||
*/
|
||||
export async function updateContractSettleEquipment(data: ContractSettleEquipment) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量修改合同设备
|
||||
*/
|
||||
export async function updateBatchContractSettleEquipment(data: ContractSettleEquipment[]) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量添加合同设备
|
||||
*/
|
||||
export async function addBatchContractSettleEquipment(data: ContractSettleEquipment[]) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除合同设备
|
||||
*/
|
||||
export async function removeContractSettleEquipment(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除合同设备
|
||||
*/
|
||||
export async function removeBatchContractSettleEquipment(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-equipment/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
39
src/api/tower/contractSettle/equipment/model/index.ts
Normal file
39
src/api/tower/contractSettle/equipment/model/index.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
export interface ContractSettleEquipment {
|
||||
contractSettleId?: any;
|
||||
// 合同id
|
||||
contractId: any;
|
||||
// 设备名
|
||||
equipmentName: string;
|
||||
// 规格
|
||||
equipmentModel: string;
|
||||
// 进场编号
|
||||
factoryNo: any;
|
||||
// 自编号
|
||||
equipmentNo: any;
|
||||
// 租期
|
||||
rentMonth: any;
|
||||
// 租金
|
||||
rentAmount: any;
|
||||
// 进退场费
|
||||
inOutAmount: any;
|
||||
// 劳务费
|
||||
workerAmount: any;
|
||||
// 其他费用
|
||||
otherAmount: any;
|
||||
// 备注
|
||||
remark?: any;
|
||||
userId?: any;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同搜索条件
|
||||
*/
|
||||
export interface ContractSettleEquipmentParam extends PageParam {
|
||||
contractId?: string;
|
||||
}
|
||||
133
src/api/tower/contractSettle/rule/index.ts
Normal file
133
src/api/tower/contractSettle/rule/index.ts
Normal file
@@ -0,0 +1,133 @@
|
||||
import request from '@/utils/request';
|
||||
import type {ApiResult, PageResult} from '@/api';
|
||||
import type {ContractSettleRule, ContractSettleRuleParam} from './model';
|
||||
|
||||
/**
|
||||
* 分页查询合同设备
|
||||
*/
|
||||
export async function pageContract(params: ContractSettleRuleParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ContractSettleRule>>>(
|
||||
'/tower/tower-contract-settle-rule/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同设备列表
|
||||
*/
|
||||
export async function listContractSettleRule(params?: ContractSettleRuleParam) {
|
||||
const res = await request.get<ApiResult<ContractSettleRule[]>>(
|
||||
'/tower/tower-contract-settle-rule',
|
||||
{
|
||||
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 getContractSettleRule(id: number) {
|
||||
const res = await request.get<ApiResult<ContractSettleRule>>(
|
||||
'/tower/tower-contract-settle-rule/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加合同设备
|
||||
*/
|
||||
export async function addContractSettleRule(data: ContractSettleRule) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同设备
|
||||
*/
|
||||
export async function updateContractSettleRule(data: ContractSettleRule) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量修改合同设备
|
||||
*/
|
||||
export async function updateBatchContractSettleRule(data: ContractSettleRule[]) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量添加合同设备
|
||||
*/
|
||||
export async function addBatchContractSettleRule(data: ContractSettleRule[]) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除合同设备
|
||||
*/
|
||||
export async function removeContractSettleRule(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除合同设备
|
||||
*/
|
||||
export async function removeBatchContractSettleRule(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-contract-settle-rule/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
18
src/api/tower/contractSettle/rule/model/index.ts
Normal file
18
src/api/tower/contractSettle/rule/model/index.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
export interface ContractSettleRule {
|
||||
contractSettleRuleId?: any;
|
||||
contractId: any;
|
||||
startDate: string;
|
||||
endDate: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同搜索条件
|
||||
*/
|
||||
export interface ContractSettleRuleParam extends PageParam {
|
||||
contractId?: string;
|
||||
}
|
||||
119
src/api/tower/settle/index.ts
Normal file
119
src/api/tower/settle/index.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
import request from '@/utils/request';
|
||||
import type {ApiResult, PageResult} from '@/api';
|
||||
import type {Settle, SettleParam} from './model';
|
||||
|
||||
/**
|
||||
* 分页查询结算
|
||||
*/
|
||||
export async function pageSettle(params: SettleParam) {
|
||||
const res = await request.get<ApiResult<PageResult<Settle>>>(
|
||||
'/tower/tower-settle/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同列表
|
||||
*/
|
||||
export async function listSettle(params?: SettleParam) {
|
||||
const res = await request.get<ApiResult<Settle[]>>(
|
||||
'/tower/tower-settle',
|
||||
{
|
||||
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 getSettle(id: number) {
|
||||
const res = await request.get<ApiResult<Settle>>(
|
||||
'/tower/tower-settle/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加合同
|
||||
*/
|
||||
export async function addSettle(data: Settle) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-settle',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同
|
||||
*/
|
||||
export async function updateSettle(data: Settle) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-settle',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量修改合同
|
||||
*/
|
||||
export async function updateBatchSettle(data: Settle[]) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-settle/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除合同
|
||||
*/
|
||||
export async function removeSettle(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-settle/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除合同
|
||||
*/
|
||||
export async function removeBatchSettle(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-settle/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
27
src/api/tower/settle/model/index.ts
Normal file
27
src/api/tower/settle/model/index.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
export interface Settle {
|
||||
settleId?: any;
|
||||
settleNo?: any;
|
||||
status?: any;
|
||||
contractId?: any;
|
||||
startDate?: any;
|
||||
endDate?: string;
|
||||
settleMethod?: number;
|
||||
extendMonthDate?: number;
|
||||
totalAmount?: number;
|
||||
userId?: any;
|
||||
contactNumber?: any;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同搜索条件
|
||||
*/
|
||||
export interface SettleParam extends PageParam {
|
||||
settleNo?: string;
|
||||
contractId?: string;
|
||||
}
|
||||
129
src/api/tower/settleDetail/index.ts
Normal file
129
src/api/tower/settleDetail/index.ts
Normal file
@@ -0,0 +1,129 @@
|
||||
import request from '@/utils/request';
|
||||
import type {ApiResult, PageResult} from '@/api';
|
||||
import type {SettleDetail, SettleDetailParam} from './model';
|
||||
|
||||
/**
|
||||
* 分页查询结算
|
||||
*/
|
||||
export async function pageSettleDetail(params: SettleDetailParam) {
|
||||
const res = await request.get<ApiResult<PageResult<SettleDetail>>>(
|
||||
'/tower/tower-settle-detail/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询合同列表
|
||||
*/
|
||||
export async function listSettleDetail(params?: SettleDetailParam) {
|
||||
const res = await request.get<ApiResult<SettleDetail[]>>(
|
||||
'/tower/tower-settle-detail',
|
||||
{
|
||||
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 getSettleDetail(id: number) {
|
||||
const res = await request.get<ApiResult<SettleDetail>>(
|
||||
'/tower/tower-settle-detail/' + id
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加合同
|
||||
*/
|
||||
export async function addSettleDetail(data: SettleDetail) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改合同
|
||||
*/
|
||||
export async function updateSettleDetail(data: SettleDetail) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量修改合同
|
||||
*/
|
||||
export async function updateBatchSettleDetail(data: SettleDetail[]) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
export async function addBatchSettleDetail(data: SettleDetail[]) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除合同
|
||||
*/
|
||||
export async function removeSettleDetail(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除合同
|
||||
*/
|
||||
export async function removeBatchSettleDetail(data: (number | undefined)[]) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
'/tower/tower-settle-detail/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
33
src/api/tower/settleDetail/model/index.ts
Normal file
33
src/api/tower/settleDetail/model/index.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import type { PageParam } from '@/api';
|
||||
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
export interface SettleDetail {
|
||||
settleDetailId?: any;
|
||||
settleId?: any;
|
||||
type?: any;
|
||||
settleCostType?: string;
|
||||
equipmentName?: string;
|
||||
equipmentModel?: string;
|
||||
factoryNo?: string;
|
||||
startDate?: any;
|
||||
endDate?: any;
|
||||
monthAmount?: any;
|
||||
taxRate?: any;
|
||||
singleAmount?: any;
|
||||
num?: any;
|
||||
unit?: string;
|
||||
remark?: string;
|
||||
userId?: any;
|
||||
days?: any;
|
||||
dailyAmount?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 合同搜索条件
|
||||
*/
|
||||
export interface SettleDetailParam extends PageParam {
|
||||
settleId?: string;
|
||||
type?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user