From b5d24efeae8a3b141ed39452dc0e42a114430011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Tue, 10 Jun 2025 16:21:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=99=BA=E8=83=BD=E7=94=B5=E8=A1=A8?= =?UTF-8?q?=E6=B0=B4=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../camera/components/CameraUploadForm.vue | 3 + .../iot/tq/electricity/electricity.api.ts | 46 ++++ .../iot/tq/electricity/electricity.data.ts | 154 +++++++++++++ src/views/iot/tq/electricity/index.vue | 207 +++++++++++++++++ src/views/iot/tq/water/index.vue | 215 ++++++++++++++++++ src/views/iot/tq/water/water.api.ts | 46 ++++ src/views/iot/tq/water/water.data.ts | 162 +++++++++++++ 7 files changed, 833 insertions(+) create mode 100644 src/views/iot/tq/electricity/electricity.api.ts create mode 100644 src/views/iot/tq/electricity/electricity.data.ts create mode 100644 src/views/iot/tq/electricity/index.vue create mode 100644 src/views/iot/tq/water/index.vue create mode 100644 src/views/iot/tq/water/water.api.ts create mode 100644 src/views/iot/tq/water/water.data.ts diff --git a/src/views/iot/tplink/camera/components/CameraUploadForm.vue b/src/views/iot/tplink/camera/components/CameraUploadForm.vue index 108ac7a..a0d7c60 100644 --- a/src/views/iot/tplink/camera/components/CameraUploadForm.vue +++ b/src/views/iot/tplink/camera/components/CameraUploadForm.vue @@ -173,8 +173,11 @@ import { if (percentRate.value >= 100) { clearInterval(timerRef.value); canUpload.value = true; + // uploadStop(); } }).catch(res=>{ + clearInterval(timerRef.value); + canUpload.value = true; console.log(res); }); } diff --git a/src/views/iot/tq/electricity/electricity.api.ts b/src/views/iot/tq/electricity/electricity.api.ts new file mode 100644 index 0000000..8ab7c1d --- /dev/null +++ b/src/views/iot/tq/electricity/electricity.api.ts @@ -0,0 +1,46 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + list = '/iot/tq/electricityMeter/list', + eleReset = '/iot/tq/electricityMeter/eleReset', + eleControl = '/iot/tq/electricityMeter/eleControl', + eleRead = '/iot/tq/electricityMeter/eleRead', + getAllMeter = '/iot/tq/common/device/getAllMeter', + getAllCollector = '/iot/tq/common/device/getAllCollector', +} + +/** + * 电表列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 电表清零 + * @param params + */ +export const eleReset = (params?) => defHttp.get({ url: Api.eleReset, params }); + +/** + * 拉合闸 + * @param params + */ +export const eleControl = (params?) => defHttp.get({ url: Api.eleControl, params }); + +/** + * 抄电表 + * @param params + */ +export const eleRead = (params?) => defHttp.get({ url: Api.eleRead, params }); + +/** + * 获取设备信息 + * @param params + */ +export const getAllMeter = (params?) => defHttp.get({ url: Api.getAllMeter, params }); + +/** + * 采集器设备信息 + * @param params + */ +export const getAllCollector = (params?) => defHttp.get({ url: Api.getAllCollector, params }); diff --git a/src/views/iot/tq/electricity/electricity.data.ts b/src/views/iot/tq/electricity/electricity.data.ts new file mode 100644 index 0000000..82bda7a --- /dev/null +++ b/src/views/iot/tq/electricity/electricity.data.ts @@ -0,0 +1,154 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '机构', + align: "center", + dataIndex: 'departName' + }, + { + title: '护理单元', + align: "center", + dataIndex: 'nuName' + }, + { + title: '表号', + align: "center", + dataIndex: 'address' + }, + { + title: '采集器号', + align: "center", + dataIndex: 'cid' + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '用电量KWH', + align: "center", + dataIndex: 'eleValue' + }, + { + title: '上次抄表时间', + align: "center", + dataIndex: 'readTime' + }, + { + title: '上次上线时间', + align: "center", + dataIndex: 'connectTime' + }, + { + title: '上次掉线时间', + align: "center", + dataIndex: 'disconnectTime' + }, + { + title: '描述', + align: "center", + dataIndex: 'remark' + }, +]; + +export const searchFormSchema: FormSchema[] = [ + { + label: '机构', + field: 'deviceStatus', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择机构', + dictCode: 'sys_depart,depart_name,id,org_category = 1 order by depart_name asc', + }, + colProps: { span: 6 }, + }, + { + label: '护理单元', + field: 'deviceStatus', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择护理单元', + dictCode: 'nu_base_info,nu_name,id,del_flag = 0 order by nu_name asc', + }, + colProps: { span: 6 }, + }, + { + label: '表号', + field: 'address', + component: 'Input', + colProps: { span: 6 }, + }, + { + label: '设备状态', + field: 'relayState', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择状态', + options: [ + { label: '合闸', value: '1' }, + { label: '拉闸', value: '0' }, + ], + }, + colProps: { span: 6 }, + }, + { + label: '在线状态', + field: 'online', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择状态', + options: [ + { label: '在线', value: 'true' }, + { label: '离线', value: 'false' }, + ], + }, + colProps: { span: 6 }, + }, + { + label: '信号强度', + field: 'csq', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择强度', + options: [ + { label: '高', value: '1' }, + { label: '中', value: '2' }, + { label: '低', value: '3' }, + ], + }, + colProps: { span: 6 }, + }, +]; diff --git a/src/views/iot/tq/electricity/index.vue b/src/views/iot/tq/electricity/index.vue new file mode 100644 index 0000000..e145190 --- /dev/null +++ b/src/views/iot/tq/electricity/index.vue @@ -0,0 +1,207 @@ + + + diff --git a/src/views/iot/tq/water/index.vue b/src/views/iot/tq/water/index.vue new file mode 100644 index 0000000..fbcce82 --- /dev/null +++ b/src/views/iot/tq/water/index.vue @@ -0,0 +1,215 @@ + + + diff --git a/src/views/iot/tq/water/water.api.ts b/src/views/iot/tq/water/water.api.ts new file mode 100644 index 0000000..fcb3020 --- /dev/null +++ b/src/views/iot/tq/water/water.api.ts @@ -0,0 +1,46 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + list = '/iot/tq/waterMeter/list', + waterReset = '/iot/tq/waterMeter/waterReset', + waterControl = '/iot/tq/waterMeter/waterControl', + waterRead = '/iot/tq/waterMeter/waterRead', + getAllMeter = '/iot/tq/common/device/getAllMeter', + getAllCollector = '/iot/tq/common/device/getAllCollector', +} + +/** + * 电表列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 水表清零 + * @param params + */ +export const waterReset = (params?) => defHttp.get({ url: Api.waterReset, params }); + +/** + * 开关闸 + * @param params + */ +export const waterControl = (params?) => defHttp.get({ url: Api.waterControl, params }); + +/** + * 抄电表 + * @param params + */ +export const waterRead = (params?) => defHttp.get({ url: Api.waterRead, params }); + +/** + * 获取设备信息 + * @param params + */ +export const getAllMeter = (params?) => defHttp.get({ url: Api.getAllMeter, params }); + +/** + * 采集器设备信息 + * @param params + */ +export const getAllCollector = (params?) => defHttp.get({ url: Api.getAllCollector, params }); diff --git a/src/views/iot/tq/water/water.data.ts b/src/views/iot/tq/water/water.data.ts new file mode 100644 index 0000000..a87d91c --- /dev/null +++ b/src/views/iot/tq/water/water.data.ts @@ -0,0 +1,162 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; + +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '机构', + align: "center", + dataIndex: 'departName' + }, + { + title: '护理单元', + align: "center", + dataIndex: 'nuName' + }, + { + title: '表号', + align: "center", + dataIndex: 'address' + }, + { + title: '采集器号', + align: "center", + dataIndex: 'cid' + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + }, + }, + // { + // title: '电池状态', + // align: "center", + // dataIndex: 'batteryState', + // customRender:({record})=>{ + // return record.batteryState?(record.batteryState=='0'?'正常':'低电'):''; + // }, + // }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '用水量m³', + align: "center", + dataIndex: 'waterValue' + }, + { + title: '上次抄表时间', + align: "center", + dataIndex: 'readTime' + }, + { + title: '上次上线时间', + align: "center", + dataIndex: 'connectTime' + }, + { + title: '上次掉线时间', + align: "center", + dataIndex: 'disconnectTime' + }, + { + title: '描述', + align: "center", + dataIndex: 'remark' + }, +]; + +export const searchFormSchema: FormSchema[] = [ + { + label: '机构', + field: 'deviceStatus', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择机构', + dictCode: 'sys_depart,depart_name,id,org_category = 1 order by depart_name asc', + }, + colProps: { span: 6 }, + }, + { + label: '护理单元', + field: 'deviceStatus', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择护理单元', + dictCode: 'nu_base_info,nu_name,id,del_flag = 0 order by nu_name asc', + }, + colProps: { span: 6 }, + }, + { + label: '表号', + field: 'address', + component: 'Input', + colProps: { span: 6 }, + }, + { + label: '设备状态', + field: 'relayState', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择状态', + options: [ + { label: '合闸', value: '1' }, + { label: '拉闸', value: '0' }, + ], + }, + colProps: { span: 6 }, + }, + { + label: '在线状态', + field: 'online', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择状态', + options: [ + { label: '在线', value: 'true' }, + { label: '离线', value: 'false' }, + ], + }, + colProps: { span: 6 }, + }, + { + label: '信号强度', + field: 'csq', + component: 'JDictSelectTag', + componentProps: { + placeholder: '请选择强度', + options: [ + { label: '高', value: '1' }, + { label: '中', value: '2' }, + { label: '低', value: '3' }, + ], + }, + colProps: { span: 6 }, + }, +]; From fc25437dc3344d25b030a4cfd015a34cfa2b4bca Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Wed, 11 Jun 2025 11:17:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E6=8A=A4=E7=90=86=E5=8D=95=E5=85=83=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E6=97=A5=E5=BF=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NuEmployeesAdvisoryInfo.api.ts | 72 ++++ .../NuEmployeesAdvisoryInfo.data.ts | 248 +++++++++++++ .../NuEmployeesAdvisoryInfoList.vue | 257 ++++++++++++++ .../NuEmployeesAdvisoryInfoForm.vue | 330 ++++++++++++++++++ .../NuEmployeesAdvisoryInfoModal.vue | 77 ++++ .../iot/tq/electricity/apilog/ApiLogList.vue | 92 +++++ .../iot/tq/electricity/apilog/ApiLogModal.vue | 66 ++++ src/views/iot/tq/electricity/index.vue | 67 +++- .../NuIotTqApiRequestLog.api.ts | 72 ++++ .../NuIotTqApiRequestLog.data.ts | 72 ++++ .../NuIotTqApiRequestLogList.vue | 250 +++++++++++++ .../components/NuIotTqApiRequestLogForm.vue | 200 +++++++++++ .../components/NuIotTqApiRequestLogModal.vue | 77 ++++ .../utils/departUtils/DepartUtils.api.ts | 72 ++++ .../utils/departUtils/DepartUtils.data.ts | 60 ++++ .../utils/departUtils/DepartUtilsList.vue | 181 ++++++++++ .../utils/departUtils/DepartUtilsModal.vue | 66 ++++ src/views/utils/nuUtils/HldyUtils.api.ts | 15 + src/views/utils/nuUtils/HldyUtils.data.ts | 55 +++ src/views/utils/nuUtils/HldyUtilsList.vue | 174 +++++++++ src/views/utils/nuUtils/HldyUtilsModal.vue | 66 ++++ 21 files changed, 2567 insertions(+), 2 deletions(-) create mode 100644 src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.api.ts create mode 100644 src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.data.ts create mode 100644 src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfoList.vue create mode 100644 src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoForm.vue create mode 100644 src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoModal.vue create mode 100644 src/views/iot/tq/electricity/apilog/ApiLogList.vue create mode 100644 src/views/iot/tq/electricity/apilog/ApiLogModal.vue create mode 100644 src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.api.ts create mode 100644 src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.data.ts create mode 100644 src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLogList.vue create mode 100644 src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogForm.vue create mode 100644 src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogModal.vue create mode 100644 src/views/utils/departUtils/DepartUtils.api.ts create mode 100644 src/views/utils/departUtils/DepartUtils.data.ts create mode 100644 src/views/utils/departUtils/DepartUtilsList.vue create mode 100644 src/views/utils/departUtils/DepartUtilsModal.vue create mode 100644 src/views/utils/nuUtils/HldyUtils.api.ts create mode 100644 src/views/utils/nuUtils/HldyUtils.data.ts create mode 100644 src/views/utils/nuUtils/HldyUtilsList.vue create mode 100644 src/views/utils/nuUtils/HldyUtilsModal.vue diff --git a/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.api.ts b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.api.ts new file mode 100644 index 0000000..b4a33a6 --- /dev/null +++ b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/list', + save='/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/add', + edit='/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/edit', + deleteOne = '/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/delete', + deleteBatch = '/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/deleteBatch', + importExcel = '/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/importExcel', + exportXls = '/nuEmployeesAdvisoryInfo/nuEmployeesAdvisoryInfo/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/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.data.ts b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.data.ts new file mode 100644 index 0000000..dc6d2b0 --- /dev/null +++ b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfo.data.ts @@ -0,0 +1,248 @@ +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'; +import {JVxeTypes, JVxeColumn, JVxeTableInstance} from '/@/components/jeecg/JVxeTable/types' +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '联系电话', + align: "center", + dataIndex: 'tel' + }, + { + title: '状态', + align: "center", + dataIndex: 'status', + }, + { + title: '审核备注', + align: "center", + dataIndex: 'content', + defaultHidden: true, + }, + { + title: '机构是否入驻', + align: "center", + dataIndex: 'izEntry' + }, + { + title: '咨询人姓名', + align: "center", + dataIndex: 'name' + }, + { + title: '性别', + align: "center", + dataIndex: 'sex' + }, + { + title: '民族', + align: "center", + dataIndex: 'national', + defaultHidden: true, + }, + { + title: '出生日期', + align: "center", + dataIndex: 'birthDate', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + defaultHidden: true, + }, + { + title: '住址', + align: "center", + dataIndex: 'idCardAddress', + defaultHidden: true, + }, + { + title: '身份证号', + align: "center", + dataIndex: 'idCard' + }, + { + title: '签发机关', + align: "center", + dataIndex: 'issuingAuthority', + defaultHidden: true, + }, + { + title: '有效开始日期', + align: "center", + dataIndex: 'startTime', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + defaultHidden: true, + }, + { + title: '有效结束日期', + align: "center", + dataIndex: 'endTime', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + defaultHidden: true, + }, + { + title: '身份证正面', + align: "center", + dataIndex: 'cardZmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '身份证反面', + align: "center", + dataIndex: 'cardFmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '婚否', + align: "center", + dataIndex: 'maritalStatus', + defaultHidden: true, + }, + { + title: '身高', + align: "center", + dataIndex: 'height', + defaultHidden: true, + }, + { + title: '体重', + align: "center", + dataIndex: 'weight', + defaultHidden: true, + }, + { + title: '健康状况', + align: "center", + dataIndex: 'healthStatus' + }, + { + title: '政治面貌', + align: "center", + dataIndex: 'politicalAppearance', + defaultHidden: true, + }, + { + title: '紧急联系人姓名', + align: "center", + dataIndex: 'contactName' + }, + { + title: '紧急联系人电话', + align: "center", + dataIndex: 'contactTel' + }, + { + title: '紧急联系人与本人关系', + align: "center", + dataIndex: 'contactRelationship', + defaultHidden: true, + }, + { + title: '户口性质', + align: "center", + dataIndex: 'hukouType', + defaultHidden: true, + }, + { + title: '银行卡正面', + align: "center", + dataIndex: 'bankZmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '银行卡反面', + align: "center", + dataIndex: 'bankFmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '开户行', + align: "center", + dataIndex: 'openingBank', + defaultHidden: true, + }, + { + title: '银行卡号', + align: "center", + dataIndex: 'bankCard', + defaultHidden: true, + }, + { + title: '健康证正面', + align: "center", + dataIndex: 'healthZmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '健康证反面', + align: "center", + dataIndex: 'healthFmPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '资质证(可多张)', + align: "center", + dataIndex: 'qualificationPath', + customRender: render.renderImage, + defaultHidden: true, + }, + { + title: '无犯罪正面', + align: "center", + dataIndex: 'noCrimeCertificate', + customRender: render.renderImage, + defaultHidden: true, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + tel: {title: '联系电话',order: 0,view: 'text', type: 'string',}, + status: {title: '状态',order: 1,view: 'text', type: 'string',}, + content: {title: '审核备注',order: 2,view: 'text', type: 'string',}, + izEntry: {title: '机构是否入驻',order: 3,view: 'text', type: 'string',}, + name: {title: '咨询人姓名',order: 4,view: 'text', type: 'string',}, + sex: {title: '性别',order: 5,view: 'text', type: 'string',}, + national: {title: '民族',order: 6,view: 'text', type: 'string',}, + birthDate: {title: '出生日期',order: 7,view: 'date', type: 'string',}, + idCardAddress: {title: '住址',order: 8,view: 'text', type: 'string',}, + idCard: {title: '身份证号',order: 9,view: 'text', type: 'string',}, + issuingAuthority: {title: '签发机关',order: 10,view: 'text', type: 'string',}, + startTime: {title: '有效开始日期',order: 11,view: 'date', type: 'string',}, + endTime: {title: '有效结束日期',order: 12,view: 'date', type: 'string',}, + cardZmPath: {title: '身份证正面',order: 13,view: 'image', type: 'string',}, + cardFmPath: {title: '身份证反面',order: 14,view: 'image', type: 'string',}, + maritalStatus: {title: '婚否',order: 15,view: 'text', type: 'string',}, + height: {title: '身高',order: 16,view: 'text', type: 'string',}, + weight: {title: '体重',order: 17,view: 'text', type: 'string',}, + healthStatus: {title: '健康状况',order: 18,view: 'text', type: 'string',}, + politicalAppearance: {title: '政治面貌',order: 19,view: 'text', type: 'string',}, + contactName: {title: '紧急联系人姓名',order: 20,view: 'text', type: 'string',}, + contactTel: {title: '紧急联系人电话',order: 21,view: 'text', type: 'string',}, + contactRelationship: {title: '紧急联系人与本人关系',order: 22,view: 'text', type: 'string',}, + hukouType: {title: '户口性质',order: 23,view: 'text', type: 'string',}, + bankZmPath: {title: '银行卡正面',order: 24,view: 'image', type: 'string',}, + bankFmPath: {title: '银行卡反面',order: 25,view: 'image', type: 'string',}, + openingBank: {title: '开户行',order: 26,view: 'text', type: 'string',}, + bankCard: {title: '银行卡号',order: 27,view: 'text', type: 'string',}, + healthZmPath: {title: '健康证正面',order: 28,view: 'image', type: 'string',}, + healthFmPath: {title: '健康证反面',order: 29,view: 'image', type: 'string',}, + qualificationPath: {title: '资质证(可多张)',order: 30,view: 'image', type: 'string',}, + noCrimeCertificate: {title: '无犯罪正面',order: 31,view: 'image', type: 'string',}, +}; diff --git a/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfoList.vue b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfoList.vue new file mode 100644 index 0000000..336cb5b --- /dev/null +++ b/src/views/biz/nuEmployeesAdvisoryInfo/NuEmployeesAdvisoryInfoList.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoForm.vue b/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoForm.vue new file mode 100644 index 0000000..787d952 --- /dev/null +++ b/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoForm.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoModal.vue b/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoModal.vue new file mode 100644 index 0000000..a591fcf --- /dev/null +++ b/src/views/biz/nuEmployeesAdvisoryInfo/components/NuEmployeesAdvisoryInfoModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/src/views/iot/tq/electricity/apilog/ApiLogList.vue b/src/views/iot/tq/electricity/apilog/ApiLogList.vue new file mode 100644 index 0000000..c000e8e --- /dev/null +++ b/src/views/iot/tq/electricity/apilog/ApiLogList.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/views/iot/tq/electricity/apilog/ApiLogModal.vue b/src/views/iot/tq/electricity/apilog/ApiLogModal.vue new file mode 100644 index 0000000..1a198b7 --- /dev/null +++ b/src/views/iot/tq/electricity/apilog/ApiLogModal.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/iot/tq/electricity/index.vue b/src/views/iot/tq/electricity/index.vue index e145190..91c31d2 100644 --- a/src/views/iot/tq/electricity/index.vue +++ b/src/views/iot/tq/electricity/index.vue @@ -11,6 +11,14 @@ + + + + + @@ -57,7 +68,15 @@ import { columns, searchFormSchema } from './electricity.data'; import {useModal} from "@/components/Modal"; + import DepartUtilsList from "@/views/utils/departUtils/DepartUtilsModal.vue"; + import HldyUtilsModal from "@/views/utils/nuUtils/HldyUtilsModal.vue"; + import ApiLogModal from "@/views/iot/tq/electricity/apilog/ApiLogModal.vue"; +import { defHttp } from '/@/utils/http/axios'; + const queryParam = reactive({}); + const departUtilsModal = ref(); + const apiLogModal = ref(); + const hldyUtilsModal = ref(); //注册model const [registerModal, {openModal}] = useModal(); //注册table数据 @@ -79,7 +98,7 @@ ], }, actionColumn: { - width: 200, + width: 240, fixed:'right' }, beforeFetch: (params) => { @@ -97,6 +116,28 @@ (selectedRowKeys.value = []) && reload(); } + function handleParams(params){ + console.log("🚀 ~ handleParams ~ params:", params) + defHttp.post({ + url: "/iot/tq/electricityMeter/edit", + params:params.value + }).then(res=>{ + console.log("🚀 ~ getTableAction ~ res:", res) + }) + } + + + function handleHldyParams(params){ + console.log("🚀 ~ handleParams ~ params:", params) + defHttp.post({ + url: "/iot/tq/electricityMeter/edit", + params:params.value + }).then(res=>{ + console.log("🚀 ~ getTableAction ~ res:", res) + }) + } + + /** * 操作栏 */ @@ -121,10 +162,18 @@ confirm: handleReset.bind(null, record), placement: 'topLeft', }, - } + }, ] } +/** + * 配置机构信息 + */ + function handlePzjg(record: Recordable){ + departUtilsModal.value.disableSubmit = false; + departUtilsModal.value.edit(record); + } + // 抄电表 async function handleRead(record: Recordable) { const params = { @@ -200,8 +249,22 @@ reload(); } + /** + * 查看api日志 + */ function showApiLog(record){ console.log(record); + apiLogModal.value.disableSubmit = true; + apiLogModal.value.showApiLog(record); + } + /** + * 配置护理单元 + */ + function handlePzhldy(record){ + console.log("🚀 ~ handlePzhldy ~ record:", record) + hldyUtilsModal.value.disableSubmit = true; + hldyUtilsModal.value.edit(record); + } diff --git a/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.api.ts b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.api.ts new file mode 100644 index 0000000..66086fb --- /dev/null +++ b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/nuIotTqApiRequestLog/nuIotTqApiRequestLog/list', + save='/nuIotTqApiRequestLog/nuIotTqApiRequestLog/add', + edit='/nuIotTqApiRequestLog/nuIotTqApiRequestLog/edit', + deleteOne = '/nuIotTqApiRequestLog/nuIotTqApiRequestLog/delete', + deleteBatch = '/nuIotTqApiRequestLog/nuIotTqApiRequestLog/deleteBatch', + importExcel = '/nuIotTqApiRequestLog/nuIotTqApiRequestLog/importExcel', + exportXls = '/nuIotTqApiRequestLog/nuIotTqApiRequestLog/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/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.data.ts b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.data.ts new file mode 100644 index 0000000..0c6787a --- /dev/null +++ b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLog.data.ts @@ -0,0 +1,72 @@ +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: 'address' + }, + { + title: '类型', + align: "center", + dataIndex: 'type_dictText' + }, + { + title: '请求时的值', + align: "center", + dataIndex: 'requestValue' + }, + { + title: '请求时间', + align: "center", + dataIndex: 'requestTime' + }, + { + title: '请求状态', + align: "center", + dataIndex: 'requestStatus_dictText' + }, + { + title: '请求描述', + align: "center", + dataIndex: 'requestRemark' + }, + { + title: '反馈值', + align: "center", + dataIndex: 'resolveValue' + }, + { + title: '反馈时间', + align: "center", + dataIndex: 'resolveTime' + }, + { + title: '反馈状态', + align: "center", + dataIndex: 'resolveStatus_dictText' + }, + { + title: '反馈描述', + align: "center", + dataIndex: 'resolveRemark' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + address: {title: '表号',order: 0,view: 'text', type: 'string',}, + type: {title: '类型',order: 1,view: 'list', type: 'string',dictCode: 'dbsb_type',}, + requestValue: {title: '请求时的值',order: 2,view: 'text', type: 'string',}, + requestTime: {title: '请求时间',order: 3,view: 'text', type: 'string',}, + requestStatus: {title: '请求状态',order: 4,view: 'list', type: 'string',dictCode: '',}, + requestRemark: {title: '请求描述',order: 5,view: 'text', type: 'string',}, + resolveValue: {title: '反馈值',order: 6,view: 'text', type: 'string',}, + resolveTime: {title: '反馈时间',order: 7,view: 'text', type: 'string',}, + resolveStatus: {title: '反馈状态',order: 8,view: 'list', type: 'string',dictCode: 'dbsb_status',}, + resolveRemark: {title: '反馈描述',order: 9,view: 'text', type: 'string',}, +}; diff --git a/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLogList.vue b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLogList.vue new file mode 100644 index 0000000..464a5fe --- /dev/null +++ b/src/views/iot/tq/nuIotTqApiRequestLog/NuIotTqApiRequestLogList.vue @@ -0,0 +1,250 @@ + + + + + diff --git a/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogForm.vue b/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogForm.vue new file mode 100644 index 0000000..4fe0075 --- /dev/null +++ b/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogForm.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogModal.vue b/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogModal.vue new file mode 100644 index 0000000..200466a --- /dev/null +++ b/src/views/iot/tq/nuIotTqApiRequestLog/components/NuIotTqApiRequestLogModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/src/views/utils/departUtils/DepartUtils.api.ts b/src/views/utils/departUtils/DepartUtils.api.ts new file mode 100644 index 0000000..a13534d --- /dev/null +++ b/src/views/utils/departUtils/DepartUtils.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/sys/sysDepart/getDepartServerUrl', + save='/sys/sysDepart/add', + edit='/sys/sysDepart/edit', + deleteOne = '/sys/sysDepart/delete', + deleteBatch = '/sys/sysDepart/deleteBatch', + importExcel = '/sys/sysDepart/importExcel', + exportXls = '/sys/sysDepart/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/utils/departUtils/DepartUtils.data.ts b/src/views/utils/departUtils/DepartUtils.data.ts new file mode 100644 index 0000000..7c8600e --- /dev/null +++ b/src/views/utils/departUtils/DepartUtils.data.ts @@ -0,0 +1,60 @@ +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: 'departName' + }, + { + title: '机构编码', + align: "center", + dataIndex: 'orgCode' + }, + { + title: '运营开始时间', + align: "center", + dataIndex: 'operationStartTime' + }, + { + title: '运营到期时间', + align: "center", + dataIndex: 'operationEndTime' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + parentId: {title: '父机构ID',order: 0,view: 'text', type: 'string',}, + departName: {title: '机构/部门名称',order: 1,view: 'text', type: 'string',}, + departNameEn: {title: '英文名',order: 2,view: 'text', type: 'string',}, + departNameAbbr: {title: '缩写',order: 3,view: 'text', type: 'string',}, + departOrder: {title: '排序',order: 4,view: 'number', type: 'number',}, + description: {title: '描述',order: 5,view: 'text', type: 'string',}, + orgCategory: {title: '机构类别 1机构,2区域',order: 6,view: 'text', type: 'string',}, + orgType: {title: '机构类型 1一级部门 2子部门',order: 7,view: 'text', type: 'string',}, + orgCode: {title: '机构编码',order: 8,view: 'text', type: 'string',}, + platType: {title: '机构对应平台类型 是否是试验机构(数据字典iz_test_site) ',order: 9,view: 'text', type: 'string',}, + operationStartTime: {title: '运营开始时间',order: 10,view: 'datetime', type: 'string',}, + operationEndTime: {title: '运营到期时间',order: 11,view: 'datetime', type: 'string',}, + contractStartTime: {title: '合同开始时间',order: 12,view: 'datetime', type: 'string',}, + contractEndTime: {title: '合同到期时间',order: 13,view: 'datetime', type: 'string',}, + mobile: {title: '手机号',order: 14,view: 'text', type: 'string',}, + fax: {title: '传真',order: 15,view: 'text', type: 'string',}, + address: {title: '地址',order: 16,view: 'text', type: 'string',}, + memo: {title: '备注',order: 17,view: 'text', type: 'string',}, + status: {title: '状态(1启用,0不启用)',order: 18,view: 'text', type: 'string',}, + qywxIdentifier: {title: '对接企业微信的ID',order: 20,view: 'text', type: 'string',}, + dingIdentifier: {title: '对接钉钉部门的ID',order: 21,view: 'text', type: 'string',}, + tenantId: {title: '租户ID',order: 22,view: 'number', type: 'number',}, + izLeaf: {title: '是否有叶子节点: 1是0否',order: 23,view: 'number', type: 'number',}, + serverUrl: {title: '服务器后台接口地址',order: 24,view: 'text', type: 'string',}, + picUrl: {title: '机构图片',order: 25,view: 'text', type: 'string',}, + province: {title: '省份 sys_category.id',order: 26,view: 'text', type: 'string',}, + city: {title: '城市 sys_category.id',order: 27,view: 'text', type: 'string',}, + district: {title: '区域 sys_category.id',order: 28,view: 'text', type: 'string',}, +}; diff --git a/src/views/utils/departUtils/DepartUtilsList.vue b/src/views/utils/departUtils/DepartUtilsList.vue new file mode 100644 index 0000000..e9efbf0 --- /dev/null +++ b/src/views/utils/departUtils/DepartUtilsList.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/views/utils/departUtils/DepartUtilsModal.vue b/src/views/utils/departUtils/DepartUtilsModal.vue new file mode 100644 index 0000000..46972ba --- /dev/null +++ b/src/views/utils/departUtils/DepartUtilsModal.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/utils/nuUtils/HldyUtils.api.ts b/src/views/utils/nuUtils/HldyUtils.api.ts new file mode 100644 index 0000000..877293c --- /dev/null +++ b/src/views/utils/nuUtils/HldyUtils.api.ts @@ -0,0 +1,15 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/iot/cameraInfo/getNuBaseList', +} + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + diff --git a/src/views/utils/nuUtils/HldyUtils.data.ts b/src/views/utils/nuUtils/HldyUtils.data.ts new file mode 100644 index 0000000..d96fdd0 --- /dev/null +++ b/src/views/utils/nuUtils/HldyUtils.data.ts @@ -0,0 +1,55 @@ +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: 'nuName' + }, + { + title: '编码', + align: "center", + dataIndex: 'code' + }, + { + title: '创建时间', + align: "center", + dataIndex: 'createTime' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + parentId: {title: '父机构ID',order: 0,view: 'text', type: 'string',}, + departName: {title: '机构/部门名称',order: 1,view: 'text', type: 'string',}, + departNameEn: {title: '英文名',order: 2,view: 'text', type: 'string',}, + departNameAbbr: {title: '缩写',order: 3,view: 'text', type: 'string',}, + departOrder: {title: '排序',order: 4,view: 'number', type: 'number',}, + description: {title: '描述',order: 5,view: 'text', type: 'string',}, + orgCategory: {title: '机构类别 1机构,2区域',order: 6,view: 'text', type: 'string',}, + orgType: {title: '机构类型 1一级部门 2子部门',order: 7,view: 'text', type: 'string',}, + orgCode: {title: '机构编码',order: 8,view: 'text', type: 'string',}, + platType: {title: '机构对应平台类型 是否是试验机构(数据字典iz_test_site) ',order: 9,view: 'text', type: 'string',}, + operationStartTime: {title: '运营开始时间',order: 10,view: 'datetime', type: 'string',}, + operationEndTime: {title: '运营到期时间',order: 11,view: 'datetime', type: 'string',}, + contractStartTime: {title: '合同开始时间',order: 12,view: 'datetime', type: 'string',}, + contractEndTime: {title: '合同到期时间',order: 13,view: 'datetime', type: 'string',}, + mobile: {title: '手机号',order: 14,view: 'text', type: 'string',}, + fax: {title: '传真',order: 15,view: 'text', type: 'string',}, + address: {title: '地址',order: 16,view: 'text', type: 'string',}, + memo: {title: '备注',order: 17,view: 'text', type: 'string',}, + status: {title: '状态(1启用,0不启用)',order: 18,view: 'text', type: 'string',}, + qywxIdentifier: {title: '对接企业微信的ID',order: 20,view: 'text', type: 'string',}, + dingIdentifier: {title: '对接钉钉部门的ID',order: 21,view: 'text', type: 'string',}, + tenantId: {title: '租户ID',order: 22,view: 'number', type: 'number',}, + izLeaf: {title: '是否有叶子节点: 1是0否',order: 23,view: 'number', type: 'number',}, + serverUrl: {title: '服务器后台接口地址',order: 24,view: 'text', type: 'string',}, + picUrl: {title: '机构图片',order: 25,view: 'text', type: 'string',}, + province: {title: '省份 sys_category.id',order: 26,view: 'text', type: 'string',}, + city: {title: '城市 sys_category.id',order: 27,view: 'text', type: 'string',}, + district: {title: '区域 sys_category.id',order: 28,view: 'text', type: 'string',}, +}; diff --git a/src/views/utils/nuUtils/HldyUtilsList.vue b/src/views/utils/nuUtils/HldyUtilsList.vue new file mode 100644 index 0000000..2c54c64 --- /dev/null +++ b/src/views/utils/nuUtils/HldyUtilsList.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/src/views/utils/nuUtils/HldyUtilsModal.vue b/src/views/utils/nuUtils/HldyUtilsModal.vue new file mode 100644 index 0000000..751ad0d --- /dev/null +++ b/src/views/utils/nuUtils/HldyUtilsModal.vue @@ -0,0 +1,66 @@ + + + + + + From f5474a28a3a8f6407ece4e7fdc9cac93659b7ea3 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Thu, 12 Jun 2025 13:59:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=B5=E8=83=BD?= =?UTF-8?q?=E8=A1=A8=E5=90=8C=E6=AD=A5=E5=8A=9F=E8=83=BD=E5=8F=8A=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E5=90=8C=E6=AD=A5=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/iot/tq/electricity/index.vue | 16 +- .../NuIotTqElectricitySyncLog.api.ts | 72 +++++++ .../NuIotTqElectricitySyncLog.data.ts | 68 +++++++ .../NuIotTqElectricitySyncLogList.vue | 169 ++++++++++++++++ .../NuIotTqElectricitySyncLogListModal.vue | 66 +++++++ .../NuIotTqElectricitySyncLogForm.vue | 187 ++++++++++++++++++ .../NuIotTqElectricitySyncLogModal.vue | 77 ++++++++ 7 files changed, 653 insertions(+), 2 deletions(-) create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.api.ts create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.data.ts create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogList.vue create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogListModal.vue create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogForm.vue create mode 100644 src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogModal.vue diff --git a/src/views/iot/tq/electricity/index.vue b/src/views/iot/tq/electricity/index.vue index 91c31d2..e406f65 100644 --- a/src/views/iot/tq/electricity/index.vue +++ b/src/views/iot/tq/electricity/index.vue @@ -55,6 +55,7 @@ + @@ -71,11 +72,13 @@ import DepartUtilsList from "@/views/utils/departUtils/DepartUtilsModal.vue"; import HldyUtilsModal from "@/views/utils/nuUtils/HldyUtilsModal.vue"; import ApiLogModal from "@/views/iot/tq/electricity/apilog/ApiLogModal.vue"; + import NuIotTqElectricitySyncLogListModal from "/@/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogListModal.vue"; import { defHttp } from '/@/utils/http/axios'; const queryParam = reactive({}); const departUtilsModal = ref(); const apiLogModal = ref(); + const syncLogModal = ref(); const hldyUtilsModal = ref(); //注册model const [registerModal, {openModal}] = useModal(); @@ -116,6 +119,7 @@ import { defHttp } from '/@/utils/http/axios'; (selectedRowKeys.value = []) && reload(); } + //机构回调 function handleParams(params){ console.log("🚀 ~ handleParams ~ params:", params) defHttp.post({ @@ -126,7 +130,7 @@ import { defHttp } from '/@/utils/http/axios'; }) } - + //护理单元回调 function handleHldyParams(params){ console.log("🚀 ~ handleParams ~ params:", params) defHttp.post({ @@ -136,7 +140,11 @@ import { defHttp } from '/@/utils/http/axios'; console.log("🚀 ~ getTableAction ~ res:", res) }) } - + //同步 + function handleSync(record: Recordable){ + syncLogModal.value.disableSubmit = true; + syncLogModal.value.init(record); + } /** * 操作栏 @@ -163,6 +171,10 @@ import { defHttp } from '/@/utils/http/axios'; placement: 'topLeft', }, }, + { + label: '同步', + onClick: handleSync.bind(null, record), + }, ] } diff --git a/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.api.ts b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.api.ts new file mode 100644 index 0000000..ec2b2f8 --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/list', + save='/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/add', + edit='/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/edit', + deleteOne = '/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/delete', + deleteBatch = '/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/deleteBatch', + importExcel = '/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/importExcel', + exportXls = '/nuIotTqElectricitySyncLog/nuIotTqElectricitySyncLog/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/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.data.ts b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.data.ts new file mode 100644 index 0000000..92b0c18 --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLog.data.ts @@ -0,0 +1,68 @@ +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: 'createTime' + }, + { + title: '同步类型', + align: "center", + dataIndex: 'syncType' + }, + { + title: '原机构名称', + align: "center", + dataIndex: 'orgName' + }, + { + title: '原机构编码', + align: "center", + dataIndex: 'orgCode', + defaultHidden: true + }, + { + title: '新机构名称', + align: "center", + dataIndex: 'newOrgName' + }, + { + title: '新机构编码', + align: "center", + dataIndex: 'newOrgCode', + defaultHidden: true + }, + { + title: '状态', + align: "center", + dataIndex: 'status' + }, + { + title: '备注', + align: "center", + dataIndex: 'content' + }, + { + title: '服务类型', + align: "center", + dataIndex: 'serverType' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + mainName: {title: '主表名称',order: 0,view: 'text', type: 'string',}, + syncType: {title: '同步类型',order: 1,view: 'text', type: 'string',}, + orgName: {title: '原机构名称',order: 2,view: 'text', type: 'string',}, + orgCode: {title: '原机构编码',order: 3,view: 'text', type: 'string',}, + newOrgName: {title: '新机构名称',order: 4,view: 'text', type: 'string',}, + newOrgCode: {title: '新机构编码',order: 5,view: 'text', type: 'string',}, + status: {title: '状态',order: 6,view: 'text', type: 'string',}, + content: {title: '备注',order: 7,view: 'text', type: 'string',}, + serverType: {title: '服务类型',order: 8,view: 'text', type: 'string',}, +}; diff --git a/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogList.vue b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogList.vue new file mode 100644 index 0000000..93b8612 --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogList.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogListModal.vue b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogListModal.vue new file mode 100644 index 0000000..131b9a4 --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/NuIotTqElectricitySyncLogListModal.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogForm.vue b/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogForm.vue new file mode 100644 index 0000000..8606a52 --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogForm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogModal.vue b/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogModal.vue new file mode 100644 index 0000000..7d1c8ec --- /dev/null +++ b/src/views/iot/tq/nuIotTqElectricitySyncLog/components/NuIotTqElectricitySyncLogModal.vue @@ -0,0 +1,77 @@ + + + + + +