diff --git a/src/api/system/equipment.js b/src/api/system/equipment.js index 2f86d7a..c39580f 100644 --- a/src/api/system/equipment.js +++ b/src/api/system/equipment.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询设施列表 export function listEquipment(query) { return request({ - url: '/system/hallEqu/list', + url: '/system/room/list', method: 'get', params: query }) diff --git a/src/views/system/device/index.vue b/src/views/system/device/index.vue index a7ba8a6..185791e 100644 --- a/src/views/system/device/index.vue +++ b/src/views/system/device/index.vue @@ -620,7 +620,9 @@ export default { }, getList() { this.loading = true; - this.queryParams.storeId = this.storeId; + if(this.storeId && this.storeId != 0){ + this.queryParams.storeId = this.storeId; + } listDevice(this.queryParams).then(response => { this.deviceList = response.rows; this.total = response.total; diff --git a/src/views/system/equipment/index.vue b/src/views/system/equipment/index.vue index 9b23aff..e4bcdff 100644 --- a/src/views/system/equipment/index.vue +++ b/src/views/system/equipment/index.vue @@ -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="name"> + <el-form-item label="设施名" prop="roomName"> <el-input - v-model="queryParams.name" - placeholder="请输入设施名称" + v-model="queryParams.roomName" + placeholder="请输入设施名" clearable @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="sn" prop="sn"> - <el-input - v-model="queryParams.sn" - placeholder="请输入sn" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <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" - /> - </el-select> - </el-form-item> - <el-form-item label="店铺名" prop="storeName" v-if="!storeId"> - <el-input - v-model="queryParams.storeName" - placeholder="请输入店铺名" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <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" - /> - </el-select> - </el-form-item> - <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" - /> - </el-select> - </el-form-item> - <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" - /> - </el-select> - </el-form-item> - <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" + /> + </el-select> + </el-form-item> + <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" /> </el-select> </el-form-item> +<!-- <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"--> +<!-- />--> +<!-- </el-select>--> +<!-- </el-form-item>--> <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']" >新增</el-button> </el-col> <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']" >修改</el-button> </el-col> <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']" >删除</el-button> </el-col> <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']" >导出</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="onSortChange"> + <el-table v-loading="loading" :data="roomList" @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 === 'equipmentId'"> + <template v-if="column.key === 'roomId'"> {{d.row[column.key]}} </template> - <template v-else-if="column.key === 'type'"> - <dict-tag :options="dict.type.ss_equipment_type" :value="d.row[column.key]"/> + <template v-else-if="column.key === 'roomName'"> + <router-link :to="`/system/room/detail/${d.row[column.key]}`">{{d.row[column.key]}}</router-link> </template> - <template v-else-if="column.key === 'unlockMode'"> - <dict-tag :options="dict.type.ss_unlock_mode" :value="d.row[column.key]"/> + <template v-else-if="column.key === 'equType'"> + <dict-tag :options="dict.type.ss_hall_equ_type" :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> + </el-tooltip> </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 : '-' }} - </el-link> - </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 || '-' }} - </el-link> - <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> + </router-link> + <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']" - >详情</el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-hasPermi="['system:equipment:edit']" + v-hasPermi="['system:room:edit']" >修改</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" - v-hasPermi="['system:equipment:remove']" + v-hasPermi="['system:room:remove']" >删除</el-button> </template> </el-table-column> @@ -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="name"> - <el-input v-model="form.name" placeholder="请输入设施名称" /> + <el-form-item label="设施名" prop="roomName"> + <el-input v-model="form.roomName" placeholder="请输入设施名" /> </el-form-item> - <el-form-item label="设施图片" prop="picture"> - <el-input v-model="form.picture" type="textarea" placeholder="请输入内容" /> - </el-form-item> - <el-form-item label="sn" prop="deviceId"> - <el-input v-model="form.deviceId" placeholder="请输入sn" /> - </el-form-item> - <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" + /> + </el-select> + </el-form-item> + <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" ></el-option> </el-select> </el-form-item> - <el-form-item label="店铺名" prop="storeName"> - <el-input v-model="form.storeName" placeholder="请输入店铺名" /> - </el-form-item> - <el-form-item label="套餐" prop="ruleIds"> - <el-input v-model="form.ruleIds" placeholder="请输入套餐" /> - </el-form-item> - <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" - ></el-option> - </el-select> - </el-form-item> - <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" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="开锁时长" prop="unlockTime"> - <el-input v-model="form.unlockTime" placeholder="请输入开锁时长" /> - </el-form-item> - <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" - ></el-option> - </el-select> + <el-form-item label="图片" prop="picture"> + <image-upload v-model="form.picture"/> </el-form-item> <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 @@ /> </el-select> </el-form-item> + </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">确 定</el-button> @@ -315,8 +224,9 @@ </template> <script> -import { listEquipment, getEquipment, delEquipment, addEquipment, updateEquipment } from "@/api/system/equipment"; +import { listRoom, 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, // 设施表格数据 - equipmentList: [], + roomList: [], // 弹出层标题 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.equipmentId) + this.ids = selection.map(item => item.roomId) this.single = selection.length!==1 this.multiple = !selection.length }, @@ -475,8 +392,8 @@ export default { /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - const equipmentId = row.equipmentId || this.ids - getEquipment(equipmentId).then(response => { + const roomId = row.roomId || this.ids + getRoom(roomId).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.equipmentId != null) { - updateEquipment(this.form).then(response => { + if (this.form.roomId != null) { + updateRoom(this.form).then(response => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); }); } else { - addEquipment(this.form).then(response => { + addRoom(this.form).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); @@ -504,9 +421,9 @@ export default { }, /** 删除按钮操作 */ handleDelete(row) { - const equipmentIds = row.equipmentId || this.ids; - this.$modal.confirm('是否确认删除设施编号为"' + equipmentIds + '"的数据项?').then(function() { - return delEquipment(equipmentIds); + const roomIds = row.roomId || this.ids; + this.$modal.confirm('是否确认删除设施编号为"' + roomIds + '"的数据项?').then(function() { + return delRoom(roomIds); }).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 (!feeRuleVOS || !feeRuleVOS.length) { + /** 获取套餐说明文字 */ + getFeeRulesExplain(feeRules) { + if (!feeRules || !Array.isArray(feeRules)) { return '-'; } - return feeRuleVOS.map(rule => rule.explain).join(','); + return feeRules.map(rule => rule.explain).filter(Boolean).join(','); }, - // 格式化开锁时长 - formatUnlockTime(time) { - if (time === null || time === undefined) { - return '-'; - } - return time === 0 ? '立即' : time + 's'; - }, - // 处理 sn 点击跳转到设备详情页面 - 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: 2px; + // 确保标签文字完整显示 + max-width: none; + } + } + + // 输入框高度自适应 + :deep(.el-input__inner) { + height: auto; + min-height: 32px; + padding-top: 4px; + padding-bottom: 4px; + } +} + +// 下拉选项样式优化 +.el-select-dropdown__item { + padding: 0 10px; + height: 32px; + line-height: 32px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +// 表单项样式优化 +.el-form-item { + margin-bottom: 18px; + + // 标签选择器容器自适应 + .el-select { + width: auto; + min-width: 240px; + max-width: 100%; + } +} + +.el-table { + :deep(.el-tooltip__trigger) { + display: inline-block; + max-width: 200px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } +} + +.link-type { + color: #11A983; + text-decoration: underline; + + &:hover { + color: #11A98330; + text-decoration: underline; + } +} +</style> diff --git a/src/views/system/room/index.vue b/src/views/system/room/index.vue index e91e6bc..db1095b 100644 --- a/src/views/system/room/index.vue +++ b/src/views/system/room/index.vue @@ -240,9 +240,9 @@ export default { return { // 字段列表 columns: [ - {key: 'storeName', 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: '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: 'type', 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},