Browse Source

合并代码

hzj18279462576@163.com 2 years ago
parent
commit
be7c75e77e
82 changed files with 0 additions and 52635 deletions
  1. BIN
      src/assets/add.png
  2. BIN
      src/assets/addRoom.png
  3. BIN
      src/assets/affiche.png
  4. BIN
      src/assets/back.png
  5. BIN
      src/assets/blockUp.png
  6. BIN
      src/assets/bottom.png
  7. BIN
      src/assets/classX.png
  8. BIN
      src/assets/classes.png
  9. BIN
      src/assets/classesA.png
  10. BIN
      src/assets/cleanRoom.png
  11. BIN
      src/assets/close.png
  12. BIN
      src/assets/colorSelect.png
  13. BIN
      src/assets/comment.png
  14. BIN
      src/assets/del.png
  15. BIN
      src/assets/delete.png
  16. BIN
      src/assets/delete_hover.png
  17. BIN
      src/assets/hint.png
  18. BIN
      src/assets/home.png
  19. BIN
      src/assets/house.png
  20. BIN
      src/assets/houseS.png
  21. BIN
      src/assets/imgDel.png
  22. BIN
      src/assets/ledger.png
  23. BIN
      src/assets/ledgerS.png
  24. BIN
      src/assets/left.png
  25. BIN
      src/assets/login.png
  26. BIN
      src/assets/logos.png
  27. BIN
      src/assets/lookImg.png
  28. BIN
      src/assets/maintain.png
  29. BIN
      src/assets/map.png
  30. BIN
      src/assets/order.png
  31. BIN
      src/assets/orderS.png
  32. BIN
      src/assets/photo.png
  33. BIN
      src/assets/photo1.png
  34. BIN
      src/assets/retain.png
  35. BIN
      src/assets/right.png
  36. BIN
      src/assets/roomFlow.png
  37. BIN
      src/assets/roomFlowC.png
  38. BIN
      src/assets/roomState.png
  39. BIN
      src/assets/roomStateC.png
  40. BIN
      src/assets/roomStates.png
  41. BIN
      src/assets/scheduling.png
  42. BIN
      src/assets/search.png
  43. BIN
      src/assets/shop.png
  44. BIN
      src/assets/shop_s.png
  45. BIN
      src/assets/statement.png
  46. BIN
      src/assets/statementA.png
  47. BIN
      src/assets/system.png
  48. BIN
      src/assets/systemS.png
  49. BIN
      src/assets/timer.png
  50. 0 1
      src/assets/vite.svg
  51. BIN
      src/assets/workTime.png
  52. 0 289
      src/layout/sidebar/SidevarItem copy1.vue
  53. 0 1516
      src/views/class/class.vue
  54. 0 3465
      src/views/doorLock/doorLock.vue
  55. 0 3103
      src/views/doorLock/doorLock11.vue
  56. 0 845
      src/views/fingerprint/fingerPrint.vue
  57. 0 845
      src/views/icCard/icCard.vue
  58. 0 897
      src/views/meter/meter.vue
  59. 0 935
      src/views/old/account/account.vue
  60. 0 1516
      src/views/old/class/class.vue
  61. 0 3465
      src/views/old/doorLock/doorLock.vue
  62. 0 3103
      src/views/old/doorLock/doorLock11.vue
  63. 0 845
      src/views/old/fingerprint/fingerPrint.vue
  64. 0 845
      src/views/old/icCard/icCard.vue
  65. 0 897
      src/views/old/meter/meter.vue
  66. 0 1848
      src/views/old/order/order.vue
  67. 0 1146
      src/views/old/process/process.vue
  68. 0 1169
      src/views/old/roles/roles.vue
  69. 0 1504
      src/views/old/roomPrice/roomPrice.vue
  70. 0 2341
      src/views/old/roomStatus/roomStatus copy.vue
  71. 0 3777
      src/views/old/roomStatus/roomStatus.vue
  72. 0 1598
      src/views/old/roomType/roomType.vue
  73. 0 1028
      src/views/old/statement/statement.vue
  74. 0 1140
      src/views/old/system/system.vue
  75. 0 1275
      src/views/old/user/user.vue
  76. 0 1848
      src/views/order/order.vue
  77. 0 1146
      src/views/process/process.vue
  78. 0 1504
      src/views/roomPrice/roomPrice.vue
  79. 0 2341
      src/views/roomStatus/roomStatus copy.vue
  80. 0 3777
      src/views/roomStatus/roomStatus.vue
  81. 0 1598
      src/views/roomType/roomType.vue
  82. 0 1028
      src/views/statement/statement.vue

BIN
src/assets/add.png


BIN
src/assets/addRoom.png


BIN
src/assets/affiche.png


BIN
src/assets/back.png


BIN
src/assets/blockUp.png


BIN
src/assets/bottom.png


BIN
src/assets/classX.png


BIN
src/assets/classes.png


BIN
src/assets/classesA.png


BIN
src/assets/cleanRoom.png


BIN
src/assets/close.png


BIN
src/assets/colorSelect.png


BIN
src/assets/comment.png


BIN
src/assets/del.png


BIN
src/assets/delete.png


BIN
src/assets/delete_hover.png


BIN
src/assets/hint.png


BIN
src/assets/home.png


BIN
src/assets/house.png


BIN
src/assets/houseS.png


BIN
src/assets/imgDel.png


BIN
src/assets/ledger.png


BIN
src/assets/ledgerS.png


BIN
src/assets/left.png


BIN
src/assets/login.png


BIN
src/assets/logos.png


BIN
src/assets/lookImg.png


BIN
src/assets/maintain.png


BIN
src/assets/map.png


BIN
src/assets/order.png


BIN
src/assets/orderS.png


BIN
src/assets/photo.png


BIN
src/assets/photo1.png


BIN
src/assets/retain.png


BIN
src/assets/right.png


BIN
src/assets/roomFlow.png


BIN
src/assets/roomFlowC.png


BIN
src/assets/roomState.png


BIN
src/assets/roomStateC.png


BIN
src/assets/roomStates.png


BIN
src/assets/scheduling.png


BIN
src/assets/search.png


BIN
src/assets/shop.png


BIN
src/assets/shop_s.png


BIN
src/assets/statement.png


BIN
src/assets/statementA.png


BIN
src/assets/system.png


BIN
src/assets/systemS.png


BIN
src/assets/timer.png


File diff suppressed because it is too large
+ 0 - 1
src/assets/vite.svg


BIN
src/assets/workTime.png


+ 0 - 289
src/layout/sidebar/SidevarItem copy1.vue

@@ -1,289 +0,0 @@
-<template>
-  <div class="box-item">
-    <el-menu class="el-menu-vertical-demo" text-color="#fff" active-color="rgba(9, 101, 98, 1)"
-      :default-active="activeIndex" :collapse="menuClose" @select="handleSelect" :router="true">
-      <!-- :default-openeds="[34]" -->
-      <div class="logo el-menu-item">
-        <el-icon :size="20"><img src="@/assets/logo.png" style="width: 30px; height: 24px" /></el-icon>
-      </div>
-      <!-- 订单管理 -->
-      <el-sub-menu :index="12">
-        <template #title>
-          <img v-if="activeIndex == '/seniorCelebrity/order' ||
-            activeIndex == '/seniorCelebrity/orderEvaluate'
-            " src="@/assets/orderS.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-          <img v-else src="@/assets/order.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-          <span>订单管理</span>
-        </template>
-        <el-menu-item index="/seniorCelebrity/order">
-          <template #title>
-            <span>订单管理</span>
-          </template>
-        </el-menu-item>
-        <el-menu-item index="/seniorCelebrity/orderEvaluate">
-          <template #title>
-            <span>订单评价</span>
-          </template>
-        </el-menu-item>
-      </el-sub-menu>
-      <!-- 房态管理 -->
-      <el-sub-menu :index="34">
-        <template #title>
-          <img v-if="activeIndex == '/seniorCelebrity/houseState' ||
-            activeIndex == '/seniorCelebrity/housePrice'
-            " src="@/assets/roomStateC.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-          <img v-else src="@/assets/roomState.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-          <span>房态管理</span>
-        </template>
-        <el-menu-item index="/seniorCelebrity/houseState">
-          <template #title>
-            <span>房态管理</span>
-          </template>
-        </el-menu-item>
-        <el-menu-item index="/seniorCelebrity/housePrice">
-          <template #title>
-            <span>房价管理</span>
-          </template>
-        </el-menu-item>
-      </el-sub-menu>
-      <!-- 台账管理 -->
-      <el-menu-item index="/seniorCelebrity/ledger">
-        <img v-if="activeIndex == '/seniorCelebrity/ledger'" src="@/assets/ledgerS.png" alt=""
-          style="width: 22px; height: 22px; margin: 0 18px" />
-        <img v-else src="@/assets/ledger.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-        <span>台账管理</span>
-      </el-menu-item>
-      <!-- 民宿管理 -->
-      <el-sub-menu :index="56">
-        <template #title>
-          <img v-if="activeIndex == '/seniorCelebrity/houseInfo' ||
-            activeIndex == '/seniorCelebrity/houseType' ||
-            activeIndex == '/seniorCelebrity/houseList'
-            " src="@/assets/houseS.png" style="width: 22px; height: 22px; margin: 0 20px 0 18px" alt="" />
-          <img v-else src="@/assets/house.png" style="width: 22px; height: 22px; margin: 0 20px 0 18px" alt="" />
-          <span>民宿管理</span>
-        </template>
-        <el-menu-item index="/seniorCelebrity/houseInfo">
-          <template #title>
-            <!-- <img src="@/assets/home.png" alt="" /> -->
-            <span>民宿信息</span>
-          </template>
-        </el-menu-item>
-        <el-menu-item index="/seniorCelebrity/houseType">
-          <template #title>
-            <!-- <img src="@/assets/home.png" alt="" /> -->
-            <span>房型管理</span>
-          </template>
-        </el-menu-item>
-        <el-menu-item index="/seniorCelebrity/houseList">
-          <template #title>
-            <!-- <img src="@/assets/home.png" alt="" /> -->
-            <span>房源信息</span>
-          </template>
-        </el-menu-item>
-      </el-sub-menu>
-      <!-- 流程管理 -->
-      <el-sub-menu :index="78">
-        <template #title>
-          <img v-if="activeIndex == '/seniorCelebrity/roomFlow'" src="@/assets/roomFlowC.png" alt=""
-            style="width: 22px; height: 22px; margin: 0 18px" />
-          <img v-else src="@/assets/roomFlow.png" alt="" style="width: 22px; height: 22px; margin: 0 18px" />
-          <span>流程管理</span>
-        </template>
-        <el-menu-item index="/seniorCelebrity/roomFlow">
-          <template #title>
-            <span>我发起的</span>
-          </template>
-        </el-menu-item>
-      </el-sub-menu>
-      <!-- 账号管理 -->
-      <el-menu-item index="/seniorCelebrity/account" v-if="store.state.user.level == 2">
-        <img v-if="activeIndex == '/seniorCelebrity/account'" src="@/assets/systemS.png" alt=""
-          style="width: 20px; height: 20px; margin: 0 20px" />
-        <img v-else src="@/assets/system.png" alt="" style="width: 20px; height: 20px; margin: 0 20px" />
-        <span>账号管理</span>
-      </el-menu-item>
-      <!-- 服务商城 -->
-      <el-menu-item index="/seniorCelebrity/serviceMall">
-        <img v-if="activeIndex == '/seniorCelebrity/serviceMall'" src="@/assets/shop_s.png" alt=""
-          style="width: 20px; height: 20px; margin: 0 20px" />
-        <img v-else src="@/assets/shop.png" alt="" style="width: 20px; height: 20px; margin: 0 20px" />
-        <span>服务商城</span>
-      </el-menu-item>
-    </el-menu>
-  </div>
-</template>
-
-<script setup>
-import { ref, onBeforeMount, onMounted, watch, reactive } from "vue";
-import { useStore } from "vuex";
-
-import { useRouter } from "vue-router";
-
-const store = useStore();
-const router = useRouter();
-
-const menuClose = ref(false);
-const activeIndex = ref(1);
-const acitveItems = reactive({ list: [] });
-
-watch(
-  () => store.state.user.collapse,
-  (newValue, oldValue) => {
-    menuClose.value = newValue;
-  }
-);
-watch(
-  () => store.state.user.activeIndex,
-  (newValue, oldValue) => {
-    console.log(newValue);
-    activeIndex.value = newValue;
-  }
-);
-
-const handleSelect = (key, keyPath) => {
-  // store.commit("indexUp", key);
-  // activeIndex.value = key;
-  // sessionStorage.setItem("sidevarItem", key);
-  console.log(key, keyPath);
-
-  router.push({
-    path: `${key}`,
-  });
-
-  activeIndex.value = key;
-  store.commit("indexUp", key);
-  sessionStorage.setItem("sidevarItem", key);
-  // if (activeIndex.value == 1) {
-  //   router.push({
-  //     path: `/seniorCelebrity/order`,
-  //   });
-  // }
-  // if (activeIndex.value == 2) {
-  //   router.push({
-  //     path: `/seniorCelebrity/ledger`,
-  //   });
-  // }
-
-  // if (activeIndex.value == 3) {
-  //   router.push({
-  //     path: `/seniorCelebrity/houseInfo`,
-  //   });
-  // }
-  // if (activeIndex.value == 4) {
-  //   router.push({
-  //     path: `/seniorCelebrity/houseType`,
-  //   });
-  // }
-  // if (activeIndex.value == 5) {
-  //   router.push({
-  //     path: `/seniorCelebrity/houseList`,
-  //   });
-  // }
-  // if (activeIndex.value == 6) {
-  //   router.push({
-  //     path: `/seniorCelebrity/account`,
-  //   });
-  // }
-};
-onBeforeMount(() => {
-  activeIndex.value = sessionStorage.getItem("sidevarItem");
-});
-</script>
-
-<style lang="scss" scoped>
-.el-menu-vertical-demo:not(.el-menu--collapse) {
-  width: 200px;
-  // min-height: 400px;
-}
-
-.el-menu {
-  width: 100%;
-  height: 100%;
-  // background: linear-gradient(
-  //   0deg,
-  //   rgba(134, 132, 255, 1) 0%,
-  //   rgba(60, 80, 232, 1) 100%
-  // );
-  background: rgba(24, 51, 82, 1);
-  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.16);
-
-  .logo {
-    height: 65px;
-    color: rgb(255, 255, 255);
-    cursor: default;
-    display: flex;
-    justify-content: space-around;
-    align-items: center;
-  }
-
-  .logo:hover {
-    background-color: transparent !important;
-  }
-
-  .el-sub-menu {
-    .el-menu-item {
-      // background-color: rgba(255, 255, 255, 1);
-      // color: rgba(9, 101, 98, 1);
-      padding: 0 20px 0 78px;
-    }
-
-    :deep(.el-tooltip__trigger) {
-      padding: 0 20px;
-    }
-
-    :deep(.el-sub-menu__title):hover {
-      color: rgba(18, 38, 61, 1);
-      background-color: rgba(18, 38, 61, 1);
-
-      span {
-        color: #fff;
-      }
-    }
-
-    .el-menu--inline {
-      background-color: rgba(9, 101, 98, 1);
-    }
-  }
-
-  .el-menu {
-    .el-menu-item {
-      background-color: rgba(24, 51, 82, 1);
-      // padding-left: 30px;
-    }
-
-    .el-menu-item:hover {
-      color: #fff;
-      background-color: rgba(18, 38, 61, 1);
-    }
-  }
-
-  .el-sub-menu:hover {
-    color: #fff;
-  }
-
-  .el-menu-item:hover {
-    background-color: rgba(18, 38, 61, 1);
-    color: #fff;
-  }
-
-  .el-menu-item.is-active {
-    background-color: rgba(18, 38, 61, 1);
-    color: #fff;
-  }
-}
-
-// .el-menu-item.is-active {
-//   box-sizing: border-box;
-//   // background-color: #fff;
-//   background-color: rgba(111, 182, 184, 1);
-//   color: #fff;
-// }
-.el-sub-menu.is-active {
-  :deep(.el-sub-menu__title) {
-    // border: 1px solid red;
-    color: #fff !important;
-    background-color: rgba(18, 38, 61, 1);
-  }
-}
-</style>

File diff suppressed because it is too large
+ 0 - 1516
src/views/class/class.vue


File diff suppressed because it is too large
+ 0 - 3465
src/views/doorLock/doorLock.vue


File diff suppressed because it is too large
+ 0 - 3103
src/views/doorLock/doorLock11.vue


+ 0 - 845
src/views/fingerprint/fingerPrint.vue

@@ -1,845 +0,0 @@
-<template>
-    <div class="content-box">
-        <div class="left">
-            <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-            <span class="cameratxt">指纹管理</span>
-        </div>
-        <div class="middle">
-            <div class="filter">
-                <div class="condition">
-                    <span>关键字 : </span>
-                    <el-input clearable v-model="searchInput.adminName" @clear="searchBtn" class="w-50 m-2"
-                        placeholder="请输入用户名" style="width: 150px" />
-                </div>
-
-                <el-button style="margin-left: 20px" color="rgba(9, 101, 98, 1)" type="primary" class="search"
-                    @click="searchBtn"><el-icon>
-                        <Search />
-                    </el-icon> <span>查询</span></el-button>
-            </div>
-            <!-- 按钮列表 -->
-            <div class="gongneng">
-                <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="addlist"><el-icon>
-                        <CirclePlus />
-                    </el-icon><span>新增账号</span></el-button>
-            </div>
-        </div>
-        <div class="footer" v-loading="loading">
-            <el-table :row-class-name="tableRowClassName" :data="tableData.list" @selection-change="handleSelectionChange"
-                style="width: 100%" :header-cell-style="{
-                    background: 'rgba(240, 243, 247, 1)',
-                    height: '50px',
-                    border: 0,
-                }">
-                <!-- <el-table-column align="center" type="selection" width="80" /> -->
-                <el-table-column width="150" align="center" label="序号" type="index" index="1" />
-                <el-table-column align="center" prop="corpnPhone" label="手机" />
-                <el-table-column align="center" prop="adminName" label="用户名" />
-                <el-table-column align="center" prop="corpnName" label="姓名" />
-                <el-table-column align="center" label="角色">
-                    <template #default="{ row }">
-                        {{ row.level == 1 ? "管理员" : "超级管理员" }}
-                    </template>
-                </el-table-column>
-                <el-table-column align="center" prop="remark" label="备注" />
-
-                <el-table-column align="center" label="操作" width="220">
-                    <template #default="scope">
-                        <div class="options">
-                            <div class="reset" @click="reset(scope.row)">密码重置</div>
-                            <div class="look" @click="edit(scope.row)">修改</div>
-                            <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
-                                icon-color="#f89626" title="是否删除此账号?" @confirm="del(scope.row)" @cancel="cancelEvent">
-                                <template #reference>
-                                    <div class="del">删除</div>
-                                </template>
-                            </el-popconfirm>
-                        </div>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <!-- 添加车辆弹窗 -->
-            <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-                :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
-                <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
-                    :size="formSize" label-position="left" status-icon>
-                    <el-form-item label="用户名 :" prop="adminName">
-                        <el-input v-model="ruleForm.adminName" placeholder="请输入用户名" clearable />
-                    </el-form-item>
-                    <el-form-item label="姓名 :" prop="corpnName">
-                        <el-input v-model="ruleForm.corpnName" placeholder="请输入姓名" clearable />
-                    </el-form-item>
-                    <el-form-item label="手机号码 :" prop="corpnPhone">
-                        <el-input v-model="ruleForm.corpnPhone" placeholder="请输入手机号码" clearable />
-                    </el-form-item>
-                    <el-form-item label="密码 :" prop="password">
-                        <el-input v-model="ruleForm.password" placeholder="请输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="确认密码 :" prop="againPass">
-                        <el-input v-model="ruleForm.againPass" placeholder="请再一次输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="角色 :" prop="level">
-                        <el-radio-group v-model="ruleForm.level">
-                            <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
-                            <el-radio :label="2" v-if="ruleForm.level == 2">超级管理员</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <el-form-item label="简介 :" prop="remark">
-                        <el-input v-model="ruleForm.remark" :rows="3" type="textarea" placeholder="请输入民宿简介信息" />
-                    </el-form-item>
-
-                    <el-form-item class="options">
-                        <el-button color="rgba(9, 101, 98, 1)" class="queding" type="primary"
-                            @click="submitAdd(ruleFormRef)">
-                            确定
-                        </el-button>
-                        <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
-                    </el-form-item>
-                </el-form>
-            </el-dialog>
-        </div>
-
-        <!-- 分页组件 -->
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-            layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
-    </div>
-</template>
-  
-<script setup>
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import { dayjs } from "element-plus";
-import lodash, { reduce } from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-    list: [
-        // {
-        //   phone: 1234,
-        //   adminName: "admin",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "test",
-        //   userName: "李四",
-        //   level: 1,
-        //   remark: "测试11",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin1",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin2",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-    ],
-});
-const activeIndex = ref(); // 默认跳转路由
-const dialongTitle = ref("新增账号"); // 弹窗标题
-
-const searchInput = reactive({
-    adminName: "",
-}); // 搜索按钮数据
-5;
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-const selectData = reactive({
-    list: [],
-}); // 多选框选择的数据
-const api = ref("");
-const addDialogVisible = ref(false); // 控制添加员工弹窗
-
-// 表单数据
-const formSize = ref("default");
-const ruleFormRef = ref();
-const ruleForm = reactive({
-    corpnPhone: "",
-    adminName: "",
-    corpnName: "",
-    level: 1,
-    remark: "",
-    password: "",
-    againPass: "",
-    id: "",
-});
-var checkUserName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入用户名)"));
-    }
-
-    var reg = /^[a-zA-Z0-9]{6,16}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为6-16个数字或字母!"));
-    } else {
-        callback();
-    }
-};
-var checkFullName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入姓名"));
-    }
-
-    var reg = /^[\u4e00-\u9fa5]{2,6}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为2-6个汉字!"));
-    } else {
-        callback();
-    }
-};
-var checkPhone = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入手机号"));
-    }
-    setTimeout(() => {
-        var reg = /^1[3456789]\d{9}$/;
-        if (!reg.test(value)) {
-            callback(new Error("手机号格式不对"));
-        } else {
-            callback();
-        }
-    }, 100);
-};
-// 表单验证
-const rules = reactive({
-    corpnName: [
-        { required: true, message: "姓名不能为空", trigger: "blur" },
-        { validator: checkFullName, trigger: "blur" },
-    ],
-    adminName: [
-        { required: true, message: "用户名不能为空", trigger: "blur" },
-        { validator: checkUserName, trigger: "blur" },
-    ],
-    // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
-    password: [
-        {
-            required: true,
-            message: "密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    againPass: [
-        {
-            required: true,
-            message: "确认密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    level: [
-        {
-            required: true,
-            message: "角色不能为空",
-            trigger: "blur",
-        },
-    ],
-    remark: [
-        {
-            required: true,
-            message: "备注不能为空",
-            trigger: "blur",
-        },
-    ],
-    corpnPhone: [
-        {
-            required: true,
-            message: "电话号码不能为空",
-            trigger: "blur",
-        },
-        { validator: checkPhone, trigger: "blur" },
-    ],
-
-    // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
-});
-// 获取账户列表
-const getList = async () => {
-    // if (searchInput.account) {
-    //   data.adminName = searchInput.adminName;
-    // }
-    loading.value = true;
-    let data = {
-        page: currentPage.value, // 当前页
-        rows: pageSize.value, // 一页数据条数
-        adminName: searchInput.adminName, //用户名
-        managerId: sessionStorage.getItem("token"),
-    };
-    let res = await axios({
-        method: "get",
-        url: api.value + "/mhotel/managerAdminqueryPage.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-        },
-        params: data,
-    });
-    console.log(res, "账号信息");
-    if (res.data.code == 200) {
-        tableData.list = res.data.data.pageList;
-        total.value = res.data.data.total;
-        loading.value = false;
-        // ElMessage({
-        //   type: "success",
-        //   showClose: true,
-        //   message: res.data.message,
-        //   center: true,
-        // });
-    } else {
-        loading.value = false;
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-    getList();
-}, 300);
-
-// 添加员工
-const addlist = () => {
-    dialongTitle.value = "新增账号";
-    addDialogVisible.value = true;
-    ruleForm.corpnPhone = "";
-    ruleForm.adminName = "";
-    ruleForm.corpnName = "";
-    ruleForm.level = 1;
-    ruleForm.remake = "";
-    ruleForm.password = "";
-    ruleForm.againPass = "";
-    ruleForm.reamark = "";
-};
-// 取消添加员工
-const cancelAdd = () => {
-    addDialogVisible.value = false;
-    ruleFormRef.value.resetFields();
-};
-//编辑按钮
-const edit = (row) => {
-    dialongTitle.value = "编辑信息";
-    addDialogVisible.value = true;
-    ruleForm.adminName = row.adminName;
-    ruleForm.corpnName = row.corpnName;
-    ruleForm.level = Number(row.level);
-    ruleForm.remark = row.remark;
-    ruleForm.password = row.password;
-    ruleForm.againPass = row.password;
-    ruleForm.corpnPhone = row.corpnPhone;
-    ruleForm.id = row.id;
-};
-// 确认添加员工
-const submitAdd = lodash.debounce(async (formEl) => {
-    if (!formEl) return;
-    await formEl.validate(async (valid, fields) => {
-        if (valid) {
-            if (dialongTitle.value == "新增账号") {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        managerId: sessionStorage.getItem("token"),
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                        },
-                        params: data,
-                    });
-                    console.log(res, "添加账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            } else {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        id: ruleForm.id,
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                            // user_head: sessionStorage.getItem("userhead"),
-                        },
-                        params: data,
-                    });
-                    // console.log(res, "修改账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            }
-        } else {
-            console.log("error submit!", fields);
-        }
-    });
-}, 1000);
-
-//删除按钮
-const del = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdmindelAdmin.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        if (tableData.list.length == 1 && currentPage.value != 1) {
-            currentPage.value = currentPage.value - 1;
-        }
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-    // console.log(res);
-};
-// 取消删除
-const cancelEvent = () => {
-    ElMessage({
-        type: "info",
-        showClose: true,
-        message: "取消删除",
-        center: true,
-    });
-};
-// 重置密码
-const reset = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdminremovePwd.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 多选框功能
-// const handleSelectionChange = (val) => {
-//   console.log(val);
-//   selectData.list = val;
-// };
-
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-    if (rowIndex % 2 === 0) {
-        return "even";
-    } else if (rowIndex % 2 !== 0) {
-        return "odd";
-    }
-    return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-    // console.log(value);
-    currentPage.value = value;
-    getList();
-};
-
-onBeforeMount(() => {
-    api.value = store.state.user.api;
-    getList();
-});
-onUnmounted(() => {
-    // document.removeEventListener("keyup", Enters);
-});
-</script>
-  
-<style scoped lang="scss">
-.content-box {
-    width: 97.5%;
-    height: 89%;
-    margin: 20px auto;
-    background-color: #fff;
-    color: #fff;
-    display: flex;
-    flex-direction: column;
-    box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-    .left {
-        // width: calc(100wh - 40px);
-        display: flex;
-        align-items: center;
-        height: 60px;
-        margin: 0 30px;
-        border-bottom: 1px solid #ccc;
-        color: #000;
-        font-size: 18px;
-        font-weight: 600;
-
-        .camera {
-            margin-right: 15px;
-            color: #4392f7;
-        }
-    }
-
-    .middle {
-        width: 96%;
-        margin: 0 auto;
-
-        color: #000;
-
-        // border-bottom: 1px solid rgb(231, 231, 231);
-        .filter {
-            display: flex;
-            flex-wrap: wrap;
-            align-items: center;
-            margin: 10px 0 0 0;
-
-            .search {
-                margin-left: 0 !important;
-                color: #fff;
-            }
-
-            .condition {
-                display: flex;
-                align-items: center;
-                margin: 10px 30px 10px 0;
-
-                :deep(.el-input .el-input__inner) {
-                    font-size: 14px;
-                }
-
-                span {
-                    margin: 0 10px 0 0;
-                }
-            }
-        }
-
-        .gongneng {
-            margin: 10px 0;
-
-            .el-button {
-                color: #fff;
-            }
-        }
-
-        :deep(.cont) {
-            width: 60%;
-            margin: 20px auto;
-        }
-
-        :deep(.download) {
-            display: flex;
-            align-items: center;
-            margin: 10px;
-        }
-
-        :deep(.download span) {
-            font-size: 16px;
-            margin-left: 20px;
-        }
-
-        :deep(.cont .el-button) {
-            margin-left: 60px;
-            margin-bottom: 30px;
-        }
-
-        :deep(.cont .accomplish) {
-            width: 100%;
-            display: flex;
-            justify-content: center;
-        }
-
-        :deep(.cont .accomplish .el-button) {
-            width: 50%;
-            margin: 0;
-        }
-    }
-
-    .footer {
-        width: 96%;
-        height: 550px;
-        margin: 10px auto 10px;
-
-        .el-table--fit {
-            height: 100%;
-
-            :deep(.el-table__header-wrapper) {
-                background-color: #000;
-                font-size: 15px;
-                color: #000;
-
-                .cell {
-                    color: #000;
-                }
-            }
-
-            :deep(.el-table__row) {
-                height: 50px;
-                font-size: 15px;
-                color: #000;
-            }
-
-            :deep(.el-table__row td) {
-                padding: 0;
-                border: 0;
-            }
-
-            .el-button--primary {
-                margin-left: 5px;
-            }
-
-            :deep(.el-table__body .even) {
-                background-color: #fff;
-            }
-
-            :deep(.el-table__body .odd) {
-                background-color: rgba(240, 243, 247, 1);
-            }
-
-            :deep(.options) {
-                display: flex;
-                justify-content: center;
-                align-items: center;
-
-                .reset {
-                    color: rgba(9, 101, 98, 1);
-                    cursor: pointer;
-                }
-
-                .look {
-                    margin: 0 15px;
-                    color: rgba(30, 125, 251, 1);
-                    cursor: pointer;
-                }
-
-                .del {
-                    color: rgba(212, 48, 48, 1);
-                    cursor: pointer;
-                }
-            }
-        }
-
-        // 添加员工弹窗样式
-        :deep(.addStaff) {
-            //   height: 420px;
-            border-radius: 11px;
-
-            .el-dialog__header {
-                border-radius: 11px 11px 0 0;
-                background: rgba(237, 241, 245, 1);
-                font-weight: 600;
-                margin: 0;
-
-                .el-dialog__headerbtn {
-                    outline: none;
-                }
-            }
-
-            .el-dialog__body {
-                padding: 30px 20px 10px 20px;
-
-                .el-input {
-                    width: 200px;
-
-                    .el-input__suffix-inner {
-                        color: rgba(61, 81, 232, 1);
-                    }
-                }
-
-                .options {
-                    margin: 10px 20px 20px 0;
-                    width: 100%;
-
-                    .el-form-item__content {
-                        display: flex;
-                        flex-direction: row-reverse;
-                    }
-
-                    .queding {
-                        color: #fff;
-                        margin-left: 15px;
-                    }
-                }
-            }
-        }
-    }
-
-    .el-pagination {
-        // width: 1600px;
-        width: 96%;
-        margin: 20px auto 18px;
-        justify-content: flex-end;
-
-        :deep(.el-pagination__total) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__goto) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__classifier) {
-            color: #000;
-        }
-
-        :deep(.el-input__wrapper) {
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            box-shadow: none;
-        }
-
-        :deep(.el-pager li) {
-            margin: 0 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.el-pager li.is-active) {
-            background-color: rgba(111, 182, 184, 1);
-        }
-
-        :deep(.btn-prev) {
-            margin-right: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.btn-next) {
-            margin-left: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-    }
-}
-
-.el-input {
-    width: 192px;
-}
-</style>
-  

+ 0 - 845
src/views/icCard/icCard.vue

@@ -1,845 +0,0 @@
-<template>
-    <div class="content-box">
-        <div class="left">
-            <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-            <span class="cameratxt">IC卡管理</span>
-        </div>
-        <div class="middle">
-            <div class="filter">
-                <div class="condition">
-                    <span>关键字 : </span>
-                    <el-input clearable v-model="searchInput.adminName" @clear="searchBtn" class="w-50 m-2"
-                        placeholder="请输入用户名" style="width: 150px" />
-                </div>
-
-                <el-button style="margin-left: 20px" color="rgba(9, 101, 98, 1)" type="primary" class="search"
-                    @click="searchBtn"><el-icon>
-                        <Search />
-                    </el-icon> <span>查询</span></el-button>
-            </div>
-            <!-- 按钮列表 -->
-            <div class="gongneng">
-                <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="addlist"><el-icon>
-                        <CirclePlus />
-                    </el-icon><span>新增账号</span></el-button>
-            </div>
-        </div>
-        <div class="footer" v-loading="loading">
-            <el-table :row-class-name="tableRowClassName" :data="tableData.list" @selection-change="handleSelectionChange"
-                style="width: 100%" :header-cell-style="{
-                    background: 'rgba(240, 243, 247, 1)',
-                    height: '50px',
-                    border: 0,
-                }">
-                <!-- <el-table-column align="center" type="selection" width="80" /> -->
-                <el-table-column width="150" align="center" label="序号" type="index" index="1" />
-                <el-table-column align="center" prop="corpnPhone" label="手机" />
-                <el-table-column align="center" prop="adminName" label="用户名" />
-                <el-table-column align="center" prop="corpnName" label="姓名" />
-                <el-table-column align="center" label="角色">
-                    <template #default="{ row }">
-                        {{ row.level == 1 ? "管理员" : "超级管理员" }}
-                    </template>
-                </el-table-column>
-                <el-table-column align="center" prop="remark" label="备注" />
-
-                <el-table-column align="center" label="操作" width="220">
-                    <template #default="scope">
-                        <div class="options">
-                            <div class="reset" @click="reset(scope.row)">密码重置</div>
-                            <div class="look" @click="edit(scope.row)">修改</div>
-                            <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
-                                icon-color="#f89626" title="是否删除此账号?" @confirm="del(scope.row)" @cancel="cancelEvent">
-                                <template #reference>
-                                    <div class="del">删除</div>
-                                </template>
-                            </el-popconfirm>
-                        </div>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <!-- 添加车辆弹窗 -->
-            <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-                :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
-                <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
-                    :size="formSize" label-position="left" status-icon>
-                    <el-form-item label="用户名 :" prop="adminName">
-                        <el-input v-model="ruleForm.adminName" placeholder="请输入用户名" clearable />
-                    </el-form-item>
-                    <el-form-item label="姓名 :" prop="corpnName">
-                        <el-input v-model="ruleForm.corpnName" placeholder="请输入姓名" clearable />
-                    </el-form-item>
-                    <el-form-item label="手机号码 :" prop="corpnPhone">
-                        <el-input v-model="ruleForm.corpnPhone" placeholder="请输入手机号码" clearable />
-                    </el-form-item>
-                    <el-form-item label="密码 :" prop="password">
-                        <el-input v-model="ruleForm.password" placeholder="请输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="确认密码 :" prop="againPass">
-                        <el-input v-model="ruleForm.againPass" placeholder="请再一次输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="角色 :" prop="level">
-                        <el-radio-group v-model="ruleForm.level">
-                            <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
-                            <el-radio :label="2" v-if="ruleForm.level == 2">超级管理员</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <el-form-item label="简介 :" prop="remark">
-                        <el-input v-model="ruleForm.remark" :rows="3" type="textarea" placeholder="请输入民宿简介信息" />
-                    </el-form-item>
-
-                    <el-form-item class="options">
-                        <el-button color="rgba(9, 101, 98, 1)" class="queding" type="primary"
-                            @click="submitAdd(ruleFormRef)">
-                            确定
-                        </el-button>
-                        <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
-                    </el-form-item>
-                </el-form>
-            </el-dialog>
-        </div>
-
-        <!-- 分页组件 -->
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-            layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
-    </div>
-</template>
-  
-<script setup>
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import { dayjs } from "element-plus";
-import lodash, { reduce } from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-    list: [
-        // {
-        //   phone: 1234,
-        //   adminName: "admin",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "test",
-        //   userName: "李四",
-        //   level: 1,
-        //   remark: "测试11",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin1",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin2",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-    ],
-});
-const activeIndex = ref(); // 默认跳转路由
-const dialongTitle = ref("新增账号"); // 弹窗标题
-
-const searchInput = reactive({
-    adminName: "",
-}); // 搜索按钮数据
-5;
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-const selectData = reactive({
-    list: [],
-}); // 多选框选择的数据
-const api = ref("");
-const addDialogVisible = ref(false); // 控制添加员工弹窗
-
-// 表单数据
-const formSize = ref("default");
-const ruleFormRef = ref();
-const ruleForm = reactive({
-    corpnPhone: "",
-    adminName: "",
-    corpnName: "",
-    level: 1,
-    remark: "",
-    password: "",
-    againPass: "",
-    id: "",
-});
-var checkUserName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入用户名)"));
-    }
-
-    var reg = /^[a-zA-Z0-9]{6,16}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为6-16个数字或字母!"));
-    } else {
-        callback();
-    }
-};
-var checkFullName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入姓名"));
-    }
-
-    var reg = /^[\u4e00-\u9fa5]{2,6}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为2-6个汉字!"));
-    } else {
-        callback();
-    }
-};
-var checkPhone = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入手机号"));
-    }
-    setTimeout(() => {
-        var reg = /^1[3456789]\d{9}$/;
-        if (!reg.test(value)) {
-            callback(new Error("手机号格式不对"));
-        } else {
-            callback();
-        }
-    }, 100);
-};
-// 表单验证
-const rules = reactive({
-    corpnName: [
-        { required: true, message: "姓名不能为空", trigger: "blur" },
-        { validator: checkFullName, trigger: "blur" },
-    ],
-    adminName: [
-        { required: true, message: "用户名不能为空", trigger: "blur" },
-        { validator: checkUserName, trigger: "blur" },
-    ],
-    // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
-    password: [
-        {
-            required: true,
-            message: "密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    againPass: [
-        {
-            required: true,
-            message: "确认密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    level: [
-        {
-            required: true,
-            message: "角色不能为空",
-            trigger: "blur",
-        },
-    ],
-    remark: [
-        {
-            required: true,
-            message: "备注不能为空",
-            trigger: "blur",
-        },
-    ],
-    corpnPhone: [
-        {
-            required: true,
-            message: "电话号码不能为空",
-            trigger: "blur",
-        },
-        { validator: checkPhone, trigger: "blur" },
-    ],
-
-    // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
-});
-// 获取账户列表
-const getList = async () => {
-    // if (searchInput.account) {
-    //   data.adminName = searchInput.adminName;
-    // }
-    loading.value = true;
-    let data = {
-        page: currentPage.value, // 当前页
-        rows: pageSize.value, // 一页数据条数
-        adminName: searchInput.adminName, //用户名
-        managerId: sessionStorage.getItem("token"),
-    };
-    let res = await axios({
-        method: "get",
-        url: api.value + "/mhotel/managerAdminqueryPage.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-        },
-        params: data,
-    });
-    console.log(res, "账号信息");
-    if (res.data.code == 200) {
-        tableData.list = res.data.data.pageList;
-        total.value = res.data.data.total;
-        loading.value = false;
-        // ElMessage({
-        //   type: "success",
-        //   showClose: true,
-        //   message: res.data.message,
-        //   center: true,
-        // });
-    } else {
-        loading.value = false;
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-    getList();
-}, 300);
-
-// 添加员工
-const addlist = () => {
-    dialongTitle.value = "新增账号";
-    addDialogVisible.value = true;
-    ruleForm.corpnPhone = "";
-    ruleForm.adminName = "";
-    ruleForm.corpnName = "";
-    ruleForm.level = 1;
-    ruleForm.remake = "";
-    ruleForm.password = "";
-    ruleForm.againPass = "";
-    ruleForm.reamark = "";
-};
-// 取消添加员工
-const cancelAdd = () => {
-    addDialogVisible.value = false;
-    ruleFormRef.value.resetFields();
-};
-//编辑按钮
-const edit = (row) => {
-    dialongTitle.value = "编辑信息";
-    addDialogVisible.value = true;
-    ruleForm.adminName = row.adminName;
-    ruleForm.corpnName = row.corpnName;
-    ruleForm.level = Number(row.level);
-    ruleForm.remark = row.remark;
-    ruleForm.password = row.password;
-    ruleForm.againPass = row.password;
-    ruleForm.corpnPhone = row.corpnPhone;
-    ruleForm.id = row.id;
-};
-// 确认添加员工
-const submitAdd = lodash.debounce(async (formEl) => {
-    if (!formEl) return;
-    await formEl.validate(async (valid, fields) => {
-        if (valid) {
-            if (dialongTitle.value == "新增账号") {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        managerId: sessionStorage.getItem("token"),
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                        },
-                        params: data,
-                    });
-                    console.log(res, "添加账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            } else {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        id: ruleForm.id,
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                            // user_head: sessionStorage.getItem("userhead"),
-                        },
-                        params: data,
-                    });
-                    // console.log(res, "修改账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            }
-        } else {
-            console.log("error submit!", fields);
-        }
-    });
-}, 1000);
-
-//删除按钮
-const del = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdmindelAdmin.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        if (tableData.list.length == 1 && currentPage.value != 1) {
-            currentPage.value = currentPage.value - 1;
-        }
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-    // console.log(res);
-};
-// 取消删除
-const cancelEvent = () => {
-    ElMessage({
-        type: "info",
-        showClose: true,
-        message: "取消删除",
-        center: true,
-    });
-};
-// 重置密码
-const reset = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdminremovePwd.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 多选框功能
-// const handleSelectionChange = (val) => {
-//   console.log(val);
-//   selectData.list = val;
-// };
-
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-    if (rowIndex % 2 === 0) {
-        return "even";
-    } else if (rowIndex % 2 !== 0) {
-        return "odd";
-    }
-    return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-    // console.log(value);
-    currentPage.value = value;
-    getList();
-};
-
-onBeforeMount(() => {
-    api.value = store.state.user.api;
-    getList();
-});
-onUnmounted(() => {
-    // document.removeEventListener("keyup", Enters);
-});
-</script>
-  
-<style scoped lang="scss">
-.content-box {
-    width: 97.5%;
-    height: 89%;
-    margin: 20px auto;
-    background-color: #fff;
-    color: #fff;
-    display: flex;
-    flex-direction: column;
-    box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-    .left {
-        // width: calc(100wh - 40px);
-        display: flex;
-        align-items: center;
-        height: 60px;
-        margin: 0 30px;
-        border-bottom: 1px solid #ccc;
-        color: #000;
-        font-size: 18px;
-        font-weight: 600;
-
-        .camera {
-            margin-right: 15px;
-            color: #4392f7;
-        }
-    }
-
-    .middle {
-        width: 96%;
-        margin: 0 auto;
-
-        color: #000;
-
-        // border-bottom: 1px solid rgb(231, 231, 231);
-        .filter {
-            display: flex;
-            flex-wrap: wrap;
-            align-items: center;
-            margin: 10px 0 0 0;
-
-            .search {
-                margin-left: 0 !important;
-                color: #fff;
-            }
-
-            .condition {
-                display: flex;
-                align-items: center;
-                margin: 10px 30px 10px 0;
-
-                :deep(.el-input .el-input__inner) {
-                    font-size: 14px;
-                }
-
-                span {
-                    margin: 0 10px 0 0;
-                }
-            }
-        }
-
-        .gongneng {
-            margin: 10px 0;
-
-            .el-button {
-                color: #fff;
-            }
-        }
-
-        :deep(.cont) {
-            width: 60%;
-            margin: 20px auto;
-        }
-
-        :deep(.download) {
-            display: flex;
-            align-items: center;
-            margin: 10px;
-        }
-
-        :deep(.download span) {
-            font-size: 16px;
-            margin-left: 20px;
-        }
-
-        :deep(.cont .el-button) {
-            margin-left: 60px;
-            margin-bottom: 30px;
-        }
-
-        :deep(.cont .accomplish) {
-            width: 100%;
-            display: flex;
-            justify-content: center;
-        }
-
-        :deep(.cont .accomplish .el-button) {
-            width: 50%;
-            margin: 0;
-        }
-    }
-
-    .footer {
-        width: 96%;
-        height: 550px;
-        margin: 10px auto 10px;
-
-        .el-table--fit {
-            height: 100%;
-
-            :deep(.el-table__header-wrapper) {
-                background-color: #000;
-                font-size: 15px;
-                color: #000;
-
-                .cell {
-                    color: #000;
-                }
-            }
-
-            :deep(.el-table__row) {
-                height: 50px;
-                font-size: 15px;
-                color: #000;
-            }
-
-            :deep(.el-table__row td) {
-                padding: 0;
-                border: 0;
-            }
-
-            .el-button--primary {
-                margin-left: 5px;
-            }
-
-            :deep(.el-table__body .even) {
-                background-color: #fff;
-            }
-
-            :deep(.el-table__body .odd) {
-                background-color: rgba(240, 243, 247, 1);
-            }
-
-            :deep(.options) {
-                display: flex;
-                justify-content: center;
-                align-items: center;
-
-                .reset {
-                    color: rgba(9, 101, 98, 1);
-                    cursor: pointer;
-                }
-
-                .look {
-                    margin: 0 15px;
-                    color: rgba(30, 125, 251, 1);
-                    cursor: pointer;
-                }
-
-                .del {
-                    color: rgba(212, 48, 48, 1);
-                    cursor: pointer;
-                }
-            }
-        }
-
-        // 添加员工弹窗样式
-        :deep(.addStaff) {
-            //   height: 420px;
-            border-radius: 11px;
-
-            .el-dialog__header {
-                border-radius: 11px 11px 0 0;
-                background: rgba(237, 241, 245, 1);
-                font-weight: 600;
-                margin: 0;
-
-                .el-dialog__headerbtn {
-                    outline: none;
-                }
-            }
-
-            .el-dialog__body {
-                padding: 30px 20px 10px 20px;
-
-                .el-input {
-                    width: 200px;
-
-                    .el-input__suffix-inner {
-                        color: rgba(61, 81, 232, 1);
-                    }
-                }
-
-                .options {
-                    margin: 10px 20px 20px 0;
-                    width: 100%;
-
-                    .el-form-item__content {
-                        display: flex;
-                        flex-direction: row-reverse;
-                    }
-
-                    .queding {
-                        color: #fff;
-                        margin-left: 15px;
-                    }
-                }
-            }
-        }
-    }
-
-    .el-pagination {
-        // width: 1600px;
-        width: 96%;
-        margin: 20px auto 18px;
-        justify-content: flex-end;
-
-        :deep(.el-pagination__total) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__goto) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__classifier) {
-            color: #000;
-        }
-
-        :deep(.el-input__wrapper) {
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            box-shadow: none;
-        }
-
-        :deep(.el-pager li) {
-            margin: 0 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.el-pager li.is-active) {
-            background-color: rgba(111, 182, 184, 1);
-        }
-
-        :deep(.btn-prev) {
-            margin-right: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.btn-next) {
-            margin-left: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-    }
-}
-
-.el-input {
-    width: 192px;
-}
-</style>
-  

+ 0 - 897
src/views/meter/meter.vue

@@ -1,897 +0,0 @@
-<template>
-  <div class="content-box">
-    <div class="left">
-      <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-      <span class="cameratxt">水电表管理</span>
-    </div>
-    <div>
-      <div class="middle">
-        <div class="filter">
-          <div class="condition">
-            <span>关键字&nbsp;&nbsp;</span>
-            <el-input
-              :clearable="true"
-              @clear="searchBtn"
-              v-model="searchInput.keyWord"
-              class="w-50 m-2"
-              placeholder="请输入关键字"
-            />
-          </div>
-          <div class="condition">
-            <span>创建时间&nbsp;&nbsp;</span>
-            <el-date-picker
-              v-model="searchInput.createTime"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="起始时间"
-              end-placeholder="结束时间"
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              :prefix-icon="Calendar"
-              placeholder="请选择日期"
-            />
-          </div>
-          <el-button
-            color="rgba(0, 97, 255, 1)"
-            type="primary"
-            class="search"
-            @click="searchBtn"
-            ><el-icon>
-              <Search />
-            </el-icon>
-            <span>查询</span></el-button
-          >
-        </div>
-        <!-- 按钮列表 -->
-        <div class="gongneng">
-          <el-button
-            type="primary"
-            color="rgba(0, 97, 255, 1)"
-            @click="addClick"
-            ><span>添加</span></el-button
-          >
-          <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-            ><span>导出</span></el-button
-          >
-          <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-            ><span>导入</span></el-button
-          >
-        </div>
-      </div>
-      <div class="footer" v-loading="loading">
-        <el-table
-          :row-class-name="tableRowClassName"
-          :data="tableData.list"
-          @selection-change="handleSelectionChange"
-          style="width: 100%"
-          :header-cell-style="{
-            background: 'rgba(240, 243, 247, 1)',
-            height: '50px',
-            border: 0,
-          }"
-        >
-          <!-- <el-table-column align="center" type="selection" width="80" /> -->
-          <el-table-column
-            width="150"
-            align="center "
-            type="index"
-            label="序号"
-          />
-          <el-table-column align="center" prop="hName" label="房型" />
-          <el-table-column align="center" prop="price" label="房费(元)" />
-          <el-table-column align="center" prop="number" label="数量" />
-
-          <el-table-column align="center" label="操作" width="200">
-            <template #default="scope">
-              <div class="edit">
-                <div class="look" @click="editClick(scope.row)">编辑</div>
-                <el-popconfirm
-                  width="220"
-                  confirm-button-text="确认"
-                  cancel-button-text="取消"
-                  :icon="InfoFilled"
-                  icon-color="#f89626"
-                  title="是否删除此房型?"
-                  @confirm="del(scope.row)"
-                  @cancel="cancelEvent"
-                >
-                  <template #reference>
-                    <div class="del">删除</div>
-                  </template>
-                </el-popconfirm>
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-
-      <!-- 编辑按钮 -->
-      <el-dialog
-        class="editDialog"
-        v-model="editVisible"
-        :close-on-click-modal="false"
-        :close-on-press-escape="false"
-        :title="titleDialog"
-        align-center
-        width="550"
-        :before-close="cancelEdit"
-      >
-        <el-form
-          ref="editRef"
-          :model="editRuleForm"
-          :rules="editRules"
-          label-width="90px"
-          class="demo-ruleForm"
-          :size="formSize"
-          label-position="left"
-          status-icon
-        >
-          <el-form-item label="水电编码 :" prop="SD_encoding">
-            <el-input
-              v-model="editRuleForm.SD_encoding"
-              placeholder="请输入水电编码"
-              clearable
-              style="width: 500px"
-            />
-          </el-form-item>
-          <el-form-item label="电表编码 :" prop="DB_encoding">
-            <el-input
-              v-model="editRuleForm.DB_encoding"
-              placeholder="请输入电表编码"
-              clearable
-              style="width: 500px"
-            />
-          </el-form-item>
-          <el-form-item label="房间号 :" prop="roomNum">
-            <!-- <el-tree
-              :data="roomNumData"
-              :props="{
-                label: 'label',
-                children: 'children',
-                value: 'value',
-                disabled: 'disabled',
-              }"
-              node-key="id"
-              show-checkbox
-              ref="roomNumRef"
-              @node-click="roomNumClick"
-              @check-change="handleCheckChange"
-            /> -->
-            <el-cascader
-              v-model="editRuleForm.roomNum"
-              :options="roomNumData"
-              :show-all-levels="false"
-            />
-          </el-form-item>
-          <el-form-item class="options">
-            <el-button
-              color="rgba(41, 109, 227, 1)"
-              class="queding"
-              type="primary"
-              @click="confirmEdit(editRef)"
-            >
-              确定
-            </el-button>
-            <el-button @click="cancelEdit(editRef)">取消</el-button>
-          </el-form-item>
-        </el-form>
-      </el-dialog>
-
-      <!-- 分页组件 -->
-      <div class="pageSize">
-        <span></span>
-        <el-pagination
-          background
-          :current-page="currentPage"
-          :page-size="pageSize"
-          layout="total, prev, pager, next, jumper, slot"
-          :total="total"
-          @update:current-page="handleCurrentChange"
-        />
-      </div>
-    </div>
-    <div class="bgImg" v-if="bgImg">
-      <el-carousel
-        @click="bgImg = false"
-        ref="bgImgs"
-        indicator-position
-        arrow="always"
-        :autoplay="false"
-        trigger
-      >
-        <el-carousel-item v-for="item in bgImgList" :key="item.id">
-          <img :src="item.url" alt="" />
-        </el-carousel-item>
-      </el-carousel>
-    </div>
-  </div>
-</template>
-
-<script setup>
-import {
-  ref,
-  reactive,
-  watch,
-  nextTick,
-  onBeforeMount,
-  onUnmounted,
-} from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import vidiconsApi from "@/api/vidicons.js";
-import { dayjs } from "element-plus";
-import lodash from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const api = ref("");
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-  list: [
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-  ],
-});
-
-const searchInput = reactive({
-  keyWord: "",
-  createTime: "",
-}); // 搜索按钮数据
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-
-// 编辑功能
-const titleDialog = ref("");
-const editVisible = ref(false);
-const editRef = ref();
-const editRuleForm = reactive({
-  SD_encoding: "",
-  DB_encoding: "",
-  roomNum: "",
-  id: "",
-});
-// 树形结构配置
-const roomNumRef = ref();
-const roomNumData = [
-  {
-    value: 1,
-    label: "Level one 1",
-    children: [
-      {
-        value: 11,
-        label: "Level two 1-1",
-      },
-      {
-        value: 12,
-        label: "Level two 1-2",
-      },
-    ],
-  },
-  {
-    value: 2,
-    label: "Level one 2",
-    children: [
-      {
-        value: 21,
-        label: "Level two 2-1",
-      },
-      {
-        value: 22,
-        label: "Level two 2-2",
-      },
-    ],
-  },
-];
-// 表单验证
-const editRules = reactive({
-  SD_encoding: [
-    { required: true, message: "水电编码不能为空", trigger: "blur" },
-  ],
-  DB_encoding: [
-    {
-      required: true,
-      message: "电表编码不能为空",
-      trigger: "blur",
-    },
-  ],
-  roomNum: [
-    {
-      required: true,
-      message: "房间号不能为空",
-      trigger: "blur",
-    },
-  ],
-});
-
-// 查看房型列表
-const getList = async () => {
-  loading.value = true;
-  let data = {
-    page: currentPage.value,
-    rows: pageSize.value,
-    hName: searchInput.keyWord, // 房型名称
-    managerId: sessionStorage.getItem("token"),
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/housequeryPage.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  console.log(res, "房型管理");
-  if (res.data.code == 200) {
-    loading.value = false;
-    tableData.list = res.data.data.pageList;
-    total.value = res.data.data.total;
-    // ElMessage({
-    //   type: "success",
-    //   showClose: true,
-    //   message: res.data.message,
-    //   center: true,
-    // });
-  } else {
-    loading.value = false;
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-  getList();
-}, 300);
-// 添加按钮 (-------------------------------------------)
-const addClick = async () => {
-  titleDialog.value = "新增";
-  editVisible.value = true;
-  //   let data = {
-  //     linkId: row.id,
-  //   };
-  //   let res = await axios({
-  //     method: "post",
-  //     url: api.value + "/mhotel/uploadgetByLinkId.action",
-  //     headers: {},
-  //     params: data,
-  //   });
-  //   console.log(res, "编辑中查找图片");
-  //   if (res.data.code == 200) {
-  //     // res.data.data.fileInfoList.forEach((item) => {
-  //     //   item.uid = item.id;
-  //     // });
-  //     // fileList.list = res.data.data.fileInfoList;
-  //     // ruleForm.fileListJson = fileList.list;
-  //     res.data.data.forEach((item) => {
-  //       item.uid = item.id;
-  //     });
-  //     fileList.list = res.data.data;
-  //     ruleForm.fileListJson = fileList.list;
-  //     // ElMessage({
-  //     //   type: "success",
-  //     //   showClose: true,
-  //     //   message: res.data.message,
-  //     //   center: true,
-  //     // });
-  //   } else {
-  //     ElMessage({
-  //       type: "error",
-  //       showClose: true,
-  //       message: res.data.message,
-  //       center: true,
-  //     });
-  //   }
-};
-
-//编辑按钮  (-------------------------------------------)
-const editClick = async () => {
-  titleDialog.value = "编辑";
-  editVisible.value = true;
-  //   let data = {
-  //     linkId: row.id,
-  //   };
-  //   let res = await axios({
-  //     method: "post",
-  //     url: api.value + "/mhotel/uploadgetByLinkId.action",
-  //     headers: {},
-  //     params: data,
-  //   });
-  //   console.log(res, "编辑中查找图片");
-  //   if (res.data.code == 200) {
-  //     // res.data.data.fileInfoList.forEach((item) => {
-  //     //   item.uid = item.id;
-  //     // });
-  //     // fileList.list = res.data.data.fileInfoList;
-  //     // ruleForm.fileListJson = fileList.list;
-  //     res.data.data.forEach((item) => {
-  //       item.uid = item.id;
-  //     });
-  //     fileList.list = res.data.data;
-  //     ruleForm.fileListJson = fileList.list;
-  //     // ElMessage({
-  //     //   type: "success",
-  //     //   showClose: true,
-  //     //   message: res.data.message,
-  //     //   center: true,
-  //     // });
-  //   } else {
-  //     ElMessage({
-  //       type: "error",
-  //       showClose: true,
-  //       message: res.data.message,
-  //       center: true,
-  //     });
-  //   }
-};
-
-const cancelEdit = () => {
-  editVisible.value = false;
-  editRuleForm.roomNum = "";
-};
-// // 树形结构 复选框被触发
-// const handleCheckChange = (data, checked, indeterminate) => {
-//   //   console.log(data, checked, indeterminate);
-//   if (data.list) {
-//     // console.log(data.list);
-//   } else {
-//     if (checked) {
-//       roomNumRef.value.setCheckedKeys([data.id]);
-//     }
-//     let keys = roomNumRef.value.getCheckedKeys();
-//     console.log(keys);
-//     editRuleForm.roomNum = keys;
-//   }
-// };
-// // 树形结构 被点击时触发
-// const roomNumClick = (data, node, component) => {
-//   //  * @description: node - click 节点被点击时的回调
-//   //  * @param {*} data 该节点所对应的对象
-//   //  * @param {*} node 节点对应的 Node
-//   //  * @param {*} component 节点组件本身
-//   console.log("子组件触发 node-click 事件", data, node, component);
-//   //   buildIdsRef.value.setCheckedKeys(item.build);
-// };
-
-// 确定编辑
-const confirmEdit = (formEl) => {
-  if (!formEl) return;
-  formEl.validate(async (valid, fields) => {
-    if (valid) {
-    }
-  });
-};
-
-//删除按钮
-const del = async (row) => {
-  let data = {
-    id: row.id,
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/housedelHouser.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  if (res.data.code == 200) {
-    if (tableData.list.length == 1 && currentPage.value != 1) {
-      currentPage.value = currentPage.value - 1;
-    }
-    getList();
-    ElMessage({
-      type: "success",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-  // console.log(res);
-};
-
-// 多选框功能
-const handleSelectionChange = (val) => {
-  console.log(val);
-  selectData.list = val;
-};
-//导出功能
-// const importExcel = async () => {
-//   if (searchInput.createTime == null) {
-//     searchInput.createTime = "";
-//   }
-//   let data = new FormData();
-//   data.set("car_number", searchInput.carnumber);
-//   data.set("create_time", searchInput.createTime);
-//   let res = await axios({
-//     method: "post",
-//     url: api.value + "/carBook/cinfotoExcel.action",
-//     headers: {
-//       token: sessionStorage.getItem("token"),
-//     },
-//     data: data,
-//   });
-//   // console.log(res, "导出账号");
-//   if (res.data.code == 200) {
-//     // const elt = document.createElement("a");
-//     // elt.setAttribute(
-//     //   "href",
-//     //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
-//     // );
-//     // elt.setAttribute("download", "file.png");
-//     // elt.style.display = "none";
-//     // document.body.appendChild(elt);
-//     // elt.click();
-//     var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
-//     console.log("获得地址数据:", downloadPath);
-//     var downloadLink = document.createElement("a");
-//     downloadLink.style.display = "none"; // 使其隐藏
-//     downloadLink.href = downloadPath;
-//     downloadLink.download = "";
-//     downloadLink.click();
-//     document.body.appendChild(downloadLink);
-//     document.body.removeChild(downloadLink);
-//     ElMessage({
-//       type: "success",
-//       showClose: true,
-//       message: res.data.message,
-//       center: true,
-//     });
-//   } else {
-//     ElMessage({
-//       type: "error",
-//       showClose: true,
-//       message: res.data.message,
-//       center: true,
-//     });
-//   }
-// };
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-  if (rowIndex % 2 === 0) {
-    return "even";
-  } else if (rowIndex % 2 !== 0) {
-    return "odd";
-  }
-  return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-  // console.log(value);
-  currentPage.value = value;
-  getList();
-};
-
-onBeforeMount(async () => {
-  api.value = store.state.user.api;
-  getList();
-});
-onUnmounted(() => {
-  // document.removeEventListener("keyup", Enters);
-});
-</script>
-
-<style scoped lang="scss">
-.content-box {
-  width: 97.5%;
-  height: 89%;
-  margin: 20px auto;
-  background-color: #fff;
-  color: #fff;
-  display: flex;
-  flex-direction: column;
-  box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-  .left {
-    // width: calc(100wh - 40px);
-    display: flex;
-    align-items: center;
-    height: 60px;
-    margin: 0 30px;
-    border-bottom: 1px solid #ccc;
-    color: rgb(0, 0, 0);
-    font-size: 18px;
-    font-weight: 600;
-
-    span {
-      margin-right: 20px;
-      cursor: pointer;
-    }
-
-    .is_active {
-      color: rgba(111, 182, 184, 1);
-    }
-  }
-
-  .middle {
-    width: 96%;
-    margin: 0 auto;
-
-    color: #000;
-
-    // border-bottom: 1px solid rgb(231, 231, 231);
-    .filter {
-      display: flex;
-      flex-wrap: wrap;
-      align-items: center;
-      margin: 10px 0 0 0;
-
-      .search {
-        color: #fff;
-      }
-
-      .condition {
-        display: flex;
-        align-items: center;
-        margin: 10px 30px 10px 0;
-
-        :deep(.el-input .el-input__inner) {
-          font-size: 14px;
-        }
-
-        span {
-          margin: 0 10px 0 0;
-        }
-      }
-    }
-
-    .gongneng {
-      margin: 10px 0 20px 0;
-
-      span {
-        color: #fff;
-      }
-      .el-button {
-        margin-right: 10px;
-      }
-    }
-
-    :deep(.cont) {
-      width: 60%;
-      margin: 20px auto;
-    }
-
-    :deep(.download) {
-      display: flex;
-      align-items: center;
-      margin: 10px;
-    }
-
-    :deep(.download span) {
-      font-size: 16px;
-      margin-left: 20px;
-    }
-
-    :deep(.cont .el-button) {
-      margin-left: 60px;
-      margin-bottom: 30px;
-    }
-
-    :deep(.cont .accomplish) {
-      width: 100%;
-      display: flex;
-      justify-content: center;
-    }
-
-    :deep(.cont .accomplish .el-button) {
-      width: 50%;
-      margin: 0;
-    }
-  }
-
-  .footer {
-    width: 96%;
-    height: 550px;
-    margin: 10px auto 30px;
-
-    .el-table--fit {
-      height: 100%;
-
-      :deep(.el-table__header-wrapper) {
-        background-color: #000;
-        font-size: 16px;
-
-        tr {
-          color: #000;
-        }
-      }
-
-      :deep(.el-table__row) {
-        height: 50px;
-        font-size: 16px;
-        color: #000;
-      }
-
-      :deep(.el-table__row):nth-child(2n) {
-        .el-table-fixed-column--right {
-          background-color: rgba(240, 243, 247, 1);
-        }
-      }
-
-      :deep(.el-table__row td) {
-        padding: 0;
-        border: 0;
-      }
-
-      .el-button--primary {
-        margin-left: 5px;
-      }
-
-      :deep(.el-table__body .even) {
-        background-color: #fff;
-      }
-
-      :deep(.el-table__body .odd) {
-        background-color: rgba(240, 243, 247, 1);
-      }
-
-      :deep(.edit) {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        color: rgba(111, 182, 184, 1);
-      }
-
-      :deep(.look) {
-        padding: 0 10px;
-        cursor: pointer;
-        color: rgba(30, 125, 251, 1);
-      }
-
-      .del {
-        padding: 0 10px;
-        color: rgba(212, 48, 48, 1);
-        cursor: pointer;
-      }
-
-      // :deep(.look):hover {
-      //   color: red;
-      // }
-      // :deep(.del):hover {
-      //   color: red;
-      // }
-    }
-  }
-  // 编辑按钮
-  :deep(.editDialog) {
-    //   height: 420px;
-    border-radius: 11px;
-    .el-dialog__header {
-      border-radius: 11px 11px 0 0;
-      background: rgba(237, 241, 245, 1);
-      font-weight: 600;
-      margin: 0;
-      .el-dialog__headerbtn {
-        outline: none;
-      }
-    }
-    .el-dialog__body {
-      padding: 30px 20px 10px 20px;
-      .el-form-item__content {
-        width: 200px;
-        .el-tree-node__content {
-          //   border: 1px solid red;
-          .el-checkbox {
-            display: none;
-          }
-        }
-        .el-tree-node__children {
-          .el-checkbox {
-            display: block;
-          }
-        }
-      }
-      .options {
-        margin: 10px 20px 20px 0;
-        width: 100%;
-        .el-form-item__content {
-          display: flex;
-          flex-direction: row-reverse;
-        }
-        .queding {
-          color: #fff;
-          margin-left: 15px;
-        }
-      }
-    }
-  }
-
-  .pageSize {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    margin: 0 30px;
-
-    span {
-      color: #000;
-    }
-
-    .el-pagination {
-      // width: 1600px;
-      :deep(.el-pagination__total) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__goto) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__classifier) {
-        color: #000;
-      }
-
-      :deep(.el-input__wrapper) {
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        box-shadow: none;
-      }
-
-      :deep(.el-pager li) {
-        margin: 0 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.el-pager li.is-active) {
-        // background-color: rgba(0, 97, 255, 0.8);
-        border: 1px solid rgba(0, 97, 255, 1);
-        color: rgba(0, 97, 255, 1);
-      }
-
-      :deep(.btn-prev) {
-        margin-right: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.btn-next) {
-        margin-left: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-    }
-  }
-}
-
-.el-input {
-  width: 192px;
-}
-</style>

+ 0 - 935
src/views/old/account/account.vue

@@ -1,935 +0,0 @@
-<template>
-  <div class="content-box">
-    <div class="left">
-      <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-      <span class="cameratxt">账号管理</span>
-    </div>
-    <div class="middle">
-      <div class="filter">
-        <div class="condition">
-          <span>状态 </span>
-          <el-select
-            style="width: 180px"
-            v-model="value"
-            class="m-2"
-            placeholder="Select"
-          >
-            <el-option label="全部" value="1" />
-            <el-option label="禁用" value="2" />
-          </el-select>
-        </div>
-        <div class="condition">
-          <span>真实姓名 </span>
-          <el-input
-            clearable
-            v-model="searchInput.adminName"
-            @clear="searchBtn"
-            class="w-50 m-2"
-            placeholder="请输入姓名"
-            style="width: 180px"
-          />
-        </div>
-        <div class="condition">
-          <span>创建日期 </span>
-          <el-date-picker
-            v-model="searchInput.createTime"
-            type="daterange"
-            range-separator="-"
-            start-placeholder="起始时间"
-            end-placeholder="结束时间"
-            format="YYYY-MM-DD"
-            value-format="YYYY-MM-DD"
-            :prefix-icon="Calendar"
-            placeholder="请选择日期"
-            style="width: 240px"
-          />
-        </div>
-
-        <el-button
-          style="margin-left: 20px"
-          color="rgba(0, 97, 255, 1)"
-          type="primary"
-          class="search"
-          @click="searchBtn"
-          ><el-icon><Search /></el-icon> <span>查询</span></el-button
-        >
-      </div>
-      <!-- 按钮列表 -->
-      <div class="gongneng">
-        <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-          >添加</el-button
-        >
-        <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-          >导出</el-button
-        >
-      </div>
-    </div>
-    <div class="footer" v-loading="loading">
-      <el-table
-        :row-class-name="tableRowClassName"
-        :data="tableData.list"
-        @selection-change="handleSelectionChange"
-        style="width: 100%"
-        :header-cell-style="{
-          background: 'rgba(240, 243, 247, 1)',
-          height: '50px',
-          border: 0,
-        }"
-      >
-        <!-- <el-table-column align="center" type="selection" width="80" /> -->
-        <el-table-column
-          width="120"
-          align="center"
-          label="序号"
-          type="index"
-          index="1"
-        />
-        <el-table-column align="center" prop="corpnPhone" label="账号" />
-        <el-table-column align="center" prop="adminName" label="角色" />
-        <el-table-column align="center" prop="corpnName" label="真实姓名" />
-        <el-table-column align="center" prop="corpnPhone" label="手机号码" />
-        <el-table-column align="center" label="部门">
-          <template #default="{ row }">
-            {{ row.level == 1 ? "管理员" : "超级管理员" }}
-          </template>
-        </el-table-column>
-        <el-table-column align="center" prop="remark" label="创建时间" />
-
-        <el-table-column align="center" label="操作" width="220">
-          <template #default="scope">
-            <div class="options">
-              <div class="look" @click="edit(scope.row)">编辑</div>
-              <el-popconfirm
-                width="220"
-                confirm-button-text="确认"
-                cancel-button-text="取消"
-                :icon="InfoFilled"
-                icon-color="#f89626"
-                title="是否删除此账号?"
-                @confirm="del(scope.row)"
-                @cancel="cancelEvent"
-              >
-                <template #reference>
-                  <div class="del">删除</div>
-                </template>
-              </el-popconfirm>
-            </div>
-          </template>
-        </el-table-column>
-      </el-table>
-
-      <!-- 添加车辆弹窗 -->
-      <el-dialog
-        class="addStaff"
-        v-model="addDialogVisible"
-        :close-on-click-modal="false"
-        :close-on-press-escape="false"
-        :title="dialongTitle"
-        align-center
-        width="609"
-        :before-close="cancelAdd"
-      >
-        <el-form
-          ref="ruleFormRef"
-          :model="ruleForm"
-          :rules="rules"
-          label-width="100px"
-          class="demo-ruleForm"
-          :size="formSize"
-          label-position="left"
-          status-icon
-        >
-          <el-form-item label="用户名 :" prop="adminName">
-            <el-input
-              v-model="ruleForm.adminName"
-              placeholder="请输入用户名"
-              clearable
-            />
-          </el-form-item>
-          <el-form-item label="姓名 :" prop="corpnName">
-            <el-input
-              v-model="ruleForm.corpnName"
-              placeholder="请输入姓名"
-              clearable
-            />
-          </el-form-item>
-          <el-form-item label="手机号码 :" prop="corpnPhone">
-            <el-input
-              v-model="ruleForm.corpnPhone"
-              placeholder="请输入手机号码"
-              clearable
-            />
-          </el-form-item>
-          <el-form-item label="密码 :" prop="password">
-            <el-input
-              v-model="ruleForm.password"
-              placeholder="请输入密码"
-              clearable
-            />
-          </el-form-item>
-          <el-form-item label="确认密码 :" prop="againPass">
-            <el-input
-              v-model="ruleForm.againPass"
-              placeholder="请再一次输入密码"
-              clearable
-            />
-          </el-form-item>
-          <el-form-item label="角色 :" prop="level">
-            <el-radio-group v-model="ruleForm.level">
-              <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
-              <el-radio :label="2" v-if="ruleForm.level == 2"
-                >超级管理员</el-radio
-              >
-            </el-radio-group>
-          </el-form-item>
-          <el-form-item label="简介 :" prop="remark">
-            <el-input
-              v-model="ruleForm.remark"
-              :rows="3"
-              type="textarea"
-              placeholder="请输入民宿简介信息"
-            />
-          </el-form-item>
-
-          <el-form-item class="options">
-            <el-button
-              color="rgba(0, 97, 255, 1)"
-              class="queding"
-              type="primary"
-              @click="submitAdd(ruleFormRef)"
-            >
-              确定
-            </el-button>
-            <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
-          </el-form-item>
-        </el-form>
-      </el-dialog>
-    </div>
-
-    <!-- 分页组件 -->
-    <div class="pageSize">
-      <span></span>
-      <el-pagination
-        background
-        :current-page="currentPage"
-        :page-size="pageSize"
-        layout="total, prev, pager, next, jumper, slot"
-        :total="total"
-        @update:current-page="handleCurrentChange"
-      />
-    </div>
-  </div>
-</template>
-
-<script setup>
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import { dayjs } from "element-plus";
-import lodash, { reduce } from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-  list: [
-    // {
-    //   phone: 1234,
-    //   adminName: "admin",
-    //   userName: "张三",
-    //   level: 1,
-    //   remark: "测试",
-    // },
-    // {
-    //   phone: 1234,
-    //   adminName: "test",
-    //   userName: "李四",
-    //   level: 1,
-    //   remark: "测试11",
-    // },
-    // {
-    //   phone: 1234,
-    //   adminName: "admin1",
-    //   userName: "张三",
-    //   level: 1,
-    //   remark: "测试",
-    // },
-    // {
-    //   phone: 1234,
-    //   adminName: "admin2",
-    //   userName: "张三",
-    //   level: 1,
-    //   remark: "测试",
-    // },
-  ],
-});
-const activeIndex = ref(); // 默认跳转路由
-const dialongTitle = ref("新增账号"); // 弹窗标题
-
-const searchInput = reactive({
-  adminName: "",
-}); // 搜索按钮数据
-5;
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-const selectData = reactive({
-  list: [],
-}); // 多选框选择的数据
-const api = ref("");
-const addDialogVisible = ref(false); // 控制添加员工弹窗
-
-// 表单数据
-const formSize = ref("default");
-const ruleFormRef = ref();
-const ruleForm = reactive({
-  corpnPhone: "",
-  adminName: "",
-  corpnName: "",
-  level: 1,
-  remark: "",
-  password: "",
-  againPass: "",
-  id: "",
-});
-var checkUserName = (rule, value, callback) => {
-  if (!value) {
-    return callback(new Error("请输入用户名)"));
-  }
-
-  var reg = /^[a-zA-Z0-9]{6,16}$/;
-  if (!reg.test(value)) {
-    callback(new Error("必须为6-16个数字或字母!"));
-  } else {
-    callback();
-  }
-};
-var checkFullName = (rule, value, callback) => {
-  if (!value) {
-    return callback(new Error("请输入姓名"));
-  }
-
-  var reg = /^[\u4e00-\u9fa5]{2,6}$/;
-  if (!reg.test(value)) {
-    callback(new Error("必须为2-6个汉字!"));
-  } else {
-    callback();
-  }
-};
-var checkPhone = (rule, value, callback) => {
-  if (!value) {
-    return callback(new Error("请输入手机号"));
-  }
-  setTimeout(() => {
-    var reg = /^1[3456789]\d{9}$/;
-    if (!reg.test(value)) {
-      callback(new Error("手机号格式不对"));
-    } else {
-      callback();
-    }
-  }, 100);
-};
-// 表单验证
-const rules = reactive({
-  corpnName: [
-    { required: true, message: "姓名不能为空", trigger: "blur" },
-    { validator: checkFullName, trigger: "blur" },
-  ],
-  adminName: [
-    { required: true, message: "用户名不能为空", trigger: "blur" },
-    { validator: checkUserName, trigger: "blur" },
-  ],
-  // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
-  password: [
-    {
-      required: true,
-      message: "密码不能为空",
-      trigger: "blur",
-    },
-    {
-      min: 8,
-      max: 20,
-      pattern:
-        /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-      message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-      trigger: "blur",
-    },
-  ],
-  againPass: [
-    {
-      required: true,
-      message: "确认密码不能为空",
-      trigger: "blur",
-    },
-    {
-      min: 8,
-      max: 20,
-      pattern:
-        /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-      message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-      trigger: "blur",
-    },
-  ],
-  level: [
-    {
-      required: true,
-      message: "角色不能为空",
-      trigger: "blur",
-    },
-  ],
-  remark: [
-    {
-      required: true,
-      message: "备注不能为空",
-      trigger: "blur",
-    },
-  ],
-  corpnPhone: [
-    {
-      required: true,
-      message: "电话号码不能为空",
-      trigger: "blur",
-    },
-    { validator: checkPhone, trigger: "blur" },
-  ],
-
-  // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
-});
-// 获取账户列表
-const getList = async () => {
-  // if (searchInput.account) {
-  //   data.adminName = searchInput.adminName;
-  // }
-  loading.value = true;
-  let data = {
-    page: currentPage.value, // 当前页
-    rows: pageSize.value, // 一页数据条数
-    adminName: searchInput.adminName, //用户名
-    managerId: sessionStorage.getItem("token"),
-  };
-  let res = await axios({
-    method: "get",
-    url: api.value + "/mhotel/managerAdminqueryPage.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-    },
-    params: data,
-  });
-  console.log(res, "账号信息");
-  if (res.data.code == 200) {
-    tableData.list = res.data.data.pageList;
-    total.value = res.data.data.total;
-    loading.value = false;
-    // ElMessage({
-    //   type: "success",
-    //   showClose: true,
-    //   message: res.data.message,
-    //   center: true,
-    // });
-  } else {
-    loading.value = false;
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-  getList();
-}, 300);
-
-// 添加员工
-const addlist = () => {
-  dialongTitle.value = "新增账号";
-  addDialogVisible.value = true;
-  ruleForm.corpnPhone = "";
-  ruleForm.adminName = "";
-  ruleForm.corpnName = "";
-  ruleForm.level = 1;
-  ruleForm.remake = "";
-  ruleForm.password = "";
-  ruleForm.againPass = "";
-  ruleForm.reamark = "";
-};
-// 取消添加员工
-const cancelAdd = () => {
-  addDialogVisible.value = false;
-  ruleFormRef.value.resetFields();
-};
-//编辑按钮
-const edit = (row) => {
-  dialongTitle.value = "编辑信息";
-  addDialogVisible.value = true;
-  ruleForm.adminName = row.adminName;
-  ruleForm.corpnName = row.corpnName;
-  ruleForm.level = Number(row.level);
-  ruleForm.remark = row.remark;
-  ruleForm.password = row.password;
-  ruleForm.againPass = row.password;
-  ruleForm.corpnPhone = row.corpnPhone;
-  ruleForm.id = row.id;
-};
-// 确认添加员工
-const submitAdd = lodash.debounce(async (formEl) => {
-  if (!formEl) return;
-  await formEl.validate(async (valid, fields) => {
-    if (valid) {
-      if (dialongTitle.value == "新增账号") {
-        if (ruleForm.password == ruleForm.againPass) {
-          let data = {
-            adminName: ruleForm.adminName,
-            corpnName: ruleForm.corpnName,
-            level: ruleForm.level,
-            remark: ruleForm.remark,
-            password: ruleForm.password,
-            corpnPhone: ruleForm.corpnPhone,
-            managerId: sessionStorage.getItem("token"),
-          };
-          let res = await axios({
-            method: "post",
-            url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
-            headers: {
-              // token: sessionStorage.getItem("token"),
-            },
-            params: data,
-          });
-          console.log(res, "添加账号");
-          if (res.data.code == 200) {
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-            addDialogVisible.value = false;
-            ruleFormRef.value.resetFields();
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
-        } else {
-          ElMessage({
-            type: "error",
-            showClose: true,
-            message: "两次密码输入不一致",
-            center: true,
-          });
-        }
-      } else {
-        if (ruleForm.password == ruleForm.againPass) {
-          let data = {
-            adminName: ruleForm.adminName,
-            corpnName: ruleForm.corpnName,
-            level: ruleForm.level,
-            remark: ruleForm.remark,
-            password: ruleForm.password,
-            corpnPhone: ruleForm.corpnPhone,
-            id: ruleForm.id,
-          };
-          let res = await axios({
-            method: "post",
-            url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
-            headers: {
-              // token: sessionStorage.getItem("token"),
-              // user_head: sessionStorage.getItem("userhead"),
-            },
-            params: data,
-          });
-          // console.log(res, "修改账号");
-          if (res.data.code == 200) {
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-            addDialogVisible.value = false;
-            ruleFormRef.value.resetFields();
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
-        } else {
-          ElMessage({
-            type: "error",
-            showClose: true,
-            message: "两次密码输入不一致",
-            center: true,
-          });
-        }
-      }
-    } else {
-      console.log("error submit!", fields);
-    }
-  });
-}, 1000);
-
-//删除按钮
-const del = async (row) => {
-  // console.log(row);
-  let data = {
-    id: row.id,
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/managerAdmindelAdmin.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  if (res.data.code == 200) {
-    if (tableData.list.length == 1 && currentPage.value != 1) {
-      currentPage.value = currentPage.value - 1;
-    }
-    getList();
-    ElMessage({
-      type: "success",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-  // console.log(res);
-};
-// 取消删除
-const cancelEvent = () => {
-  ElMessage({
-    type: "info",
-    showClose: true,
-    message: "取消删除",
-    center: true,
-  });
-};
-// 重置密码
-const reset = async (row) => {
-  // console.log(row);
-  let data = {
-    id: row.id,
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/managerAdminremovePwd.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  if (res.data.code == 200) {
-    getList();
-    ElMessage({
-      type: "success",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-};
-
-// 多选框功能
-// const handleSelectionChange = (val) => {
-//   console.log(val);
-//   selectData.list = val;
-// };
-
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-  if (rowIndex % 2 === 0) {
-    return "even";
-  } else if (rowIndex % 2 !== 0) {
-    return "odd";
-  }
-  return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-  // console.log(value);
-  currentPage.value = value;
-  getList();
-};
-
-onBeforeMount(() => {
-  api.value = store.state.user.api;
-  getList();
-});
-onUnmounted(() => {
-  // document.removeEventListener("keyup", Enters);
-});
-</script>
-
-<style scoped lang="scss">
-.content-box {
-  width: 97.5%;
-  height: 89%;
-  margin: 20px auto;
-  background-color: #fff;
-  color: #fff;
-  display: flex;
-  flex-direction: column;
-  box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-  .left {
-    // width: calc(100wh - 40px);
-    display: flex;
-    align-items: center;
-    height: 60px;
-    margin: 0 30px;
-    border-bottom: 1px solid #ccc;
-    color: #000;
-    font-size: 18px;
-    font-weight: 600;
-    .camera {
-      margin-right: 15px;
-      color: #4392f7;
-    }
-  }
-  .middle {
-    width: 96%;
-    margin: 0 auto;
-
-    color: #000;
-    // border-bottom: 1px solid rgb(231, 231, 231);
-    .filter {
-      display: flex;
-      flex-wrap: wrap;
-      align-items: center;
-      margin: 10px 0 0 0;
-      .search {
-        margin-left: 0 !important;
-        color: #fff;
-      }
-      .condition {
-        display: flex;
-        align-items: center;
-        margin: 10px 30px 10px 0;
-        :deep(.el-input .el-input__inner) {
-          font-size: 14px;
-        }
-        span {
-          margin: 0 10px 0 0;
-        }
-      }
-    }
-    .gongneng {
-      margin: 10px 0;
-      .el-button {
-        color: #fff;
-        margin-right: 15px;
-      }
-    }
-    :deep(.cont) {
-      width: 60%;
-      margin: 20px auto;
-    }
-    :deep(.download) {
-      display: flex;
-      align-items: center;
-      margin: 10px;
-    }
-    :deep(.download span) {
-      font-size: 16px;
-      margin-left: 20px;
-    }
-    :deep(.cont .el-button) {
-      margin-left: 60px;
-      margin-bottom: 30px;
-    }
-
-    :deep(.cont .accomplish) {
-      width: 100%;
-      display: flex;
-      justify-content: center;
-    }
-    :deep(.cont .accomplish .el-button) {
-      width: 50%;
-      margin: 0;
-    }
-  }
-  .footer {
-    width: 96%;
-    height: 550px;
-    margin: 10px auto 30px;
-    .el-table--fit {
-      height: 100%;
-      :deep(.el-table__header-wrapper) {
-        background-color: #000;
-        font-size: 15px;
-        color: #000;
-        .cell {
-          color: #000;
-        }
-      }
-      :deep(.el-table__row) {
-        height: 50px;
-        font-size: 15px;
-        color: #000;
-      }
-      :deep(.el-table__row td) {
-        padding: 0;
-        border: 0;
-      }
-
-      .el-button--primary {
-        margin-left: 5px;
-      }
-      :deep(.el-table__body .even) {
-        background-color: #fff;
-      }
-      :deep(.el-table__body .odd) {
-        background-color: rgba(240, 243, 247, 1);
-      }
-      :deep(.options) {
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        .reset {
-          color: rgba(9, 101, 98, 1);
-          cursor: pointer;
-        }
-        .look {
-          margin: 0 15px;
-          color: rgba(30, 125, 251, 1);
-          cursor: pointer;
-        }
-        .del {
-          color: rgba(212, 48, 48, 1);
-          cursor: pointer;
-        }
-      }
-    }
-
-    // 添加员工弹窗样式
-    :deep(.addStaff) {
-      //   height: 420px;
-      border-radius: 11px;
-      .el-dialog__header {
-        border-radius: 11px 11px 0 0;
-        background: rgba(237, 241, 245, 1);
-        font-weight: 600;
-        margin: 0;
-        .el-dialog__headerbtn {
-          outline: none;
-        }
-      }
-      .el-dialog__body {
-        padding: 30px 20px 10px 20px;
-        .el-input {
-          width: 200px;
-          .el-input__suffix-inner {
-            color: rgba(61, 81, 232, 1);
-          }
-        }
-
-        .options {
-          margin: 10px 20px 20px 0;
-          width: 100%;
-          .el-form-item__content {
-            display: flex;
-            flex-direction: row-reverse;
-          }
-          .queding {
-            color: #fff;
-            margin-left: 15px;
-          }
-        }
-      }
-    }
-  }
-
-  .pageSize {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    margin: 0 30px;
-
-    span {
-      color: #000;
-    }
-
-    .el-pagination {
-      // width: 1600px;
-      :deep(.el-pagination__total) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__goto) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__classifier) {
-        color: #000;
-      }
-
-      :deep(.el-input__wrapper) {
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        box-shadow: none;
-      }
-
-      :deep(.el-pager li) {
-        margin: 0 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.el-pager li.is-active) {
-        // background-color: rgba(0, 97, 255, 0.8);
-        border: 1px solid rgba(0, 97, 255, 1);
-        color: rgba(0, 97, 255, 1);
-      }
-
-      :deep(.btn-prev) {
-        margin-right: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.btn-next) {
-        margin-left: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-    }
-  }
-}
-.el-input {
-  width: 192px;
-}
-</style>

File diff suppressed because it is too large
+ 0 - 1516
src/views/old/class/class.vue


File diff suppressed because it is too large
+ 0 - 3465
src/views/old/doorLock/doorLock.vue


File diff suppressed because it is too large
+ 0 - 3103
src/views/old/doorLock/doorLock11.vue


+ 0 - 845
src/views/old/fingerprint/fingerPrint.vue

@@ -1,845 +0,0 @@
-<template>
-    <div class="content-box">
-        <div class="left">
-            <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-            <span class="cameratxt">指纹管理</span>
-        </div>
-        <div class="middle">
-            <div class="filter">
-                <div class="condition">
-                    <span>关键字 : </span>
-                    <el-input clearable v-model="searchInput.adminName" @clear="searchBtn" class="w-50 m-2"
-                        placeholder="请输入用户名" style="width: 150px" />
-                </div>
-
-                <el-button style="margin-left: 20px" color="rgba(9, 101, 98, 1)" type="primary" class="search"
-                    @click="searchBtn"><el-icon>
-                        <Search />
-                    </el-icon> <span>查询</span></el-button>
-            </div>
-            <!-- 按钮列表 -->
-            <div class="gongneng">
-                <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="addlist"><el-icon>
-                        <CirclePlus />
-                    </el-icon><span>新增账号</span></el-button>
-            </div>
-        </div>
-        <div class="footer" v-loading="loading">
-            <el-table :row-class-name="tableRowClassName" :data="tableData.list" @selection-change="handleSelectionChange"
-                style="width: 100%" :header-cell-style="{
-                    background: 'rgba(240, 243, 247, 1)',
-                    height: '50px',
-                    border: 0,
-                }">
-                <!-- <el-table-column align="center" type="selection" width="80" /> -->
-                <el-table-column width="150" align="center" label="序号" type="index" index="1" />
-                <el-table-column align="center" prop="corpnPhone" label="手机" />
-                <el-table-column align="center" prop="adminName" label="用户名" />
-                <el-table-column align="center" prop="corpnName" label="姓名" />
-                <el-table-column align="center" label="角色">
-                    <template #default="{ row }">
-                        {{ row.level == 1 ? "管理员" : "超级管理员" }}
-                    </template>
-                </el-table-column>
-                <el-table-column align="center" prop="remark" label="备注" />
-
-                <el-table-column align="center" label="操作" width="220">
-                    <template #default="scope">
-                        <div class="options">
-                            <div class="reset" @click="reset(scope.row)">密码重置</div>
-                            <div class="look" @click="edit(scope.row)">修改</div>
-                            <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
-                                icon-color="#f89626" title="是否删除此账号?" @confirm="del(scope.row)" @cancel="cancelEvent">
-                                <template #reference>
-                                    <div class="del">删除</div>
-                                </template>
-                            </el-popconfirm>
-                        </div>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <!-- 添加车辆弹窗 -->
-            <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-                :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
-                <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
-                    :size="formSize" label-position="left" status-icon>
-                    <el-form-item label="用户名 :" prop="adminName">
-                        <el-input v-model="ruleForm.adminName" placeholder="请输入用户名" clearable />
-                    </el-form-item>
-                    <el-form-item label="姓名 :" prop="corpnName">
-                        <el-input v-model="ruleForm.corpnName" placeholder="请输入姓名" clearable />
-                    </el-form-item>
-                    <el-form-item label="手机号码 :" prop="corpnPhone">
-                        <el-input v-model="ruleForm.corpnPhone" placeholder="请输入手机号码" clearable />
-                    </el-form-item>
-                    <el-form-item label="密码 :" prop="password">
-                        <el-input v-model="ruleForm.password" placeholder="请输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="确认密码 :" prop="againPass">
-                        <el-input v-model="ruleForm.againPass" placeholder="请再一次输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="角色 :" prop="level">
-                        <el-radio-group v-model="ruleForm.level">
-                            <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
-                            <el-radio :label="2" v-if="ruleForm.level == 2">超级管理员</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <el-form-item label="简介 :" prop="remark">
-                        <el-input v-model="ruleForm.remark" :rows="3" type="textarea" placeholder="请输入民宿简介信息" />
-                    </el-form-item>
-
-                    <el-form-item class="options">
-                        <el-button color="rgba(9, 101, 98, 1)" class="queding" type="primary"
-                            @click="submitAdd(ruleFormRef)">
-                            确定
-                        </el-button>
-                        <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
-                    </el-form-item>
-                </el-form>
-            </el-dialog>
-        </div>
-
-        <!-- 分页组件 -->
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-            layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
-    </div>
-</template>
-  
-<script setup>
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import { dayjs } from "element-plus";
-import lodash, { reduce } from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-    list: [
-        // {
-        //   phone: 1234,
-        //   adminName: "admin",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "test",
-        //   userName: "李四",
-        //   level: 1,
-        //   remark: "测试11",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin1",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin2",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-    ],
-});
-const activeIndex = ref(); // 默认跳转路由
-const dialongTitle = ref("新增账号"); // 弹窗标题
-
-const searchInput = reactive({
-    adminName: "",
-}); // 搜索按钮数据
-5;
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-const selectData = reactive({
-    list: [],
-}); // 多选框选择的数据
-const api = ref("");
-const addDialogVisible = ref(false); // 控制添加员工弹窗
-
-// 表单数据
-const formSize = ref("default");
-const ruleFormRef = ref();
-const ruleForm = reactive({
-    corpnPhone: "",
-    adminName: "",
-    corpnName: "",
-    level: 1,
-    remark: "",
-    password: "",
-    againPass: "",
-    id: "",
-});
-var checkUserName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入用户名)"));
-    }
-
-    var reg = /^[a-zA-Z0-9]{6,16}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为6-16个数字或字母!"));
-    } else {
-        callback();
-    }
-};
-var checkFullName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入姓名"));
-    }
-
-    var reg = /^[\u4e00-\u9fa5]{2,6}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为2-6个汉字!"));
-    } else {
-        callback();
-    }
-};
-var checkPhone = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入手机号"));
-    }
-    setTimeout(() => {
-        var reg = /^1[3456789]\d{9}$/;
-        if (!reg.test(value)) {
-            callback(new Error("手机号格式不对"));
-        } else {
-            callback();
-        }
-    }, 100);
-};
-// 表单验证
-const rules = reactive({
-    corpnName: [
-        { required: true, message: "姓名不能为空", trigger: "blur" },
-        { validator: checkFullName, trigger: "blur" },
-    ],
-    adminName: [
-        { required: true, message: "用户名不能为空", trigger: "blur" },
-        { validator: checkUserName, trigger: "blur" },
-    ],
-    // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
-    password: [
-        {
-            required: true,
-            message: "密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    againPass: [
-        {
-            required: true,
-            message: "确认密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    level: [
-        {
-            required: true,
-            message: "角色不能为空",
-            trigger: "blur",
-        },
-    ],
-    remark: [
-        {
-            required: true,
-            message: "备注不能为空",
-            trigger: "blur",
-        },
-    ],
-    corpnPhone: [
-        {
-            required: true,
-            message: "电话号码不能为空",
-            trigger: "blur",
-        },
-        { validator: checkPhone, trigger: "blur" },
-    ],
-
-    // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
-});
-// 获取账户列表
-const getList = async () => {
-    // if (searchInput.account) {
-    //   data.adminName = searchInput.adminName;
-    // }
-    loading.value = true;
-    let data = {
-        page: currentPage.value, // 当前页
-        rows: pageSize.value, // 一页数据条数
-        adminName: searchInput.adminName, //用户名
-        managerId: sessionStorage.getItem("token"),
-    };
-    let res = await axios({
-        method: "get",
-        url: api.value + "/mhotel/managerAdminqueryPage.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-        },
-        params: data,
-    });
-    console.log(res, "账号信息");
-    if (res.data.code == 200) {
-        tableData.list = res.data.data.pageList;
-        total.value = res.data.data.total;
-        loading.value = false;
-        // ElMessage({
-        //   type: "success",
-        //   showClose: true,
-        //   message: res.data.message,
-        //   center: true,
-        // });
-    } else {
-        loading.value = false;
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-    getList();
-}, 300);
-
-// 添加员工
-const addlist = () => {
-    dialongTitle.value = "新增账号";
-    addDialogVisible.value = true;
-    ruleForm.corpnPhone = "";
-    ruleForm.adminName = "";
-    ruleForm.corpnName = "";
-    ruleForm.level = 1;
-    ruleForm.remake = "";
-    ruleForm.password = "";
-    ruleForm.againPass = "";
-    ruleForm.reamark = "";
-};
-// 取消添加员工
-const cancelAdd = () => {
-    addDialogVisible.value = false;
-    ruleFormRef.value.resetFields();
-};
-//编辑按钮
-const edit = (row) => {
-    dialongTitle.value = "编辑信息";
-    addDialogVisible.value = true;
-    ruleForm.adminName = row.adminName;
-    ruleForm.corpnName = row.corpnName;
-    ruleForm.level = Number(row.level);
-    ruleForm.remark = row.remark;
-    ruleForm.password = row.password;
-    ruleForm.againPass = row.password;
-    ruleForm.corpnPhone = row.corpnPhone;
-    ruleForm.id = row.id;
-};
-// 确认添加员工
-const submitAdd = lodash.debounce(async (formEl) => {
-    if (!formEl) return;
-    await formEl.validate(async (valid, fields) => {
-        if (valid) {
-            if (dialongTitle.value == "新增账号") {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        managerId: sessionStorage.getItem("token"),
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                        },
-                        params: data,
-                    });
-                    console.log(res, "添加账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            } else {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        id: ruleForm.id,
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                            // user_head: sessionStorage.getItem("userhead"),
-                        },
-                        params: data,
-                    });
-                    // console.log(res, "修改账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            }
-        } else {
-            console.log("error submit!", fields);
-        }
-    });
-}, 1000);
-
-//删除按钮
-const del = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdmindelAdmin.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        if (tableData.list.length == 1 && currentPage.value != 1) {
-            currentPage.value = currentPage.value - 1;
-        }
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-    // console.log(res);
-};
-// 取消删除
-const cancelEvent = () => {
-    ElMessage({
-        type: "info",
-        showClose: true,
-        message: "取消删除",
-        center: true,
-    });
-};
-// 重置密码
-const reset = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdminremovePwd.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 多选框功能
-// const handleSelectionChange = (val) => {
-//   console.log(val);
-//   selectData.list = val;
-// };
-
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-    if (rowIndex % 2 === 0) {
-        return "even";
-    } else if (rowIndex % 2 !== 0) {
-        return "odd";
-    }
-    return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-    // console.log(value);
-    currentPage.value = value;
-    getList();
-};
-
-onBeforeMount(() => {
-    api.value = store.state.user.api;
-    getList();
-});
-onUnmounted(() => {
-    // document.removeEventListener("keyup", Enters);
-});
-</script>
-  
-<style scoped lang="scss">
-.content-box {
-    width: 97.5%;
-    height: 89%;
-    margin: 20px auto;
-    background-color: #fff;
-    color: #fff;
-    display: flex;
-    flex-direction: column;
-    box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-    .left {
-        // width: calc(100wh - 40px);
-        display: flex;
-        align-items: center;
-        height: 60px;
-        margin: 0 30px;
-        border-bottom: 1px solid #ccc;
-        color: #000;
-        font-size: 18px;
-        font-weight: 600;
-
-        .camera {
-            margin-right: 15px;
-            color: #4392f7;
-        }
-    }
-
-    .middle {
-        width: 96%;
-        margin: 0 auto;
-
-        color: #000;
-
-        // border-bottom: 1px solid rgb(231, 231, 231);
-        .filter {
-            display: flex;
-            flex-wrap: wrap;
-            align-items: center;
-            margin: 10px 0 0 0;
-
-            .search {
-                margin-left: 0 !important;
-                color: #fff;
-            }
-
-            .condition {
-                display: flex;
-                align-items: center;
-                margin: 10px 30px 10px 0;
-
-                :deep(.el-input .el-input__inner) {
-                    font-size: 14px;
-                }
-
-                span {
-                    margin: 0 10px 0 0;
-                }
-            }
-        }
-
-        .gongneng {
-            margin: 10px 0;
-
-            .el-button {
-                color: #fff;
-            }
-        }
-
-        :deep(.cont) {
-            width: 60%;
-            margin: 20px auto;
-        }
-
-        :deep(.download) {
-            display: flex;
-            align-items: center;
-            margin: 10px;
-        }
-
-        :deep(.download span) {
-            font-size: 16px;
-            margin-left: 20px;
-        }
-
-        :deep(.cont .el-button) {
-            margin-left: 60px;
-            margin-bottom: 30px;
-        }
-
-        :deep(.cont .accomplish) {
-            width: 100%;
-            display: flex;
-            justify-content: center;
-        }
-
-        :deep(.cont .accomplish .el-button) {
-            width: 50%;
-            margin: 0;
-        }
-    }
-
-    .footer {
-        width: 96%;
-        height: 550px;
-        margin: 10px auto 10px;
-
-        .el-table--fit {
-            height: 100%;
-
-            :deep(.el-table__header-wrapper) {
-                background-color: #000;
-                font-size: 15px;
-                color: #000;
-
-                .cell {
-                    color: #000;
-                }
-            }
-
-            :deep(.el-table__row) {
-                height: 50px;
-                font-size: 15px;
-                color: #000;
-            }
-
-            :deep(.el-table__row td) {
-                padding: 0;
-                border: 0;
-            }
-
-            .el-button--primary {
-                margin-left: 5px;
-            }
-
-            :deep(.el-table__body .even) {
-                background-color: #fff;
-            }
-
-            :deep(.el-table__body .odd) {
-                background-color: rgba(240, 243, 247, 1);
-            }
-
-            :deep(.options) {
-                display: flex;
-                justify-content: center;
-                align-items: center;
-
-                .reset {
-                    color: rgba(9, 101, 98, 1);
-                    cursor: pointer;
-                }
-
-                .look {
-                    margin: 0 15px;
-                    color: rgba(30, 125, 251, 1);
-                    cursor: pointer;
-                }
-
-                .del {
-                    color: rgba(212, 48, 48, 1);
-                    cursor: pointer;
-                }
-            }
-        }
-
-        // 添加员工弹窗样式
-        :deep(.addStaff) {
-            //   height: 420px;
-            border-radius: 11px;
-
-            .el-dialog__header {
-                border-radius: 11px 11px 0 0;
-                background: rgba(237, 241, 245, 1);
-                font-weight: 600;
-                margin: 0;
-
-                .el-dialog__headerbtn {
-                    outline: none;
-                }
-            }
-
-            .el-dialog__body {
-                padding: 30px 20px 10px 20px;
-
-                .el-input {
-                    width: 200px;
-
-                    .el-input__suffix-inner {
-                        color: rgba(61, 81, 232, 1);
-                    }
-                }
-
-                .options {
-                    margin: 10px 20px 20px 0;
-                    width: 100%;
-
-                    .el-form-item__content {
-                        display: flex;
-                        flex-direction: row-reverse;
-                    }
-
-                    .queding {
-                        color: #fff;
-                        margin-left: 15px;
-                    }
-                }
-            }
-        }
-    }
-
-    .el-pagination {
-        // width: 1600px;
-        width: 96%;
-        margin: 20px auto 18px;
-        justify-content: flex-end;
-
-        :deep(.el-pagination__total) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__goto) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__classifier) {
-            color: #000;
-        }
-
-        :deep(.el-input__wrapper) {
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            box-shadow: none;
-        }
-
-        :deep(.el-pager li) {
-            margin: 0 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.el-pager li.is-active) {
-            background-color: rgba(111, 182, 184, 1);
-        }
-
-        :deep(.btn-prev) {
-            margin-right: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.btn-next) {
-            margin-left: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-    }
-}
-
-.el-input {
-    width: 192px;
-}
-</style>
-  

+ 0 - 845
src/views/old/icCard/icCard.vue

@@ -1,845 +0,0 @@
-<template>
-    <div class="content-box">
-        <div class="left">
-            <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-            <span class="cameratxt">IC卡管理</span>
-        </div>
-        <div class="middle">
-            <div class="filter">
-                <div class="condition">
-                    <span>关键字 : </span>
-                    <el-input clearable v-model="searchInput.adminName" @clear="searchBtn" class="w-50 m-2"
-                        placeholder="请输入用户名" style="width: 150px" />
-                </div>
-
-                <el-button style="margin-left: 20px" color="rgba(9, 101, 98, 1)" type="primary" class="search"
-                    @click="searchBtn"><el-icon>
-                        <Search />
-                    </el-icon> <span>查询</span></el-button>
-            </div>
-            <!-- 按钮列表 -->
-            <div class="gongneng">
-                <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="addlist"><el-icon>
-                        <CirclePlus />
-                    </el-icon><span>新增账号</span></el-button>
-            </div>
-        </div>
-        <div class="footer" v-loading="loading">
-            <el-table :row-class-name="tableRowClassName" :data="tableData.list" @selection-change="handleSelectionChange"
-                style="width: 100%" :header-cell-style="{
-                    background: 'rgba(240, 243, 247, 1)',
-                    height: '50px',
-                    border: 0,
-                }">
-                <!-- <el-table-column align="center" type="selection" width="80" /> -->
-                <el-table-column width="150" align="center" label="序号" type="index" index="1" />
-                <el-table-column align="center" prop="corpnPhone" label="手机" />
-                <el-table-column align="center" prop="adminName" label="用户名" />
-                <el-table-column align="center" prop="corpnName" label="姓名" />
-                <el-table-column align="center" label="角色">
-                    <template #default="{ row }">
-                        {{ row.level == 1 ? "管理员" : "超级管理员" }}
-                    </template>
-                </el-table-column>
-                <el-table-column align="center" prop="remark" label="备注" />
-
-                <el-table-column align="center" label="操作" width="220">
-                    <template #default="scope">
-                        <div class="options">
-                            <div class="reset" @click="reset(scope.row)">密码重置</div>
-                            <div class="look" @click="edit(scope.row)">修改</div>
-                            <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
-                                icon-color="#f89626" title="是否删除此账号?" @confirm="del(scope.row)" @cancel="cancelEvent">
-                                <template #reference>
-                                    <div class="del">删除</div>
-                                </template>
-                            </el-popconfirm>
-                        </div>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <!-- 添加车辆弹窗 -->
-            <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-                :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
-                <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
-                    :size="formSize" label-position="left" status-icon>
-                    <el-form-item label="用户名 :" prop="adminName">
-                        <el-input v-model="ruleForm.adminName" placeholder="请输入用户名" clearable />
-                    </el-form-item>
-                    <el-form-item label="姓名 :" prop="corpnName">
-                        <el-input v-model="ruleForm.corpnName" placeholder="请输入姓名" clearable />
-                    </el-form-item>
-                    <el-form-item label="手机号码 :" prop="corpnPhone">
-                        <el-input v-model="ruleForm.corpnPhone" placeholder="请输入手机号码" clearable />
-                    </el-form-item>
-                    <el-form-item label="密码 :" prop="password">
-                        <el-input v-model="ruleForm.password" placeholder="请输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="确认密码 :" prop="againPass">
-                        <el-input v-model="ruleForm.againPass" placeholder="请再一次输入密码" clearable />
-                    </el-form-item>
-                    <el-form-item label="角色 :" prop="level">
-                        <el-radio-group v-model="ruleForm.level">
-                            <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
-                            <el-radio :label="2" v-if="ruleForm.level == 2">超级管理员</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <el-form-item label="简介 :" prop="remark">
-                        <el-input v-model="ruleForm.remark" :rows="3" type="textarea" placeholder="请输入民宿简介信息" />
-                    </el-form-item>
-
-                    <el-form-item class="options">
-                        <el-button color="rgba(9, 101, 98, 1)" class="queding" type="primary"
-                            @click="submitAdd(ruleFormRef)">
-                            确定
-                        </el-button>
-                        <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
-                    </el-form-item>
-                </el-form>
-            </el-dialog>
-        </div>
-
-        <!-- 分页组件 -->
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-            layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
-    </div>
-</template>
-  
-<script setup>
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import { dayjs } from "element-plus";
-import lodash, { reduce } from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-    list: [
-        // {
-        //   phone: 1234,
-        //   adminName: "admin",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "test",
-        //   userName: "李四",
-        //   level: 1,
-        //   remark: "测试11",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin1",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-        // {
-        //   phone: 1234,
-        //   adminName: "admin2",
-        //   userName: "张三",
-        //   level: 1,
-        //   remark: "测试",
-        // },
-    ],
-});
-const activeIndex = ref(); // 默认跳转路由
-const dialongTitle = ref("新增账号"); // 弹窗标题
-
-const searchInput = reactive({
-    adminName: "",
-}); // 搜索按钮数据
-5;
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-const selectData = reactive({
-    list: [],
-}); // 多选框选择的数据
-const api = ref("");
-const addDialogVisible = ref(false); // 控制添加员工弹窗
-
-// 表单数据
-const formSize = ref("default");
-const ruleFormRef = ref();
-const ruleForm = reactive({
-    corpnPhone: "",
-    adminName: "",
-    corpnName: "",
-    level: 1,
-    remark: "",
-    password: "",
-    againPass: "",
-    id: "",
-});
-var checkUserName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入用户名)"));
-    }
-
-    var reg = /^[a-zA-Z0-9]{6,16}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为6-16个数字或字母!"));
-    } else {
-        callback();
-    }
-};
-var checkFullName = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入姓名"));
-    }
-
-    var reg = /^[\u4e00-\u9fa5]{2,6}$/;
-    if (!reg.test(value)) {
-        callback(new Error("必须为2-6个汉字!"));
-    } else {
-        callback();
-    }
-};
-var checkPhone = (rule, value, callback) => {
-    if (!value) {
-        return callback(new Error("请输入手机号"));
-    }
-    setTimeout(() => {
-        var reg = /^1[3456789]\d{9}$/;
-        if (!reg.test(value)) {
-            callback(new Error("手机号格式不对"));
-        } else {
-            callback();
-        }
-    }, 100);
-};
-// 表单验证
-const rules = reactive({
-    corpnName: [
-        { required: true, message: "姓名不能为空", trigger: "blur" },
-        { validator: checkFullName, trigger: "blur" },
-    ],
-    adminName: [
-        { required: true, message: "用户名不能为空", trigger: "blur" },
-        { validator: checkUserName, trigger: "blur" },
-    ],
-    // ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
-    password: [
-        {
-            required: true,
-            message: "密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    againPass: [
-        {
-            required: true,
-            message: "确认密码不能为空",
-            trigger: "blur",
-        },
-        {
-            min: 8,
-            max: 20,
-            pattern:
-                /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
-            message: "请输入8-20位正确密码(大小写字母·字符·数字)",
-            trigger: "blur",
-        },
-    ],
-    level: [
-        {
-            required: true,
-            message: "角色不能为空",
-            trigger: "blur",
-        },
-    ],
-    remark: [
-        {
-            required: true,
-            message: "备注不能为空",
-            trigger: "blur",
-        },
-    ],
-    corpnPhone: [
-        {
-            required: true,
-            message: "电话号码不能为空",
-            trigger: "blur",
-        },
-        { validator: checkPhone, trigger: "blur" },
-    ],
-
-    // desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
-});
-// 获取账户列表
-const getList = async () => {
-    // if (searchInput.account) {
-    //   data.adminName = searchInput.adminName;
-    // }
-    loading.value = true;
-    let data = {
-        page: currentPage.value, // 当前页
-        rows: pageSize.value, // 一页数据条数
-        adminName: searchInput.adminName, //用户名
-        managerId: sessionStorage.getItem("token"),
-    };
-    let res = await axios({
-        method: "get",
-        url: api.value + "/mhotel/managerAdminqueryPage.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-        },
-        params: data,
-    });
-    console.log(res, "账号信息");
-    if (res.data.code == 200) {
-        tableData.list = res.data.data.pageList;
-        total.value = res.data.data.total;
-        loading.value = false;
-        // ElMessage({
-        //   type: "success",
-        //   showClose: true,
-        //   message: res.data.message,
-        //   center: true,
-        // });
-    } else {
-        loading.value = false;
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-    getList();
-}, 300);
-
-// 添加员工
-const addlist = () => {
-    dialongTitle.value = "新增账号";
-    addDialogVisible.value = true;
-    ruleForm.corpnPhone = "";
-    ruleForm.adminName = "";
-    ruleForm.corpnName = "";
-    ruleForm.level = 1;
-    ruleForm.remake = "";
-    ruleForm.password = "";
-    ruleForm.againPass = "";
-    ruleForm.reamark = "";
-};
-// 取消添加员工
-const cancelAdd = () => {
-    addDialogVisible.value = false;
-    ruleFormRef.value.resetFields();
-};
-//编辑按钮
-const edit = (row) => {
-    dialongTitle.value = "编辑信息";
-    addDialogVisible.value = true;
-    ruleForm.adminName = row.adminName;
-    ruleForm.corpnName = row.corpnName;
-    ruleForm.level = Number(row.level);
-    ruleForm.remark = row.remark;
-    ruleForm.password = row.password;
-    ruleForm.againPass = row.password;
-    ruleForm.corpnPhone = row.corpnPhone;
-    ruleForm.id = row.id;
-};
-// 确认添加员工
-const submitAdd = lodash.debounce(async (formEl) => {
-    if (!formEl) return;
-    await formEl.validate(async (valid, fields) => {
-        if (valid) {
-            if (dialongTitle.value == "新增账号") {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        managerId: sessionStorage.getItem("token"),
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                        },
-                        params: data,
-                    });
-                    console.log(res, "添加账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            } else {
-                if (ruleForm.password == ruleForm.againPass) {
-                    let data = {
-                        adminName: ruleForm.adminName,
-                        corpnName: ruleForm.corpnName,
-                        level: ruleForm.level,
-                        remark: ruleForm.remark,
-                        password: ruleForm.password,
-                        corpnPhone: ruleForm.corpnPhone,
-                        id: ruleForm.id,
-                    };
-                    let res = await axios({
-                        method: "post",
-                        url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
-                        headers: {
-                            // token: sessionStorage.getItem("token"),
-                            // user_head: sessionStorage.getItem("userhead"),
-                        },
-                        params: data,
-                    });
-                    // console.log(res, "修改账号");
-                    if (res.data.code == 200) {
-                        getList();
-                        ElMessage({
-                            type: "success",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                        addDialogVisible.value = false;
-                        ruleFormRef.value.resetFields();
-                    } else {
-                        ElMessage({
-                            type: "error",
-                            showClose: true,
-                            message: res.data.message,
-                            center: true,
-                        });
-                    }
-                } else {
-                    ElMessage({
-                        type: "error",
-                        showClose: true,
-                        message: "两次密码输入不一致",
-                        center: true,
-                    });
-                }
-            }
-        } else {
-            console.log("error submit!", fields);
-        }
-    });
-}, 1000);
-
-//删除按钮
-const del = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdmindelAdmin.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        if (tableData.list.length == 1 && currentPage.value != 1) {
-            currentPage.value = currentPage.value - 1;
-        }
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-    // console.log(res);
-};
-// 取消删除
-const cancelEvent = () => {
-    ElMessage({
-        type: "info",
-        showClose: true,
-        message: "取消删除",
-        center: true,
-    });
-};
-// 重置密码
-const reset = async (row) => {
-    // console.log(row);
-    let data = {
-        id: row.id,
-    };
-    let res = await axios({
-        method: "post",
-        url: api.value + "/mhotel/managerAdminremovePwd.action",
-        headers: {
-            // token: sessionStorage.getItem("token"),
-            // user_head: sessionStorage.getItem("userhead"),
-        },
-        params: data,
-    });
-    if (res.data.code == 200) {
-        getList();
-        ElMessage({
-            type: "success",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    } else {
-        ElMessage({
-            type: "error",
-            showClose: true,
-            message: res.data.message,
-            center: true,
-        });
-    }
-};
-
-// 多选框功能
-// const handleSelectionChange = (val) => {
-//   console.log(val);
-//   selectData.list = val;
-// };
-
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-    if (rowIndex % 2 === 0) {
-        return "even";
-    } else if (rowIndex % 2 !== 0) {
-        return "odd";
-    }
-    return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-    // console.log(value);
-    currentPage.value = value;
-    getList();
-};
-
-onBeforeMount(() => {
-    api.value = store.state.user.api;
-    getList();
-});
-onUnmounted(() => {
-    // document.removeEventListener("keyup", Enters);
-});
-</script>
-  
-<style scoped lang="scss">
-.content-box {
-    width: 97.5%;
-    height: 89%;
-    margin: 20px auto;
-    background-color: #fff;
-    color: #fff;
-    display: flex;
-    flex-direction: column;
-    box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-    .left {
-        // width: calc(100wh - 40px);
-        display: flex;
-        align-items: center;
-        height: 60px;
-        margin: 0 30px;
-        border-bottom: 1px solid #ccc;
-        color: #000;
-        font-size: 18px;
-        font-weight: 600;
-
-        .camera {
-            margin-right: 15px;
-            color: #4392f7;
-        }
-    }
-
-    .middle {
-        width: 96%;
-        margin: 0 auto;
-
-        color: #000;
-
-        // border-bottom: 1px solid rgb(231, 231, 231);
-        .filter {
-            display: flex;
-            flex-wrap: wrap;
-            align-items: center;
-            margin: 10px 0 0 0;
-
-            .search {
-                margin-left: 0 !important;
-                color: #fff;
-            }
-
-            .condition {
-                display: flex;
-                align-items: center;
-                margin: 10px 30px 10px 0;
-
-                :deep(.el-input .el-input__inner) {
-                    font-size: 14px;
-                }
-
-                span {
-                    margin: 0 10px 0 0;
-                }
-            }
-        }
-
-        .gongneng {
-            margin: 10px 0;
-
-            .el-button {
-                color: #fff;
-            }
-        }
-
-        :deep(.cont) {
-            width: 60%;
-            margin: 20px auto;
-        }
-
-        :deep(.download) {
-            display: flex;
-            align-items: center;
-            margin: 10px;
-        }
-
-        :deep(.download span) {
-            font-size: 16px;
-            margin-left: 20px;
-        }
-
-        :deep(.cont .el-button) {
-            margin-left: 60px;
-            margin-bottom: 30px;
-        }
-
-        :deep(.cont .accomplish) {
-            width: 100%;
-            display: flex;
-            justify-content: center;
-        }
-
-        :deep(.cont .accomplish .el-button) {
-            width: 50%;
-            margin: 0;
-        }
-    }
-
-    .footer {
-        width: 96%;
-        height: 550px;
-        margin: 10px auto 10px;
-
-        .el-table--fit {
-            height: 100%;
-
-            :deep(.el-table__header-wrapper) {
-                background-color: #000;
-                font-size: 15px;
-                color: #000;
-
-                .cell {
-                    color: #000;
-                }
-            }
-
-            :deep(.el-table__row) {
-                height: 50px;
-                font-size: 15px;
-                color: #000;
-            }
-
-            :deep(.el-table__row td) {
-                padding: 0;
-                border: 0;
-            }
-
-            .el-button--primary {
-                margin-left: 5px;
-            }
-
-            :deep(.el-table__body .even) {
-                background-color: #fff;
-            }
-
-            :deep(.el-table__body .odd) {
-                background-color: rgba(240, 243, 247, 1);
-            }
-
-            :deep(.options) {
-                display: flex;
-                justify-content: center;
-                align-items: center;
-
-                .reset {
-                    color: rgba(9, 101, 98, 1);
-                    cursor: pointer;
-                }
-
-                .look {
-                    margin: 0 15px;
-                    color: rgba(30, 125, 251, 1);
-                    cursor: pointer;
-                }
-
-                .del {
-                    color: rgba(212, 48, 48, 1);
-                    cursor: pointer;
-                }
-            }
-        }
-
-        // 添加员工弹窗样式
-        :deep(.addStaff) {
-            //   height: 420px;
-            border-radius: 11px;
-
-            .el-dialog__header {
-                border-radius: 11px 11px 0 0;
-                background: rgba(237, 241, 245, 1);
-                font-weight: 600;
-                margin: 0;
-
-                .el-dialog__headerbtn {
-                    outline: none;
-                }
-            }
-
-            .el-dialog__body {
-                padding: 30px 20px 10px 20px;
-
-                .el-input {
-                    width: 200px;
-
-                    .el-input__suffix-inner {
-                        color: rgba(61, 81, 232, 1);
-                    }
-                }
-
-                .options {
-                    margin: 10px 20px 20px 0;
-                    width: 100%;
-
-                    .el-form-item__content {
-                        display: flex;
-                        flex-direction: row-reverse;
-                    }
-
-                    .queding {
-                        color: #fff;
-                        margin-left: 15px;
-                    }
-                }
-            }
-        }
-    }
-
-    .el-pagination {
-        // width: 1600px;
-        width: 96%;
-        margin: 20px auto 18px;
-        justify-content: flex-end;
-
-        :deep(.el-pagination__total) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__goto) {
-            color: #000;
-        }
-
-        :deep(.el-pagination__classifier) {
-            color: #000;
-        }
-
-        :deep(.el-input__wrapper) {
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            box-shadow: none;
-        }
-
-        :deep(.el-pager li) {
-            margin: 0 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.el-pager li.is-active) {
-            background-color: rgba(111, 182, 184, 1);
-        }
-
-        :deep(.btn-prev) {
-            margin-right: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-
-        :deep(.btn-next) {
-            margin-left: 5px;
-            border: 1px solid rgba(0, 0, 0, 1);
-            border-radius: 5px;
-            background-color: transparent;
-        }
-    }
-}
-
-.el-input {
-    width: 192px;
-}
-</style>
-  

+ 0 - 897
src/views/old/meter/meter.vue

@@ -1,897 +0,0 @@
-<template>
-  <div class="content-box">
-    <div class="left">
-      <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-      <span class="cameratxt">水电表管理</span>
-    </div>
-    <div>
-      <div class="middle">
-        <div class="filter">
-          <div class="condition">
-            <span>关键字&nbsp;&nbsp;</span>
-            <el-input
-              :clearable="true"
-              @clear="searchBtn"
-              v-model="searchInput.keyWord"
-              class="w-50 m-2"
-              placeholder="请输入关键字"
-            />
-          </div>
-          <div class="condition">
-            <span>创建时间&nbsp;&nbsp;</span>
-            <el-date-picker
-              v-model="searchInput.createTime"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="起始时间"
-              end-placeholder="结束时间"
-              format="YYYY-MM-DD"
-              value-format="YYYY-MM-DD"
-              :prefix-icon="Calendar"
-              placeholder="请选择日期"
-            />
-          </div>
-          <el-button
-            color="rgba(0, 97, 255, 1)"
-            type="primary"
-            class="search"
-            @click="searchBtn"
-            ><el-icon>
-              <Search />
-            </el-icon>
-            <span>查询</span></el-button
-          >
-        </div>
-        <!-- 按钮列表 -->
-        <div class="gongneng">
-          <el-button
-            type="primary"
-            color="rgba(0, 97, 255, 1)"
-            @click="addClick"
-            ><span>添加</span></el-button
-          >
-          <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-            ><span>导出</span></el-button
-          >
-          <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
-            ><span>导入</span></el-button
-          >
-        </div>
-      </div>
-      <div class="footer" v-loading="loading">
-        <el-table
-          :row-class-name="tableRowClassName"
-          :data="tableData.list"
-          @selection-change="handleSelectionChange"
-          style="width: 100%"
-          :header-cell-style="{
-            background: 'rgba(240, 243, 247, 1)',
-            height: '50px',
-            border: 0,
-          }"
-        >
-          <!-- <el-table-column align="center" type="selection" width="80" /> -->
-          <el-table-column
-            width="150"
-            align="center "
-            type="index"
-            label="序号"
-          />
-          <el-table-column align="center" prop="hName" label="房型" />
-          <el-table-column align="center" prop="price" label="房费(元)" />
-          <el-table-column align="center" prop="number" label="数量" />
-
-          <el-table-column align="center" label="操作" width="200">
-            <template #default="scope">
-              <div class="edit">
-                <div class="look" @click="editClick(scope.row)">编辑</div>
-                <el-popconfirm
-                  width="220"
-                  confirm-button-text="确认"
-                  cancel-button-text="取消"
-                  :icon="InfoFilled"
-                  icon-color="#f89626"
-                  title="是否删除此房型?"
-                  @confirm="del(scope.row)"
-                  @cancel="cancelEvent"
-                >
-                  <template #reference>
-                    <div class="del">删除</div>
-                  </template>
-                </el-popconfirm>
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-
-      <!-- 编辑按钮 -->
-      <el-dialog
-        class="editDialog"
-        v-model="editVisible"
-        :close-on-click-modal="false"
-        :close-on-press-escape="false"
-        :title="titleDialog"
-        align-center
-        width="550"
-        :before-close="cancelEdit"
-      >
-        <el-form
-          ref="editRef"
-          :model="editRuleForm"
-          :rules="editRules"
-          label-width="90px"
-          class="demo-ruleForm"
-          :size="formSize"
-          label-position="left"
-          status-icon
-        >
-          <el-form-item label="水电编码 :" prop="SD_encoding">
-            <el-input
-              v-model="editRuleForm.SD_encoding"
-              placeholder="请输入水电编码"
-              clearable
-              style="width: 500px"
-            />
-          </el-form-item>
-          <el-form-item label="电表编码 :" prop="DB_encoding">
-            <el-input
-              v-model="editRuleForm.DB_encoding"
-              placeholder="请输入电表编码"
-              clearable
-              style="width: 500px"
-            />
-          </el-form-item>
-          <el-form-item label="房间号 :" prop="roomNum">
-            <!-- <el-tree
-              :data="roomNumData"
-              :props="{
-                label: 'label',
-                children: 'children',
-                value: 'value',
-                disabled: 'disabled',
-              }"
-              node-key="id"
-              show-checkbox
-              ref="roomNumRef"
-              @node-click="roomNumClick"
-              @check-change="handleCheckChange"
-            /> -->
-            <el-cascader
-              v-model="editRuleForm.roomNum"
-              :options="roomNumData"
-              :show-all-levels="false"
-            />
-          </el-form-item>
-          <el-form-item class="options">
-            <el-button
-              color="rgba(41, 109, 227, 1)"
-              class="queding"
-              type="primary"
-              @click="confirmEdit(editRef)"
-            >
-              确定
-            </el-button>
-            <el-button @click="cancelEdit(editRef)">取消</el-button>
-          </el-form-item>
-        </el-form>
-      </el-dialog>
-
-      <!-- 分页组件 -->
-      <div class="pageSize">
-        <span></span>
-        <el-pagination
-          background
-          :current-page="currentPage"
-          :page-size="pageSize"
-          layout="total, prev, pager, next, jumper, slot"
-          :total="total"
-          @update:current-page="handleCurrentChange"
-        />
-      </div>
-    </div>
-    <div class="bgImg" v-if="bgImg">
-      <el-carousel
-        @click="bgImg = false"
-        ref="bgImgs"
-        indicator-position
-        arrow="always"
-        :autoplay="false"
-        trigger
-      >
-        <el-carousel-item v-for="item in bgImgList" :key="item.id">
-          <img :src="item.url" alt="" />
-        </el-carousel-item>
-      </el-carousel>
-    </div>
-  </div>
-</template>
-
-<script setup>
-import {
-  ref,
-  reactive,
-  watch,
-  nextTick,
-  onBeforeMount,
-  onUnmounted,
-} from "vue";
-import { useRouter } from "vue-router";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { Calendar } from "@element-plus/icons-vue";
-import vidiconsApi from "@/api/vidicons.js";
-import { dayjs } from "element-plus";
-import lodash from "lodash";
-import axios from "axios";
-import { useStore } from "vuex";
-const store = useStore();
-const api = ref("");
-const router = useRouter();
-// 表格数据
-const loading = ref(false);
-const tableData = reactive({
-  list: [
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-    // {
-    //   userName: "双人房",
-    //   userPhone: 150,
-    //   teamName: 12,
-    // },
-  ],
-});
-
-const searchInput = reactive({
-  keyWord: "",
-  createTime: "",
-}); // 搜索按钮数据
-
-const currentPage = ref(1); // 当前页
-const pageSize = ref(10);
-const total = ref(); // 当前总数
-
-// 编辑功能
-const titleDialog = ref("");
-const editVisible = ref(false);
-const editRef = ref();
-const editRuleForm = reactive({
-  SD_encoding: "",
-  DB_encoding: "",
-  roomNum: "",
-  id: "",
-});
-// 树形结构配置
-const roomNumRef = ref();
-const roomNumData = [
-  {
-    value: 1,
-    label: "Level one 1",
-    children: [
-      {
-        value: 11,
-        label: "Level two 1-1",
-      },
-      {
-        value: 12,
-        label: "Level two 1-2",
-      },
-    ],
-  },
-  {
-    value: 2,
-    label: "Level one 2",
-    children: [
-      {
-        value: 21,
-        label: "Level two 2-1",
-      },
-      {
-        value: 22,
-        label: "Level two 2-2",
-      },
-    ],
-  },
-];
-// 表单验证
-const editRules = reactive({
-  SD_encoding: [
-    { required: true, message: "水电编码不能为空", trigger: "blur" },
-  ],
-  DB_encoding: [
-    {
-      required: true,
-      message: "电表编码不能为空",
-      trigger: "blur",
-    },
-  ],
-  roomNum: [
-    {
-      required: true,
-      message: "房间号不能为空",
-      trigger: "blur",
-    },
-  ],
-});
-
-// 查看房型列表
-const getList = async () => {
-  loading.value = true;
-  let data = {
-    page: currentPage.value,
-    rows: pageSize.value,
-    hName: searchInput.keyWord, // 房型名称
-    managerId: sessionStorage.getItem("token"),
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/housequeryPage.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  console.log(res, "房型管理");
-  if (res.data.code == 200) {
-    loading.value = false;
-    tableData.list = res.data.data.pageList;
-    total.value = res.data.data.total;
-    // ElMessage({
-    //   type: "success",
-    //   showClose: true,
-    //   message: res.data.message,
-    //   center: true,
-    // });
-  } else {
-    loading.value = false;
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-};
-
-// 搜索功能
-const searchBtn = lodash.debounce(async () => {
-  getList();
-}, 300);
-// 添加按钮 (-------------------------------------------)
-const addClick = async () => {
-  titleDialog.value = "新增";
-  editVisible.value = true;
-  //   let data = {
-  //     linkId: row.id,
-  //   };
-  //   let res = await axios({
-  //     method: "post",
-  //     url: api.value + "/mhotel/uploadgetByLinkId.action",
-  //     headers: {},
-  //     params: data,
-  //   });
-  //   console.log(res, "编辑中查找图片");
-  //   if (res.data.code == 200) {
-  //     // res.data.data.fileInfoList.forEach((item) => {
-  //     //   item.uid = item.id;
-  //     // });
-  //     // fileList.list = res.data.data.fileInfoList;
-  //     // ruleForm.fileListJson = fileList.list;
-  //     res.data.data.forEach((item) => {
-  //       item.uid = item.id;
-  //     });
-  //     fileList.list = res.data.data;
-  //     ruleForm.fileListJson = fileList.list;
-  //     // ElMessage({
-  //     //   type: "success",
-  //     //   showClose: true,
-  //     //   message: res.data.message,
-  //     //   center: true,
-  //     // });
-  //   } else {
-  //     ElMessage({
-  //       type: "error",
-  //       showClose: true,
-  //       message: res.data.message,
-  //       center: true,
-  //     });
-  //   }
-};
-
-//编辑按钮  (-------------------------------------------)
-const editClick = async () => {
-  titleDialog.value = "编辑";
-  editVisible.value = true;
-  //   let data = {
-  //     linkId: row.id,
-  //   };
-  //   let res = await axios({
-  //     method: "post",
-  //     url: api.value + "/mhotel/uploadgetByLinkId.action",
-  //     headers: {},
-  //     params: data,
-  //   });
-  //   console.log(res, "编辑中查找图片");
-  //   if (res.data.code == 200) {
-  //     // res.data.data.fileInfoList.forEach((item) => {
-  //     //   item.uid = item.id;
-  //     // });
-  //     // fileList.list = res.data.data.fileInfoList;
-  //     // ruleForm.fileListJson = fileList.list;
-  //     res.data.data.forEach((item) => {
-  //       item.uid = item.id;
-  //     });
-  //     fileList.list = res.data.data;
-  //     ruleForm.fileListJson = fileList.list;
-  //     // ElMessage({
-  //     //   type: "success",
-  //     //   showClose: true,
-  //     //   message: res.data.message,
-  //     //   center: true,
-  //     // });
-  //   } else {
-  //     ElMessage({
-  //       type: "error",
-  //       showClose: true,
-  //       message: res.data.message,
-  //       center: true,
-  //     });
-  //   }
-};
-
-const cancelEdit = () => {
-  editVisible.value = false;
-  editRuleForm.roomNum = "";
-};
-// // 树形结构 复选框被触发
-// const handleCheckChange = (data, checked, indeterminate) => {
-//   //   console.log(data, checked, indeterminate);
-//   if (data.list) {
-//     // console.log(data.list);
-//   } else {
-//     if (checked) {
-//       roomNumRef.value.setCheckedKeys([data.id]);
-//     }
-//     let keys = roomNumRef.value.getCheckedKeys();
-//     console.log(keys);
-//     editRuleForm.roomNum = keys;
-//   }
-// };
-// // 树形结构 被点击时触发
-// const roomNumClick = (data, node, component) => {
-//   //  * @description: node - click 节点被点击时的回调
-//   //  * @param {*} data 该节点所对应的对象
-//   //  * @param {*} node 节点对应的 Node
-//   //  * @param {*} component 节点组件本身
-//   console.log("子组件触发 node-click 事件", data, node, component);
-//   //   buildIdsRef.value.setCheckedKeys(item.build);
-// };
-
-// 确定编辑
-const confirmEdit = (formEl) => {
-  if (!formEl) return;
-  formEl.validate(async (valid, fields) => {
-    if (valid) {
-    }
-  });
-};
-
-//删除按钮
-const del = async (row) => {
-  let data = {
-    id: row.id,
-  };
-  let res = await axios({
-    method: "post",
-    url: api.value + "/mhotel/housedelHouser.action",
-    headers: {
-      // token: sessionStorage.getItem("token"),
-      // user_head: sessionStorage.getItem("userhead"),
-    },
-    params: data,
-  });
-  if (res.data.code == 200) {
-    if (tableData.list.length == 1 && currentPage.value != 1) {
-      currentPage.value = currentPage.value - 1;
-    }
-    getList();
-    ElMessage({
-      type: "success",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.data.message,
-      center: true,
-    });
-  }
-  // console.log(res);
-};
-
-// 多选框功能
-const handleSelectionChange = (val) => {
-  console.log(val);
-  selectData.list = val;
-};
-//导出功能
-// const importExcel = async () => {
-//   if (searchInput.createTime == null) {
-//     searchInput.createTime = "";
-//   }
-//   let data = new FormData();
-//   data.set("car_number", searchInput.carnumber);
-//   data.set("create_time", searchInput.createTime);
-//   let res = await axios({
-//     method: "post",
-//     url: api.value + "/carBook/cinfotoExcel.action",
-//     headers: {
-//       token: sessionStorage.getItem("token"),
-//     },
-//     data: data,
-//   });
-//   // console.log(res, "导出账号");
-//   if (res.data.code == 200) {
-//     // const elt = document.createElement("a");
-//     // elt.setAttribute(
-//     //   "href",
-//     //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
-//     // );
-//     // elt.setAttribute("download", "file.png");
-//     // elt.style.display = "none";
-//     // document.body.appendChild(elt);
-//     // elt.click();
-//     var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
-//     console.log("获得地址数据:", downloadPath);
-//     var downloadLink = document.createElement("a");
-//     downloadLink.style.display = "none"; // 使其隐藏
-//     downloadLink.href = downloadPath;
-//     downloadLink.download = "";
-//     downloadLink.click();
-//     document.body.appendChild(downloadLink);
-//     document.body.removeChild(downloadLink);
-//     ElMessage({
-//       type: "success",
-//       showClose: true,
-//       message: res.data.message,
-//       center: true,
-//     });
-//   } else {
-//     ElMessage({
-//       type: "error",
-//       showClose: true,
-//       message: res.data.message,
-//       center: true,
-//     });
-//   }
-// };
-// 表格斑马纹颜色修改
-const tableRowClassName = ({ row, rowIndex }) => {
-  if (rowIndex % 2 === 0) {
-    return "even";
-  } else if (rowIndex % 2 !== 0) {
-    return "odd";
-  }
-  return "";
-};
-// 分页
-const handleCurrentChange = (value) => {
-  // console.log(value);
-  currentPage.value = value;
-  getList();
-};
-
-onBeforeMount(async () => {
-  api.value = store.state.user.api;
-  getList();
-});
-onUnmounted(() => {
-  // document.removeEventListener("keyup", Enters);
-});
-</script>
-
-<style scoped lang="scss">
-.content-box {
-  width: 97.5%;
-  height: 89%;
-  margin: 20px auto;
-  background-color: #fff;
-  color: #fff;
-  display: flex;
-  flex-direction: column;
-  box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
-
-  .left {
-    // width: calc(100wh - 40px);
-    display: flex;
-    align-items: center;
-    height: 60px;
-    margin: 0 30px;
-    border-bottom: 1px solid #ccc;
-    color: rgb(0, 0, 0);
-    font-size: 18px;
-    font-weight: 600;
-
-    span {
-      margin-right: 20px;
-      cursor: pointer;
-    }
-
-    .is_active {
-      color: rgba(111, 182, 184, 1);
-    }
-  }
-
-  .middle {
-    width: 96%;
-    margin: 0 auto;
-
-    color: #000;
-
-    // border-bottom: 1px solid rgb(231, 231, 231);
-    .filter {
-      display: flex;
-      flex-wrap: wrap;
-      align-items: center;
-      margin: 10px 0 0 0;
-
-      .search {
-        color: #fff;
-      }
-
-      .condition {
-        display: flex;
-        align-items: center;
-        margin: 10px 30px 10px 0;
-
-        :deep(.el-input .el-input__inner) {
-          font-size: 14px;
-        }
-
-        span {
-          margin: 0 10px 0 0;
-        }
-      }
-    }
-
-    .gongneng {
-      margin: 10px 0 20px 0;
-
-      span {
-        color: #fff;
-      }
-      .el-button {
-        margin-right: 10px;
-      }
-    }
-
-    :deep(.cont) {
-      width: 60%;
-      margin: 20px auto;
-    }
-
-    :deep(.download) {
-      display: flex;
-      align-items: center;
-      margin: 10px;
-    }
-
-    :deep(.download span) {
-      font-size: 16px;
-      margin-left: 20px;
-    }
-
-    :deep(.cont .el-button) {
-      margin-left: 60px;
-      margin-bottom: 30px;
-    }
-
-    :deep(.cont .accomplish) {
-      width: 100%;
-      display: flex;
-      justify-content: center;
-    }
-
-    :deep(.cont .accomplish .el-button) {
-      width: 50%;
-      margin: 0;
-    }
-  }
-
-  .footer {
-    width: 96%;
-    height: 550px;
-    margin: 10px auto 30px;
-
-    .el-table--fit {
-      height: 100%;
-
-      :deep(.el-table__header-wrapper) {
-        background-color: #000;
-        font-size: 16px;
-
-        tr {
-          color: #000;
-        }
-      }
-
-      :deep(.el-table__row) {
-        height: 50px;
-        font-size: 16px;
-        color: #000;
-      }
-
-      :deep(.el-table__row):nth-child(2n) {
-        .el-table-fixed-column--right {
-          background-color: rgba(240, 243, 247, 1);
-        }
-      }
-
-      :deep(.el-table__row td) {
-        padding: 0;
-        border: 0;
-      }
-
-      .el-button--primary {
-        margin-left: 5px;
-      }
-
-      :deep(.el-table__body .even) {
-        background-color: #fff;
-      }
-
-      :deep(.el-table__body .odd) {
-        background-color: rgba(240, 243, 247, 1);
-      }
-
-      :deep(.edit) {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        color: rgba(111, 182, 184, 1);
-      }
-
-      :deep(.look) {
-        padding: 0 10px;
-        cursor: pointer;
-        color: rgba(30, 125, 251, 1);
-      }
-
-      .del {
-        padding: 0 10px;
-        color: rgba(212, 48, 48, 1);
-        cursor: pointer;
-      }
-
-      // :deep(.look):hover {
-      //   color: red;
-      // }
-      // :deep(.del):hover {
-      //   color: red;
-      // }
-    }
-  }
-  // 编辑按钮
-  :deep(.editDialog) {
-    //   height: 420px;
-    border-radius: 11px;
-    .el-dialog__header {
-      border-radius: 11px 11px 0 0;
-      background: rgba(237, 241, 245, 1);
-      font-weight: 600;
-      margin: 0;
-      .el-dialog__headerbtn {
-        outline: none;
-      }
-    }
-    .el-dialog__body {
-      padding: 30px 20px 10px 20px;
-      .el-form-item__content {
-        width: 200px;
-        .el-tree-node__content {
-          //   border: 1px solid red;
-          .el-checkbox {
-            display: none;
-          }
-        }
-        .el-tree-node__children {
-          .el-checkbox {
-            display: block;
-          }
-        }
-      }
-      .options {
-        margin: 10px 20px 20px 0;
-        width: 100%;
-        .el-form-item__content {
-          display: flex;
-          flex-direction: row-reverse;
-        }
-        .queding {
-          color: #fff;
-          margin-left: 15px;
-        }
-      }
-    }
-  }
-
-  .pageSize {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    margin: 0 30px;
-
-    span {
-      color: #000;
-    }
-
-    .el-pagination {
-      // width: 1600px;
-      :deep(.el-pagination__total) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__goto) {
-        color: #000;
-      }
-
-      :deep(.el-pagination__classifier) {
-        color: #000;
-      }
-
-      :deep(.el-input__wrapper) {
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        box-shadow: none;
-      }
-
-      :deep(.el-pager li) {
-        margin: 0 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.el-pager li.is-active) {
-        // background-color: rgba(0, 97, 255, 0.8);
-        border: 1px solid rgba(0, 97, 255, 1);
-        color: rgba(0, 97, 255, 1);
-      }
-
-      :deep(.btn-prev) {
-        margin-right: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-
-      :deep(.btn-next) {
-        margin-left: 5px;
-        border: 1px solid rgba(0, 0, 0, 1);
-        border-radius: 5px;
-        background-color: transparent;
-      }
-    }
-  }
-}
-
-.el-input {
-  width: 192px;
-}
-</style>

File diff suppressed because it is too large
+ 0 - 1848
src/views/old/order/order.vue


File diff suppressed because it is too large
+ 0 - 1146
src/views/old/process/process.vue


File diff suppressed because it is too large
+ 0 - 1169
src/views/old/roles/roles.vue


File diff suppressed because it is too large
+ 0 - 1504
src/views/old/roomPrice/roomPrice.vue


File diff suppressed because it is too large
+ 0 - 2341
src/views/old/roomStatus/roomStatus copy.vue


File diff suppressed because it is too large
+ 0 - 3777
src/views/old/roomStatus/roomStatus.vue


File diff suppressed because it is too large
+ 0 - 1598
src/views/old/roomType/roomType.vue


File diff suppressed because it is too large
+ 0 - 1028
src/views/old/statement/statement.vue


File diff suppressed because it is too large
+ 0 - 1140
src/views/old/system/system.vue


File diff suppressed because it is too large
+ 0 - 1275
src/views/old/user/user.vue


File diff suppressed because it is too large
+ 0 - 1848
src/views/order/order.vue


File diff suppressed because it is too large
+ 0 - 1146
src/views/process/process.vue


File diff suppressed because it is too large
+ 0 - 1504
src/views/roomPrice/roomPrice.vue


File diff suppressed because it is too large
+ 0 - 2341
src/views/roomStatus/roomStatus copy.vue


File diff suppressed because it is too large
+ 0 - 3777
src/views/roomStatus/roomStatus.vue


File diff suppressed because it is too large
+ 0 - 1598
src/views/roomType/roomType.vue


File diff suppressed because it is too large
+ 0 - 1028
src/views/statement/statement.vue