From 8c5bdc47e051c9008c63b3e14311e8f45c9d1bbe Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 2 Jul 2025 20:17:21 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=9A=E5=91=98=E6=8A=95=E9=80=92?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=E6=8E=92=E8=A1=8C=E6=A6=9C=EF=BC=9A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=88=97=E8=A1=A8=E9=A1=B5=E3=80=81=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E3=80=81=E4=BC=9A=E5=91=98=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E3=80=81=E6=A0=87=E8=AE=B0=E3=80=81=E5=B1=8F=E8=94=BD=E6=8C=89?= =?UTF-8?q?=E9=92=AE=EF=BC=88=E6=8C=89=E9=92=AE=E9=9C=80=E8=A1=A5=E5=85=85?= =?UTF-8?q?=EF=BC=89=202=E3=80=81=E8=AE=BE=E5=A4=87=EF=BC=9A=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=B3=A8=E5=86=8C=E4=BF=A1=E6=81=AF=EF=BC=88=E6=9C=89?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AE=B5=E9=9C=80=E8=A6=81=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=B8=8B=EF=BC=89=203=E3=80=81=E8=AE=BE=E5=A4=87=EF=BC=9A?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=8A=95=E9=80=92=E6=AC=A1=E6=95=B0=E6=8E=92?= =?UTF-8?q?=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/zh/hy/hy.api.ts | 12 + src/views/zh/hy/tdcs/index.vue | 333 +++++++++++++----- src/views/zh/shebei/shebei.api.ts | 41 +++ src/views/zh/shebei/tdcs/index.vue | 284 +++++++++++++++ src/views/zh/shebei/zcxx/DeviceInfo.api.ts | 72 ++++ src/views/zh/shebei/zcxx/DeviceInfo.data.ts | 75 ++++ src/views/zh/shebei/zcxx/DeviceInfoList.vue | 296 ++++++++++++++++ .../shebei/zcxx/components/DeviceInfoForm.vue | 181 ++++++++++ .../zcxx/components/DeviceInfoModal.vue | 77 ++++ 9 files changed, 1291 insertions(+), 80 deletions(-) create mode 100644 src/views/zh/shebei/shebei.api.ts create mode 100644 src/views/zh/shebei/tdcs/index.vue create mode 100644 src/views/zh/shebei/zcxx/DeviceInfo.api.ts create mode 100644 src/views/zh/shebei/zcxx/DeviceInfo.data.ts create mode 100644 src/views/zh/shebei/zcxx/DeviceInfoList.vue create mode 100644 src/views/zh/shebei/zcxx/components/DeviceInfoForm.vue create mode 100644 src/views/zh/shebei/zcxx/components/DeviceInfoModal.vue diff --git a/src/views/zh/hy/hy.api.ts b/src/views/zh/hy/hy.api.ts index 089c894..0f93917 100644 --- a/src/views/zh/hy/hy.api.ts +++ b/src/views/zh/hy/hy.api.ts @@ -5,6 +5,8 @@ enum Api { registerList = '/zh/hy/queryHyRegisterList', xzList = '/zh/hy/queryHyXzList', tdcsList = '/zh/hy/queryHyTdcsList', + allTdcsList = '/zh/hy/queryAllHyTdcsList', + queryHyjlList = '/zh/hy/queryHyjlList', } /** @@ -27,3 +29,13 @@ export const xzList = (params) => defHttp.get({ url: Api.xzList, params }); * @param params */ export const tdcsList = (params) => defHttp.get({ url: Api.tdcsList, params }); +/** + * 所有会员投递次数排行榜 + * @param params + */ +export const allTdcsList = (params) => defHttp.get({ url: Api.allTdcsList, params }); +/** + * 查询会员投递历史 + * @param params + */ +export const queryHyjlList = (params) => defHttp.get({ url: Api.queryHyjlList, params }); \ No newline at end of file diff --git a/src/views/zh/hy/tdcs/index.vue b/src/views/zh/hy/tdcs/index.vue index ac90d2f..65a596b 100644 --- a/src/views/zh/hy/tdcs/index.vue +++ b/src/views/zh/hy/tdcs/index.vue @@ -2,7 +2,7 @@
- + 当天 近3天 @@ -10,102 +10,275 @@ 近30天 自定义 - + - - 全部 - {{item.housingestateName}} + + 全部 + {{ + item.housingestateName }} + + + + + + + + + 查询 + 重置 + + + + 统计图 + 列表页 + + - + + + + + + + + + +
diff --git a/src/views/zh/shebei/shebei.api.ts b/src/views/zh/shebei/shebei.api.ts new file mode 100644 index 0000000..b308a82 --- /dev/null +++ b/src/views/zh/shebei/shebei.api.ts @@ -0,0 +1,41 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + housingestateList = '/zh/hy/queryHousingestateList', + registerList = '/zh/hy/queryHyRegisterList', + xzList = '/zh/hy/queryHyXzList', + tdcsList = '/zh/hy/querySheBeiTdcsList', + allTdcsList = '/zh/hy/queryAllSheBeiTdcsList', + queryHyjlList = '/zh/hy/queryHyjlList', +} + +/** + * 获取小区 + * @param params + */ +export const housingestateList = (params) => defHttp.get({ url: Api.housingestateList, params }); +/** + * 会员注册时间段统计 + * @param params + */ +export const registerList = (params) => defHttp.get({ url: Api.registerList, params }); +/** + * 新增会员统计 + * @param params + */ +export const xzList = (params) => defHttp.get({ url: Api.xzList, params }); +/** + * 会员投递次数排行榜 + * @param params + */ +export const tdcsList = (params) => defHttp.get({ url: Api.tdcsList, params }); +/** + * 所有会员投递次数排行榜 + * @param params + */ +export const allTdcsList = (params) => defHttp.get({ url: Api.allTdcsList, params }); +/** + * 查询会员投递历史 + * @param params + */ +export const queryHyjlList = (params) => defHttp.get({ url: Api.queryHyjlList, params }); \ No newline at end of file diff --git a/src/views/zh/shebei/tdcs/index.vue b/src/views/zh/shebei/tdcs/index.vue new file mode 100644 index 0000000..9971fb2 --- /dev/null +++ b/src/views/zh/shebei/tdcs/index.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/views/zh/shebei/zcxx/DeviceInfo.api.ts b/src/views/zh/shebei/zcxx/DeviceInfo.api.ts new file mode 100644 index 0000000..8204a73 --- /dev/null +++ b/src/views/zh/shebei/zcxx/DeviceInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/deviceinfo/deviceInfo/list', + save='/deviceinfo/deviceInfo/add', + edit='/deviceinfo/deviceInfo/edit', + deleteOne = '/deviceinfo/deviceInfo/delete', + deleteBatch = '/deviceinfo/deviceInfo/deleteBatch', + importExcel = '/deviceinfo/deviceInfo/importExcel', + exportXls = '/deviceinfo/deviceInfo/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/zh/shebei/zcxx/DeviceInfo.data.ts b/src/views/zh/shebei/zcxx/DeviceInfo.data.ts new file mode 100644 index 0000000..815e9f3 --- /dev/null +++ b/src/views/zh/shebei/zcxx/DeviceInfo.data.ts @@ -0,0 +1,75 @@ +import { BasicColumn } from '/@/components/Table'; +import { FormSchema } from '/@/components/Table'; +import { rules } from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '设备编码', + align: 'center', + dataIndex: 'imei', + }, + { + title: 'ICCID', + align: 'center', + dataIndex: 'iccid', + }, + { + title: '是否在线', + align: 'center', + dataIndex: 'isOnline', + format(text, record, index) { + console.log("🌊 ~ format ~ text:", text) + + if (text == 'true') { + return '在线'; + } else { + return '离线'; + } + }, + }, + { + title: '区域名称', + align: 'center', + dataIndex: 'housingestateName', + }, + { + title: '设备点位', + align: 'center', + dataIndex: 'content', + }, + { + title: '桶数量', + align: 'center', + dataIndex: 'boxNum', + }, + { + title: '是否在仓库中', + align: 'center', + dataIndex: 'inWarehouse', + format(text, record, index) { + if (text == 0) { + return '0待翻译'; + } else { + return '1待翻译'; + } + }, + }, + // { + // title: '区域ID', + // align: 'center', + // dataIndex: 'housingestateId', + // }, +]; + +// 高级查询数据 +export const superQuerySchema = { + imei: { title: '设备编码', order: 0, view: 'text', type: 'string' }, + iccid: { title: 'ICCID', order: 1, view: 'text', type: 'string' }, + isOnline: { title: '是否在线', order: 2, view: 'text', type: 'string' }, + content: { title: '设备点位', order: 3, view: 'text', type: 'string' }, + boxNum: { title: '桶数量', order: 4, view: 'text', type: 'string' }, + inWarehouse: { title: '是否在仓库中', order: 5, view: 'text', type: 'string' }, + housingestateId: { title: '区域ID', order: 6, view: 'text', type: 'string' }, +}; diff --git a/src/views/zh/shebei/zcxx/DeviceInfoList.vue b/src/views/zh/shebei/zcxx/DeviceInfoList.vue new file mode 100644 index 0000000..206add0 --- /dev/null +++ b/src/views/zh/shebei/zcxx/DeviceInfoList.vue @@ -0,0 +1,296 @@ + + + + + diff --git a/src/views/zh/shebei/zcxx/components/DeviceInfoForm.vue b/src/views/zh/shebei/zcxx/components/DeviceInfoForm.vue new file mode 100644 index 0000000..9610e4e --- /dev/null +++ b/src/views/zh/shebei/zcxx/components/DeviceInfoForm.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/zh/shebei/zcxx/components/DeviceInfoModal.vue b/src/views/zh/shebei/zcxx/components/DeviceInfoModal.vue new file mode 100644 index 0000000..1c0d582 --- /dev/null +++ b/src/views/zh/shebei/zcxx/components/DeviceInfoModal.vue @@ -0,0 +1,77 @@ + + + + + +