hzj18279462576@163.com il y a 1 an
Parent
commit
b7220097e1

+ 2 - 1
src/layout/SidevarItem.vue

@@ -212,7 +212,7 @@ onBeforeMount(() => {
 .box-item {
 .box-item {
   height: 100vh;
   height: 100vh;
 }
 }
-:deep(.el-menu) {
+:deep(.el-menu--vertical) {
   height: 100%;
   height: 100%;
   overflow: auto;
   overflow: auto;
   background-color: rgba(48, 65, 86, 1);
   background-color: rgba(48, 65, 86, 1);
@@ -262,6 +262,7 @@ onBeforeMount(() => {
     }
     }
     .el-menu.el-menu--inline {
     .el-menu.el-menu--inline {
       box-shadow: none;
       box-shadow: none;
+      background-color: rgba(48, 65, 86, 1);
     }
     }
     &.is-active.is-opened {
     &.is-active.is-opened {
       .el-sub-menu__title {
       .el-sub-menu__title {

+ 2 - 0
src/stores/index.js

@@ -13,6 +13,7 @@ export const useCounterStore = defineStore("user", {
       roleList: [], // 权限列表
       roleList: [], // 权限列表
       btnRole: [], // 功能按钮权限
       btnRole: [], // 功能按钮权限
       collegeRole: [], // 院系权限
       collegeRole: [], // 院系权限
+      roleId:'' // 角色id
     };
     };
   },
   },
   getters: {
   getters: {
@@ -64,6 +65,7 @@ export const useCounterStore = defineStore("user", {
         console.log(res, "获取菜单权限列表");
         console.log(res, "获取菜单权限列表");
         this.collegeRole = res.data.welcomeOrgList;
         this.collegeRole = res.data.welcomeOrgList;
         let roles = res.data.welcomeRole;
         let roles = res.data.welcomeRole;
+        this.roleId=res.data.welcomeRole.id
         let btn = [];
         let btn = [];
         // 数据总览
         // 数据总览
         if (roles.dataManagementSetting) {
         if (roles.dataManagementSetting) {

+ 23 - 13
src/views/bed/bed.vue

@@ -235,15 +235,15 @@
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="college"
             prop="college"
-            width="130"
+            width="160"
             label="所属学院"
             label="所属学院"
           />
           />
-          <el-table-column align="center" prop="major" width="180" label="专业">
+          <el-table-column align="center" prop="major" width="220" label="专业">
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="classstr"
             prop="classstr"
-            width="180"
+            width="220"
             label="所属班级"
             label="所属班级"
           />
           />
 
 
@@ -497,7 +497,7 @@
             @change="majorFormChange"
             @change="majorFormChange"
             v-model="ruleForm.major"
             v-model="ruleForm.major"
             clearable
             clearable
-            :disabled="!store.BtnRole('bedManagementSetting15')"
+            :disabled="!store.BtnRole('bedManagementSetting15') && dialongTitle == '编辑床位信息'"
             placeholder="请选择专业"
             placeholder="请选择专业"
           >
           >
             <el-option
             <el-option
@@ -511,7 +511,7 @@
         <el-form-item label="所属班级 :" prop="">
         <el-form-item label="所属班级 :" prop="">
           <el-select
           <el-select
             clearable
             clearable
-            :disabled="!store.BtnRole('bedManagementSetting16')"
+            :disabled="!store.BtnRole('bedManagementSetting16') && dialongTitle == '编辑床位信息'"
             v-model="ruleForm.classstr"
             v-model="ruleForm.classstr"
             placeholder="请选择所属班级"
             placeholder="请选择所属班级"
           >
           >
@@ -550,7 +550,7 @@
             v-model.trim="ruleForm.instructor"
             v-model.trim="ruleForm.instructor"
             placeholder="请输入辅导员"
             placeholder="请输入辅导员"
             clearable
             clearable
-            :disabled="!store.BtnRole('bedManagementSetting17')"
+            :disabled="!store.BtnRole('bedManagementSetting17') && dialongTitle == '编辑床位信息'"
           />
           />
         </el-form-item>
         </el-form-item>
         <el-form-item label="备注 :">
         <el-form-item label="备注 :">
@@ -1172,7 +1172,7 @@ const buildList = async (flag) => {
   };
   };
   let res = await https.get(
   let res = await https.get(
     // "/welcome/api/welcome-build/buildGroup",
     // "/welcome/api/welcome-build/buildGroup",
-    "/welcome/api/welcome-dormitory/saveBedDormitoryGroup",
+    "/welcome/api/welcome-dormitory/saveBedBuildGroup",
     "params",
     "params",
     params
     params
   );
   );
@@ -1194,19 +1194,26 @@ const buildList = async (flag) => {
 };
 };
 const dormitoryList = async (flag) => {
 const dormitoryList = async (flag) => {
   let params = null;
   let params = null;
+  let res = null;
   if (flag) {
   if (flag) {
     params = flag;
     params = flag;
+    res = await https.get(
+      "/welcome/api/welcome-dormitory/saveBedDormitoryGroup",
+      "params",
+      params
+    );
   } else {
   } else {
     params = {
     params = {
       schoolId: searchInput.schoolId,
       schoolId: searchInput.schoolId,
       buildId: searchInput.buildId,
       buildId: searchInput.buildId,
     };
     };
+    res = await https.get(
+      "/welcome/api/welcome-dormitory/dormitoryTGroup",
+      "params",
+      params
+    );
   }
   }
-  let res = await https.get(
-    "/welcome/api/welcome-dormitory/dormitoryGroup",
-    "params",
-    params
-  );
+
   console.log(res, "寝室号数据");
   console.log(res, "寝室号数据");
   if (res.code == 200) {
   if (res.code == 200) {
     if (flag) {
     if (flag) {
@@ -1356,6 +1363,7 @@ const buildFormChange = async (val) => {
   dormitoryList({
   dormitoryList({
     schoolId: ruleForm.school.split(",")[1],
     schoolId: ruleForm.school.split(",")[1],
     buildId: val.split(",")[1],
     buildId: val.split(",")[1],
+    accountId:sessionStorage.getItem("accountId"),
   });
   });
 };
 };
 const dormitoryFormChange = (val) => {
 const dormitoryFormChange = (val) => {
@@ -1366,6 +1374,7 @@ const dormitoryFormChange = (val) => {
         ruleForm.college = `${i.college},${i.collegeId}`;
         ruleForm.college = `${i.college},${i.collegeId}`;
         collegeFormChange(ruleForm.college);
         collegeFormChange(ruleForm.college);
         ruleForm.sex = i.sex;
         ruleForm.sex = i.sex;
+        ruleForm.retentionState = i.retentionState;
       }
       }
     });
     });
   } else {
   } else {
@@ -1512,7 +1521,7 @@ const addlist = () => {
   ruleForm.name = null;
   ruleForm.name = null;
   ruleForm.instructor = null;
   ruleForm.instructor = null;
   ruleForm.remark = null;
   ruleForm.remark = null;
-  ruleForm.retentionState = 1;
+  ruleForm.retentionState = null;
   ruleForm.id = null;
   ruleForm.id = null;
 };
 };
 // 添加账号
 // 添加账号
@@ -1538,6 +1547,7 @@ const updateS = (row) => {
     dormitoryList({
     dormitoryList({
       schoolId: row.schoolId,
       schoolId: row.schoolId,
       buildId: row.buildId,
       buildId: row.buildId,
+      accountId:sessionStorage.getItem("accountId"),
     }).then(() => {
     }).then(() => {
       ruleForm.dormitory = `${row.dormitory},${row.dormitoryId}`;
       ruleForm.dormitory = `${row.dormitory},${row.dormitoryId}`;
     });
     });

+ 64 - 26
src/views/caller/caller.vue

@@ -53,19 +53,21 @@
             @click="searchBtn"
             @click="searchBtn"
             ><span>查询</span></el-button
             ><span>查询</span></el-button
           >
           >
-          <el-button @click="resetBtn" plain color="rgba(43, 153, 255, 1)">重置</el-button>
+          <el-button @click="resetBtn" plain color="rgba(43, 153, 255, 1)"
+            >重置</el-button
+          >
         </div>
         </div>
         <!-- 按钮列表 -->
         <!-- 按钮列表 -->
         <div class="gongneng">
         <div class="gongneng">
           <el-button
           <el-button
-           v-if="store.BtnRole('visitorManagementSetting1')"
+            v-if="store.BtnRole('visitorManagementSetting1')"
             type="primary"
             type="primary"
             color="rgba(48, 201, 191, 1)"
             color="rgba(48, 201, 191, 1)"
             @click="buildExportbtn"
             @click="buildExportbtn"
             >导出</el-button
             >导出</el-button
           >
           >
           <el-button
           <el-button
-          v-if="store.BtnRole('visitorManagementSetting2')"
+            v-if="store.BtnRole('visitorManagementSetting2')"
             type="primary"
             type="primary"
             style="margin-left: 0"
             style="margin-left: 0"
             color="rgba(38, 151, 255, 1)"
             color="rgba(38, 151, 255, 1)"
@@ -94,27 +96,32 @@
             index="1"
             index="1"
           />
           />
           <el-table-column
           <el-table-column
+            width="100"
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="学生姓名"
             label="学生姓名"
           />
           />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
+            width="220"
             prop="studentCard"
             prop="studentCard"
             label="学号/录取号"
             label="学号/录取号"
           />
           />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
+            width="130"
             prop="phone"
             prop="phone"
             label="手机号码"
             label="手机号码"
           />
           />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
-            tooltip-formatter
+            show-overflow-tooltip
             prop="visitorReason"
             prop="visitorReason"
+            width="220"
             label="访问事由"
             label="访问事由"
           />
           />
           <el-table-column
           <el-table-column
+            width="120"
             align="center"
             align="center"
             prop="school"
             prop="school"
             label="校区名称"
             label="校区名称"
@@ -122,9 +129,11 @@
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="startTime"
             prop="startTime"
+            width="200"
             label="到访开始时间"
             label="到访开始时间"
           />
           />
           <el-table-column
           <el-table-column
+            width="200"
             align="center"
             align="center"
             prop="endTime"
             prop="endTime"
             label="到访结束时间"
             label="到访结束时间"
@@ -143,16 +152,31 @@
           />
           />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
-            tooltip-formatter
+            show-overflow-tooltip
             width="200"
             width="200"
             prop="remark"
             prop="remark"
             label="备注"
             label="备注"
           />
           />
-          <el-table-column align="center" label="操作" fixed="right" min-width="120">
+          <el-table-column
+            align="center"
+            label="操作"
+            fixed="right"
+            min-width="120"
+          >
             <template #default="{ row }">
             <template #default="{ row }">
               <div class="options">
               <div class="options">
-                <span v-if="store.BtnRole('visitorManagementSetting3')" class="edit" @click="updateS(row)">编辑</span>
-                <span v-if="store.BtnRole('visitorManagementSetting4')" class="delete" @click="deleteS(row)">删除</span>
+                <span
+                  v-if="store.BtnRole('visitorManagementSetting3')"
+                  class="edit"
+                  @click="updateS(row)"
+                  >编辑</span
+                >
+                <span
+                  v-if="store.BtnRole('visitorManagementSetting4')"
+                  class="delete"
+                  @click="deleteS(row)"
+                  >删除</span
+                >
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -324,7 +348,7 @@ const dialongTitle = ref("新增账号"); // 弹窗标题
 const searchInput = reactive({
 const searchInput = reactive({
   name: "",
   name: "",
   carNumber: "",
   carNumber: "",
-  school:""
+  school: "",
 }); // 搜索按钮数据
 }); // 搜索按钮数据
 
 
 const currentPage = ref(1); // 当前页
 const currentPage = ref(1); // 当前页
@@ -351,11 +375,21 @@ const ruleForm = reactive({
 });
 });
 // 表单验证
 // 表单验证
 const rules = reactive({
 const rules = reactive({
-  driverName: [{ required: true, message: "驾驶员姓名不能为空", trigger: "blur" }],
-  phone: [{ required: true, message: "驾驶员手机号不能为空", trigger: "blur" }],
+  phone: [
+    { required: true, message: "手机号码不能为空", trigger: "blur" },
+    {
+      min: 8,
+      max: 20,
+      pattern: /^1[3-9]\d{9}$/,
+      message: "手机号码格式有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
   name: [{ required: true, message: "学生姓名不能为空", trigger: "blur" }],
   name: [{ required: true, message: "学生姓名不能为空", trigger: "blur" }],
-  studentCard: [{ required: true, message: "学生证件号不能为空", trigger: "blur" }],
-  cardId: [{ required: true, message: "证件号不能为空", trigger: "blur" }],
+  studentCard: [
+    { required: true, message: "学生证件号不能为空", trigger: "blur" },
+  ],
+  cardId: [{ required: true, message: "学号/录取号不能为空", trigger: "blur" }],
   school: [{ required: true, message: "校区名称不能为空", trigger: "blur" }],
   school: [{ required: true, message: "校区名称不能为空", trigger: "blur" }],
   startTime: [{ required: true, message: "到访时间不能为空", trigger: "blur" }],
   startTime: [{ required: true, message: "到访时间不能为空", trigger: "blur" }],
   carNumber: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
   carNumber: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
@@ -417,9 +451,9 @@ const searchBtn = lodash.debounce(async () => {
   getList();
   getList();
 }, 300);
 }, 300);
 const resetBtn = lodash.debounce(async () => {
 const resetBtn = lodash.debounce(async () => {
-  searchInput.name=null
-  searchInput.carNumber=null
-  searchInput.school=null
+  searchInput.name = null;
+  searchInput.carNumber = null;
+  searchInput.school = null;
   getList();
   getList();
 }, 300);
 }, 300);
 
 
@@ -429,7 +463,7 @@ const addlist = () => {
   addDialogVisible.value = true;
   addDialogVisible.value = true;
   ruleForm.phone = null; // 手机号
   ruleForm.phone = null; // 手机号
   ruleForm.name = null; // 学生姓名
   ruleForm.name = null; // 学生姓名
-  ruleForm.studentCard=null
+  ruleForm.studentCard = null;
   ruleForm.school = null; // 校区名称不能为空 只能为墨轩湖校区或黄家湖校区
   ruleForm.school = null; // 校区名称不能为空 只能为墨轩湖校区或黄家湖校区
   ruleForm.startTime = null; // 到访开始时间
   ruleForm.startTime = null; // 到访开始时间
   ruleForm.carNumber = null; // 车牌号
   ruleForm.carNumber = null; // 车牌号
@@ -441,13 +475,13 @@ const addlist = () => {
 const updateS = (row) => {
 const updateS = (row) => {
   dialongTitle.value = "编辑访客信息";
   dialongTitle.value = "编辑访客信息";
   console.log(row);
   console.log(row);
-  
+
   addDialogVisible.value = true;
   addDialogVisible.value = true;
   ruleForm.phone = row.phone;
   ruleForm.phone = row.phone;
-  ruleForm.studentCard=row.studentCard
+  ruleForm.studentCard = row.studentCard;
   ruleForm.name = row.name;
   ruleForm.name = row.name;
   ruleForm.school = `${row.school},${row.schoolId}`;
   ruleForm.school = `${row.school},${row.schoolId}`;
-  ruleForm.startTime = [row.startTime,row.endTime];
+  ruleForm.startTime = [row.startTime, row.endTime];
   ruleForm.carNumber = row.carNumber;
   ruleForm.carNumber = row.carNumber;
   ruleForm.peerNum = row.peerNum;
   ruleForm.peerNum = row.peerNum;
   ruleForm.visitorReason = row.visitorReason;
   ruleForm.visitorReason = row.visitorReason;
@@ -462,7 +496,11 @@ const deleteS = async (row) => {
   })
   })
     .then(async () => {
     .then(async () => {
       let data = [row.id];
       let data = [row.id];
-      let res = await https.delete("/welcome/api/visitor/admin/batch-del", "data", data);
+      let res = await https.delete(
+        "/welcome/api/visitor/admin/batch-del",
+        "data",
+        data
+      );
       if (res.code == 200) {
       if (res.code == 200) {
         ElMessage({
         ElMessage({
           type: "success",
           type: "success",
@@ -493,9 +531,9 @@ const submitAdd = lodash.debounce(async (formEl) => {
       let data = {
       let data = {
         phone: ruleForm.phone,
         phone: ruleForm.phone,
         name: ruleForm.name,
         name: ruleForm.name,
-        studentCard:ruleForm.studentCard,
-        school: ruleForm.school.split(',')[0],
-        schoolId: ruleForm.school.split(',')[1],
+        studentCard: ruleForm.studentCard,
+        school: ruleForm.school.split(",")[0],
+        schoolId: ruleForm.school.split(",")[1],
         startTime: ruleForm.startTime[0],
         startTime: ruleForm.startTime[0],
         endTime: ruleForm.startTime[1],
         endTime: ruleForm.startTime[1],
         carNumber: ruleForm.carNumber,
         carNumber: ruleForm.carNumber,
@@ -595,7 +633,7 @@ const buildExportbtn = async () => {
   let params = {
   let params = {
     name: searchInput.name,
     name: searchInput.name,
     carNumber: searchInput.carNumber,
     carNumber: searchInput.carNumber,
-    school: searchInput.school
+    school: searchInput.school,
   };
   };
   let res = await https.getBlob(
   let res = await https.getBlob(
     "/welcome/api/visitor/admin/export",
     "/welcome/api/visitor/admin/export",
@@ -684,7 +722,7 @@ onUnmounted(() => {
           :deep(.el-input .el-input__inner) {
           :deep(.el-input .el-input__inner) {
             font-size: 14px;
             font-size: 14px;
           }
           }
-          .el-select{
+          .el-select {
             width: 220px;
             width: 220px;
           }
           }
           span {
           span {

+ 10 - 10
src/views/dataOverview/dataOverview.vue

@@ -30,13 +30,10 @@
             class="yuyue"
             class="yuyue"
             style="color: rgba(128, 128, 128, 1); font-size: 18px"
             style="color: rgba(128, 128, 128, 1); font-size: 18px"
           >
           >
-            <span
-              @click="carSchoolChange('huang')"
-              class="active"
-              style="margin-right: 20px"
-              >黄家湖</span
+            <span @click="carSchoolChange('mo')" style="margin-right: 20px"
+              >墨轩湖</span
             >
             >
-            <span @click="carSchoolChange('mo')">墨轩湖</span>
+            <span @click="carSchoolChange('huang')" class="active">黄家湖</span>
           </p>
           </p>
           <p style="color: rgba(128, 128, 128, 1); font-size: 18px">
           <p style="color: rgba(128, 128, 128, 1); font-size: 18px">
             今日约车牌数 / 剩余车位数
             今日约车牌数 / 剩余车位数
@@ -59,10 +56,13 @@
             class="yuyue"
             class="yuyue"
             style="color: rgba(128, 128, 128, 1); font-size: 18px"
             style="color: rgba(128, 128, 128, 1); font-size: 18px"
           >
           >
-            <span @click="carSchoolChange('huang')" style="margin-right: 20px"
-              >黄家湖</span
+            <span
+              class="active"
+              @click="carSchoolChange('mo')"
+              style="margin-right: 20px"
+              >墨轩湖</span
             >
             >
-            <span class="active" @click="carSchoolChange('mo')">墨轩湖</span>
+            <span @click="carSchoolChange('huang')">黄家湖</span>
           </p>
           </p>
           <p style="color: rgba(128, 128, 128, 1); font-size: 18px">
           <p style="color: rgba(128, 128, 128, 1); font-size: 18px">
             今日约车牌数 / 剩余车位数
             今日约车牌数 / 剩余车位数
@@ -170,7 +170,7 @@ const disposeList = ref([
     title: "今日预约车牌数/总数",
     title: "今日预约车牌数/总数",
   },
   },
 ]);
 ]);
-const carSchool = ref("huang");
+const carSchool = ref("mo");
 const carArr = reactive({
 const carArr = reactive({
   huang: {},
   huang: {},
   mo: {},
   mo: {},

+ 3 - 4
src/views/dormitory/dormitory.vue

@@ -44,6 +44,7 @@
             <el-select
             <el-select
               v-model="searchInput.dormitoryId"
               v-model="searchInput.dormitoryId"
               placeholder="请选择寝室号"
               placeholder="请选择寝室号"
+              clearable
             >
             >
               <el-option
               <el-option
                 v-for="i in dormitoryData"
                 v-for="i in dormitoryData"
@@ -188,13 +189,11 @@
         >
         >
           <el-table-column type="selection" align="center" width="55" />
           <el-table-column type="selection" align="center" width="55" />
           <el-table-column
           <el-table-column
-            width="100"
             align="center"
             align="center"
             prop="school"
             prop="school"
             label="校区名称"
             label="校区名称"
           />
           />
           <el-table-column
           <el-table-column
-            width="120"
             align="center"
             align="center"
             prop="build"
             prop="build"
             label="楼栋名称"
             label="楼栋名称"
@@ -207,7 +206,6 @@
             label="寝室性别"
             label="寝室性别"
           />
           />
           <el-table-column
           <el-table-column
-            width="140"
             align="center"
             align="center"
             prop="college"
             prop="college"
             label="所属学院"
             label="所属学院"
@@ -623,9 +621,10 @@ const dormitoryList = async () => {
   let params = {
   let params = {
     schoolId: searchInput.schoolId,
     schoolId: searchInput.schoolId,
     buildId: searchInput.buildId,
     buildId: searchInput.buildId,
+    accountId:sessionStorage.getItem("accountId"),
   };
   };
   let res = await https.get(
   let res = await https.get(
-    "/welcome/api/welcome-dormitory/dormitoryGroup",
+    "/welcome/api/welcome-dormitory/dormitoryTGroup",
     "params",
     "params",
     params
     params
   );
   );

+ 15 - 15
src/views/quarterage/quarterage.vue

@@ -94,7 +94,7 @@
           />
           />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
-            tooltip-formatter
+            show-overflow-tooltip
             prop="assignedDormitory"
             prop="assignedDormitory"
             label="已分配寝室数"
             label="已分配寝室数"
           />
           />
@@ -134,7 +134,7 @@
           <el-table-column align="center" prop="sleeper" label="已入住人数" />
           <el-table-column align="center" prop="sleeper" label="已入住人数" />
           <el-table-column
           <el-table-column
             align="center"
             align="center"
-            tooltip-formatter
+            show-overflow-tooltip
             prop="unSleeper"
             prop="unSleeper"
             label="未入住人数"
             label="未入住人数"
           />
           />
@@ -196,19 +196,19 @@ const searchInput = reactive({
 const collegeData = ref([]);
 const collegeData = ref([]);
 
 
 const collegeList = async () => {
 const collegeList = async () => {
-  // collegeData.value = collegeRole.value;
-  let res = await https.get("/welcome/api/welcomeOrg/getColleges", "params");
-  console.log(res, "学院数据");
-  if (res.code == 200) {
-    collegeData.value = res.data;
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.message,
-      center: true,
-    });
-  }
+  collegeData.value = collegeRole.value;
+  // let res = await https.get("/welcome/api/welcomeOrg/getColleges", "params");
+  // console.log(res, "学院数据");
+  // if (res.code == 200) {
+  //   collegeData.value = res.data;
+  // } else {
+  //   ElMessage({
+  //     type: "error",
+  //     showClose: true,
+  //     message: res.message,
+  //     center: true,
+  //   });
+  // }
 };
 };
 // 获取账户列表
 // 获取账户列表
 const getList = async () => {
 const getList = async () => {

+ 31 - 4
src/views/richtext/richtext.vue

@@ -8,7 +8,7 @@
         :mode="mode"
         :mode="mode"
       />
       />
       <Editor
       <Editor
-        style="height: 200px; overflow-y: hidden"
+        style="height: 300px; overflow-y: hidden"
         v-model="valueHtml"
         v-model="valueHtml"
         :defaultConfig="editorConfig"
         :defaultConfig="editorConfig"
         :mode="mode"
         :mode="mode"
@@ -30,6 +30,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
 import { Calendar } from "@element-plus/icons-vue";
 import { Calendar } from "@element-plus/icons-vue";
 import { dayjs } from "element-plus";
 import { dayjs } from "element-plus";
 import lodash, { reduce } from "lodash";
 import lodash, { reduce } from "lodash";
+import { https } from "@/utils/request"; // 绝对路径
 
 
 import "@wangeditor/editor/dist/css/style.css"; // 引入 css
 import "@wangeditor/editor/dist/css/style.css"; // 引入 css
 
 
@@ -57,13 +58,39 @@ const toolbarConfig = {
     "insertTable",
     "insertTable",
     "fullScreen",
     "fullScreen",
     "insertImage",
     "insertImage",
-    "group-image",
+    // "group-image",
     "todo",
     "todo",
   ],
   ],
 };
 };
-const uploadImg = (file, insertFn) => {
-  let imgData = new FormData();
+const uploadImg = async (file, insertFn) => {
+  // let imgData = new FormData();
   console.log(file);
   console.log(file);
+  let srcImg = file;
+  let data = new FormData();
+  data.set("file", srcImg);
+  let res = await https.post(
+    "/welcome/api/welcomeFile/uploadFile",
+    "data",
+    data
+  );
+  console.log(res, "导入照片");
+  if (res.code == 200) {
+    let href = res.data.url;
+    insertFn(href);
+    ElMessage({
+      type: "success",
+      showClose: true,
+      message: res.message,
+      center: true,
+    });
+  } else {
+    ElMessage({
+      type: "error",
+      showClose: true,
+      message: res.message,
+      center: true,
+    });
+  }
   // const cos = new COS({
   // const cos = new COS({
   //   SecretId: "AKID3HGLVgpx128DNdxOvyDb1mWLHELWt7Sw",
   //   SecretId: "AKID3HGLVgpx128DNdxOvyDb1mWLHELWt7Sw",
   //   SecretKey: "n7uhSfzAdCmWQRWUMCYfvP3sv3DMg6aD",
   //   SecretKey: "n7uhSfzAdCmWQRWUMCYfvP3sv3DMg6aD",

+ 3 - 3
src/views/role/role.vue

@@ -78,9 +78,9 @@
           <el-table-column align="center" prop="createTime" label="创建时间" />
           <el-table-column align="center" prop="createTime" label="创建时间" />
           <el-table-column align="center" label="操作" fixed="right">
           <el-table-column align="center" label="操作" fixed="right">
             <template #default="{ row }">
             <template #default="{ row }">
-              <div class="options">
+              <div class="options" >
                 <span class="edit"  v-if="store.BtnRole('roleManagementSetting2')" @click="updateS(row)">编辑</span>
                 <span class="edit"  v-if="store.BtnRole('roleManagementSetting2')" @click="updateS(row)">编辑</span>
-                <span class="delete"  v-if="store.BtnRole('roleManagementSetting3')" @click="deleteS(row)">删除</span>
+                <span class="delete" v-if="store.BtnRole('roleManagementSetting3') && (row.id!=1 && row.id!=2 && row.id!=3 && row.id!=4)" @click="deleteS(row)">删除</span>
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -393,7 +393,7 @@ const router = useRouter();
 const store = useCounterStore();
 const store = useCounterStore();
 
 
 // 为避免解构时失去响应性
 // 为避免解构时失去响应性
-const { name, age, isCollapse, realAge } = storeToRefs(store);
+const { name, age, isCollapse, realAge,roleId } = storeToRefs(store);
 
 
 // 表格数据
 // 表格数据
 const loading = ref(false);
 const loading = ref(false);

+ 6 - 5
src/views/student/student.vue

@@ -157,7 +157,7 @@
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="cardNum"
             prop="cardNum"
-            width="120"
+            width="200"
             label="录取号"
             label="录取号"
           />
           />
           <el-table-column
           <el-table-column
@@ -189,15 +189,15 @@
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="college"
             prop="college"
-            width="130"
+            width="140"
             label="所属学院"
             label="所属学院"
           />
           />
-          <el-table-column align="center" prop="major" width="180" label="专业">
+          <el-table-column align="center" prop="major" width="220" label="专业">
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             align="center"
             align="center"
             prop="classstr"
             prop="classstr"
-            width="180"
+            width="220"
             label="所属班级"
             label="所属班级"
           />
           />
 
 
@@ -335,10 +335,11 @@ const schoolList = async () => {
 const buildList = async (flag) => {
 const buildList = async (flag) => {
   let params = {
   let params = {
     schoolId: searchInput.schoolId,
     schoolId: searchInput.schoolId,
+    accountId: sessionStorage.getItem("accountId"),
   };
   };
   let res = await https.get(
   let res = await https.get(
     // "/welcome/api/welcome-build/buildGroup",
     // "/welcome/api/welcome-build/buildGroup",
-    "/welcome/api/welcome-dormitory/saveBedDormitoryGroup",
+    "/welcome/api/welcome-dormitory/saveBedBuildGroup",
     "params",
     "params",
     params
     params
   );
   );

+ 122 - 87
src/views/studentInfo/studentInfo.vue

@@ -142,7 +142,7 @@
             label="姓名"
             label="姓名"
           />
           />
           <el-table-column
           <el-table-column
-            width="180"
+            width="190"
             align="center"
             align="center"
             prop="cardId"
             prop="cardId"
             label="身份证号"
             label="身份证号"
@@ -158,13 +158,13 @@
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
-            width="120"
+            width="190"
             align="center"
             align="center"
             prop="major"
             prop="major"
             label="专业"
             label="专业"
           />
           />
           <el-table-column
           <el-table-column
-            width="160"
+            width="220"
             align="center"
             align="center"
             prop="classstr"
             prop="classstr"
             label="班级"
             label="班级"
@@ -357,6 +357,7 @@
             <el-form-item label="校区 " prop="school">
             <el-form-item label="校区 " prop="school">
               <el-select
               <el-select
                 clearable
                 clearable
+                :disabled="ruleForm.fillStatus == '已填报'"
                 @change="schoolChange"
                 @change="schoolChange"
                 v-model="ruleForm.school"
                 v-model="ruleForm.school"
                 placeholder="请选择校区名称"
                 placeholder="请选择校区名称"
@@ -378,7 +379,7 @@
             </el-form-item>
             </el-form-item>
             <el-form-item label="身份证号 :" prop="cardId">
             <el-form-item label="身份证号 :" prop="cardId">
               <el-input
               <el-input
-                :disabled="dialongTitle!='新增学生信息'"
+                :disabled="dialongTitle != '新增学生信息'"
                 v-model.trim="ruleForm.cardId"
                 v-model.trim="ruleForm.cardId"
                 placeholder="请输入身份证号"
                 placeholder="请输入身份证号"
                 clearable
                 clearable
@@ -643,23 +644,51 @@
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="到站地点 :" prop="arrive">
             <el-form-item label="到站地点 :" prop="arrive">
-              <el-select v-model="ruleForm.arrive" placeholder="请选择到站地点">
+              <el-select
+                v-if="ruleForm.trafficMethod == '自驾'"
+                v-model="ruleForm.arrive"
+                placeholder="请选择到站地点"
+              >
+                <el-option label="黄家湖校区" value="黄家湖校区" />
+                <el-option label="墨轩湖校区" value="墨轩湖校区" />
+              </el-select>
+              <el-select
+                v-else-if="ruleForm.trafficMethod == '飞机'"
+                v-model="ruleForm.arrive"
+                placeholder="请选择到站地点"
+              >
+                <el-option label="昌北机场" value="昌北机场" />
+              </el-select>
+              <el-select
+                v-else-if="ruleForm.trafficMethod == '火车'"
+                v-model="ruleForm.arrive"
+                placeholder="请选择到站地点"
+              >
+                <el-option label="南昌火车站" value="南昌火车站" />
+                <el-option label="南昌西站" value="南昌西站" />
+                <el-option label="南昌东站" value="南昌东站" />
+              </el-select>
+              <el-select
+                v-else-if="ruleForm.trafficMethod == '汽车'"
+                v-model="ruleForm.arrive"
+                placeholder="请选择到站地点"
+              >
+                <el-option label="南昌长途汽车西站" value="南昌长途汽车西站" />
+                <el-option label="靖安汽车站" value="靖安汽车站" />
+              </el-select>
+              <el-select
+                v-else
+                v-model="ruleForm.arrive"
+                placeholder="请选择到站地点"
+              >
                 <el-option label="南昌火车站" value="南昌火车站" />
                 <el-option label="南昌火车站" value="南昌火车站" />
                 <el-option label="南昌西站" value="南昌西站" />
                 <el-option label="南昌西站" value="南昌西站" />
                 <el-option label="南昌东站" value="南昌东站" />
                 <el-option label="南昌东站" value="南昌东站" />
                 <el-option label="昌北机场" value="昌北机场" />
                 <el-option label="昌北机场" value="昌北机场" />
-                <el-option label="南昌汽车站" value="南昌汽车站" />
+                <el-option label="南昌长途汽车西站" value="南昌长途汽车西站" />
                 <el-option label="靖安汽车站" value="靖安汽车站" />
                 <el-option label="靖安汽车站" value="靖安汽车站" />
-                <el-option
-                  v-if="ruleForm.trafficMethod == '自驾'"
-                  label="黄家湖校区"
-                  value="黄家湖校区"
-                />
-                <el-option
-                  v-if="ruleForm.trafficMethod == '自驾'"
-                  label="墨轩湖校区"
-                  value="墨轩湖校区"
-                />
+                <el-option label="黄家湖校区" value="黄家湖校区" />
+                <el-option label="墨轩湖校区" value="墨轩湖校区" />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
           </div>
           </div>
@@ -905,7 +934,7 @@
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">校区 :</span>
               <span class="title">校区 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.school ? ruleForm.school.split(",")[0] : ""
+                ruleForm.school ? ruleForm.school : ""
               }}</span>
               }}</span>
             </div>
             </div>
             <div class="el-form-item">
             <div class="el-form-item">
@@ -951,19 +980,19 @@
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">院系 :</span>
               <span class="title">院系 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.college ? ruleForm.college.split(",")[0] : ""
+                ruleForm.college ? ruleForm.college : ""
               }}</span>
               }}</span>
             </div>
             </div>
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">专业 :</span>
               <span class="title">专业 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.major ? ruleForm.major.split(",")[0] : ""
+                ruleForm.major ? ruleForm.major : ""
               }}</span>
               }}</span>
             </div>
             </div>
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">所属班级 :</span>
               <span class="title">所属班级 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.classstr ? ruleForm.classstr.split(",")[0] : ""
+                ruleForm.classstr ? ruleForm.classstr : ""
               }}</span>
               }}</span>
             </div>
             </div>
             <div class="el-form-item">
             <div class="el-form-item">
@@ -990,28 +1019,28 @@
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">籍贯 :</span>
               <span class="title">籍贯 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.oprovince ? ruleForm.oprovince.split(",")[0] : ""
+                ruleForm.oprovince ? ruleForm.oprovince : ""
               }}</span>
               }}</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.ocity ? ruleForm.ocity.split(",")[0] : ""
+                ruleForm.ocity ? ruleForm.ocity : ""
               }}</span>
               }}</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.odistrict ? ruleForm.odistrict.split(",")[0] : ""
+                ruleForm.odistrict ? ruleForm.odistrict : ""
               }}</span>
               }}</span>
             </div>
             </div>
             <div class="el-form-item">
             <div class="el-form-item">
               <span class="title">家庭住址 :</span>
               <span class="title">家庭住址 :</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.province ? ruleForm.province.split(",")[0] : ""
+                ruleForm.province ? ruleForm.province : ""
               }}</span>
               }}</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.city ? ruleForm.city.split(",")[0] : ""
+                ruleForm.city ? ruleForm.city : ""
               }}</span>
               }}</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.district ? ruleForm.district.split(",")[0] : ""
+                ruleForm.district ? ruleForm.district : ""
               }}</span>
               }}</span>
               <span class="title_content">{{
               <span class="title_content">{{
-                ruleForm.address ? ruleForm.address.split(",")[0] : ""
+                ruleForm.address ? ruleForm.address : ""
               }}</span>
               }}</span>
             </div>
             </div>
           </div>
           </div>
@@ -1107,19 +1136,19 @@
           <div class="el-form-item">
           <div class="el-form-item">
             <span class="title">楼栋 :</span>
             <span class="title">楼栋 :</span>
             <span class="title_content">{{
             <span class="title_content">{{
-              ruleForm.build ? ruleForm.build.split(",")[0] : ""
+              ruleForm.build ? ruleForm.build : ""
             }}</span>
             }}</span>
           </div>
           </div>
           <div class="el-form-item">
           <div class="el-form-item">
             <span class="title">寝室号 :</span>
             <span class="title">寝室号 :</span>
             <span class="title_content">{{
             <span class="title_content">{{
-              ruleForm.dormitory ? ruleForm.dormitory.split(",")[0] : ""
+              ruleForm.dormitory ? ruleForm.dormitory : ""
             }}</span>
             }}</span>
           </div>
           </div>
           <div class="el-form-item">
           <div class="el-form-item">
             <span class="title">床位号 :</span>
             <span class="title">床位号 :</span>
             <span class="title_content">{{
             <span class="title_content">{{
-              ruleForm.bed ? ruleForm.bed.split(",")[0] : ""
+              ruleForm.bed ? ruleForm.bed : ""
             }}</span>
             }}</span>
           </div>
           </div>
         </div>
         </div>
@@ -1314,7 +1343,7 @@ const router = useRouter();
 const store = useCounterStore();
 const store = useCounterStore();
 
 
 // 为避免解构时失去响应性
 // 为避免解构时失去响应性
-const { name, age, isCollapse, realAge,roleList } = storeToRefs(store);
+const { name, age, isCollapse, realAge, collegeRole } = storeToRefs(store);
 
 
 // 表格数据
 // 表格数据
 const loading = ref(false);
 const loading = ref(false);
@@ -1390,13 +1419,24 @@ const ruleForm = reactive({
 
 
   amountPayable: "", // 应缴金额
   amountPayable: "", // 应缴金额
   payAmount: "", // 实付金额
   payAmount: "", // 实付金额
+
+  fillStatus: "", // 判断有无填报
   id: "",
   id: "",
 });
 });
 const pictureRef = ref();
 const pictureRef = ref();
 // 表单验证
 // 表单验证
 const rules = reactive({
 const rules = reactive({
   admissNum: [{ required: true, message: "录取号不能为空", trigger: "blur" }],
   admissNum: [{ required: true, message: "录取号不能为空", trigger: "blur" }],
-  cardId: [{ required: true, message: "身份证号不能为空", trigger: "blur" }],
+  cardId: [
+    { required: true, message: "身份证号不能为空", trigger: "blur" },
+    {
+      min: 8,
+      max: 20,
+      pattern: /^(?:\d{15}|\d{17}[\dX])$/,
+      message: "身份证号码格式有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
   birthday: [{ required: true, message: "出生年月不能为空", trigger: "blur" }],
   birthday: [{ required: true, message: "出生年月不能为空", trigger: "blur" }],
   examNum: [{ required: true, message: "考生号不能为空", trigger: "blur" }],
   examNum: [{ required: true, message: "考生号不能为空", trigger: "blur" }],
   graduationSchool: [
   graduationSchool: [
@@ -1411,7 +1451,16 @@ const rules = reactive({
   batchValue: [{ required: true, message: "批次不能为空", trigger: "blur" }],
   batchValue: [{ required: true, message: "批次不能为空", trigger: "blur" }],
   nationality: [{ required: true, message: "民族不能为空", trigger: "blur" }],
   nationality: [{ required: true, message: "民族不能为空", trigger: "blur" }],
 
 
-  phone: [{ required: true, message: "手机号码不能为空", trigger: "blur" }],
+  phone: [
+    { required: true, message: "手机号码不能为空", trigger: "blur" },
+    {
+      min: 8,
+      max: 20,
+      pattern: /^1[3-9]\d{9}$/,
+      message: "手机号码格式有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
   address: [{ required: true, message: "详情地址不能为空", trigger: "blur" }],
   address: [{ required: true, message: "详情地址不能为空", trigger: "blur" }],
   registerOntime: [
   registerOntime: [
     { required: true, message: "按时报到不能为空", trigger: "blur" },
     { required: true, message: "按时报到不能为空", trigger: "blur" },
@@ -1462,7 +1511,16 @@ const addfamilysRules = reactive({
   name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
   name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
   familyShip: [{ required: true, message: "称谓不能为空", trigger: "blur" }],
   familyShip: [{ required: true, message: "称谓不能为空", trigger: "blur" }],
   workUnit: [{ required: true, message: "工作单位不能为空", trigger: "blur" }],
   workUnit: [{ required: true, message: "工作单位不能为空", trigger: "blur" }],
-  phone: [{ required: true, message: "联系电话不能为空", trigger: "blur" }],
+  phone: [
+    { required: true, message: "联系电话不能为空", trigger: "blur" },
+    {
+      min: 8,
+      max: 20,
+      pattern: /^1[3-9]\d{9}$/,
+      message: "手机号码格式有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
 });
 });
 // 家庭成员 End
 // 家庭成员 End
 
 
@@ -1476,18 +1534,19 @@ const classstrData = ref([]);
 const classstrFormData = ref([]);
 const classstrFormData = ref([]);
 
 
 const collegeList = async () => {
 const collegeList = async () => {
-  let res = await https.get("/welcome/api/welcomeOrg/getColleges", "params");
-  console.log(res, "学院数据");
-  if (res.code == 200) {
-    collegeData.value = res.data;
-  } else {
-    ElMessage({
-      type: "error",
-      showClose: true,
-      message: res.message,
-      center: true,
-    });
-  }
+  collegeData.value = collegeRole.value;
+  // let res = await https.get("/welcome/api/welcomeOrg/getColleges", "params");
+  // console.log(res, "学院数据");
+  // if (res.code == 200) {
+  //   collegeData.value = res.data;
+  // } else {
+  //   ElMessage({
+  //     type: "error",
+  //     showClose: true,
+  //     message: res.message,
+  //     center: true,
+  //   });
+  // }
 };
 };
 const majorList = async (flag) => {
 const majorList = async (flag) => {
   let params = {
   let params = {
@@ -1997,7 +2056,7 @@ const submitAddfamilys = lodash.debounce(async (formEl) => {
 const addlist = () => {
 const addlist = () => {
   dialongTitle.value = "新增学生信息";
   dialongTitle.value = "新增学生信息";
   addDialogVisible.value = true;
   addDialogVisible.value = true;
-  ruleForm.school=null
+  ruleForm.school = null;
   ruleForm.picture = null;
   ruleForm.picture = null;
   ruleForm.admissNum = null;
   ruleForm.admissNum = null;
   ruleForm.name = null;
   ruleForm.name = null;
@@ -2046,6 +2105,7 @@ const addlist = () => {
   // 车辆信息
   // 车辆信息
   ruleForm.carNumber = null;
   ruleForm.carNumber = null;
 
 
+  ruleForm.fillStatus = null;
   ruleForm.id = null;
   ruleForm.id = null;
 };
 };
 // 添加账号
 // 添加账号
@@ -2054,6 +2114,7 @@ const updateS = async (row) => {
   dialongTitle.value = "编辑学生信息";
   dialongTitle.value = "编辑学生信息";
   addDialogVisible.value = true;
   addDialogVisible.value = true;
   ruleForm.id = row.id;
   ruleForm.id = row.id;
+  ruleForm.fillStatus = row.fillStatus;
 
 
   let data = {
   let data = {
     id: row.id, // 当前页
     id: row.id, // 当前页
@@ -2254,13 +2315,9 @@ const infoStudent = async (row) => {
     ruleForm.sex = resData.sex;
     ruleForm.sex = resData.sex;
     ruleForm.birthday = resData.birthday;
     ruleForm.birthday = resData.birthday;
 
 
-    ruleForm.college = `${resData.college},${resData.collegeId}`;
-    majorList(resData.collegeId).then(() => {
-      ruleForm.major = `${resData.major},${resData.majorId}`;
-      classstrList(resData.majorId).then(() => {
-        ruleForm.classstr = `${resData.classstr},${resData.classstrId}`;
-      });
-    });
+    ruleForm.college = resData.college;
+    ruleForm.major = resData.major;
+    ruleForm.classstr = resData.classstr;
 
 
     ruleForm.examNum = resData.examNum;
     ruleForm.examNum = resData.examNum;
     ruleForm.eduSystem = resData.eduSystem;
     ruleForm.eduSystem = resData.eduSystem;
@@ -2272,21 +2329,13 @@ const infoStudent = async (row) => {
     // 填报明细
     // 填报明细
     ruleForm.phone = resData.phone;
     ruleForm.phone = resData.phone;
 
 
-    ruleForm.oprovince = `${resData.oprovince},${resData.oprovinceId}`;
-    cityList("籍贯").then(() => {
-      ruleForm.ocity = `${resData.ocity},${resData.ocityId}`;
-      districtList("籍贯").then(() => {
-        ruleForm.odistrict = `${resData.odistrict},${resData.odistrictId}`;
-      });
-    });
+    ruleForm.oprovince = resData.oprovince;
+    ruleForm.ocity = resData.ocity;
+    ruleForm.odistrict = resData.odistrict;
 
 
-    ruleForm.province = `${resData.province},${resData.provinceId}`;
-    cityList().then(() => {
-      ruleForm.city = `${resData.city},${resData.cityId}`;
-      districtList().then(() => {
-        ruleForm.district = `${resData.district},${resData.districtId}`;
-      });
-    });
+    ruleForm.province = resData.province;
+    ruleForm.city = resData.city;
+    ruleForm.district = resData.district;
     ruleForm.address = resData.address;
     ruleForm.address = resData.address;
 
 
     ruleForm.registerOntime = resData.registerOntime ? 1 : 0; // 按时报到
     ruleForm.registerOntime = resData.registerOntime ? 1 : 0; // 按时报到
@@ -2305,24 +2354,10 @@ const infoStudent = async (row) => {
     ruleForm.accompanys = resData.avs;
     ruleForm.accompanys = resData.avs;
 
 
     // 宿舍信息
     // 宿舍信息
-    if (resData.schoolId) {
-      ruleForm.school = `${resData.school},${resData.schoolId}`;
-      buildList().then(() => {
-        if (resData.buildId) {
-          ruleForm.build = `${resData.build},${resData.buildId}`;
-          dormitoryList().then(() => {
-            if (resData.dormitoryId) {
-              ruleForm.dormitory = `${resData.dormitory},${resData.dormitoryId}`;
-              bedList().then(() => {
-                if (resData.bedId) {
-                  ruleForm.bed = `${resData.bed},${resData.bedId}`;
-                }
-              });
-            }
-          });
-        }
-      });
-    }
+    ruleForm.build = resData.build;
+    ruleForm.dormitory = resData.dormitory;
+    ruleForm.bed = resData.bed;
+    ruleForm.school = resData.school;
 
 
     // 缴费信息
     // 缴费信息
     ruleForm.amountPayable = resData.amountPayable;
     ruleForm.amountPayable = resData.amountPayable;
@@ -3076,7 +3111,7 @@ onUnmounted(() => {
         .filling_details {
         .filling_details {
           display: flex;
           display: flex;
           flex-direction: column;
           flex-direction: column;
-          .info_content{
+          .info_content {
             display: flex;
             display: flex;
             flex-wrap: wrap;
             flex-wrap: wrap;
             .el-form-item {
             .el-form-item {

+ 33 - 8
src/views/user/user.vue

@@ -120,15 +120,21 @@
             fixed="right"
             fixed="right"
           >
           >
             <template #default="{ row }">
             <template #default="{ row }">
-              <div class="options">
+              <div class="options" v-if="row.id != 1">
                 <span
                 <span
-                  v-if="store.BtnRole('accountManagementSetting2')"
+                  v-if="
+                    store.BtnRole('accountManagementSetting2') &&
+                    ((roleId ==1 || roleId == 2) && roleId != row.roleId)
+                  "
                   class="edit"
                   class="edit"
                   @click="updateS(row)"
                   @click="updateS(row)"
                   >编辑</span
                   >编辑</span
                 >
                 >
                 <span
                 <span
-                  v-if="store.BtnRole('accountManagementSetting3')"
+                  v-if="
+                    store.BtnRole('accountManagementSetting3') &&
+                    ((roleId ==1 || roleId == 2) && roleId != row.roleId)
+                  "
                   class="delete"
                   class="delete"
                   @click="deleteS(row)"
                   @click="deleteS(row)"
                   >删除</span
                   >删除</span
@@ -278,7 +284,7 @@ const router = useRouter();
 const store = useCounterStore();
 const store = useCounterStore();
 
 
 // 为避免解构时失去响应性
 // 为避免解构时失去响应性
-const { name, age, isCollapse, realAge } = storeToRefs(store);
+const { name, age, isCollapse, realAge, roleId } = storeToRefs(store);
 
 
 // 表格数据
 // 表格数据
 const loading = ref(false);
 const loading = ref(false);
@@ -321,7 +327,16 @@ const ruleForm = reactive({
 const rules = reactive({
 const rules = reactive({
   name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
   name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
   account: [{ required: true, message: "用户名不能为空", trigger: "blur" }],
   account: [{ required: true, message: "用户名不能为空", trigger: "blur" }],
-  phone: [{ required: true, message: "手机号码不能为空", trigger: "blur" }],
+  phone: [
+    { required: true, message: "手机号码不能为空", trigger: "blur" },
+    {
+      min: 8,
+      max: 20,
+      pattern: /^1[3-9]\d{9}$/,
+      message: "手机号码格式有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
   status: [{ required: true, message: "状态不能为空", trigger: "blur" }],
   status: [{ required: true, message: "状态不能为空", trigger: "blur" }],
   password: [
   password: [
     { required: true, message: "密码不能为空", trigger: "blur" },
     { required: true, message: "密码不能为空", trigger: "blur" },
@@ -383,7 +398,16 @@ const roleList = async () => {
   let res = await https.get("/welcome/api/welcomeRole/roleGroup", "params");
   let res = await https.get("/welcome/api/welcomeRole/roleGroup", "params");
   console.log(res, "角色数据");
   console.log(res, "角色数据");
   if (res.code == 200) {
   if (res.code == 200) {
-    roleData.value = res.data;
+    roleData.value = res.data.filter((i) => {
+      if (roleId.value == 1) {
+        return i.id != 1;
+      } else if (roleId.value == 2) {
+        return i.id != 1 && i.id != 2;
+      } else {
+        return [];
+      }
+    });
+    console.log(roleData.value, "重组后角色数据");
   } else {
   } else {
     ElMessage({
     ElMessage({
       type: "error",
       type: "error",
@@ -413,8 +437,9 @@ const searchBtn = lodash.debounce(async () => {
   getList();
   getList();
 }, 300);
 }, 300);
 const resetBtn = lodash.debounce(async () => {
 const resetBtn = lodash.debounce(async () => {
-  searchInput.name = null;
-  searchInput.carNumber = null;
+  searchInput.keyWord = null;
+  searchInput.status = null;
+  searchInput.createTime = null;
   getList();
   getList();
 }, 300);
 }, 300);