Merge branch 'master' of http://47.115.223.229:8888/yangjun/nursing_unit_vue
This commit is contained in:
commit
405fe93f30
|
|
@ -20,7 +20,7 @@ enum Api {
|
|||
}
|
||||
|
||||
/**
|
||||
* 护理单元列表
|
||||
* 区域列表
|
||||
* @param params
|
||||
*/
|
||||
export const getNuList = (params) => {
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
//选择框标题
|
||||
modalTitle: {
|
||||
type: String,
|
||||
default: '护理单元选择',
|
||||
default: '区域选择',
|
||||
},
|
||||
},
|
||||
emits: ['register', 'getSelectResult'],
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
//update-end-author:liusq date:2023-10-30 for: [issues/5514]组件页面显示错位
|
||||
schemas: [
|
||||
{
|
||||
label: '护理单元名称',
|
||||
label: '区域名称',
|
||||
field: 'nuName',
|
||||
component: 'JInput',
|
||||
colProps: { span: 10 },
|
||||
|
|
@ -122,13 +122,13 @@
|
|||
//定义表格列
|
||||
const columns = [
|
||||
{
|
||||
title: '护理单元编码',
|
||||
title: '区域编码',
|
||||
dataIndex: 'nuId',
|
||||
width: 180,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
title: '护理单元名称',
|
||||
title: '区域名称',
|
||||
dataIndex: 'nuName',
|
||||
// width: 180,
|
||||
},
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
rowKey: 'nuId',
|
||||
columns: [
|
||||
{
|
||||
title: '护理单元名称',
|
||||
title: '区域名称',
|
||||
dataIndex: 'nuName',
|
||||
width: 40,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Header :class="getHeaderClass" style="background-image: url('../resource/img/bj.png');">
|
||||
<Header :class="getHeaderClass" style="background-image: url('../resource/img/bj.png');background-repeat: no-repeat;background-size: 100% auto;">
|
||||
<!-- left start -->
|
||||
<div :class="`${prefixCls}-left`">
|
||||
<!-- logo -->
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<!-- <LayoutHeader fixed v-if="getShowFullHeaderRef" /> -->
|
||||
<Layout :class="[layoutClass]">
|
||||
<LayoutSideBar v-if="getShowSidebar || getIsMobile" />
|
||||
<Layout :class="`${prefixCls}-main`" style="background-image: url('../resource/img/bj.png');">
|
||||
<Layout :class="`${prefixCls}-main`" >
|
||||
<LayoutMultipleHeader />
|
||||
<LayoutContent />
|
||||
<LayoutFooter />
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ enum Api {
|
|||
edit = '/nuBaseInfo/nuBaseInfo/edit',
|
||||
importExcel = '/nuBaseInfo/nuBaseInfo/importExcel',
|
||||
exportXls = '/nuBaseInfo/nuBaseInfo/exportXls',
|
||||
qyList = '/nuBaseInfo/nuBaseInfo/qyList',
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -25,6 +26,7 @@ export const getImportUrl = Api.importExcel;
|
|||
* @param params
|
||||
*/
|
||||
export const list = (params) => defHttp.get({ url: Api.list, params });
|
||||
export const qyList = (params) => defHttp.get({ url: Api.qyList, params });
|
||||
|
||||
/**
|
||||
* 保存或者更新
|
||||
|
|
|
|||
|
|
@ -6,12 +6,17 @@ import { getWeekMonthQuarterYear } from '/@/utils';
|
|||
//列表数据
|
||||
export const columns: BasicColumn[] = [
|
||||
{
|
||||
title: '护理单元名称',
|
||||
title: '设备编码',
|
||||
align: "center",
|
||||
dataIndex: 'deviceMac'
|
||||
},
|
||||
{
|
||||
title: '区域名称',
|
||||
align: "center",
|
||||
dataIndex: 'nuName'
|
||||
},
|
||||
{
|
||||
title: '护理单元编码',
|
||||
title: '区域编码',
|
||||
align: "center",
|
||||
dataIndex: 'nuId'
|
||||
},
|
||||
|
|
@ -21,15 +26,15 @@ export const columns: BasicColumn[] = [
|
|||
dataIndex: 'areaFlag_dictText'
|
||||
},
|
||||
{
|
||||
title: '使用状态',
|
||||
title: '区域状态',
|
||||
align: "center",
|
||||
dataIndex: 'status_dictText'
|
||||
dataIndex: 'status_dictText',
|
||||
},
|
||||
];
|
||||
|
||||
// 高级查询数据
|
||||
export const superQuerySchema = {
|
||||
nuName: {title: '护理单元名称',order: 0,view: 'text', type: 'string',},
|
||||
nuName: {title: '区域名称',order: 0,view: 'text', type: 'string',},
|
||||
areaFlag: {title: '区域标签',order: 1,view: 'list', type: 'string',dictCode: 'nu_type',},
|
||||
status: {title: '使用状态',order: 2,view: 'list', type: 'string',dictCode: 'nu_status',},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
<a-row :gutter="24">
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuName">
|
||||
<template #label><span title="护理单元名称">护理单元名称</span></template>
|
||||
<j-input placeholder="请输入护理单元名称" v-model:value="queryParam.nuName" allow-clear ></j-input>
|
||||
<template #label><span title="区域名称">区域名称</span></template>
|
||||
<j-input placeholder="请输入区域名称" v-model:value="queryParam.nuName" allow-clear ></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '护理单元',
|
||||
title: '区域',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
},
|
||||
},
|
||||
exportConfig: {
|
||||
name: "护理单元",
|
||||
name: "区域",
|
||||
url: getExportUrl,
|
||||
params: queryParam,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,281 @@
|
|||
<template>
|
||||
<div class="p-2">
|
||||
<!--查询区域-->
|
||||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuName">
|
||||
<template #label><span title="区域信息名称">区域信息名称</span></template>
|
||||
<j-input placeholder="请输入区域信息名称" v-model:value="queryParam.nuName" allow-clear ></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="areaFlag">
|
||||
<template #label><span title="区域标签">区域标签</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.areaFlag" dictCode="nu_type" placeholder="请选择区域标签" allow-clear @change="changeAreaFlag" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="status">
|
||||
<template #label><span title="区域状态">区域状态</span></template>
|
||||
<a-select placeholder="请选择区域状态" v-model:value="queryParam.status" allow-clear v-if="queryParam.areaFlag == '1'">
|
||||
<a-select-option value="0">空闲</a-select-option>
|
||||
<a-select-option value="1">入住</a-select-option>
|
||||
<a-select-option value="2">外出</a-select-option>
|
||||
<a-select-option value="3">预警</a-select-option>
|
||||
<a-select-option value="5">停用</a-select-option>
|
||||
</a-select>
|
||||
<a-select placeholder="请先选择区域标签" v-model:value="queryParam.status" allow-clear v-else-if="!queryParam.areaFlag">
|
||||
<a-select-option value="">请先选择区域标签</a-select-option>
|
||||
</a-select>
|
||||
<a-select placeholder="请选择区域状态" v-model:value="queryParam.status" allow-clear v-else>
|
||||
<a-select-option value="3">预警</a-select-option>
|
||||
<a-select-option value="4">启用</a-select-option>
|
||||
<a-select-option value="5">停用</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!--引用表格-->
|
||||
<BasicTable @register="registerTable">
|
||||
<!--插槽:table标题-->
|
||||
<template #tableTitle>
|
||||
</template>
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
<TableAction :actions="getTableAction(record)" />
|
||||
</template>
|
||||
<template v-slot:bodyCell="{ column, record, index, text }">
|
||||
<template v-if="column.key === 'status_dictText'">
|
||||
<a-tag v-if="record.status == '9'"
|
||||
:color="'volcano'"
|
||||
>
|
||||
{{ text }}
|
||||
</a-tag>
|
||||
<span v-else>{{text}}</span>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'nuName'">
|
||||
<a @click="handleWlsb(record)">{{text}}</a>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
<!-- 表单区域 -->
|
||||
<NuBaseInfoModal ref="registerModal" @success="handleSuccess"></NuBaseInfoModal>
|
||||
<BaseWlsbListModal ref="wlsbModal" ></BaseWlsbListModal>
|
||||
|
||||
<CameraPreviewModal ref="previewModal"></CameraPreviewModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="nuBaseInfo-nuBaseInfo" setup>
|
||||
import { ref, reactive } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import { columns, superQuerySchema } from './NuBaseInfo.data';
|
||||
import { qyList, saveOrUpdate } from './NuBaseInfo.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import NuBaseInfoModal from './components/NuBaseInfoModal.vue'
|
||||
import BaseWlsbListModal from './components/BaseWlsbListModal.vue'
|
||||
import CameraPreviewModal from '/@/views/iot/tplink/camera/components/CameraPreviewModal.vue'
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { JInput } from '/@/components/Form';
|
||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||
import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
|
||||
const formRef = ref();
|
||||
const previewModal = ref();
|
||||
const wlsbModal = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const toggleSearchStatus = ref<boolean>(false);
|
||||
const registerModal = ref();
|
||||
const userStore = useUserStore();
|
||||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '区域信息',
|
||||
api: qyList,
|
||||
columns,
|
||||
canResize:false,
|
||||
useSearchForm: false,
|
||||
showIndexColumn: true,
|
||||
actionColumn: {
|
||||
width: 160,
|
||||
fixed: 'right',
|
||||
},
|
||||
beforeFetch: async (params) => {
|
||||
params.column = 'status',params.order = 'desc'
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
},
|
||||
});
|
||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
|
||||
const labelCol = reactive({
|
||||
xs:24,
|
||||
sm:6,
|
||||
xl:6,
|
||||
xxl:6
|
||||
});
|
||||
const wrapperCol = reactive({
|
||||
xs: 24,
|
||||
sm: 18,
|
||||
});
|
||||
|
||||
//查看物联设备
|
||||
function handleWlsb(record) {
|
||||
wlsbModal.value.disableSubmit = true;
|
||||
wlsbModal.value.edit(record);
|
||||
}
|
||||
|
||||
//清口区域状态
|
||||
function changeAreaFlag(value) {
|
||||
queryParam.status = '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑事件
|
||||
*/
|
||||
function handleEdit(record: Recordable) {
|
||||
registerModal.value.disableSubmit = false;
|
||||
registerModal.value.edit(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 成功回调
|
||||
*/
|
||||
function handleSuccess() {
|
||||
(selectedRowKeys.value = []) && reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用
|
||||
*/
|
||||
async function handleQiyong(record) {
|
||||
record.status = 4;
|
||||
if(record.areaFlag=='1'){
|
||||
record.status = 0;
|
||||
}
|
||||
await saveOrUpdate(record, true).then((res) => {
|
||||
if (res.success) {
|
||||
createMessage.success(res.message);
|
||||
} else {
|
||||
createMessage.warning(res.message);
|
||||
}
|
||||
reload();
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 停用
|
||||
*/
|
||||
async function handleTingyong(record) {
|
||||
record.status = 5;
|
||||
await saveOrUpdate(record, true).then((res) => {
|
||||
if (res.success) {
|
||||
createMessage.success(res.message);
|
||||
} else {
|
||||
createMessage.warning(res.message);
|
||||
}
|
||||
reload();
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 预览
|
||||
*/
|
||||
function handlePreview(record: Recordable) {
|
||||
previewModal.value.disableSubmit = true;
|
||||
previewModal.value.edit(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
{
|
||||
label: '启用',
|
||||
onClick: handleQiyong.bind(null, record),
|
||||
ifShow: record.status == 5,
|
||||
auth: 'nuBaseInfo:nu_base_info:edit'
|
||||
},
|
||||
{
|
||||
label: '停用',
|
||||
onClick: handleTingyong.bind(null, record),
|
||||
ifShow: record.status != 5,
|
||||
auth: 'nuBaseInfo:nu_base_info:edit'
|
||||
},
|
||||
{
|
||||
label: '更名',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
auth: 'nuBaseInfo:nu_base_info:edit'
|
||||
},
|
||||
{
|
||||
label: '预览',
|
||||
onClick: handlePreview.bind(null, record),
|
||||
ifShow: record.deviceMac != null,
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
function searchQuery() {
|
||||
reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置
|
||||
*/
|
||||
function searchReset() {
|
||||
formRef.value.resetFields();
|
||||
selectedRowKeys.value = [];
|
||||
//刷新数据
|
||||
reload();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.jeecg-basic-table-form-container {
|
||||
padding: 0;
|
||||
.table-page-search-submitButtons {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.query-group-cust{
|
||||
min-width: 100px !important;
|
||||
}
|
||||
.query-group-split-cust{
|
||||
width: 30px;
|
||||
display: inline-block;
|
||||
text-align: center
|
||||
}
|
||||
.ant-form-item:not(.ant-form-item-with-help){
|
||||
margin-bottom: 16px;
|
||||
height: 32px;
|
||||
}
|
||||
:deep(.ant-picker),:deep(.ant-input-number){
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,480 @@
|
|||
<template>
|
||||
<div class="p-2">
|
||||
<a-row>
|
||||
<a-col v-for="(item,index) in zndbList.records" :key="index" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6" style="padding: 8px;">
|
||||
<a-card style="width: 100%;border-radius: 8px;" :headStyle="{ height: '60px', padding: '0 24px' }" :bodyStyle="{ padding: '24px 24px 4px 24px' }">
|
||||
<template #title>
|
||||
<a-row style="font-weight: normal;">
|
||||
<a-col :span="18" style="font-size: 14px;">
|
||||
<div>SN:<span style="font-weight: bold;">{{item.address}}</span></div>
|
||||
<div style="font-size: 12px;">抄表时间:{{item.readTime?item.readTime:'未抄表'}}</div>
|
||||
</a-col>
|
||||
<a-col :span="6" style="text-align: center;padding-top: 4px;">
|
||||
<div :class="item.relayState=='1'?'zxClass':'lxClass'">{{item.relayState=='1'?'在线':'离线'}}</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="24" style="margin-top: -10px;"><a-tag color="red">智能电表</a-tag></a-col>
|
||||
<a-col :span="12" >{{item.nuId_dictText?item.nuId_dictText:'未配置'}}</a-col>
|
||||
<a-col :span="12" style="text-align: right;">
|
||||
<span style="text-align: right;background:#f6f6f6;padding: 2px 10px;border-radius:5px;">NUID: {{item.nuId?item.nuId:'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="14" style="text-align: right;font-size: 44px;font-weight: bold;margin-top:18px;">
|
||||
<span>{{item.eleValue?item.eleValue:'0.00'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="8" style="padding: 12px 0 0 5px;margin-top:18px;">
|
||||
<div style="font-size: 12px;margin: 5px 0 -5px 2px;padding:2px;">KWH</div>
|
||||
<div style="margin-top:-3px;"><span style="background:#eeeeee;padding: 2px;border-radius:5px;font-size:11px;">用电量</span></div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-divider />
|
||||
<p style="text-align:center;">
|
||||
<span style="display:inline-block;cursor: pointer;" @click="handleRead(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a1.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">抄表</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleControlLz(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a5.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">拉闸</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleControlHz(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a2.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">合闸</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleReset(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a3.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">清零</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="showApiLog(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a4.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">日志</span>
|
||||
</span>
|
||||
</p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
|
||||
|
||||
<a-col v-for="(item,index) in znsbList.records" :key="index" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6" style="padding: 8px;">
|
||||
<a-card style="width: 100%;border-radius: 8px;" :headStyle="{ height: '60px', padding: '0 24px' }" :bodyStyle="{ padding: '24px 24px 4px 24px' }">
|
||||
<template #title>
|
||||
<a-row style="font-weight: normal;">
|
||||
<a-col :span="18" style="font-size: 14px;">
|
||||
<div>SN:<span style="font-weight: bold;">{{item.address}}</span></div>
|
||||
<div style="font-size: 12px;">抄表时间:{{item.readTime?item.readTime:'未抄表'}}</div>
|
||||
</a-col>
|
||||
<a-col :span="6" style="text-align: center;padding-top: 4px;">
|
||||
<div :class="item.relayState=='1'?'zxClass':'lxClass'">{{item.relayState=='1'?'在线':'离线'}}</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="24" style="margin-top: -10px;"><a-tag color="blue">智能水表</a-tag></a-col>
|
||||
<a-col :span="12" >{{item.nuId_dictText?item.nuId_dictText:'未配置'}}</a-col>
|
||||
<a-col :span="12" style="text-align: right;">
|
||||
<span style="text-align: right;background:#f6f6f6;padding: 2px 10px;border-radius:5px;">NUID: {{item.nuId?item.nuId:'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="14" style="text-align: right;font-size: 44px;font-weight: bold;margin-top:18px;">
|
||||
<span>{{item.eleValue?item.eleValue:'0.00'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="8" style="padding: 12px 0 0 5px;margin-top:18px;">
|
||||
<div style="font-size: 12px;margin: 8px 0 -5px 2px;">m³</div>
|
||||
<div style="margin-top:-3px;"><span style="background:#eeeeee;padding: 2px;border-radius:5px;font-size:11px;">用水量</span></div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-divider />
|
||||
<p style="text-align:center;">
|
||||
<span style="display:inline-block;cursor: pointer;" @click="handleSbRead(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a1.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">抄表</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleSbControlLz(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a10.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">开阀</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleSbControlHz(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a11.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">关阀</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleSbReset(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a3.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">清零</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="showApiWaterLog(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a4.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">日志</span>
|
||||
</span>
|
||||
</p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
|
||||
<a-col v-for="(item,index) in wsdjList.records" :key="index" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6" style="padding: 8px;">
|
||||
<a-card style="width: 100%;border-radius: 8px;min-height:280px;" :headStyle="{ height: '60px', padding: '0 24px' }" :bodyStyle="{ padding: '24px 24px 4px 24px' }">
|
||||
<template #title>
|
||||
<a-row style="font-weight: normal;">
|
||||
<a-col :span="18" style="font-size: 14px;">
|
||||
<div>SN:<span style="font-weight: bold;">{{item.sn}}</span></div>
|
||||
<div style="font-size: 12px;">抄表时间:{{item.reportingTime?item.reportingTime:'未抄表'}}</div>
|
||||
</a-col>
|
||||
<a-col :span="6" style="text-align: center;padding-top: 4px;">
|
||||
<div :class="item.relayState=='1'?'zxClass':'lxClass'">{{item.status=='1'?'在线':'离线'}}</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="24" style="margin-top: -10px;"><a-tag color="green">温湿度计</a-tag></a-col>
|
||||
<a-col :span="12" >{{item.nuId_dictText?item.nuId_dictText:'未配置'}}</a-col>
|
||||
<a-col :span="12" style="text-align: right;">
|
||||
<span style="text-align: right;background:#f6f6f6;padding: 2px 10px;border-radius:5px;">NUID: {{item.nuId?item.nuId:'未配置'}}</span>
|
||||
</a-col>
|
||||
<a-col :span="24" style="padding: 12px 0 0 5px;margin-top:28px;">
|
||||
<a-row>
|
||||
<a-col :span="11" style="text-align: center;">
|
||||
<span><img src="../../../../assets/iot/a8.png" style="width:25px;margin-top: -15px;" /></span>
|
||||
<span style="font-size: 30px;font-weight:700;">{{item.temperature?item.temperature:'-'}}</span>
|
||||
<span style="font-size: 16px;">℃</span>
|
||||
</a-col>
|
||||
<a-col :span="2" style="text-align: center;">
|
||||
<a-divider type="vertical" style="height: 40px;"/>
|
||||
</a-col>
|
||||
<a-col :span="11" style="text-align: center;">
|
||||
<span style="margin-top:0px;"><img src="../../../../assets/iot/a9.png" style="width:25px;margin-top: -15px;" /></span>
|
||||
<span style="font-size: 30px;font-weight:700;margin-left: 6px;">{{item.humidity?item.humidity:'-'}}</span>
|
||||
<span style="font-size: 16px;">%</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-divider />
|
||||
<p style="text-align:center;">
|
||||
<span style="display:inline-block;cursor: pointer;" @click="handleWsdjRead(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a7.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">抄表</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="handleEdit(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a6.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">配置</span>
|
||||
</span>
|
||||
<span style="display:inline-block;margin-left:10%;cursor: pointer;" @click="showWsdjApiLog(item)">
|
||||
<span class="tbClass"><img src="../../../../assets/iot/a4.png" style="width:20px;" /></span><br/>
|
||||
<span class="antTitle">日志</span>
|
||||
</span>
|
||||
</p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col v-if="zndbList?.records.length==0 && znsbList?.records.length==0 && wsdjList?.records.length == 0" span="24">
|
||||
<div style="margin: 30px auto;">
|
||||
<a-empty />
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
|
||||
|
||||
<ApiLogModal ref="apiLogModal"></ApiLogModal>
|
||||
<ApiLogWaterModal ref="apiLogWaterModal"></ApiLogWaterModal>
|
||||
<ApiLogAlarmModal ref="apiLogAlarmModal"></ApiLogAlarmModal>
|
||||
<DeviceInfoDrawer @register="registerDrawer" @success="handleSuccess" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, defineExpose, h } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import {eleReset, eleControl, eleRead } from '/@/views/iot/tq/electricity/electricity.api';
|
||||
import {Modal} from "ant-design-vue";
|
||||
import ApiLogModal from "@/views/iot/tq/electricity/apilog/ApiLogModal.vue";
|
||||
import ApiLogWaterModal from "@/views/iot/tq/electricity/apilog/WaterApiLogModal.vue";
|
||||
import ApiLogAlarmModal from '/@/views/iot/yiweilian/components/ApiLogAlarmModal.vue'
|
||||
import DeviceInfoDrawer from "/@/views/iot/yiweilian/components/DeviceInfoDrawer.vue";
|
||||
import {useDrawer} from "@/components/Drawer";
|
||||
import {updateDeviceRealTime} from '/@/views/iot/yiweilian/humid.api';
|
||||
import {eleSbReset, eleSbControl, eleSbRead } from "/@/views/iot/tq/water/water.api";
|
||||
const formRef = ref();
|
||||
const apiLogModal = ref();
|
||||
const apiLogWaterModal = ref();
|
||||
const apiLogAlarmModal = ref();
|
||||
const zndbList = ref<any>({records: []});//智能电表
|
||||
const znsbList = ref<any>({records: []});//智能水表
|
||||
const wsdjList = ref<any>({records: []});//温湿度计
|
||||
const anyInfo = ref<any>({});//区域信息
|
||||
//注册drawer
|
||||
const [registerDrawer, { openDrawer }] = useDrawer();
|
||||
|
||||
function edit(record) {
|
||||
anyInfo.value = record;
|
||||
getZndb(record);//智能电表
|
||||
getZnsb(record);//智能水表
|
||||
getWsdj(record);//温湿度计
|
||||
}
|
||||
//获取智能电表
|
||||
function getZndb(record){
|
||||
var queryParam = {pageSize:-1,nuId:record.nuId}
|
||||
defHttp.get({url: '/iot/tq/electricityMeter/list',params:queryParam}).then(res => {
|
||||
console.log("🚀 ~ defHttp.get ~ res:", res)
|
||||
zndbList.value = res;
|
||||
console.log("🚀 ~ defHttp.get ~ zndbList:", zndbList)
|
||||
});
|
||||
}
|
||||
//获取智能水表
|
||||
function getZnsb(record){
|
||||
var queryParam = {pageSize:-1,nuId:record.nuId}
|
||||
defHttp.get({url: '/iot/tq/waterMeter/list',params:queryParam}).then(res => {
|
||||
console.log("🚀 ~ defHttp.get ~ res:", res)
|
||||
znsbList.value = res;
|
||||
});
|
||||
}
|
||||
//获取温湿度计
|
||||
function getWsdj(record){
|
||||
var queryParam = {pageSize:-1,nuId:record.nuId}
|
||||
defHttp.get({url: '/iot/yiweilian/humidDevice/list',params:queryParam}).then(res => {
|
||||
console.log("🚀 ~ defHttp.get ~ res:", res)
|
||||
wsdjList.value = res;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 抄电表
|
||||
async function handleRead(record) {
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
};
|
||||
await eleRead(params);
|
||||
setTimeout(() => {
|
||||
getZndb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 电表拉闸
|
||||
async function handleControlLz(record) {
|
||||
if(record.relayState == '0'){
|
||||
Modal.info({
|
||||
title: '拉闸',
|
||||
content: h('div', {}, [
|
||||
h('p', '此电表已拉闸!'),
|
||||
]),
|
||||
onOk() {},
|
||||
});
|
||||
return;
|
||||
}
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
'type' : '10',
|
||||
};
|
||||
await eleControl(params);
|
||||
setTimeout(() => {
|
||||
getZndb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 电表合闸
|
||||
async function handleControlHz(record) {
|
||||
if(record.relayState == '1'){
|
||||
Modal.info({
|
||||
title: '合闸',
|
||||
content: h('div', {}, [
|
||||
h('p', '此电表已合闸!'),
|
||||
]),
|
||||
onOk() {},
|
||||
});
|
||||
return;
|
||||
}
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
'type' : '11',
|
||||
};
|
||||
await eleControl(params);
|
||||
setTimeout(() => {
|
||||
getZndb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 电表清零
|
||||
async function handleReset(record) {
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
};
|
||||
await eleReset(params);
|
||||
setTimeout(() => {
|
||||
getZndb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查看电表api日志
|
||||
*/
|
||||
function showApiLog(record){
|
||||
console.log(record);
|
||||
apiLogModal.value.disableSubmit = true;
|
||||
apiLogModal.value.showApiLog(record);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 抄水表
|
||||
async function handleSbRead(record) {
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
};
|
||||
await eleSbRead(params);
|
||||
setTimeout(() => {
|
||||
getZnsb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 水表开阀
|
||||
async function handleSbControlLz(record) {
|
||||
if(record.relayState == '0'){
|
||||
Modal.info({
|
||||
title: '开阀',
|
||||
content: h('div', {}, [
|
||||
h('p', '此水表已开阀!'),
|
||||
]),
|
||||
onOk() {},
|
||||
});
|
||||
return;
|
||||
}
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
'type' : '43',
|
||||
};
|
||||
await eleSbControl(params);
|
||||
setTimeout(() => {
|
||||
getZnsb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 水表关阀
|
||||
async function handleSbControlHz(record) {
|
||||
if(record.relayState == '1'){
|
||||
Modal.info({
|
||||
title: '关阀',
|
||||
content: h('div', {}, [
|
||||
h('p', '此水表已关阀!'),
|
||||
]),
|
||||
onOk() {},
|
||||
});
|
||||
return;
|
||||
}
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
'type' : '53',
|
||||
};
|
||||
await eleSbControl(params);
|
||||
setTimeout(() => {
|
||||
getZnsb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 水表清零
|
||||
async function handleSbReset(record) {
|
||||
const params = {
|
||||
'cid' : record.cid,
|
||||
'address' : record.address,
|
||||
};
|
||||
await eleSbReset(params);
|
||||
setTimeout(() => {
|
||||
getZnsb(anyInfo);
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看水表api日志
|
||||
*/
|
||||
function showApiWaterLog(record){
|
||||
console.log(record);
|
||||
apiLogWaterModal.value.disableSubmit = true;
|
||||
apiLogWaterModal.value.showApiLog(record);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 温湿度计抄表
|
||||
async function handleWsdjRead(record) {
|
||||
const params = {
|
||||
'sn' : record.sn,
|
||||
};
|
||||
await updateDeviceRealTime(params);
|
||||
setTimeout(() => {
|
||||
getWsdj(anyInfo);//温湿度计
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
// 温湿度计编辑
|
||||
async function handleEdit(record) {
|
||||
record["isUpdate"] = true;
|
||||
console.log(record);
|
||||
openDrawer(true, {
|
||||
record,
|
||||
isUpdate: true,
|
||||
showFooter: true,
|
||||
tenantSaas: false,
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 温湿度计查看api日志
|
||||
*/
|
||||
function showWsdjApiLog(record){
|
||||
apiLogAlarmModal.value.disableSubmit = true;
|
||||
apiLogAlarmModal.value.showLogAlarm(record);
|
||||
}
|
||||
|
||||
|
||||
defineExpose({
|
||||
edit,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.antd-modal-form {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.cardTitle{
|
||||
background: #1ea0fa;
|
||||
width: 100%;
|
||||
margin: -28px -24px;
|
||||
padding-top: 15px;
|
||||
border-radius: 5px 5px 0px 0px;
|
||||
color: white;
|
||||
height: 55px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
}
|
||||
.zxClass{
|
||||
font-size:14px;
|
||||
background: linear-gradient(to right, #1ea0fa, #017de9);
|
||||
border-radius: 8px;
|
||||
height: 35px;
|
||||
color: white;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.lxClass{
|
||||
font-size:14px;
|
||||
background: linear-gradient(to right, #cccccc, #cccccc);
|
||||
border-radius: 8px;
|
||||
height: 35px;
|
||||
color: white;
|
||||
line-height: 35px;
|
||||
}
|
||||
.tbClass{
|
||||
background: #f6f6f6;
|
||||
padding: 8px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.antTitle{
|
||||
margin-top: 10px;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
<template>
|
||||
<j-modal :title="title" :width="width" :maxHeight="`200px`" :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭">
|
||||
<BaseWlsbListForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></BaseWlsbListForm>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, nextTick, defineExpose } from 'vue';
|
||||
import BaseWlsbListForm from './BaseWlsbListForm.vue'
|
||||
import JModal from '/@/components/Modal/src/JModal/JModal.vue';
|
||||
|
||||
const title = ref<string>('');
|
||||
const width = ref<string>('80%');
|
||||
const visible = ref<boolean>(false);
|
||||
const disableSubmit = ref<boolean>(false);
|
||||
const registerForm = ref();
|
||||
const emit = defineEmits(['register', 'success']);
|
||||
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param record
|
||||
*/
|
||||
function edit(record) {
|
||||
title.value = disableSubmit.value ? '详情' : '编辑';
|
||||
visible.value = true;
|
||||
nextTick(() => {
|
||||
registerForm.value.edit(record);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* form保存回调事件
|
||||
*/
|
||||
function submitCallback() {
|
||||
handleCancel();
|
||||
emit('success');
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消按钮回调事件
|
||||
*/
|
||||
function handleCancel() {
|
||||
visible.value = false;
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
edit,
|
||||
disableSubmit,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
/**隐藏样式-modal确定按钮 */
|
||||
.jee-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped></style>
|
||||
|
|
@ -5,18 +5,18 @@
|
|||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol"
|
||||
name="NuBaseInfoForm">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="护理单元名称" v-bind="validateInfos.nuName" id="NuBaseInfoForm-nuName" name="nuName">
|
||||
<a-input v-model:value="formData.nuName" placeholder="请输入护理单元名称" allow-clear></a-input>
|
||||
<a-col :span="24" style="margin-top: 60px;">
|
||||
<a-form-item label="区域名称" v-bind="validateInfos.nuName" id="NuBaseInfoForm-nuName" name="nuName">
|
||||
<a-input v-model:value="formData.nuName" placeholder="请输入区域名称" allow-clear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="护理单元编码" v-bind="validateInfos.nuId" id="NuBaseInfoForm-nuId" name="nuId">
|
||||
<a-col :span="24" hidden>
|
||||
<a-form-item label="区域编码" v-bind="validateInfos.nuId" id="NuBaseInfoForm-nuId" name="nuId">
|
||||
<a-input v-model:value="formData.nuId" placeholder="编码自动生成" allow-clear :disabled="true"
|
||||
:readonly="formData.nuId"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-col :span="24" hidden>
|
||||
<a-form-item label="区域标签" v-bind="validateInfos.areaFlag" id="NuBaseInfoForm-areaFlag" name="areaFlag">
|
||||
<j-dict-select-tag v-model:value="formData.areaFlag" dictCode="nu_type" :disabled="true"
|
||||
placeholder="请选择区域标签ID" allow-clear />
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { getWeekMonthQuarterYear } from '/@/utils';
|
|||
//列表数据
|
||||
export const columns: BasicColumn[] = [
|
||||
{
|
||||
title: '护理单元',
|
||||
title: '区域',
|
||||
align: "center",
|
||||
dataIndex: 'nuId_dictText'
|
||||
},
|
||||
|
|
@ -140,7 +140,7 @@ export const columns: BasicColumn[] = [
|
|||
|
||||
// 高级查询数据
|
||||
export const superQuerySchema = {
|
||||
nuId: {title: '护理单元',order: 0,view: 'list', type: 'string',dictCode: '',},
|
||||
nuId: {title: '区域',order: 0,view: 'list', type: 'string',dictCode: '',},
|
||||
customerName: {title: '姓名',order: 1,view: 'text', type: 'string',},
|
||||
customerSex: {title: '性别',order: 2,view: 'text', type: 'string',},
|
||||
customerAge: {title: '年龄',order: 3,view: 'list', type: 'string',dictCode: '',},
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
</span>
|
||||
</div>
|
||||
<div style="height: 130px">
|
||||
<div class="center-lines">护理单元:{{item.nuId_dictText }}</div>
|
||||
<div class="center-lines">区域:{{item.nuId_dictText }}</div>
|
||||
<div class="center-lines">报销类型:{{item.reimbType_dictText }}</div>
|
||||
<div class="center-lines">医保类型:{{item.medicalType_dictText }}</div>
|
||||
<div class="center-lines">联系电话:{{item.contactNumber }}</div>
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item @click="handleEdit(item)">编辑</a-menu-item>
|
||||
<a-menu-item @click="handleCheckNu(item)" v-if="item.currentState!='3'">更换护理单元</a-menu-item>
|
||||
<a-menu-item @click="handleCheckNu(item)" v-if="item.currentState!='3'">更换区域</a-menu-item>
|
||||
<a-menu-item @click="handleWaichu(item)" v-if="item.currentState=='1'">外出</a-menu-item>
|
||||
<a-menu-item @click="handleFanhui(item)" v-if="item.currentState=='2'">返回</a-menu-item>
|
||||
<a-menu-item @click="handleTuizhu(item)" v-if="item.currentState=='1' || item.currentState=='2'">退住</a-menu-item>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
* @param record
|
||||
*/
|
||||
function edit(record) {
|
||||
title.value = disableSubmit.value ? '详情' : '选择护理单元';
|
||||
title.value = disableSubmit.value ? '详情' : '选择区域';
|
||||
visible.value = true;
|
||||
nextTick(() => {
|
||||
registerForm.value.edit(record);
|
||||
|
|
|
|||
|
|
@ -62,8 +62,8 @@
|
|||
</a-col>
|
||||
</a-col>
|
||||
<a-col :span="24" hidden>
|
||||
<a-form-item label="护理单元" v-bind="validateInfos.nuId" id="NuBizCustomerInfoForm-nuId" name="nuId">
|
||||
<j-dict-select-tag v-model:value="formData.nuId" dictCode="" placeholder="请选择护理单元" allow-clear />
|
||||
<a-form-item label="区域" v-bind="validateInfos.nuId" id="NuBizCustomerInfoForm-nuId" name="nuId">
|
||||
<j-dict-select-tag v-model:value="formData.nuId" dictCode="" placeholder="请选择区域" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@ export const columns: BasicColumn[] = [
|
|||
dataIndex: 'locationName'
|
||||
},
|
||||
{
|
||||
title: '护理单元',
|
||||
title: '区域',
|
||||
align: "center",
|
||||
dataIndex: 'nuId_dictText',
|
||||
},
|
||||
// {
|
||||
// title: '护理单元',
|
||||
// title: '区域',
|
||||
// align: "center",
|
||||
// dataIndex: 'nuName'
|
||||
// },
|
||||
|
|
@ -146,7 +146,7 @@ export const formSchema: FormSchema[] = [
|
|||
dynamicDisabled: true
|
||||
},
|
||||
{
|
||||
label: '护理单元',
|
||||
label: '区域',
|
||||
field: 'nuId',
|
||||
component: 'JSelectNu',
|
||||
componentProps: {
|
||||
|
|
|
|||
|
|
@ -4,16 +4,16 @@
|
|||
<div class="jeecg-basic-table-form-container">
|
||||
<a-form ref="formRef" @keyup.enter.native="reload" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="6">
|
||||
<!-- <a-col :lg="6">
|
||||
<a-form-item name="address">
|
||||
<template #label><span title="SN">SN</span></template>
|
||||
<j-input placeholder="请输入SN" v-model:value="queryParam.address" allow-clear ></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuId">
|
||||
<template #label><span title="护理单元">护理单元</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选护理单元" allow-clear />
|
||||
<template #label><span title="区域">区域</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选区域" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import {ref, reactive, createVNode, h, onMounted, watch, unref} from 'vue';
|
|||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '护理单元-物联管理-录像信息',
|
||||
title: '区域-物联管理-录像信息',
|
||||
api: searchVideo,
|
||||
columns: recordingColumns,
|
||||
canResize: false,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '护理单元-物联管理-录像计划',
|
||||
title: '区域-物联管理-录像计划',
|
||||
api: list,
|
||||
columns,
|
||||
rowKey : "ids",
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '护理单元-物联管理-机构信息',
|
||||
title: '区域-物联管理-机构信息',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
//注册table数据
|
||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||
tableProps: {
|
||||
title: '护理单元-物联管理-区域信息',
|
||||
title: '区域-物联管理-区域信息',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ export const columns: BasicColumn[] = [
|
|||
dataIndex: 'departName'
|
||||
},
|
||||
{
|
||||
title: '护理单元',
|
||||
title: '区域',
|
||||
align: "center",
|
||||
dataIndex: 'nuName'
|
||||
},
|
||||
|
|
@ -96,11 +96,11 @@ export const searchFormSchema: FormSchema[] = [
|
|||
colProps: { span: 6 },
|
||||
},
|
||||
{
|
||||
label: '护理单元',
|
||||
label: '区域',
|
||||
field: 'deviceStatus',
|
||||
component: 'JDictSelectTag',
|
||||
componentProps: {
|
||||
placeholder: '请选择护理单元',
|
||||
placeholder: '请选择区域',
|
||||
dictCode: 'nu_base_info,nu_name,id,del_flag = 0 order by nu_name asc',
|
||||
},
|
||||
colProps: { span: 6 },
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuId">
|
||||
<template #label><span title="护理单元">护理单元</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选护理单元" allow-clear />
|
||||
<template #label><span title="区域">区域</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选区域" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuId">
|
||||
<template #label><span title="护理单元">护理单元</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选护理单元" allow-clear />
|
||||
<template #label><span title="区域">区域</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选区域" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
|
|
|
|||
|
|
@ -20,18 +20,21 @@ export const list = (params) => defHttp.get({ url: Api.list, params });
|
|||
* @param params
|
||||
*/
|
||||
export const eleReset = (params?) => defHttp.get({ url: Api.eleReset, params });
|
||||
export const eleSbReset = (params?) => defHttp.get({ url: Api.eleReset, params });
|
||||
|
||||
/**
|
||||
* 拉合闸
|
||||
* @param params
|
||||
*/
|
||||
export const eleControl = (params?) => defHttp.get({ url: Api.eleControl, params });
|
||||
export const eleSbControl = (params?) => defHttp.get({ url: Api.eleControl, params });
|
||||
|
||||
/**
|
||||
* 抄电表
|
||||
* @param params
|
||||
*/
|
||||
export const eleRead = (params?) => defHttp.get({ url: Api.eleRead, params });
|
||||
export const eleSbRead = (params?) => defHttp.get({ url: Api.eleRead, params });
|
||||
|
||||
/**
|
||||
* 获取设备信息
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@ export const searchFormSchema: FormSchema[] = [
|
|||
colProps: { span: 6 },
|
||||
},
|
||||
{
|
||||
label: '护理单元',
|
||||
label: '区域',
|
||||
field: 'deviceStatus',
|
||||
component: 'JDictSelectTag',
|
||||
componentProps: {
|
||||
placeholder: '请选择护理单元',
|
||||
placeholder: '请选择区域',
|
||||
dictCode: 'nu_base_info,nu_name,id,del_flag = 0 order by nu_name asc',
|
||||
},
|
||||
colProps: { span: 6 },
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="nuId">
|
||||
<template #label><span title="护理单元">护理单元</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选护理单元" allow-clear />
|
||||
<template #label><span title="区域">区域</span></template>
|
||||
<j-dict-select-tag type='list' v-model:value="queryParam.nuId" :dictCode="`nu_base_info,nu_name,nu_id`" placeholder="请选区域" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ export function useBasicFormSchema() {
|
|||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请填写护理单元长者入住应缴金额',
|
||||
message: '请填写区域长者入住应缴金额',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -109,6 +109,9 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
|||
actionColumn: {
|
||||
width: 240,
|
||||
},
|
||||
beforeFetch: async (params) => {
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
},
|
||||
//update-begin---author:wangshuai ---date:20220616 for:[issues/I5AMDD]导入/导出功能,操作后提示没有传递 export.url/import.url 参数------------
|
||||
exportConfig: {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { getWeekMonthQuarterYear } from '/@/utils';
|
|||
//列表数据
|
||||
export const columns: BasicColumn[] = [
|
||||
{
|
||||
title: '护理单元名称',
|
||||
title: '区域名称',
|
||||
align: "center",
|
||||
dataIndex: 'nuName'
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue