@ -1,80 +1,44 @@
< template >
< div class = "app-container" >
< el -form :model ="queryParams" ref = "queryForm" size = "small" :inline ="true" v-show ="showSearch" label-width="68px" >
< el -form -item label = "设施名 称" prop = "n ame">
< el -form -item label = "设施名 " prop = "roomN ame">
< el -input
v - model = "queryParams. n ame"
placeholder = "请输入设施名 称 "
v - model = "queryParams. roomN ame"
placeholder = "请输入设施名 "
clearable
@ keyup . enter . native = "handleQuery"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "sn" prop = "sn" >
< el -input
v - model = "queryParams.sn"
placeholder = "请输入sn"
clearable
@ keyup . enter . native = "handleQuery"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "设施类型" prop = "type" >
< el -select v-model ="queryParams.type" placeholder="请选择设施类型" clearable @change="handleQuery" >
< el -form -item label = "店铺" prop = "storeId" v-if ="!storeId" >
< el -select v-model ="queryParams.storeId" clearable filterable placeholder="请选择" >
< el -option
v - for = "dict in filteredEquipmentTypes"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "店铺名" prop = "storeName" v-if ="!storeId" >
< el -input
v - model = "queryParams.storeName"
placeholder = "请输入店铺名"
clearable
@ keyup . enter . native = "handleQuery"
/ >
< / e l - f o r m - i t e m >
< el -form -item label = "开锁方式" prop = "unlockMode" >
< el -select v-model ="queryParams.unlockMode" placeholder="请选择开锁方式" clearable @change="handleQuery" >
< el -option
v - for = "dict in dict.type.ss_unlock_mode"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "开锁条件" prop = "unlockCondition" >
< el -select v-model ="queryParams.unlockCondition" placeholder="请选择开锁条件" clearable @change="handleQuery" >
< el -option
v - for = "dict in dict.type.ss_unlock_condition"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "设施状态" prop = "status" >
< el -select v-model ="queryParams.status" placeholder="请选择设施状态" clearable @change="handleQuery" >
< el -option
v - for = "dict in dict.type.ss_equipment_status"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "标签" prop = "tags" >
< el -select v-model ="queryParams.tags" placeholder="请选择标签" clearable @change="handleQuery" >
< el -option
v - for = "dict in dict.type.ss_room_tags"
v - for = "item in storeOptions"
: key = "item.storeId"
: label = "item.name"
: value = "item.storeId"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "类型" prop = "equType" >
< el -select v-model ="queryParams.equType" placeholder="请选择类型" clearable style="width: 240px" >
< el -option
v - for = "dict in dict.type.ss_hall_equ_type"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
<!-- < el -form -item label = "状态" prop = "status" > -- >
<!-- < el -select v-model ="queryParams.status" placeholder="请选择状态" clearable @change="handleQuery" > - - >
<!-- < el -option - - >
<!-- v - for = "dict in dict.type.ss_room_status" -- >
<!-- : key = "dict.value" -- >
<!-- : label = "dict.label" -- >
<!-- : value = "dict.value" -- >
<!-- / > - - >
<!-- < / e l - s e l e c t > - - >
<!-- < / e l - f o r m - i t e m > - - >
< el -form -item >
< el -button type = "primary" icon = "el-icon-search" size = "mini" @click ="handleQuery" > 搜索 < / el -button >
< el -button icon = "el-icon-refresh" size = "mini" @click ="resetQuery" > 重置 < / el -button >
@ -89,7 +53,7 @@
icon = "el-icon-plus"
size = "mini"
@ click = "handleAdd"
v - hasPermi = "['system: equipment :add']"
v - hasPermi = "['system: room :add']"
> 新增 < / e l - b u t t o n >
< / e l - c o l >
< el -col :span ="1.5" >
@ -100,7 +64,7 @@
size = "mini"
: disabled = "single"
@ click = "handleUpdate"
v - hasPermi = "['system: equipment :edit']"
v - hasPermi = "['system: room :edit']"
> 修改 < / e l - b u t t o n >
< / e l - c o l >
< el -col :span ="1.5" >
@ -111,7 +75,7 @@
size = "mini"
: disabled = "multiple"
@ click = "handleDelete"
v - hasPermi = "['system: equipment :remove']"
v - hasPermi = "['system: room :remove']"
> 删除 < / e l - b u t t o n >
< / e l - c o l >
< el -col :span ="1.5" >
@ -121,77 +85,55 @@
icon = "el-icon-download"
size = "mini"
@ click = "handleExport"
v - hasPermi = "['system: equipment :export']"
v - hasPermi = "['system: room :export']"
> 导出 < / e l - b u t t o n >
< / e l - c o l >
< right -toolbar :showSearch.sync ="showSearch" @queryTable ="getList" :columns ="columns" > < / r i g h t - t o o l b a r >
< / e l - r o w >
< el -table v-loading ="loading" :data=" equipment List" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="onSortChange">
< el -table v-loading ="loading" :data=" room List" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="onSortChange">
< el -table -column type = "selection" width = "55" align = "center" / >
< template v-for ="column of showColumns" >
< el -table -column
: key = "column.key"
: label = "column.label"
: prop = "column.key"
: align = "column.align"
: min - width = "column.minWidth"
: sort - orders = "orderSorts"
: sortable = "column.sortable"
: show - overflow - tooltip = "column.overflow"
: width = "column.width"
: key = "column.key"
: label = "column.label"
: prop = "column.key"
: align = "column.align"
: min - width = "column.minWidth"
: sort - orders = "orderSorts"
: sortable = "column.sortable"
: show - overflow - tooltip = "column.overflow"
: width = "column.width"
>
< template slot -scope = " d " >
< template v-if ="column.key === ' equipment Id'">
< template v-if ="column.key === ' room Id'">
{ { d . row [ column . key ] } }
< / template >
< template v -else -if = " column.key = = = ' typ e' " >
< dict-tag :options ="dict.type.ss_equipment_type" :value ="d.row[column.key]" / >
< template v -else -if = " column.key = = = ' roomNam e' " >
< router-link :to ="`/system/room/detail/${d.row[column.key]}`" > { { d . row [ column . key ] } } < / r o u t e r - l i n k >
< / template >
< template v -else -if = " column.key = = = ' unlockMod e' " >
< dict -tag :options ="dict.type.ss_ unlock_mod e" :value ="d.row[column.key]" / >
< template v -else -if = " column.key = = = ' equTyp e' " >
< dict -tag :options ="dict.type.ss_ hall_equ_typ e" :value ="d.row[column.key]" / >
< / template >
< template v -else -if = " column.key = = = ' unlockCondition ' " >
< dict -tag :options ="dict.type.ss_unlock_condition" :value ="d.row[column.key]" / >
< / template >
< template v -else -if = " column.key = = = ' status ' " >
< dict -tag :options ="dict.type.ss_equipment_status" :value ="d.row[column.key]" / >
< template v -else -if = " column.key = = = ' tags ' " >
< dict -tag :options ="dict.type.ss_room_tags" :value ="d.row[column.key]" / >
< / template >
< template v -else -if = " column.key = = = ' picture ' " >
< image -preview :src ="d.row[column.key]" :width ="50" :height ="50" / >
< / template >
< template v -else -if = " column.key = = = ' unlockTime ' " >
{{ formatUnlockTime ( d . row [ column . key ] ) } }
< template v -else -if = " column.key = = = ' status ' " >
<dict -tag :options ="dict.type.ss_room_status" :value ="d.row[column.key]" / >
< / template >
< template v -else -if = " column.key = = = ' ruleIds ' " >
{ { formatFeeRules ( d . row . feeRuleVOS ) } }
< template v -else -if = " column.key = = = ' feeRules ' " >
< el -tooltip placement = "top" :content ="getFeeRulesExplain(d.row[column.key])" >
< span > { { getFeeRulesExplain ( d . row [ column . key ] ) } } < / span >
< / e l - t o o l t i p >
< / template >
< template v -else -if = " column.key = = = ' sn ' " >
< el -link
type = "primary"
@ click = "handleSnClick(d.row.device ? d.row.device.deviceId : '')"
>
{ { d . row . device ? d . row . device . sn : '-' } }
< / e l - l i n k >
< / template >
< template v -else -if = " column.key = = = ' address ' " >
< el -link
type = "primary"
@ click = "handleAddressClick(d.row.lng, d.row.lat)"
v - if = "d.row.lng && d.row.lat"
>
{ { d . row . address || '-' } }
< / e l - l i n k >
< span v-else > {{ d.row.address | | ' - ' }} < / span >
< / template >
< template v -else -if = " column.key = = = ' tags ' " >
< template v-if ="d.row[column.key]" >
< dict -tag
: options = "dict.type.ss_room_tags"
: value = "d.row[column.key]"
/ >
< / template >
< span v-else > - < / span >
< router -link :to ="`/system/deviceDetail/index/${d.row.deviceId}`" class = "link-type" v-if ="d.row.deviceId" >
< span > { { d . row [ column . key ] } } < / span >
< / r o u t e r - l i n k >
< span v-else > {{ d.row [ column.key ] }} < / span >
< / template >
< template v-else >
{ { d . row [ column . key ] } }
@ -201,26 +143,19 @@
< / template >
< el -table -column label = "操作" align = "center" class -name = " small -padding fixed -width " >
< template slot -scope = " scope " >
< el -button
size = "mini"
type = "text"
icon = "el-icon-view"
@ click = "handleView(scope.row)"
v - hasPermi = "['system:equipment:query']"
> 详情 < / e l - b u t t o n >
< el -button
size = "mini"
type = "text"
icon = "el-icon-edit"
@ click = "handleUpdate(scope.row)"
v - hasPermi = "['system: equipment :edit']"
v - hasPermi = "['system:room:edit']"
> 修改 < / e l - b u t t o n >
< el -button
size = "mini"
type = "text"
icon = "el-icon-delete"
@ click = "handleDelete(scope.row)"
v - hasPermi = "['system: equipment :remove']"
v - hasPermi = "['system: room :remove']"
> 删除 < / e l - b u t t o n >
< / template >
< / e l - t a b l e - c o l u m n >
@ -237,66 +172,39 @@
<!-- 添加或修改设施对话框 -- >
< el -dialog :title ="title" :visible.sync ="open" width = "500px" append -to -body >
< el -form ref = "form" :model ="form" :rules ="rules" label -width = " 80px " >
< el -form -item label = "设施名 称" prop = "n ame">
< el -input v -model = " form. n ame" placeholder = "请输入设施名 称 " / >
< el -form -item label = "设施名 " prop = "roomN ame">
< el -input v -model = " form. roomN ame" placeholder = "请输入设施名 " / >
< / e l - f o r m - i t e m >
< el -form -item label = "设施图片" prop = "picture" >
< el -input v -model = " form.picture " type = "textarea" placeholder = "请输入内容" / >
< / e l - f o r m - i t e m >
< el -form -item label = "sn" prop = "deviceId" >
< el -input v -model = " form.deviceId " placeholder = "请输入sn" / >
< / e l - f o r m - i t e m >
< el -form -item label = "设施类型" prop = "type" >
< el -select v-model ="form.type" placeholder="请选择设施类型" >
< el -form -item label = "店铺" prop = "storeId" >
< el -select v-model ="form.storeId" clearable filterable placeholder="请选择" >
< el -option
v - for = "dict in filteredEquipmentTypes"
v - for = "item in storeOptions"
: key = "item.storeId"
: label = "item.name"
: value = "item.storeId"
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "类型" prop = "type" >
< el -select v-model ="form.type" placeholder="请选择类型" >
< el -option
v - for = "dict in dict.type.ss_room_type"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
> < / e l - o p t i o n >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "店铺名" prop = "storeName" >
< el -input v -model = " form.storeName " placeholder = "请输入店铺名" / >
< / e l - f o r m - i t e m >
< el -form -item label = "套餐" prop = "ruleIds" >
< el -input v -model = " form.ruleIds " placeholder = "请输入套餐" / >
< / e l - f o r m - i t e m >
< el -form -item label = "开锁方式" prop = "unlockMode" >
< el -select v-model ="form.unlockMode" placeholder="请选择开锁方式" >
< el -option
v - for = "dict in dict.type.ss_unlock_mode"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
> < / e l - o p t i o n >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "开锁条件" prop = "unlockCondition" >
< el -select v-model ="form.unlockCondition" placeholder="请选择开锁条件" >
< el -option
v - for = "dict in dict.type.ss_unlock_condition"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
> < / e l - o p t i o n >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< el -form -item label = "开锁时长" prop = "unlockTime" >
< el -input v -model = " form.unlockTime " placeholder = "请输入开锁时长" / >
< / e l - f o r m - i t e m >
< el -form -item label = "设施状态" prop = "status" >
< el -select v-model ="form.status" placeholder="请选择设施状态" >
< el -option
v - for = "dict in dict.type.ss_equipment_status"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
> < / e l - o p t i o n >
< / e l - s e l e c t >
< el -form -item label = "图片" prop = "picture" >
< image -upload v -model = " form.picture " / >
< / e l - f o r m - i t e m >
< el -form -item label = "标签" prop = "tags" >
< el -select v-model ="form.tags" placeholder="请选择标签" >
< el -select
v - model = "form.tags"
placeholder = "请选择标签"
clearable
multiple
style = "width: auto; min-width: 240px" >
< el -option
v - for = "dict in dict.type.ss_room_tags"
: key = "dict.value"
@ -305,6 +213,7 @@
/ >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< div slot = "footer" class = "dialog-footer" >
< el -button type = "primary" @click ="submitForm" > 确 定 < / el -button >
@ -315,8 +224,9 @@
< / template >
< script >
import { list Equipment, getEquipment , delEquipment , addEquipment , updateEquipment } from "@/api/system/equipment ";
import { list Room, getRoom , delRoom , addRoom , updateRoom } from "@/api/system/room ";
import { $showColumns } from '@/utils/mixins' ;
import { listStore } from "../../../api/system/store" ;
/ / 默 认 排 序 字 段
const defaultSort = {
@ -325,26 +235,23 @@ const defaultSort = {
}
export default {
name : " Equipment ",
name : " Room ",
mixins : [ $showColumns ] ,
dicts : [ 'ss_ equipment_type', 'ss_unlock_mode' , 'ss_unlock_condition' , 'ss_equipment_status' , 'ss_room_tags' ] ,
dicts : [ 'ss_ hall_equ_type', 'ss_room_status' , 'ss_room_tags' ] ,
props : [ 'storeId' ] ,
data ( ) {
return {
/ / 字 段 列 表
columns : [
{ key : 'equipmentId' , visible : true , label : '设施id' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'name' , visible : true , label : '设施名称' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'picture' , visible : true , label : '设施图片' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'sn' , visible : true , label : 'sn' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'type' , visible : true , label : '设施类型' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'storeName' , visible : true , label : '店铺名' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'ruleIds' , visible : true , label : '套餐' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'unlockMode' , visible : true , label : '开锁方式' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'unlockCondition' , visible : true , label : '开锁条件' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'unlockTime' , visible : true , label : '开锁时长' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'status' , visible : true , label : '设施状态' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'roomId' , visible : true , label : '设施id' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'roomName' , visible : true , label : '设施名' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'sn' , visible : true , label : 'SN' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'storeName' , visible : true , label : '店铺' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'picture' , visible : true , label : '图片' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'equType' , visible : true , label : '类型' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'feeRules' , visible : true , label : '套餐' , minWidth : null , sortable : false , overflow : true , align : 'center' , width : null } ,
{ key : 'tags' , visible : true , label : '标签' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
{ key : 'status' , visible : true , label : '状态' , minWidth : null , sortable : true , overflow : false , align : 'center' , width : null } ,
] ,
/ / 排 序 方 式
orderSorts : [ 'ascending' , 'descending' , null ] ,
@ -352,6 +259,7 @@ export default {
loading : true ,
/ / 选 中 数 组
ids : [ ] ,
storeOptions : [ ] ,
/ / 非 单 个 禁 用
single : true ,
/ / 非 多 个 禁 用
@ -361,7 +269,7 @@ export default {
/ / 总 条 数
total : 0 ,
/ / 设 施 表 格 数 据
equipment List: [ ] ,
room List: [ ] ,
/ / 弹 出 层 标 题
title : "" ,
/ / 是 否 显 示 弹 出 层
@ -373,37 +281,46 @@ export default {
pageSize : 20 ,
orderByColumn : defaultSort . prop ,
isAsc : defaultSort . order ,
name : null ,
picture : null ,
roomId : null ,
deviceId : null ,
type : null ,
storeId : null ,
roomName : null ,
storeName : null ,
ruleIds : null ,
unlockMode : null ,
unlockCondition : null ,
unlockTime : null ,
storeId : null ,
type : undefined ,
type2 : "2" ,
equType : undefined ,
picture : null ,
tags : [ ] ,
specification : null ,
status : null ,
tags : null ,
merchantId : null
} ,
/ / 表 单 参 数
form : { } ,
/ / 表 单 校 验
rules : {
roomName : [
{ required : true , message : "设施名不能为空" , trigger : "blur" }
] ,
storeId : [
{ required : true , message : "店铺不能为空" , trigger : "blur" }
] ,
type : [
{ required : true , message : "类型不能为空" , trigger : "blur" }
] ,
tags : [
{ required : true , message : "标签不能为空" , trigger : "change" }
]
] ,
}
} ;
} ,
created ( ) {
/ / 添 加 日 志 检 查 字 典 数 据
console . log ( '设备标签字典:' , this . dict . type . ss _equipment _tags ) ;
this . getList ( ) ;
this . getStoreOptions ( ) ;
} ,
methods : {
getStoreOptions ( ) {
listStore ( { pageNum : 1 , pageSize : 999 } ) . then ( response => {
this . storeOptions = response . rows ;
} ) ;
} ,
/** 当排序按钮被点击时触发 **/
onSortChange ( column ) {
if ( column . order == null ) {
@ -418,15 +335,12 @@ export default {
/** 查询设施列表 */
getList ( ) {
this . loading = true ;
this . queryParams . storeId = this . storeId ;
listEquipment ( this . queryParams ) . then ( response => {
this . equipmentList = response . rows
. filter ( item => [ '2' , '3' ] . includes ( item . type ) )
. map ( item => ( {
... item ,
tags : item . tags || undefined
} ) ) ;
this . total = this . equipmentList . length ;
if ( this . storeId ) {
this . queryParams . storeId = this . storeId ;
}
listRoom ( this . queryParams ) . then ( response => {
this . roomList = response . rows ;
this . total = response . total ;
this . loading = false ;
} ) ;
} ,
@ -438,31 +352,34 @@ export default {
/ / 表 单 重 置
reset ( ) {
this . form = {
equipmentId : undefined ,
equipmentName : undefined ,
storeId : undefined ,
roomId : undefined ,
roomName : undefined ,
storeId : undefined ,
type : undefined ,
picture : undefined ,
tags : undefined ,
specification : undefined ,
status : "0"
tags : [ ] ,
specification : undefined
} ;
this . resetForm ( "form" ) ;
} ,
/** 搜索按钮操作 */
handleQuery ( ) {
this . queryParams . pageNum = 1 ;
if ( Array . isArray ( this . queryParams . tags ) && this . queryParams . tags . length > 0 ) {
this . queryParams . tags = this . queryParams . tags . join ( ',' ) ;
}
this . getList ( ) ;
} ,
/** 重置按钮操作 */
resetQuery ( ) {
this . resetForm ( "queryForm" ) ;
this . queryParams . type = undefined ;
this . queryParams . tags = [ ] ;
this . handleQuery ( ) ;
} ,
/ / 多 选 框 选 中 数 据
handleSelectionChange ( selection ) {
this . ids = selection . map ( item => item . equipment Id)
this . ids = selection . map ( item => item . room Id)
this . single = selection . length !== 1
this . multiple = ! selection . length
} ,
@ -475,8 +392,8 @@ export default {
/** 修改按钮操作 */
handleUpdate ( row ) {
this . reset ( ) ;
const equipmentId = row . equipment Id || this . ids
get Equipment( equipment Id) . then ( response => {
const roomId = row . room Id || this . ids
get Room( room Id) . then ( response => {
this . form = response . data ;
this . open = true ;
this . title = "修改设施" ;
@ -486,14 +403,14 @@ export default {
submitForm ( ) {
this . $refs [ "form" ] . validate ( valid => {
if ( valid ) {
if ( this . form . equipment Id != null ) {
update Equipment ( this . form ) . then ( response => {
if ( this . form . room Id != null ) {
update Room ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "修改成功" ) ;
this . open = false ;
this . getList ( ) ;
} ) ;
} else {
add Equipment ( this . form ) . then ( response => {
add Room ( this . form ) . then ( response => {
this . $modal . msgSuccess ( "新增成功" ) ;
this . open = false ;
this . getList ( ) ;
@ -504,9 +421,9 @@ export default {
} ,
/** 删除按钮操作 */
handleDelete ( row ) {
const equipmentIds = row . equipment Id || this . ids ;
this . $modal . confirm ( '是否确认删除设施编号为"' + equipment Ids + '"的数据项?' ) . then ( function ( ) {
return del Equipment( equipment Ids) ;
const roomIds = row . room Id || this . ids ;
this . $modal . confirm ( '是否确认删除设施编号为"' + room Ids + '"的数据项?' ) . then ( function ( ) {
return del Room( room Ids) ;
} ) . then ( ( ) => {
this . getList ( ) ;
this . $modal . msgSuccess ( "删除成功" ) ;
@ -514,50 +431,81 @@ export default {
} ,
/** 导出按钮操作 */
handleExport ( ) {
this . download ( 'system/ equipment /export', {
this . download ( 'system/ room /export', {
... this . queryParams
} , ` equipment _${ new Date ( ) . getTime ( ) } .xlsx ` )
} , ` room _${ new Date ( ) . getTime ( ) } .xlsx ` )
} ,
/ / 格 式 化 套 餐 规 则
formatFeeRules( feeRuleVOS ) {
if ( ! feeRule VOS || ! feeRuleVOS . length ) {
/** 获取套餐说明文字 */
getFeeRulesExplain( feeRules ) {
if ( ! feeRule s || ! Array . isArray ( feeRules ) ) {
return '-' ;
}
return feeRule VOS . map ( rule => rule . explai n) . join ( ', ' ) ;
return feeRule s . map ( rule => rule . explai n) . filter ( Boolea n) . join ( ', ' ) ;
} ,
/ / 格 式 化 开 锁 时 长
formatUnlockTime ( time ) {
if ( time === null || time === undefined ) {
return '-' ;
}
return time === 0 ? '立即' : time + 's' ;
} ,
/ / 处 理 s n 点 击 跳 转 到 设 备 详 情 页 面
handleSnClick ( deviceId ) {
if ( ! deviceId ) return ;
this . $router . push ( {
path : ` /system/deviceDetail/index/ ${ deviceId } `
} ) ;
} ,
/ / 处 理 地 址 点 击 跳 转 到 地 图
handleAddressClick ( lng , lat ) {
if ( ! lng || ! lat ) return ;
window . open ( ` https://uri.amap.com/marker?position= ${ lng } , ${ lat } &callnative=1 ` ) ;
} ,
/** 查看详情按钮操作 */
handleView ( row ) {
if ( row . equipmentId ) {
this . $router . push ( {
path : ` /system/equipment/detail/ ${ row . equipmentId } `
} ) ;
}
} ,
} ,
computed : {
/ / 过 滤 设 施 类 型 选 项
filteredEquipmentTypes ( ) {
return this . dict . type . ss _equipment _type . filter ( item => [ '2' , '3' ] . includes ( item . value ) ) ;
}
}
} ;
< / script >
< style lang = "scss" scoped >
. el - select {
: deep ( . el - select _ _tags ) {
flex - wrap : wrap ;
/ / 标 签 换 行 显 示
. el - tag {
margin : 2 px ;
/ / 确 保 标 签 文 字 完 整 显 示
max - width : none ;
}
}
/ / 输 入 框 高 度 自 适 应
: deep ( . el - input _ _inner ) {
height : auto ;
min - height : 32 px ;
padding - top : 4 px ;
padding - bottom : 4 px ;
}
}
/ / 下 拉 选 项 样 式 优 化
. el - select - dropdown _ _item {
padding : 0 10 px ;
height : 32 px ;
line - height : 32 px ;
white - space : nowrap ;
overflow : hidden ;
text - overflow : ellipsis ;
}
/ / 表 单 项 样 式 优 化
. el - form - item {
margin - bottom : 18 px ;
/ / 标 签 选 择 器 容 器 自 适 应
. el - select {
width : auto ;
min - width : 240 px ;
max - width : 100 % ;
}
}
. el - table {
: deep ( . el - tooltip _ _trigger ) {
display : inline - block ;
max - width : 200 px ;
overflow : hidden ;
text - overflow : ellipsis ;
white - space : nowrap ;
}
}
. link - type {
color : # 11 A983 ;
text - decoration : underline ;
& : hover {
color : # 11 A98330 ;
text - decoration : underline ;
}
}
< / style >