From 40196737d336de2226fb44d774b11afc83109726 Mon Sep 17 00:00:00 2001 From: Zy <1448159279@qq.com> Date: Thu, 6 Aug 2026 09:09:53 +0800 Subject: [PATCH] =?UTF-8?q?8/6=20=E6=A0=A1=E9=AA=8C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- src/api/system/SdbCashier/index.ts | 4 +- src/api/system/houseRental/index.ts | 20 +++- src/api/system/houseRental/type.ts | 66 ++++------- src/assets/icons/svg/jifen.svg | 1 + src/assets/icons/svg/jifenfenlei.svg | 1 + src/assets/icons/svg/jifenshangpin.svg | 1 + src/utils/request.ts | 6 +- src/views/system/Decoration/addDecoration.vue | 12 +- src/views/system/Decoration/index.vue | 32 ++++- .../system/Questionnaire/addQuestionnaire.vue | 1 + src/views/system/Sdb/ChargeItem/add.vue | 13 ++- src/views/system/Sdb/ChargeItem/index.vue | 18 ++- src/views/system/Sdb/PayRecord/index.vue | 11 +- src/views/system/Sdb/SdbCashier/index.vue | 4 +- .../system/houseRental/addhouseResident.vue | 10 +- src/views/system/houseRental/index.vue | 109 ++++++++++++++++-- .../inspection/Plan/addInspectionPlan.vue | 2 +- .../inspection/Route/addInspectionRoute.vue | 12 +- src/views/system/inspection/Task/addTask.vue | 4 +- src/views/system/notice/index.vue | 2 +- src/views/system/parking/addParking.vue | 5 +- src/views/system/revenueNotice/index.vue | 10 +- 23 files changed, 242 insertions(+), 106 deletions(-) create mode 100644 src/assets/icons/svg/jifen.svg create mode 100644 src/assets/icons/svg/jifenfenlei.svg create mode 100644 src/assets/icons/svg/jifenshangpin.svg diff --git a/.env.development b/.env.development index cd182d8..2bd86fc 100644 --- a/.env.development +++ b/.env.development @@ -9,9 +9,9 @@ VITE_APP_ENV='development' # 开发环境 VITE_APP_BASE_API='/dev-api' # # 开发环境 接口代理地址 -#VITE_APP_PROXY_API='http://192.168.1.222:8080' +VITE_APP_PROXY_API='http://192.168.1.222:8080' # 开发环境 接口代理地址 -VITE_APP_PROXY_API='http://192.168.1.6:8080' +#VITE_APP_PROXY_API='http://192.168.1.6:8080' # 图片基础地址 VITE_IMG_URL='http://192.168.1.222:8080' diff --git a/src/api/system/SdbCashier/index.ts b/src/api/system/SdbCashier/index.ts index 33b8c3c..6251185 100644 --- a/src/api/system/SdbCashier/index.ts +++ b/src/api/system/SdbCashier/index.ts @@ -64,9 +64,7 @@ export const billEdit = (data: { 'detailsId': string[]; 'payType': string; 'payS url: '/cash/billEdit', method: 'post', data: data, - headers: { - 'isEncrypt': 'true' - } + }); }; diff --git a/src/api/system/houseRental/index.ts b/src/api/system/houseRental/index.ts index eb3b83c..b8f7f69 100644 --- a/src/api/system/houseRental/index.ts +++ b/src/api/system/houseRental/index.ts @@ -74,11 +74,11 @@ interface uploadHouseImagetype { }[]; 'error': string[]; } -export const uploadHouseImage = (formdata: FormData): AxiosPromise => { +export const uploadHouseImage = (formData: FormData): AxiosPromise => { return request({ url: '/houseRental/uploadImages', method: 'POST', - data: formdata + data: formData }); }; export const getHouseOwnUser = (houseId: string): AxiosPromise => { @@ -88,7 +88,6 @@ export const getHouseOwnUser = (houseId: string): AxiosPromise => { return request({ url: `/houseRental/changeStatus/${houseId}`, - method: 'PUT', + method: 'PUT' }); }; @@ -111,3 +110,16 @@ export const HouseRedientSign = (data: HouseRentalForm): AxiosPromise { + return request({ + url: url, + method: 'POST', + data: data + }); +}; diff --git a/src/api/system/houseRental/type.ts b/src/api/system/houseRental/type.ts index 518a3cc..0dfa555 100644 --- a/src/api/system/houseRental/type.ts +++ b/src/api/system/houseRental/type.ts @@ -57,7 +57,7 @@ export interface HouseRentalVO { /** * 手机号 */ - phone: number; + phone: string; /** * 微信 @@ -92,50 +92,25 @@ export interface HouseRentalVO { } export interface HouseRentalForm extends BaseEntity { - /** - * 收费模式 - */ - chargeMode: string; - /** - * 收费标准 - */ - chargeStandard: string; - /** - * 合同编号 - */ - contractNo: string; - /** - * 合同状态 - */ - contractStatus: string; - /** - * 房屋id - */ - houseId?: string; - /** - * 租赁结束时间 - */ - leaseEndDate: string; - /** - * 租赁起始时间 - */ - leaseStartDate: string; - /** - * 备注 - */ - remark?: string; - /** - * 房屋租赁ID - */ - rentalId: string; - /** - * 承租方姓名 - */ - tenantName: string; - /** - * 承租方联系电话 - */ - tenantPhone: string; + id: string; + houseId: string; + rentalName: string; // 租户姓名 + rent: string; // 租金 + houseFace: string; // 房屋朝向 + rentalType: string; // 整租合租 + phone: string; //手机号 + houseArea: number; // 房屋面积 + floorNo: number; //楼层号 + inTime: string; //入住时间 + facilities: string; //房屋设施 + houseImageUrl: string; //房屋图片 + supInfo: string; //补充租房信息 + vx: string; //微信 + houseUse: string; //房屋用途 + rentalStatus: number; //租赁状态 + buildingId: string; //楼栋id + unitNoId: string; //单元id + email: string; //邮箱 /** * 小区id */ @@ -153,6 +128,7 @@ export interface HouseRentalSigningVO { 'leaseStartDate': string; 'leaseEndDate': string; 'houseId': string; + contractUrl: string; 'villageId': string; 'remark': string; 'createTime': string; diff --git a/src/assets/icons/svg/jifen.svg b/src/assets/icons/svg/jifen.svg new file mode 100644 index 0000000..61e814e --- /dev/null +++ b/src/assets/icons/svg/jifen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/jifenfenlei.svg b/src/assets/icons/svg/jifenfenlei.svg new file mode 100644 index 0000000..613774d --- /dev/null +++ b/src/assets/icons/svg/jifenfenlei.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/jifenshangpin.svg b/src/assets/icons/svg/jifenshangpin.svg new file mode 100644 index 0000000..37ed532 --- /dev/null +++ b/src/assets/icons/svg/jifenshangpin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts index 5c77612..ed291a9 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -44,7 +44,9 @@ const whiteVillageId = [ '/warehouse', '/notification/read', // 已读 '/cash/billList', - '/houseRental/changeStatus' + '/houseRental/changeStatus', // 房屋租赁 - 上架/下架 + '/points/pointsProducts/list', // 积分商品列表 + '/points/*' // '/building/list' ]; @@ -135,7 +137,7 @@ service.interceptors.request.use( const s_url = sessionObj.url; // 请求地址 const s_data = sessionObj.data; // 请求数据 const s_time = sessionObj.time; // 请求时间 - const interval = 200; // 间隔时间(ms),小于此时间视为重复提交 + const interval = 100; // 间隔时间(ms),小于此时间视为重复提交╬╬2╬╬ if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { const message = '数据正在处理,请勿重复提交'; console.warn(`[${s_url}]: ` + message); diff --git a/src/views/system/Decoration/addDecoration.vue b/src/views/system/Decoration/addDecoration.vue index cab8e5a..902c112 100644 --- a/src/views/system/Decoration/addDecoration.vue +++ b/src/views/system/Decoration/addDecoration.vue @@ -79,7 +79,17 @@ const form = ref({ const rules = { houseId: [{ required: true, message: '请选择具体房屋', trigger: 'blur' }], - applyName: [{ required: true, message: '请输入申请人', trigger: 'blur' }], + applyName: [ + { required: true, message: '请输入申请人', trigger: 'blur' }, + { + validator: (_: any, value: string | number, callback: any) => { + if (value === '' || value === undefined) { + return callback(new Error('请输入申请人姓名')); + } + return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的申请人姓名')); + } + } + ], decorationCompany: [ { required: true, message: '请输入装修公司名称', trigger: 'blur' }, { diff --git a/src/views/system/Decoration/index.vue b/src/views/system/Decoration/index.vue index e6057ec..e114704 100644 --- a/src/views/system/Decoration/index.vue +++ b/src/views/system/Decoration/index.vue @@ -4,11 +4,11 @@
- + - + - + @@ -108,7 +108,7 @@ - + (proxy?.useDict('com_decoration_status')); @@ -185,7 +186,28 @@ const data = reactive>({ params: {} }, rules: { - inspectionName: [{ required: true, message: '验收人姓名不能为空', trigger: 'blur' }], + inspectionName: [ + { required: true, message: '验收人姓名不能为空', trigger: 'blur' }, + { + validator: (_: any, value: string | number, callback: any) => { + if (value === '' || value === '') { + return callback(new Error('请输入验收人姓名')); + } + return validator(value, 'ChineseName') ? callback() : callback(new Error('请输入正确的验收人姓名')); + } + } + ], + applyName: [ + { required: false, message: '申请人姓名不能为空', trigger: 'blur' }, + { + validator: (_: any, value: string | number, callback: any) => { + if (value === '' || value === undefined) { + return callback(); + } + return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的申请人姓名')); + } + } + ], inspectionResult: [{ required: true, message: '验收结果不能为空', trigger: 'blur' }] } }); diff --git a/src/views/system/Questionnaire/addQuestionnaire.vue b/src/views/system/Questionnaire/addQuestionnaire.vue index 8214886..d210ed9 100644 --- a/src/views/system/Questionnaire/addQuestionnaire.vue +++ b/src/views/system/Questionnaire/addQuestionnaire.vue @@ -29,6 +29,7 @@ (proxy?.useDict('com_charge_item_unit')); @@ -105,7 +106,17 @@ const form = ref({ 'formula': '' }); const rules = ref({ - itemName: [{ required: true, message: '请输入 项目名称', trigger: 'blur' }], + itemName: [ + { required: true, message: '请输入 项目名称', trigger: 'blur' }, + { + validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => { + if (value === '' || value === undefined) { + return callback(new Error('请输入项目名称')); + } + return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的项目名称')); + } + } + ], typeId: [{ required: true, message: '请选择 收费类型', trigger: 'blur' }], billingType: [{ required: true, message: '请输入 计费方式', trigger: 'blur' }], fixedPrice: [ diff --git a/src/views/system/Sdb/ChargeItem/index.vue b/src/views/system/Sdb/ChargeItem/index.vue index c81ffa2..f1cb378 100644 --- a/src/views/system/Sdb/ChargeItem/index.vue +++ b/src/views/system/Sdb/ChargeItem/index.vue @@ -4,7 +4,7 @@
- + @@ -99,6 +99,7 @@ import DictTag from '@/components/DictTag/index.vue'; import { listChargeItem, delChargeItem, updateChargeItem } from '@/api/system/SdbChargeItem'; import { ChargeItemVO, ChargeItemQuery, ChargeItemForm } from '@/api/system/SdbChargeItem/type'; import { checkPermi } from '@/utils/permission'; +import { validator } from '@/utils/Reg'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { com_charge_item_method } = toRefs(proxy?.useDict('com_charge_item_method')); @@ -128,10 +129,21 @@ const data = reactive>({ pageSize: 10, itemName: undefined }, - rules: {} + rules: { + itemName: [ + { + validator: (_: any, value: string | number, callback: (arg0?: Error) => any) => { + if (value === '' || value === undefined) { + return callback(); + } + return !validator(value, 'fullFilterReg') ? callback() : callback(new Error('请输入正确的项目名称')); + } + } + ] + } }); -const { queryParams } = toRefs(data); +const { queryParams, rules } = toRefs(data); /** 查询收费项目管理列表 */ const getList = async () => { diff --git a/src/views/system/Sdb/PayRecord/index.vue b/src/views/system/Sdb/PayRecord/index.vue index 1e30e76..3830198 100644 --- a/src/views/system/Sdb/PayRecord/index.vue +++ b/src/views/system/Sdb/PayRecord/index.vue @@ -48,14 +48,11 @@ {{ parseTime(scope.row.recordMonth, '{y}-{m}') }} - + - - - diff --git a/src/views/system/Sdb/SdbCashier/index.vue b/src/views/system/Sdb/SdbCashier/index.vue index a45f89b..ca5a499 100644 --- a/src/views/system/Sdb/SdbCashier/index.vue +++ b/src/views/system/Sdb/SdbCashier/index.vue @@ -105,7 +105,6 @@
- +