Commit 793f8753 authored by honghuiliu's avatar honghuiliu 💬

日常提交

parent 98b17b50
...@@ -5,5 +5,6 @@ type ApiGroup struct { ...@@ -5,5 +5,6 @@ type ApiGroup struct {
QshToiletApi QshToiletApi
QshPartolApi QshPartolApi
QshMonitorDataApi
// Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT.
} }
package admin
import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/admin"
adminReq "github.com/flipped-aurora/gin-vue-admin/server/model/admin/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/service"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
type QshMonitorDataApi struct {
}
var qshMonitorDataService = service.ServiceGroupApp.AdminServiceGroup.QshMonitorDataService
// CreateQshMonitorData 创建QshMonitorData
// @Tags QshMonitorData
// @Summary 创建QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body admin.QshMonitorData true "创建QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /qshMonitorData/createQshMonitorData [post]
func (qshMonitorDataApi *QshMonitorDataApi) CreateQshMonitorData(c *gin.Context) {
var qshMonitorData admin.QshMonitorData
_ = c.ShouldBindJSON(&qshMonitorData)
if err := qshMonitorDataService.CreateQshMonitorData(qshMonitorData); err != nil {
global.GVA_LOG.Error("创建失败!", zap.Error(err))
response.FailWithMessage("创建失败", c)
} else {
response.OkWithMessage("创建成功", c)
}
}
// DeleteQshMonitorData 删除QshMonitorData
// @Tags QshMonitorData
// @Summary 删除QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body admin.QshMonitorData true "删除QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /qshMonitorData/deleteQshMonitorData [delete]
func (qshMonitorDataApi *QshMonitorDataApi) DeleteQshMonitorData(c *gin.Context) {
var qshMonitorData admin.QshMonitorData
_ = c.ShouldBindJSON(&qshMonitorData)
if err := qshMonitorDataService.DeleteQshMonitorData(qshMonitorData); err != nil {
global.GVA_LOG.Error("删除失败!", zap.Error(err))
response.FailWithMessage("删除失败", c)
} else {
response.OkWithMessage("删除成功", c)
}
}
// DeleteQshMonitorDataByIds 批量删除QshMonitorData
// @Tags QshMonitorData
// @Summary 批量删除QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.IdsReq true "批量删除QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"批量删除成功"}"
// @Router /qshMonitorData/deleteQshMonitorDataByIds [delete]
func (qshMonitorDataApi *QshMonitorDataApi) DeleteQshMonitorDataByIds(c *gin.Context) {
var IDS request.IdsReq
_ = c.ShouldBindJSON(&IDS)
if err := qshMonitorDataService.DeleteQshMonitorDataByIds(IDS); err != nil {
global.GVA_LOG.Error("批量删除失败!", zap.Error(err))
response.FailWithMessage("批量删除失败", c)
} else {
response.OkWithMessage("批量删除成功", c)
}
}
// UpdateQshMonitorData 更新QshMonitorData
// @Tags QshMonitorData
// @Summary 更新QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body admin.QshMonitorData true "更新QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
// @Router /qshMonitorData/updateQshMonitorData [put]
func (qshMonitorDataApi *QshMonitorDataApi) UpdateQshMonitorData(c *gin.Context) {
var qshMonitorData admin.QshMonitorData
_ = c.ShouldBindJSON(&qshMonitorData)
if err := qshMonitorDataService.UpdateQshMonitorData(qshMonitorData); err != nil {
global.GVA_LOG.Error("更新失败!", zap.Error(err))
response.FailWithMessage("更新失败", c)
} else {
response.OkWithMessage("更新成功", c)
}
}
// FindQshMonitorData 用id查询QshMonitorData
// @Tags QshMonitorData
// @Summary 用id查询QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data query admin.QshMonitorData true "用id查询QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /qshMonitorData/findQshMonitorData [get]
func (qshMonitorDataApi *QshMonitorDataApi) FindQshMonitorData(c *gin.Context) {
var qshMonitorData admin.QshMonitorData
_ = c.ShouldBindQuery(&qshMonitorData)
if reqshMonitorData, err := qshMonitorDataService.GetQshMonitorData(qshMonitorData.ID); err != nil {
global.GVA_LOG.Error("查询失败!", zap.Error(err))
response.FailWithMessage("查询失败", c)
} else {
response.OkWithData(gin.H{"reqshMonitorData": reqshMonitorData}, c)
}
}
// GetQshMonitorDataList 分页获取QshMonitorData列表
// @Tags QshMonitorData
// @Summary 分页获取QshMonitorData列表
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data query adminReq.QshMonitorDataSearch true "分页获取QshMonitorData列表"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /qshMonitorData/getQshMonitorDataList [get]
func (qshMonitorDataApi *QshMonitorDataApi) GetQshMonitorDataList(c *gin.Context) {
var pageInfo adminReq.QshMonitorDataSearch
_ = c.ShouldBindQuery(&pageInfo)
if list, total, err := qshMonitorDataService.GetQshMonitorDataInfoList(pageInfo); err != nil {
global.GVA_LOG.Error("获取失败!", zap.Error(err))
response.FailWithMessage("获取失败", c)
} else {
response.OkWithDetailed(response.PageResult{
List: list,
Total: total,
Page: pageInfo.Page,
PageSize: pageInfo.PageSize,
}, "获取成功", c)
}
}
package web
import "github.com/gin-gonic/gin"
func DataIn(c *gin.Context) {
}
...@@ -55,6 +55,7 @@ func RegisterTables(db *gorm.DB) { ...@@ -55,6 +55,7 @@ func RegisterTables(db *gorm.DB) {
admin.QshToilet{}, admin.QshToilet{},
admin.QshPatrol{}, admin.QshPatrol{},
admin.QshMonitorData{},
// Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT.
) )
if err != nil { if err != nil {
......
...@@ -74,6 +74,7 @@ func Routers() *gin.Engine { ...@@ -74,6 +74,7 @@ func Routers() *gin.Engine {
adminRouter.InitQshToiletRouter(PrivateGroup) adminRouter.InitQshToiletRouter(PrivateGroup)
adminRouter.InitQshPartolRouter(PrivateGroup) adminRouter.InitQshPartolRouter(PrivateGroup)
adminRouter.InitQshMonitorDataRouter(PrivateGroup)
// Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT.
} }
......
package main package main
import ( import (
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/core" "github.com/flipped-aurora/gin-vue-admin/server/core"
"github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/initialize" "github.com/flipped-aurora/gin-vue-admin/server/initialize"
"github.com/flipped-aurora/gin-vue-admin/server/server" "github.com/flipped-aurora/gin-vue-admin/server/server"
"github.com/flipped-aurora/gin-vue-admin/server/service/web"
"go.uber.org/zap" "go.uber.org/zap"
) )
...@@ -38,9 +38,9 @@ func main() { ...@@ -38,9 +38,9 @@ func main() {
// dtu服务器 // dtu服务器
if global.GVA_VP.GetBool("dtuServer.enable") { if global.GVA_VP.GetBool("dtuServer.enable") {
server.OnDtuMessage(func(data server.YeWeiData) error { server.OnDtuMessage(func(data server.YeWeiData) error {
fmt.Println(data) service := new(web.DataService)
// {9.300 860059054444117} // {9.300 860059054444117}
return nil return service.DataInYeWei(data)
}) })
go server.InitDtuServer(global.GVA_VP.GetString("dtuServer.addr")) go server.InitDtuServer(global.GVA_VP.GetString("dtuServer.addr"))
} }
......
// 自动生成模板QshMonitorData
package admin
import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
)
// QshMonitorData 结构体
type QshMonitorData struct {
global.GVA_MODEL
RawDeviceId string `json:"rawDeviceId" form:"rawDeviceId" gorm:"column:raw_device_id;comment:原始设备id;size:50;"`
ToiletId int `json:"toiletId" form:"toiletId" gorm:"column:toilet_id;comment:公厕id;size:10;"`
TypeName string `json:"typeName" form:"typeName" gorm:"column:type_name;comment:数据类型;size:50;"`
Unit string `json:"unit" form:"unit" gorm:"column:unit;comment:数据值单位;size:50;"`
Value string `json:"value" form:"value" gorm:"column:value;comment:数据值;size:50;"`
}
// TableName QshMonitorData 表名
func (QshMonitorData) TableName() string {
return "qsh_monitor_data"
}
...@@ -3,27 +3,26 @@ package admin ...@@ -3,27 +3,26 @@ package admin
import ( import (
"github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/global"
) )
// QshToilet 结构体 // QshToilet 结构体
type QshToilet struct { type QshToilet struct {
global.GVA_MODEL global.GVA_MODEL
Address string `json:"address" form:"address" gorm:"column:address;comment:公厕地址;size:255;"` Address string `json:"address" form:"address" gorm:"column:address;comment:公厕地址;size:255;"`
Image string `json:"image" form:"image" gorm:"column:image;comment:点位图片;size:5000;"` Image string `json:"image" form:"image" gorm:"column:image;comment:点位图片;size:5000;"`
Lat string `json:"lat" form:"lat" gorm:"column:lat;comment:纬度;size:255;"` Lat string `json:"lat" form:"lat" gorm:"column:lat;comment:纬度;size:255;"`
Lng string `json:"lng" form:"lng" gorm:"column:lng;comment:经度;size:255;"` Lng string `json:"lng" form:"lng" gorm:"column:lng;comment:经度;size:255;"`
Manager string `json:"manager" form:"manager" gorm:"column:manager;comment:管理人员;size:200;"` Manager string `json:"manager" form:"manager" gorm:"column:manager;comment:管理人员;size:200;"`
ManagerPhone string `json:"managerPhone" form:"managerPhone" gorm:"column:manager_phone;comment:管理员联系电话;size:100;"` ManagerPhone string `json:"managerPhone" form:"managerPhone" gorm:"column:manager_phone;comment:管理员联系电话;size:100;"`
Monitor string `json:"monitor" form:"monitor" gorm:"column:monitor;comment:监控信息;size:255;"` MonitorId string `json:"monitor_id" form:"monitor_id" gorm:"column:monitor_id;comment:监控信息;size:255;"`
Name string `json:"name" form:"name" gorm:"column:name;comment:点位名称;size:198;"` MonitorAc string `json:"monitor_ac" form:"monitor_ac" gorm:"column:monitor_ac;comment:监控设备账号;size:255;"`
ShowImage string `json:"showImage" form:"showImage" gorm:"column:show_image;comment:展示图片;size:300;"` YeweiDevice string `json:"yewei_device" form:"yewei_device" gorm:"column:yewei_device;comment:液位设备id;"`
Type *int `json:"type" form:"type" gorm:"column:type;comment:公厕类型 1=>有动力 2=>无动力;"` Name string `json:"name" form:"name" gorm:"column:name;comment:点位名称;size:198;"`
ShowImage string `json:"showImage" form:"showImage" gorm:"column:show_image;comment:展示图片;size:300;"`
Type *int `json:"type" form:"type" gorm:"column:type;comment:公厕类型 1=>有动力 2=>无动力;"`
} }
// TableName QshToilet 表名 // TableName QshToilet 表名
func (QshToilet) TableName() string { func (QshToilet) TableName() string {
return "qsh_toilet" return "qsh_toilet"
} }
package request
import (
"github.com/flipped-aurora/gin-vue-admin/server/model/admin"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
)
type QshMonitorDataSearch struct {
admin.QshMonitorData
request.PageInfo
}
package admin package admin
type RouterGroup struct { type RouterGroup struct {
// Code generated by github.com/flipped-aurora/gin-vue-admin/server Begin; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server Begin; DO NOT EDIT.
QshToiletRouter QshToiletRouter
QshPartolRouter QshPartolRouter
QshMonitorDataRouter
// Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT.
} }
package admin
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type QshMonitorDataRouter struct {
}
// InitQshMonitorDataRouter 初始化 QshMonitorData 路由信息
func (s *QshMonitorDataRouter) InitQshMonitorDataRouter(Router *gin.RouterGroup) {
qshMonitorDataRouter := Router.Group("qshMonitorData").Use(middleware.OperationRecord())
qshMonitorDataRouterWithoutRecord := Router.Group("qshMonitorData")
var qshMonitorDataApi = v1.ApiGroupApp.AdminApiGroup.QshMonitorDataApi
{
qshMonitorDataRouter.POST("createQshMonitorData", qshMonitorDataApi.CreateQshMonitorData) // 新建QshMonitorData
qshMonitorDataRouter.DELETE("deleteQshMonitorData", qshMonitorDataApi.DeleteQshMonitorData) // 删除QshMonitorData
qshMonitorDataRouter.DELETE("deleteQshMonitorDataByIds", qshMonitorDataApi.DeleteQshMonitorDataByIds) // 批量删除QshMonitorData
qshMonitorDataRouter.PUT("updateQshMonitorData", qshMonitorDataApi.UpdateQshMonitorData) // 更新QshMonitorData
}
{
qshMonitorDataRouterWithoutRecord.GET("findQshMonitorData", qshMonitorDataApi.FindQshMonitorData) // 根据ID获取QshMonitorData
qshMonitorDataRouterWithoutRecord.GET("getQshMonitorDataList", qshMonitorDataApi.GetQshMonitorDataList) // 获取QshMonitorData列表
}
}
package admin package admin
type ServiceGroup struct { type ServiceGroup struct {
// Code generated by github.com/flipped-aurora/gin-vue-admin/server Begin; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server Begin; DO NOT EDIT.
QshToiletService QshToiletService
QshPartolService QshPartolService
QshMonitorDataService
// Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT.
} }
package admin
import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/admin"
adminReq "github.com/flipped-aurora/gin-vue-admin/server/model/admin/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
)
type QshMonitorDataService struct {
}
// CreateQshMonitorData 创建QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) CreateQshMonitorData(qshMonitorData admin.QshMonitorData) (err error) {
err = global.GVA_DB.Create(&qshMonitorData).Error
return err
}
// DeleteQshMonitorData 删除QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) DeleteQshMonitorData(qshMonitorData admin.QshMonitorData) (err error) {
err = global.GVA_DB.Delete(&qshMonitorData).Error
return err
}
// DeleteQshMonitorDataByIds 批量删除QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) DeleteQshMonitorDataByIds(ids request.IdsReq) (err error) {
err = global.GVA_DB.Delete(&[]admin.QshMonitorData{}, "id in ?", ids.Ids).Error
return err
}
// UpdateQshMonitorData 更新QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) UpdateQshMonitorData(qshMonitorData admin.QshMonitorData) (err error) {
err = global.GVA_DB.Save(&qshMonitorData).Error
return err
}
// GetQshMonitorData 根据id获取QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) GetQshMonitorData(id uint) (qshMonitorData admin.QshMonitorData, err error) {
err = global.GVA_DB.Where("id = ?", id).First(&qshMonitorData).Error
return
}
// GetQshMonitorDataInfoList 分页获取QshMonitorData记录
// Author [piexlmax](https://github.com/piexlmax)
func (qshMonitorDataService *QshMonitorDataService) GetQshMonitorDataInfoList(info adminReq.QshMonitorDataSearch) (list interface{}, total int64, err error) {
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
// 创建db
db := global.GVA_DB.Model(&admin.QshMonitorData{})
var qshMonitorDatas []admin.QshMonitorData
// 如果有条件搜索 下方会自动创建搜索语句
if info.RawDeviceId != "" {
db = db.Where("raw_device_id = ?", info.RawDeviceId)
}
if info.TypeName != "" {
db = db.Where("type_name LIKE ?", "%"+info.TypeName+"%")
}
err = db.Count(&total).Error
if err != nil {
return
}
err = db.Limit(limit).Offset(offset).Find(&qshMonitorDatas).Error
return qshMonitorDatas, total, err
}
package web
import (
"errors"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/admin"
"github.com/flipped-aurora/gin-vue-admin/server/server"
)
type DataService struct {
}
func (s *DataService) DataInYeWei(arg server.YeWeiData) error {
//先查询设备绑定厕所
var toiletInfo admin.QshToilet
err := global.GVA_DB.Model(admin.QshToilet{}).Where("yewei_device = ?", arg.DeviceId).First(&toiletInfo).Error
if err != nil {
return errors.New("设备ID未绑定公厕信息!")
}
return global.GVA_DB.Create(&admin.QshMonitorData{
ToiletId: int(toiletInfo.ID),
TypeName: "液位",
Value: arg.YeWei,
Unit: "m",
}).Error
}
import service from '@/utils/request'
// @Tags QshMonitorData
// @Summary 创建QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body model.QshMonitorData true "创建QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /qshMonitorData/createQshMonitorData [post]
export const createQshMonitorData = (data) => {
return service({
url: '/qshMonitorData/createQshMonitorData',
method: 'post',
data
})
}
// @Tags QshMonitorData
// @Summary 删除QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body model.QshMonitorData true "删除QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /qshMonitorData/deleteQshMonitorData [delete]
export const deleteQshMonitorData = (data) => {
return service({
url: '/qshMonitorData/deleteQshMonitorData',
method: 'delete',
data
})
}
// @Tags QshMonitorData
// @Summary 删除QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body request.IdsReq true "批量删除QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
// @Router /qshMonitorData/deleteQshMonitorData [delete]
export const deleteQshMonitorDataByIds = (data) => {
return service({
url: '/qshMonitorData/deleteQshMonitorDataByIds',
method: 'delete',
data
})
}
// @Tags QshMonitorData
// @Summary 更新QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body model.QshMonitorData true "更新QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
// @Router /qshMonitorData/updateQshMonitorData [put]
export const updateQshMonitorData = (data) => {
return service({
url: '/qshMonitorData/updateQshMonitorData',
method: 'put',
data
})
}
// @Tags QshMonitorData
// @Summary 用id查询QshMonitorData
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data query model.QshMonitorData true "用id查询QshMonitorData"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
// @Router /qshMonitorData/findQshMonitorData [get]
export const findQshMonitorData = (params) => {
return service({
url: '/qshMonitorData/findQshMonitorData',
method: 'get',
params
})
}
// @Tags QshMonitorData
// @Summary 分页获取QshMonitorData列表
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data query request.PageInfo true "分页获取QshMonitorData列表"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /qshMonitorData/getQshMonitorDataList [get]
export const getQshMonitorDataList = (params) => {
return service({
url: '/qshMonitorData/getQshMonitorDataList',
method: 'get',
params
})
}
<template>
<div>
<div class="gva-search-box">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item label="原始设备id">
<el-input v-model="searchInfo.rawDeviceId" placeholder="搜索条件" />
</el-form-item>
<el-form-item label="数据类型">
<el-input v-model="searchInfo.typeName" placeholder="搜索条件" />
</el-form-item>
<el-form-item>
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
</el-form-item>
</el-form>
</div>
<div class="gva-table-box">
<div class="gva-btn-list">
<el-button size="small" type="primary" icon="plus" @click="openDialog">新增</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin-top: 8px;">
<el-button size="small" type="primary" link @click="deleteVisible = false">取消</el-button>
<el-button size="small" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="delete" size="small" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
</template>
</el-popover>
</div>
<el-table
ref="multipleTable"
style="width: 100%"
tooltip-effect="dark"
:data="tableData"
row-key="ID"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column align="left" label="日期" width="180">
<template #default="scope">{{ formatDate(scope.row.CreatedAt) }}</template>
</el-table-column>
<el-table-column align="left" label="原始设备id" prop="rawDeviceId" width="120" />
<el-table-column align="left" label="公厕id" prop="toiletId" width="120" />
<el-table-column align="left" label="数据类型" prop="typeName" width="120" />
<el-table-column align="left" label="数据值单位" prop="unit" width="120" />
<el-table-column align="left" label="数据值" prop="value" width="120" />
<el-table-column align="left" label="按钮组">
<template #default="scope">
<el-button type="primary" link icon="edit" size="small" class="table-button" @click="updateQshMonitorDataFunc(scope.row)">变更</el-button>
<el-button type="primary" link icon="delete" size="small" @click="deleteRow(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="gva-pagination">
<el-pagination
layout="total, sizes, prev, pager, next, jumper"
:current-page="page"
:page-size="pageSize"
:page-sizes="[10, 30, 50, 100]"
:total="total"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
/>
</div>
</div>
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作">
<el-form :model="formData" label-position="right" label-width="80px">
<el-form-item label="原始设备id:">
<el-input v-model="formData.rawDeviceId" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="公厕id:">
<el-input v-model.number="formData.toiletId" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据类型:">
<el-input v-model="formData.typeName" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据值单位:">
<el-input v-model="formData.unit" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据值:">
<el-input v-model="formData.value" clearable placeholder="请输入" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button size="small" @click="closeDialog">取 消</el-button>
<el-button size="small" type="primary" @click="enterDialog">确 定</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'QshMonitorData'
}
</script>
<script setup>
import {
createQshMonitorData,
deleteQshMonitorData,
deleteQshMonitorDataByIds,
updateQshMonitorData,
findQshMonitorData,
getQshMonitorDataList
} from '@/api/qshMonitorData'
// 全量引入格式化工具 请按需保留
import { getDictFunc, formatDate, formatBoolean, filterDict } from '@/utils/format'
import { ElMessage, ElMessageBox } from 'element-plus'
import { ref } from 'vue'
// 自动化生成的字典(可能为空)以及字段
const formData = ref({
rawDeviceId: '',
toiletId: 0,
typeName: '',
unit: '',
value: '',
})
// =========== 表格控制部分 ===========
const page = ref(1)
const total = ref(0)
const pageSize = ref(10)
const tableData = ref([])
const searchInfo = ref({})
// 重置
const onReset = () => {
searchInfo.value = {}
}
// 搜索
const onSubmit = () => {
page.value = 1
pageSize.value = 10
getTableData()
}
// 分页
const handleSizeChange = (val) => {
pageSize.value = val
getTableData()
}
// 修改页面容量
const handleCurrentChange = (val) => {
page.value = val
getTableData()
}
// 查询
const getTableData = async() => {
const table = await getQshMonitorDataList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
if (table.code === 0) {
tableData.value = table.data.list
total.value = table.data.total
page.value = table.data.page
pageSize.value = table.data.pageSize
}
}
getTableData()
// ============== 表格控制部分结束 ===============
// 获取需要的字典 可能为空 按需保留
const setOptions = async () =>{
}
// 获取需要的字典 可能为空 按需保留
setOptions()
// 多选数据
const multipleSelection = ref([])
// 多选
const handleSelectionChange = (val) => {
multipleSelection.value = val
}
// 删除行
const deleteRow = (row) => {
ElMessageBox.confirm('确定要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteQshMonitorDataFunc(row)
})
}
// 批量删除控制标记
const deleteVisible = ref(false)
// 多选删除
const onDelete = async() => {
const ids = []
if (multipleSelection.value.length === 0) {
ElMessage({
type: 'warning',
message: '请选择要删除的数据'
})
return
}
multipleSelection.value &&
multipleSelection.value.map(item => {
ids.push(item.ID)
})
const res = await deleteQshMonitorDataByIds({ ids })
if (res.code === 0) {
ElMessage({
type: 'success',
message: '删除成功'
})
if (tableData.value.length === ids.length && page.value > 1) {
page.value--
}
deleteVisible.value = false
getTableData()
}
}
// 行为控制标记(弹窗内部需要增还是改)
const type = ref('')
// 更新行
const updateQshMonitorDataFunc = async(row) => {
const res = await findQshMonitorData({ ID: row.ID })
type.value = 'update'
if (res.code === 0) {
formData.value = res.data.reqshMonitorData
dialogFormVisible.value = true
}
}
// 删除行
const deleteQshMonitorDataFunc = async (row) => {
const res = await deleteQshMonitorData({ ID: row.ID })
if (res.code === 0) {
ElMessage({
type: 'success',
message: '删除成功'
})
if (tableData.value.length === 1 && page.value > 1) {
page.value--
}
getTableData()
}
}
// 弹窗控制标记
const dialogFormVisible = ref(false)
// 打开弹窗
const openDialog = () => {
type.value = 'create'
dialogFormVisible.value = true
}
// 关闭弹窗
const closeDialog = () => {
dialogFormVisible.value = false
formData.value = {
rawDeviceId: '',
toiletId: 0,
typeName: '',
unit: '',
value: '',
}
}
// 弹窗确定
const enterDialog = async () => {
let res
switch (type.value) {
case 'create':
res = await createQshMonitorData(formData.value)
break
case 'update':
res = await updateQshMonitorData(formData.value)
break
default:
res = await createQshMonitorData(formData.value)
break
}
if (res.code === 0) {
ElMessage({
type: 'success',
message: '创建/更改成功'
})
closeDialog()
getTableData()
}
}
</script>
<style>
</style>
<template>
<div>
<div class="gva-form-box">
<el-form :model="formData" label-position="right" label-width="80px">
<el-form-item label="原始设备id:">
<el-input v-model="formData.rawDeviceId" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="公厕id:">
<el-input v-model.number="formData.toiletId" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据类型:">
<el-input v-model="formData.typeName" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据值单位:">
<el-input v-model="formData.unit" clearable placeholder="请输入" />
</el-form-item>
<el-form-item label="数据值:">
<el-input v-model="formData.value" clearable placeholder="请输入" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="save">保存</el-button>
<el-button size="mini" type="primary" @click="back">返回</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'QshMonitorData'
}
</script>
<script setup>
import {
createQshMonitorData,
updateQshMonitorData,
findQshMonitorData
} from '@/api/qshMonitorData'
// 自动获取字典
import { getDictFunc } from '@/utils/format'
import { useRoute, useRouter } from "vue-router"
import { ElMessage } from 'element-plus'
import { ref } from 'vue'
const route = useRoute()
const router = useRouter()
const type = ref('')
const formData = ref({
rawDeviceId: '',
toiletId: 0,
typeName: '',
unit: '',
value: '',
})
// 初始化方法
const init = async () => {
// 建议通过url传参获取目标数据ID 调用 find方法进行查询数据操作 从而决定本页面是create还是update 以下为id作为url参数示例
if (route.query.id) {
const res = await findQshMonitorData({ ID: route.query.id })
if (res.code === 0) {
formData.value = res.data.reqshMonitorData
type.value = 'update'
}
} else {
type.value = 'create'
}
}
init()
// 保存按钮
const save = async() => {
let res
switch (type.value) {
case 'create':
res = await createQshMonitorData(formData.value)
break
case 'update':
res = await updateQshMonitorData(formData.value)
break
default:
res = await createQshMonitorData(formData.value)
break
}
if (res.code === 0) {
ElMessage({
type: 'success',
message: '创建/更改成功'
})
}
}
// 返回按钮
const back = () => {
router.go(-1)
}
</script>
<style>
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment