Browse Source

采集器管理控制器接口对接

like 10 months ago
parent
commit
3acd91519c

+ 23 - 0
snowy-admin-web/src/api/basicset/memApi.js

@@ -0,0 +1,23 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/coldchain/monitordevice/` + url, ...arg)
+
+// 采集器管理
+export default {
+	// 获取列表数据分页
+	memPage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交表单 edit为true时为编辑,默认为新增
+	submitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除
+	memDelete(data) {
+		return request('delete', data)
+	},
+	// 详情
+	memDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 49 - 387
snowy-admin-web/src/views/basicset/mem/form.vue

@@ -1,7 +1,7 @@
 <template>
 	<xn-form-container
 		:title="formData.id ? '编辑采集器' : '新增采集器'"
-		:width="'60%'"
+		:width="'500px'"
 		:visible="visible"
 		:destroy-on-close="true"
 		@close="onClose"
@@ -13,231 +13,35 @@
 			layout="inline"
 			:label-col="{ style: { width: '100px', justifyContent: 'end' } }"
 		>
-			<a-tabs v-model:activeKey="activeKey" type="editable-card" @edit="onEdit">
-				<a-tab-pane tab="对象信息" key="object" :closable="false">
-					<a-row :gutter="10">
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="采集器名称" name="name">
-								<a-input v-model:value="formData.name" placeholder="请输入采集器名称" allow-clear />
-							</a-form-item>
-						</a-col>
-
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="采集器编号" name="code">
-								<a-input v-model:value="formData.code" placeholder="请输入采集器编号" allow-clear />
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="采集器条码" name="barcode">
-								<a-input v-model:value="formData.barcode" placeholder="请输入采集器条码" allow-clear />
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="品牌" name="brand">
-								<a-input v-model:value="formData.brand" placeholder="请输入品牌" allow-clear />
-							</a-form-item>
-						</a-col>
-
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="状态" name="state">
-								<a-select ref="select" v-model:value="formData.state">
-									<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="4">报废</a-select-option>
-								</a-select>
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-							<a-form-item label="所属部门">
-								<a-input v-model:value="formData.division" placeholder="请输入所属部门" allow-clear />
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="12">
-							<a-form-item label="采集时间">
-								<a-time-range-picker v-model:value="formData.collectionTime" style="width: 100%" />
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-							<a-form-item label="位置">
-								<a-input v-model:value="formData.location" placeholder="请输入位置" allow-clear />
-							</a-form-item>
-						</a-col>
-						<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-							<a-form-item label="备注">
-								<a-textarea
-									v-model:value="formData.remarks"
-									placeholder="请输入备注"
-									allow-clear
-									:maxlength="200"
-									:rows="4"
-								/>
-							</a-form-item>
-						</a-col>
-					</a-row>
-				</a-tab-pane>
-				<a-tab-pane tab="报警信息" key="report" :closable="false">
-					<a-form-item :label-col="{ style: { width: '200px' } }">
-						<template #label>
-							<a-tooltip>
-								<template #title>
-									重复通知间隔:同一设备同一故障类型出现报警进行过一次报警通知后,进行下一次报普通知的间隔时间,如果在这个时间间隔内该设备同一故障类型
-									还在产生报警则不再进行通知。
-									最多报警次数:同一设备同一故障类型连续报警最多报警通知次数,在达到最多报警次数后如果报警还未及时处理,系统也不再进行报警通知。
-									延时时间:为屏蔽误报,系统报警在达到延时时间之后才进行报警通知。
-								</template>
-								<question-circle-outlined />
-							</a-tooltip>
-							重复发送通知:
-						</template>
-
-						<a-radio-group v-model:value="formData.repeat">
-							<a-radio value="1">1次</a-radio>
-							<a-radio value="2">多次</a-radio>
-						</a-radio-group>
-					</a-form-item>
-					<a-form-item label="延时报警" :label-col="{ style: { width: '200px' } }">
-						<a-radio-group v-model:value="formData.delayed">
-							<a-radio value="1">是</a-radio>
-							<a-radio value="0">否</a-radio>
-						</a-radio-group>
-					</a-form-item>
-					<a-form-item label="报警关闭发送通知" :label-col="{ style: { width: '200px' } }">
-						<a-radio-group v-model:value="formData.close">
-							<a-radio value="1">是</a-radio>
-							<a-radio value="0">否</a-radio>
-						</a-radio-group>
-					</a-form-item>
-					<a-form-item label="多级报警" :label-col="{ style: { width: '200px' } }">
-						<a-radio-group v-model:value="formData.multistage">
-							<a-radio value="1">是</a-radio>
-							<a-radio value="0">否</a-radio>
-						</a-radio-group>
-					</a-form-item>
-
-					<a-form-item label="报警通知方式" :label-col="{ style: { width: '200px' } }">
-						<a-checkbox-group v-model:value="formData.noticeway" style="width: 100%">
-							<a-checkbox value="1">短信</a-checkbox>
-							<a-checkbox value="2">电话</a-checkbox>
-							<a-checkbox value="3">微信</a-checkbox>
-							<a-checkbox value="4">电子邮件</a-checkbox>
-							<a-checkbox value="5">弹出</a-checkbox>
-							<a-checkbox value="6">音乐</a-checkbox>
-						</a-checkbox-group>
-					</a-form-item>
-
-					<!-- 表格区域 -->
-					<div>
-						<a-button type="primary" style="margin-left: 90%; margin-bottom: 5px" @click="tableAdd">
-							<template #icon><plus-outlined /></template>新增
-						</a-button>
-						<a-table
-							ref="tableRef"
-							bordered
-							:columns="columns"
-							:data-source="formData.loadData"
-							:row-key="(record) => record.startTime"
-							:pagination="false"
-						>
-							<template #headerCell="{ column }">
-								<template v-if="column.dataIndex === 'startTime'">
-									<text style="color: #e74032"> * </text>开始时间
-								</template>
-								<template v-if="column.dataIndex === 'endTime'">
-									<text style="color: #e74032"> * </text>结束时间
-								</template>
-								<template v-if="column.dataIndex === 'name'"> <text style="color: #e74032"> * </text>姓名 </template>
-								<template v-if="column.dataIndex === 'remindType'">
-									<text style="color: #e74032"> * </text>提醒方式
-								</template>
-								<template v-if="column.dataIndex === 'level'"> <text style="color: #e74032"> * </text>级别 </template>
-								<template v-if="column.dataIndex === 'phone'">
-									<text style="color: #e74032"> * </text>电话号码
-								</template>
-							</template>
-							<template #bodyCell="{ column, record, index }">
-								<!-- 表格内容 -->
-								<template v-if="column.dataIndex === 'startTime'">
-									<a-time-picker v-model:value="record.startTime" value-format="HH:mm:ss" style="width: 100%" />
-								</template>
-
-								<template v-if="column.dataIndex === 'endTime'">
-									<a-time-picker v-model:value="record.endTime" value-format="HH:mm:ss" style="width: 100%" />
-								</template>
-
-								<template v-if="column.dataIndex === 'name'">
-									<a-input v-model:value="record.name" placeholder="请输入姓名" />
-								</template>
-
-								<template v-if="column.dataIndex === 'remindType'">
-									<a-select v-model:value="record.remindType" placeholder="请选择提醒方式" style="width: 100%">
-										<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="4">邮件报警</a-select-option>
-										<a-select-option value="5">弹出报警</a-select-option>
-										<a-select-option value="6">音乐报警</a-select-option>
-									</a-select>
-								</template>
-
-								<template v-if="column.dataIndex === 'level'">
-									<a-select v-model:value="record.level" placeholder="请选择级别" style="width: 100px">
-										<a-select-option value="1">1</a-select-option>
-										<a-select-option value="2">2</a-select-option>
-										<a-select-option value="3">3</a-select-option>
-										<a-select-option value="4">4</a-select-option>
-										<a-select-option value="5">5</a-select-option>
-									</a-select>
-								</template>
-
-								<template v-if="column.dataIndex === 'phone'">
-									<a-input v-model:value="record.phone" placeholder="请输入电话号码" />
-								</template>
-
-								<template v-if="column.dataIndex === 'action'">
-									<a-popconfirm title="确定要删除吗?" @confirm="tableDelete(record, index)">
-										<a-button type="link" danger size="small">删除</a-button>
-									</a-popconfirm>
-								</template>
-							</template>
-						</a-table>
-					</div>
-				</a-tab-pane>
-
-				<a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title" :closable="pane.closable">
-					<!-- 新增路数-->
-					<div v-for="(item, index) in formData.list" :key="index">
-						<a-row :gutter="10" v-if="activeKey == item.key">
-							<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="12">
-								<a-form-item label="传感器路数">
-									<a-input v-model:value="item.number" placeholder="请输入传感器路数" allow-clear />
-								</a-form-item>
-							</a-col>
-
-							<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="12">
-								<a-form-item label="传感器类型">
-									<a-select ref="select" v-model:value="item.sensorType" placeholder="请选择传感器类型">
-										<a-select-option value="1">温度</a-select-option>
-										<a-select-option value="2">温湿度</a-select-option>
-									</a-select>
-								</a-form-item>
-							</a-col>
-
-							<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-								<a-form-item label="备注">
-									<a-textarea
-										v-model:value="item.numberRemarks"
-										placeholder="请输入备注"
-										allow-clear
-										:maxlength="200"
-										:rows="4"
-									/>
-								</a-form-item>
-							</a-col>
-						</a-row>
-					</div>
-				</a-tab-pane>
-			</a-tabs>
+			<a-form-item label="设备名称" name="deviceName">
+				<a-input v-model:value="formData.deviceName" placeholder="请输入设备名称" allow-clear />
+			</a-form-item>
+			<a-form-item label="设备编号" name="deviceCode">
+				<a-input v-model:value="formData.deviceCode" placeholder="请输入设备编号" allow-clear />
+			</a-form-item>
+			<a-form-item label="设备型号" name="modelName">
+				<a-select ref="select" v-model:value="formData.modelName" :options="modeOptions"> </a-select>
+			</a-form-item>
+			<a-form-item label="设备状态" name="status">
+				<a-select ref="select" v-model:value="formData.status">
+					<a-select-option value="1">正常</a-select-option>
+					<a-select-option value="2">闲置</a-select-option>
+				</a-select>
+			</a-form-item>
+			<a-form-item label="传感器路数" name="sensorCount">
+				<a-input-number
+					v-model:value="formData.sensorCount"
+					placeholder="请输入传感器路数"
+					allow-clear
+					:min="1"
+					:max="100000"
+					style="width: 100%"
+					:precision="0"
+				/>
+			</a-form-item>
+			<a-form-item label="排序:" name="sortCode">
+				<a-input-number class="xn-wd" v-model:value="formData.sortCode" :max="100" />
+			</a-form-item>
 		</a-form>
 
 		<template #footer>
@@ -248,83 +52,30 @@
 </template>
 
 <script setup>
+	import tool from '@/utils/tool'
 	import { message } from 'ant-design-vue'
 	import { required } from '@/utils/formRules'
-	import moduleApi from '@/api/sys/resource/moduleApi'
-	// 默认是关闭状态
-	const visible = ref(false)
+	import memApi from '@/api/basicset/memApi'
 	const emit = defineEmits({ successful: null })
+	const visible = ref(false) // 默认是关闭状态
 	const formRef = ref()
-
-	const tableRef = ref()
-
-	const columns = [
-		{
-			title: '开始时间',
-			dataIndex: 'startTime',
-			align: 'center'
-		},
-		{
-			title: '结束时间',
-			dataIndex: 'endTime',
-			align: 'center'
-		},
-		{
-			title: '姓名',
-			dataIndex: 'name',
-			align: 'center'
-		},
-		{
-			title: '提醒方式',
-			dataIndex: 'remindType',
-			align: 'center'
-		},
-		{
-			title: '级别',
-			dataIndex: 'level',
-			align: 'center'
-		},
-		{
-			title: '电话号码',
-			dataIndex: 'phone',
-			align: 'center'
-		},
-		{
-			title: '操作',
-			dataIndex: 'action',
-			align: 'center',
-			scopedSlots: { customRender: 'action' }
-		}
-	]
-	// 表单数据
-	const formData = ref({
-		repeat: '1',
-		delayed: '0',
-		close: '1',
-		multistage: '0',
-		noticeway: ['1'],
-		loadData: [],
-		list: []
-	})
+	const formData = ref({ sortCode: 99 }) // 表单数据
+	const modeOptions = tool.dictList('COIDCHAIN') // 设备型号
+	// 默认要校验的
+	const formRules = {
+		deviceName: [required('请输入设备名称')],
+		deviceCode: [required('请输入设备编号')],
+		modelName: [required('请选择设备型号')],
+		sensorCount: [required('请输入传感器路数')]
+	}
 
 	// 打开抽屉
 	const onOpen = (record) => {
 		visible.value = true
-		activeKey.value = 'object'
-		panes.value = []
-		newTabIndex.value = 1
 		if (record) {
 			formData.value = Object.assign({}, record)
 		} else {
-			formData.value = {
-				repeat: '1',
-				delayed: '0',
-				close: '1',
-				multistage: '0',
-				noticeway: ['1'],
-				loadData: [],
-				list: []
-			}
+			formData.value = { sortCode: 99 }
 		}
 	}
 	// 关闭抽屉
@@ -333,111 +84,21 @@
 		visible.value = false
 	}
 
-	// 默认要校验的
-	const formRules = {
-		name: [required('请输入采集器名称')],
-		code: [required('请输入采集器编号')]
-	}
-
-	// 表格添加一行空数据
-	const tableAdd = () => {
-		const newRow = {
-			startTime: '00:00:00',
-			endTime: '23:59:59',
-			name: '',
-			level: '',
-			phone: ''
-		}
-		formData.value.loadData.push(newRow)
-	}
-
-	// 删除某一行
-	const tableDelete = (record, index) => {
-		formData.value.loadData.splice(index, 1)
-	}
-
 	// 验证并提交数据
 	const onSubmit = () => {
 		formRef.value
 			.validate()
 			.then(() => {
-				// 校验表格信息里面的表单是否有空数据
-				for (let i = 0; i < formData.value.loadData.length; i++) {
-					if (
-						!formData.value.loadData[i].startTime ||
-						!formData.value.loadData[i].endTime ||
-						!formData.value.loadData[i].name ||
-						!formData.value.loadData[i].remindType ||
-						!formData.value.loadData[i].level ||
-						!formData.value.loadData[i].phone
-					) {
-						console.log(i, 'xxxxxx')
-
-						message.warning(`请完善表格中的必填项`)
-					} else {
-						console.log(formData.value.list, '提交数据')
-						// moduleApi.submitForm(formData.value, formData.value.id).then(() => {
-						// 	onClose()
-						// 	emit('successful')
-						// })
-					}
-				}
+				memApi.submitForm(formData.value, formData.value.id).then(() => {
+					onClose()
+					emit('successful')
+				})
 			})
 			.catch((error) => {
 				console.log(error)
 			})
 	}
 
-	// 新增或删除路数
-	const onEdit = (targetKey, action) => {
-		if (action === 'add') {
-			add()
-		} else {
-			remove(targetKey)
-		}
-	}
-	const activeKey = ref('object') //选中的tabs
-	const panes = ref([]) //tabs数组
-	const newTabIndex = ref(1)
-	// 添加tabs
-	const add = () => {
-		const newIndex = newTabIndex.value++
-		if (panes.value.length >= 5) return //最多只能5路
-		panes.value.push({
-			title: `${newIndex}路`,
-			key: newIndex
-		})
-
-		formData.value.list.push({
-			title: `${newIndex}路`,
-			key: newIndex
-		})
-	}
-
-	// 删除tabs
-	const remove = (targetKey) => {
-		let lastIndex = 0
-		panes.value.forEach((pane, i) => {
-			if (pane.key === targetKey) {
-				lastIndex = i - 1
-			}
-		})
-		panes.value = panes.value.filter((pane) => pane.key !== targetKey)
-		if (panes.value.length && activeKey.value === targetKey) {
-			if (lastIndex >= 0) {
-				activeKey.value = panes.value[lastIndex].key
-			} else {
-				activeKey.value = panes.value[0].key
-			}
-		}
-
-		if (panes.value.length == 0) {
-			activeKey.value = 'object'
-		}
-
-		formData.value.list = formData.value.list.filter((item) => item.key !== targetKey) //删除表单
-	}
-
 	// 调用这个函数将子组件的一些数据和方法暴露出去
 	defineExpose({
 		onOpen
@@ -448,7 +109,8 @@
 	.ant-tabs {
 		width: 100%;
 	}
-	:deep(.ant-col) {
+	:deep(.ant-form-item) {
+		width: 100%;
 		margin-bottom: 10px;
 	}
 </style>

+ 42 - 159
snowy-admin-web/src/views/basicset/mem/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="table_item">
-		<s-table ref="tableRef" :columns="columns" :data="loadData" :row-key="(record) => record.code">
+		<s-table ref="tableRef" :columns="columns" :data="loadData" :row-key="(record) => record.id">
 			<template #operator>
 				<!-- 搜索区域 -->
 				<div class="table-search">
@@ -14,41 +14,14 @@
 								:model="searchFormState"
 								class="ant-advanced-search-form"
 							>
-								<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-									<a-form-item label="冷链编号" name="code">
-										<a-input v-model:value="searchFormState.code" placeholder="请输入冷链编号" /> </a-form-item
-								></a-col>
-								<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-									<a-form-item label="所属中继" name="sszj">
-										<a-select v-model:value="searchFormState.sszj" placeholder="请选择所属中继">
-											<a-select-option value="1">虚拟中继</a-select-option>
-										</a-select>
-									</a-form-item></a-col
-								>
-								<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-									<a-form-item label="运行状态" name="yxzt">
-										<a-select v-model:value="searchFormState.yxzt" placeholder="请选择运行状态">
-											<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="4">闲置维修</a-select-option>
-										</a-select>
-									</a-form-item></a-col
-								>
 								<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8"
-									><a-form-item label="采集名称" name="name">
-										<a-input v-model:value="searchFormState.name" placeholder="请输入采集名称" /> </a-form-item
+									><a-form-item label="设备名称" name="deviceName">
+										<a-input v-model:value="searchFormState.deviceName" placeholder="请输入设备名称" /> </a-form-item
 								></a-col>
 								<a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-									<a-form-item label="型号" name="xh">
-										<a-select v-model:value="searchFormState.xh" placeholder="请选择型号">
-											<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="4">wifi采集</a-select-option>
-										</a-select>
-									</a-form-item></a-col
-								>
+									<a-form-item label="设备编号" name="deviceCode">
+										<a-input v-model:value="searchFormState.deviceCode" placeholder="请输入设备编号" /> </a-form-item
+								></a-col>
 							</a-form>
 						</a-row>
 					</div>
@@ -74,27 +47,27 @@
 				</div>
 			</template>
 			<template #bodyCell="{ column, record }">
-				<template v-if="column.dataIndex === 'state'">
+				<template v-if="column.dataIndex === 'status'">
 					<span>
-						<a-tag :color="record.state == '1' ? '#87d068' : record.state == '2' ? '#cd201f' : '#50cd7c'">
-							{{ record.stateValue }}
+						<a-tag :color="record.status == '1' ? '#87d068' : '#cd201f'">
+							{{ record.status == '1' ? '正常' : '闲置' }}
 						</a-tag>
 					</span>
 				</template>
 				<template v-if="column.dataIndex === 'action'">
-					<a-button type="link" size="small" @click="formRef.onOpen(record)">编辑</a-button>
+					<!-- <a-button type="link" size="small" @click="formRef.onOpen(record)">编辑</a-button> -->
 					<a-popconfirm title="确定要删除吗?" @confirm="deleteData(record)">
 						<a-button type="link" danger size="small">删除</a-button>
 					</a-popconfirm>
 					<a-button type="link" size="small">记录</a-button>
 				</template>
 			</template>
-			<template #expandedRowRender="{ record }">
+			<!-- <template #expandedRowRender="{ record }">
 				<a-tabs v-model:activeKey="record.activeKey" size="small" type="card">
 					<a-tab-pane key="1" tab="基本信息">
 						<div class="list">
 							<a-descriptions bordered size="small">
-								<a-descriptions-item label="采集器名称" :span="2">{{ '90160206' }}</a-descriptions-item>
+								<a-descriptions-item label="设备名称" :span="2">{{ '90160206' }}</a-descriptions-item>
 								<a-descriptions-item label="采集器编码" :span="2">{{ '90160206' }}</a-descriptions-item>
 								<a-descriptions-item label="采集器设备状态" :span="2">{{ '正常' }}</a-descriptions-item>
 								<a-descriptions-item label="创建时间" :span="2">{{ '2024-10-09 09:36:21' }}</a-descriptions-item>
@@ -110,7 +83,7 @@
 						</div>
 					</a-tab-pane>
 				</a-tabs>
-			</template>
+			</template> -->
 		</s-table>
 
 		<Form ref="formRef" @successful="tableRef.refresh(true)" />
@@ -119,7 +92,7 @@
 
 <script setup>
 	import tool from '@/utils/tool'
-	import jobApi from '@/api/dev/jobApi'
+	import memApi from '@/api/basicset/memApi'
 	import Form from './form.vue'
 	const formRef = ref()
 	const searchFormRef = ref()
@@ -128,65 +101,54 @@
 
 	const columns = [
 		{
-			title: '所属部门',
-			dataIndex: 'ssbm',
-			align: 'center',
-			ellipsis: true,
-
-			width: 200
-		},
-		{
-			title: '采集器编号',
-			dataIndex: 'code',
+			title: '设备名称',
+			dataIndex: 'deviceName',
 			align: 'center',
 			ellipsis: true
 		},
 		{
-			title: '采集器名称',
-			dataIndex: 'name',
+			title: '设备编号',
+			dataIndex: 'deviceCode',
 			align: 'center',
-			ellipsis: true,
-
-			width: 200
+			ellipsis: true
 		},
 		{
-			title: '型号',
-			dataIndex: 'xh',
+			title: '设备型号',
+			dataIndex: 'modelName',
 			align: 'center',
 			ellipsis: true
 		},
 		{
 			title: '最后心跳时间',
-			dataIndex: 'date',
+			dataIndex: 'lastHeartbeatTime',
 			align: 'center',
-			ellipsis: true,
-
-			width: 200
+			ellipsis: true
 		},
 		{
 			title: '设备状态',
-			dataIndex: 'state',
+			dataIndex: 'status',
 			align: 'center',
 			ellipsis: true
 		},
 
 		{
 			title: '传感器路数',
-			dataIndex: 'bjsxx',
+			dataIndex: 'sensorCount',
 			align: 'center',
 			ellipsis: true
 		},
 		{
-			title: '对应监控对象',
-			dataIndex: 'dyjkdx',
+			title: '最近登录时间',
+			dataIndex: 'lastLoginTime',
 			align: 'center',
 			ellipsis: true
 		},
 		{
-			title: '监控对象位置',
-			dataIndex: 'jkdxwz',
+			title: '排序码',
+			dataIndex: 'sortCode',
 			align: 'center',
-			ellipsis: true
+			ellipsis: true,
+			sorter: true
 		},
 
 		{
@@ -198,95 +160,8 @@
 	]
 
 	const loadData = (parameter) => {
-		return jobApi.jobPage(Object.assign(parameter, searchFormState.value)).then((res) => {
-			// return res
-			const obj = {
-				current: 1,
-				pages: 1,
-				records: [
-					{
-						id: '11111',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945621',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-09-28 07:03:24',
-						state: '1',
-						stateValue: '正常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					},
-					{
-						id: '22222',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945622',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-11-05 07:12:42',
-						state: '1',
-						stateValue: '正常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					},
-					{
-						id: '33333',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945623',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-11-05 09:22:45',
-						state: '1',
-						stateValue: '正常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					},
-					{
-						id: '44444',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945624',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-11-05 09:27:55',
-						state: '1',
-						stateValue: '正常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					},
-					{
-						id: '55555',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945625',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-11-05 10:16:11',
-						state: '2',
-						stateValue: '异常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					},
-					{
-						id: '66666',
-						ssbm: '广州海关技术中心',
-						code: 'Y6578945626',
-						name: 'ABSL-3超低温冰箱123456',
-						xh: '三代GPRS采集-VH',
-						date: '2024-11-05 14:57:31',
-						state: '2',
-						stateValue: '异常',
-						bjsxx: '1',
-						dyjkdx: 'BSL-3超低温冰箱',
-						jkdxwz: 'ABCLSY冰箱三层'
-					}
-				],
-				size: 10,
-				total: 6
-			}
-			return obj
+		return memApi.memPage(Object.assign(parameter, searchFormState.value)).then((res) => {
+			return res
 		})
 	}
 	// 重置
@@ -296,7 +171,15 @@
 	}
 	// 删除
 	const deleteData = (record) => {
-		console.log(record, '删除')
+		let params = [
+			{
+				id: record.id
+			}
+		]
+		memApi.memDelete(params).then(() => {
+			tableRef.value.refresh(true)
+			reset()
+		})
 	}
 </script>