Browse Source

修改页面

hzj18279462576@163.com 2 years ago
parent
commit
f86952d9cd

+ 1 - 1
src/layout/sidebar/Navbar.vue

@@ -247,7 +247,7 @@ const submitForm = async (formEl) => {
       if (ruleForm.nowpass == ruleForm.correctpass) {
       if (ruleForm.nowpass == ruleForm.correctpass) {
         let resUpdata = await axios({
         let resUpdata = await axios({
           method: "post",
           method: "post",
-          url: api.value + "login/ChangePassword",
+          url: api.value + "/login/ChangePassword",
           headers: {
           headers: {
             token: sessionStorage.getItem("token"),
             token: sessionStorage.getItem("token"),
             user_head: sessionStorage.getItem("userhead"),
             user_head: sessionStorage.getItem("userhead"),

+ 2 - 3
src/router/index.js

@@ -6,11 +6,10 @@ import {
 
 
 import NProgress from "nprogress";
 import NProgress from "nprogress";
 import "nprogress/nprogress.css";
 import "nprogress/nprogress.css";
-
 import Layout from "@/layout/index.vue";
 import Layout from "@/layout/index.vue";
 const router = createRouter({
 const router = createRouter({
-  // history: createWebHashHistory("/campusMaintenance/repairManage"), // 线上地址
-  history: createWebHashHistory("/testingServer/repairManage"), // 测试环境发布地址
+  history: createWebHashHistory("/campusMaintenance/repairManage"), // 线上地址
+  // history: createWebHashHistory("/testingServer/repairManage"), // 测试环境发布地址
   routes: [
   routes: [
     {
     {
       path: "/login",
       path: "/login",

+ 4 - 4
src/store/modules/user.js

@@ -8,10 +8,10 @@ const state = {
   activeIndex: 0,
   activeIndex: 0,
   username: "",
   username: "",
   password: "",
   password: "",
-  // api: "/campusMaintenance/repair-api/repair/api", // 线上
-  api: "/testingServer/repairTest/repair/api", // 测试
+  api: "/campusMaintenance/repair-api/repair/api", // 线上
+  // api: "/testingServer/repairTest/repair/api", // 测试
   newsNum: "",
   newsNum: "",
-  schoolId:"",// 管理员等级
+  schoolId: "", // 管理员等级
 };
 };
 
 
 // 修改变量(state不能直接赋值修改,只能通过mutations)
 // 修改变量(state不能直接赋值修改,只能通过mutations)
@@ -54,7 +54,7 @@ const actions = {
     commit("newsUp", res.data.data.count);
     commit("newsUp", res.data.data.count);
     sessionStorage.setItem("newsNum", res.data.data.count);
     sessionStorage.setItem("newsNum", res.data.data.count);
   },
   },
- 
+
   // // 车辆管理
   // // 车辆管理
   // busNum: async ({ commit, state }) => {
   // busNum: async ({ commit, state }) => {
   //   let data = new FormData();
   //   let data = new FormData();

+ 31 - 10
src/views/home/home.vue

@@ -178,7 +178,7 @@
                 </template>
                 </template>
               </el-table-column>
               </el-table-column>
               <el-table-column prop="workOrderTotal" align="center" label="工单总数" />
               <el-table-column prop="workOrderTotal" align="center" label="工单总数" />
-              <el-table-column prop="degreePraise" align="center" label="好评" />
+              <el-table-column prop="degreePraise" align="center" label="好评" />
               <!-- <el-table-column prop="timeOut" align="center" label="超时率" /> -->
               <!-- <el-table-column prop="timeOut" align="center" label="超时率" /> -->
               <!-- <el-table-column prop="answer" align="center" width="130" label="平均响应时长(分)" /> -->
               <!-- <el-table-column prop="answer" align="center" width="130" label="平均响应时长(分)" /> -->
               <!-- <el-table-column prop="maintain" align="center" width="130" label="平均维修时长(分)" /> -->
               <!-- <el-table-column prop="maintain" align="center" width="130" label="平均维修时长(分)" /> -->
@@ -220,7 +220,7 @@
                 </template>
                 </template>
               </el-table-column>
               </el-table-column>
               <el-table-column prop="workOrderTotal" align="center" label="工单总数" />
               <el-table-column prop="workOrderTotal" align="center" label="工单总数" />
-              <el-table-column prop="degreePraise" align="center" label="好评" />
+              <el-table-column prop="degreePraise" align="center" label="好评" />
               <!-- <el-table-column prop="timeOut" align="center" label="超时率" /> -->
               <!-- <el-table-column prop="timeOut" align="center" label="超时率" /> -->
               <!-- <el-table-column prop="answer" align="center" width="130" label="平均响应时长(分)" /> -->
               <!-- <el-table-column prop="answer" align="center" width="130" label="平均响应时长(分)" /> -->
               <!-- <el-table-column prop="maintain" align="center" width="130" label="平均维修时长(分)" /> -->
               <!-- <el-table-column prop="maintain" align="center" width="130" label="平均维修时长(分)" /> -->
@@ -251,6 +251,7 @@
               textAlign: 'center',
               textAlign: 'center',
             }">
             }">
               <el-table-column type="index" align="center" label="序号" />
               <el-table-column type="index" align="center" label="序号" />
+              <el-table-column prop="schoolName" align="center" label="校区" />
               <el-table-column prop="articleName" align="center" label="名称" />
               <el-table-column prop="articleName" align="center" label="名称" />
               <el-table-column prop="ordersTotal" align="center" label="工单总数" />
               <el-table-column prop="ordersTotal" align="center" label="工单总数" />
               <el-table-column prop="ordersCompensation" align="center" label="有偿" />
               <el-table-column prop="ordersCompensation" align="center" label="有偿" />
@@ -270,7 +271,7 @@
             <tr>
             <tr>
               <td>姓名</td>
               <td>姓名</td>
               <td>工单总数</td>
               <td>工单总数</td>
-              <td>好评</td>
+              <td>好评</td>
               <td>超时率</td>
               <td>超时率</td>
               <td>平时响应时长(分)</td>
               <td>平时响应时长(分)</td>
               <td>平时维修时长(分)</td>
               <td>平时维修时长(分)</td>
@@ -307,7 +308,7 @@
             <tr>
             <tr>
               <td>姓名</td>
               <td>姓名</td>
               <td>工单总数</td>
               <td>工单总数</td>
-              <td>好评</td>
+              <td>好评</td>
               <td>超时率</td>
               <td>超时率</td>
               <td>平时响应时长(分)</td>
               <td>平时响应时长(分)</td>
               <td>平时维修时长(分)</td>
               <td>平时维修时长(分)</td>
@@ -1783,28 +1784,31 @@ onMounted(() => {
   flex-direction: column;
   flex-direction: column;
 
 
   .item {
   .item {
-    // width: 97%;
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
-    height: 160px;
+    height: 220px;
     border-radius: 8px;
     border-radius: 8px;
     background-color: #fff;
     background-color: #fff;
     box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
     box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
     // margin: 0 30px;
     // margin: 0 30px;
-    padding: 20px 0;
+    // padding: 20px 0;
     color: #000;
     color: #000;
     font-size: 18px;
     font-size: 18px;
     font-weight: 600;
     font-weight: 600;
+    overflow: auto;
+
 
 
     .item_li {
     .item_li {
       display: flex;
       display: flex;
-      justify-content: space-around;
+      // justify-content: space-around;
       margin: 0 15px;
       margin: 0 15px;
       align-items: center;
       align-items: center;
-      width: 100%;
+      // width: 100%;
+      // max-width: calc(100vw - 81px);
+      // min-width: calc(100vw - 200px);
 
 
       .item_card {
       .item_card {
-        flex: 1;
+        width: 256px;
         border-radius: 8px;
         border-radius: 8px;
         height: 120px;
         height: 120px;
         margin: 0 10px;
         margin: 0 10px;
@@ -2215,4 +2219,21 @@ onMounted(() => {
     }
     }
   }
   }
 }
 }
+
+.item::-webkit-scrollbar-track {
+  background-color: #fff;
+}
+
+.item::-webkit-scrollbar {
+  background-color: #57b2ff;
+  height: 5px;
+  width: 3px;
+}
+
+.item::-webkit-scrollbar-thumb {
+  background: #57b2ff;
+  border-radius: 4px;
+  height: 3px;
+  width: 3px;
+}
 </style>
 </style>

+ 3 - 2
src/views/paySuccess/paySuccess.vue

@@ -218,8 +218,9 @@
         </div> -->
         </div> -->
         <div class="priceContent" style="display:flex">
         <div class="priceContent" style="display:flex">
           <div style="width:80px">退款描述 : </div>
           <div style="width:80px">退款描述 : </div>
-          <el-input disabled v-model="applyRefundList[0].remark" :rows="4" type="textarea" show-word-limit
-            placeholder="此处为备注内容" />
+          <!-- <el-input disabled v-model="applyRefundList[0].remark" :rows="4" type="textarea" show-word-limit
+            placeholder="此处为备注内容" /> -->
+          <span>{{ applyRefundList[0].remark }}</span>
         </div>
         </div>
         <div class="options">
         <div class="options">
           <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="applyRefundYes(1)">
           <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="applyRefundYes(1)">

+ 342 - 139
src/views/staff/staff.vue

@@ -9,66 +9,143 @@
         <div class="filter">
         <div class="filter">
           <div class="condition">
           <div class="condition">
             <span>关键字 : </span>
             <span>关键字 : </span>
-            <el-input :clearable="true" @clear="searchBtn" v-model="searchInput.keyWord" class="w-50 m-2"
-              placeholder="请输入姓名" style="width: 150px" />
+            <el-input
+              :clearable="true"
+              @clear="searchBtn"
+              v-model="searchInput.keyWord"
+              class="w-50 m-2"
+              placeholder="请输入姓名"
+              style="width: 150px"
+            />
           </div>
           </div>
           <div class="condition">
           <div class="condition">
             <span>维修班 : </span>
             <span>维修班 : </span>
-            <el-select :clearable="true" @clear="searchBtn" v-model="searchInput.teamId" class="m-2" placeholder="请选择维修班">
+            <el-select
+              :clearable="true"
+              @clear="searchBtn"
+              v-model="searchInput.teamId"
+              class="m-2"
+              placeholder="请选择维修班"
+            >
               <el-option label="校方人员" :value="0" />
               <el-option label="校方人员" :value="0" />
               <el-option label="第三方人员" :value="1" />
               <el-option label="第三方人员" :value="1" />
             </el-select>
             </el-select>
           </div>
           </div>
           <div class="condition">
           <div class="condition">
             <span>校区 : </span>
             <span>校区 : </span>
-            <el-select :clearable="true" @clear="searchBtn" v-model="searchInput.schoolId" class="m-2"
-              placeholder="请选择校区">
+            <el-select
+              :clearable="true"
+              @clear="searchBtn"
+              v-model="searchInput.schoolId"
+              class="m-2"
+              placeholder="请选择校区"
+            >
               <el-option label="黄家湖校区" :value="1" />
               <el-option label="黄家湖校区" :value="1" />
               <el-option label="墨轩湖校区" :value="2" />
               <el-option label="墨轩湖校区" :value="2" />
             </el-select>
             </el-select>
           </div>
           </div>
 
 
-          <el-button style="margin-left: 20px" color="rgba(111, 182, 184, 1)" type="primary" class="search"
-            @click="searchBtn"><el-icon>
+          <el-button
+            style="margin-left: 20px"
+            color="rgba(111, 182, 184, 1)"
+            type="primary"
+            class="search"
+            @click="searchBtn"
+            ><el-icon>
               <Search />
               <Search />
-            </el-icon> <span>查询</span></el-button>
+            </el-icon>
+            <span>查询</span></el-button
+          >
         </div>
         </div>
         <!-- 按钮列表 -->
         <!-- 按钮列表 -->
         <div class="gongneng">
         <div class="gongneng">
-          <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="addlist"><img src="@/assets/add.png"
-              style="width: 14px; height: 14px; margin-right: 4px" alt="" /><span>添加员工</span></el-button>
+          <el-button
+            type="primary"
+            color="rgba(111, 182, 184, 1)"
+            @click="addlist"
+            ><img
+              src="@/assets/add.png"
+              style="width: 14px; height: 14px; margin-right: 4px"
+              alt=""
+            /><span>添加员工</span></el-button
+          >
         </div>
         </div>
       </div>
       </div>
       <div class="footer">
       <div class="footer">
-        <el-table :row-class-name="tableRowClassName" :data="tableData.list" @selection-change="handleSelectionChange"
-          style="width: 100%" :header-cell-style="{
+        <el-table
+          :row-class-name="tableRowClassName"
+          :data="tableData.list"
+          @selection-change="handleSelectionChange"
+          style="width: 100%"
+          :header-cell-style="{
             background: 'rgba(240, 243, 247, 1)',
             background: 'rgba(240, 243, 247, 1)',
             height: '50px',
             height: '50px',
             border: 0,
             border: 0,
-          }">
+          }"
+        >
           <!-- <el-table-column align="center" type="selection" width="80" /> -->
           <!-- <el-table-column align="center" type="selection" width="80" /> -->
-          <el-table-column width="80" align="center " type="index" label="序号" />
+          <el-table-column
+            width="80"
+            align="center "
+            type="index"
+            label="序号"
+          />
           <el-table-column align="center" prop="userName" label="姓名" />
           <el-table-column align="center" prop="userName" label="姓名" />
-          <el-table-column align="center" width="150" prop="userPhone" label="手机号码" />
+          <el-table-column
+            align="center"
+            width="150"
+            prop="userPhone"
+            label="手机号码"
+          />
           <el-table-column align="center" prop="teamName" label="维修班" />
           <el-table-column align="center" prop="teamName" label="维修班" />
           <el-table-column align="center" prop="schoolName" label="校区" />
           <el-table-column align="center" prop="schoolName" label="校区" />
           <el-table-column align="center" prop="userZzname" label="身份" />
           <el-table-column align="center" prop="userZzname" label="身份" />
 
 
-          <el-table-column align="center" width="200" prop="buildName" label="关联楼栋" show-overflow-tooltip>
+          <el-table-column
+            align="center"
+            width="200"
+            prop="buildName"
+            label="关联楼栋"
+            show-overflow-tooltip
+          >
             <!-- <template #default="{ row }">
             <!-- <template #default="{ row }">
               <span>{{  }}</span>
               <span>{{  }}</span>
             </template> -->
             </template> -->
           </el-table-column>
           </el-table-column>
-          <el-table-column align="center" width="100" prop="workTypeName" label="工种" />
-          <el-table-column align="center" prop="articleName" label="关联报修类型" width="200" show-overflow-tooltip />
+          <el-table-column
+            align="center"
+            width="100"
+            prop="workTypeName"
+            label="工种"
+          />
+          <el-table-column
+            align="center"
+            prop="articleName"
+            label="关联报修类型"
+            width="200"
+            show-overflow-tooltip
+          />
           <!-- <el-table-column align="center" prop="acceptanceTime" label="接单考核时间" /> -->
           <!-- <el-table-column align="center" prop="acceptanceTime" label="接单考核时间" /> -->
           <!-- <el-table-column align="center" prop="maintenanceTime" label="维修考核时间" /> -->
           <!-- <el-table-column align="center" prop="maintenanceTime" label="维修考核时间" /> -->
-          <el-table-column align="center" fixed="right" label="操作" width="150">
+          <el-table-column
+            align="center"
+            fixed="right"
+            label="操作"
+            width="150"
+          >
             <template #default="scope">
             <template #default="scope">
               <div class="edit">
               <div class="edit">
                 <div class="look" @click="edit(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">
+                <el-popconfirm
+                  width="220"
+                  confirm-button-text="确认"
+                  cancel-button-text="取消"
+                  :icon="InfoFilled"
+                  icon-color="#f89626"
+                  title="是否删除此员工?"
+                  @confirm="del(scope.row)"
+                  @cancel="cancelEvent"
+                >
                   <template #reference>
                   <template #reference>
                     <div class="look">删除</div>
                     <div class="look">删除</div>
                   </template>
                   </template>
@@ -78,59 +155,151 @@
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
         <!-- 添加耗材弹窗 -->
         <!-- 添加耗材弹窗 -->
-        <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-          :close-on-press-escape="false" :title="dialongTitle" align-center width="700" :before-close="cancelAdd">
-          <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"
-            size="default" label-position="left" status-icon>
+        <el-dialog
+          class="addStaff"
+          v-model="addDialogVisible"
+          :close-on-click-modal="false"
+          :close-on-press-escape="false"
+          :title="dialongTitle"
+          align-center
+          width="700"
+          :before-close="cancelAdd"
+        >
+          <el-form
+            ref="ruleFormRef"
+            :model="ruleForm"
+            :rules="rules"
+            label-width="120px"
+            class="demo-ruleForm"
+            size="default"
+            label-position="left"
+            status-icon
+          >
             <el-form-item label="身份 :" prop="userzzId">
             <el-form-item label="身份 :" prop="userzzId">
-              <el-select v-model="ruleForm.userzzId" @change="changeUserZzid" class="m-2" placeholder="请选择身份">
-                <el-option v-for="item in userzzIdsList" :label="item.name" :value="item.id" v-show="item.id !== 0" />
+              <el-select
+                v-model="ruleForm.userzzId"
+                @change="changeUserZzid"
+                class="m-2"
+                placeholder="请选择身份"
+              >
+                <el-option
+                  v-for="item in userzzIdsList"
+                  :label="item.name"
+                  :value="item.id"
+                  v-show="item.id !== 0"
+                />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="姓名 :" prop="userName">
             <el-form-item label="姓名 :" prop="userName">
-              <el-input v-model="ruleForm.userName" placeholder="请输入姓名" clearable />
+              <el-input
+                v-model="ruleForm.userName"
+                placeholder="请输入姓名"
+                clearable
+              />
             </el-form-item>
             </el-form-item>
             <el-form-item label="维修班 :" prop="teamId">
             <el-form-item label="维修班 :" prop="teamId">
-              <el-select v-model="ruleForm.teamId" class="m-2" placeholder="请选择维修班">
+              <el-select
+                v-model="ruleForm.teamId"
+                class="m-2"
+                placeholder="请选择维修班"
+              >
                 <el-option label="校方人员" :value="0" />
                 <el-option label="校方人员" :value="0" />
                 <el-option label="第三方人员" :value="1" />
                 <el-option label="第三方人员" :value="1" />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="微校卡号 :" prop="cardNumber" v-if="dialongTitle == '添加员工' && ruleForm.userzzId != 4">
-              <el-input v-model="ruleForm.cardNumber" placeholder="请输入微校卡号" clearable />
+            <el-form-item
+              label="微校卡号 :"
+              prop="cardNumber"
+              v-if="dialongTitle == '添加员工' && ruleForm.userzzId != 4"
+            >
+              <el-input
+                v-model="ruleForm.cardNumber"
+                placeholder="请输入微校卡号"
+                clearable
+              />
             </el-form-item>
             </el-form-item>
-            <el-form-item label="微校卡号 :" prop="cardNumber" v-if="dialongTitle == '编辑员工' && ruleForm.userzzId != 4">
-              <el-input v-model="ruleForm.cardNumber" disabled placeholder="请输入微校卡号" clearable />
+            <el-form-item
+              label="微校卡号 :"
+              prop="cardNumber"
+              v-if="dialongTitle == '编辑员工' && ruleForm.userzzId != 4"
+            >
+              <el-input
+                v-model="ruleForm.cardNumber"
+                disabled
+                placeholder="请输入微校卡号"
+                clearable
+              />
             </el-form-item>
             </el-form-item>
 
 
-            <el-form-item label="手机号码 :" prop="userPhone" v-if="ruleForm.userzzId != 4">
-              <el-input v-model="ruleForm.userPhone" placeholder="请输入手机号码" clearable />
+            <el-form-item
+              label="手机号码 :"
+              prop="userPhone"
+              v-if="ruleForm.userzzId != 4"
+            >
+              <el-input
+                v-model="ruleForm.userPhone"
+                placeholder="请输入手机号码"
+                clearable
+              />
             </el-form-item>
             </el-form-item>
             <el-form-item label="校区 :" prop="schoolId">
             <el-form-item label="校区 :" prop="schoolId">
-              <el-select v-model="ruleForm.schoolId" class="m-2" placeholder="请选择校区" @change="changeSchool">
+              <el-select
+                v-model="ruleForm.schoolId"
+                class="m-2"
+                placeholder="请选择校区"
+                @change="changeSchool"
+              >
                 <el-option label="黄家湖校区" :value="1" />
                 <el-option label="黄家湖校区" :value="1" />
                 <el-option label="墨轩湖校区" :value="2" />
                 <el-option label="墨轩湖校区" :value="2" />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="工种 :">
             <el-form-item label="工种 :">
-              <el-select v-model="ruleForm.workType" clearable class="m-2" placeholder="请选择工种">
-                <el-option v-for="item in workTypeList" :label="item.name" :value="item.id" />
+              <el-select
+                v-model="ruleForm.workType"
+                clearable
+                class="m-2"
+                placeholder="请选择工种"
+              >
+                <el-option
+                  v-for="item in workTypeList"
+                  :label="item.name"
+                  :value="item.id"
+                />
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="关联报修类型 :" prop="articleBuilds" class="checkbox" v-if="ruleForm.userzzId != 4">
+            <el-form-item
+              label="关联报修类型 :"
+              prop="articleBuilds"
+              class="checkbox"
+              v-if="ruleForm.userzzId != 4"
+            >
               <div class="type">
               <div class="type">
                 <div class="articleType">
                 <div class="articleType">
                   <div class="articleTitle">关联种类</div>
                   <div class="articleTitle">关联种类</div>
                   <!-- <el-checkbox v-model="articleAll" :indeterminate="articleIndeterminate"
                   <!-- <el-checkbox v-model="articleAll" :indeterminate="articleIndeterminate"
                     @change="articleAllChange">全选</el-checkbox> -->
                     @change="articleAllChange">全选</el-checkbox> -->
-                  <el-tree :data="articleIdsList" @node-click="articleNodeClick"
-                    :props="{ label: 'name', children: 'children', value: 'id' }" node-key="id" show-checkbox
-                    ref="articleIdsRef" @check-change="handleArticleIds">
+                  <el-tree
+                    :data="articleIdsList"
+                    @node-click="articleNodeClick"
+                    :props="{
+                      label: 'name',
+                      children: 'children',
+                      value: 'id',
+                    }"
+                    node-key="id"
+                    show-checkbox
+                    ref="articleIdsRef"
+                    @check-change="handleArticleIds"
+                  >
                     <template #default="{ node, data }">
                     <template #default="{ node, data }">
                       <div class="custom-tree-node">
                       <div class="custom-tree-node">
                         <span>{{ data.name }}</span>
                         <span>{{ data.name }}</span>
-                        <img v-if="data.id == clickArticleSel.id" src="../../assets/fixed.png" alt="">
-                        <img v-else src="" alt="">
+                        <img
+                          v-if="data.id == clickArticleSel.id"
+                          src="../../assets/fixed.png"
+                          alt=""
+                        />
+                        <img v-else src="" alt="" />
                       </div>
                       </div>
                     </template>
                     </template>
                   </el-tree>
                   </el-tree>
@@ -141,8 +310,18 @@
                     <!-- <el-checkbox v-model="buildAll" :indeterminate="buildIndeterminate"
                     <!-- <el-checkbox v-model="buildAll" :indeterminate="buildIndeterminate"
                       @change="buildAllChange">全选</el-checkbox> -->
                       @change="buildAllChange">全选</el-checkbox> -->
                   </div>
                   </div>
-                  <el-tree :data="treeValue.list" :props="{ label: 'name', children: 'children', value: 'id' }"
-                    node-key="id" show-checkbox ref="buildIdsRef" @check-change="handleCheckChange" />
+                  <el-tree
+                    :data="treeValue.list"
+                    :props="{
+                      label: 'name',
+                      children: 'children',
+                      value: 'id',
+                    }"
+                    node-key="id"
+                    show-checkbox
+                    ref="buildIdsRef"
+                    @check-change="handleCheckChange"
+                  />
                 </div>
                 </div>
               </div>
               </div>
               <!-- <div class="type" v-if="ruleForm.schoolId == 2">
               <!-- <div class="type" v-if="ruleForm.schoolId == 2">
@@ -179,22 +358,44 @@
             </el-form-item> -->
             </el-form-item> -->
             <el-form-item label="接单考核时间 :" v-if="ruleForm.userzzId != 4">
             <el-form-item label="接单考核时间 :" v-if="ruleForm.userzzId != 4">
               <div class="kaohe">
               <div class="kaohe">
-                <el-input v-model="ruleForm.acceptanceTime" :clearable="false" placeholder="考核时间" style="width: 150px">
+                <el-input
+                  v-model="ruleForm.acceptanceTime"
+                  :clearable="false"
+                  placeholder="考核时间"
+                  style="width: 150px"
+                >
                   <template #suffix>
                   <template #suffix>
-                    <img src="@/assets/timer.png" alt="" style="width: 15px; height: 15px" />
+                    <img
+                      src="@/assets/timer.png"
+                      alt=""
+                      style="width: 15px; height: 15px"
+                    />
                   </template>
                   </template>
                 </el-input>
                 </el-input>
                 <span style="margin-left: 5px">分钟</span>
                 <span style="margin-left: 5px">分钟</span>
               </div>
               </div>
             </el-form-item>
             </el-form-item>
-            <el-form-item style="
+            <el-form-item
+              style="
                 padding-bottom: 40px;
                 padding-bottom: 40px;
                 border-bottom: 1px solid rgba(230, 230, 230, 1);
                 border-bottom: 1px solid rgba(230, 230, 230, 1);
-              " label="维修考核时间 :" v-if="ruleForm.userzzId != 4">
+              "
+              label="维修考核时间 :"
+              v-if="ruleForm.userzzId != 4"
+            >
               <div class="kaohe">
               <div class="kaohe">
-                <el-input v-model="ruleForm.maintenanceTime" :clearable="false" placeholder="考核时间" style="width: 150px">
+                <el-input
+                  v-model="ruleForm.maintenanceTime"
+                  :clearable="false"
+                  placeholder="考核时间"
+                  style="width: 150px"
+                >
                   <template #suffix>
                   <template #suffix>
-                    <img src="@/assets/timer.png" alt="" style="width: 15px; height: 15px" />
+                    <img
+                      src="@/assets/timer.png"
+                      alt=""
+                      style="width: 15px; height: 15px"
+                    />
                   </template>
                   </template>
                 </el-input>
                 </el-input>
                 <span style="margin-left: 5px">分钟</span>
                 <span style="margin-left: 5px">分钟</span>
@@ -202,7 +403,12 @@
             </el-form-item>
             </el-form-item>
 
 
             <el-form-item class="options">
             <el-form-item class="options">
-              <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="submitAdd(ruleFormRef)">
+              <el-button
+                color="rgba(111, 182, 184, 1)"
+                class="queding"
+                type="primary"
+                @click="submitAdd(ruleFormRef)"
+              >
                 确定
                 确定
               </el-button>
               </el-button>
               <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
               <el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
@@ -214,8 +420,14 @@
       <!-- 分页组件 -->
       <!-- 分页组件 -->
       <div class="pageSize">
       <div class="pageSize">
         <span></span>
         <span></span>
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-          layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
+        <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>
     </div>
   </div>
   </div>
@@ -249,7 +461,6 @@ const articleIdsList = ref(); //  关联种类 类型数据
 const articleIdsListM = ref(); //  关联种类 类型数据
 const articleIdsListM = ref(); //  关联种类 类型数据
 const articleIdsListH = ref(); //  关联种类 类型数据
 const articleIdsListH = ref(); //  关联种类 类型数据
 
 
-
 // 楼栋选择框数据
 // 楼栋选择框数据
 const buildAll = ref(false); // 判断楼栋 是否全选
 const buildAll = ref(false); // 判断楼栋 是否全选
 const buildIndeterminate = ref(false); // 不确定状态,表示只选择一部分
 const buildIndeterminate = ref(false); // 不确定状态,表示只选择一部分
@@ -263,7 +474,6 @@ const userzzIdsList = ref(); //  身份下拉数据
 const workTypeList = ref(); //  工种下拉数据
 const workTypeList = ref(); //  工种下拉数据
 const props = reactive();
 const props = reactive();
 
 
-
 const searchInput = reactive({
 const searchInput = reactive({
   keyWord: "",
   keyWord: "",
   teamId: "",
   teamId: "",
@@ -297,21 +507,22 @@ const ruleForm = reactive({
   maintenanceTime: "",
   maintenanceTime: "",
   id: "",
   id: "",
 });
 });
-const articleBuilds = reactive({ list: [] }) // 选中的种类和楼栋组合数据
+const articleBuilds = reactive({ list: [] }); // 选中的种类和楼栋组合数据
 const clickArticleSel = reactive({
 const clickArticleSel = reactive({
-  id: "", name: ""
+  id: "",
+  name: "",
 }); // 点击的那个种类
 }); // 点击的那个种类
 
 
 // 关联报修类型验证
 // 关联报修类型验证
 const articleBuildRule = (rule, value, callback) => {
 const articleBuildRule = (rule, value, callback) => {
   console.log(rule, value);
   console.log(rule, value);
-  let sum = 0
-  articleBuilds.list.forEach(item => {
+  let sum = 0;
+  articleBuilds.list.forEach((item) => {
     if (item.article.flag) {
     if (item.article.flag) {
-      sum = item.build.length + sum
+      sum = item.build.length + sum;
       console.log(sum);
       console.log(sum);
     }
     }
-  }, 0)
+  }, 0);
   // console.log(sum);
   // console.log(sum);
   if (sum) {
   if (sum) {
     callback();
     callback();
@@ -392,7 +603,7 @@ const getList = async () => {
       center: true,
       center: true,
     });
     });
     if (res.data.code == 570) {
     if (res.data.code == 570) {
-      sessionStorage.removeItem("token")
+      sessionStorage.removeItem("token");
       router.push({
       router.push({
         path: `/login`,
         path: `/login`,
       });
       });
@@ -450,19 +661,19 @@ const searchBtn = lodash.debounce(async () => {
 
 
 // 切换身份时将种类和楼栋全部置空
 // 切换身份时将种类和楼栋全部置空
 const changeUserZzid = (val) => {
 const changeUserZzid = (val) => {
-  clickArticleSel.id = ""
-  clickArticleSel.name = ""
+  clickArticleSel.id = "";
+  clickArticleSel.name = "";
   if (articleBuilds.list) {
   if (articleBuilds.list) {
-    articleBuilds.list.forEach(item => {
+    articleBuilds.list.forEach((item) => {
       item.article.flag = false;
       item.article.flag = false;
-      item.build = []
-    })
+      item.build = [];
+    });
   }
   }
   nextTick(() => {
   nextTick(() => {
     articleIdsRef.value.setCheckedKeys([]);
     articleIdsRef.value.setCheckedKeys([]);
     buildIdsRef.value.setCheckedKeys([]);
     buildIdsRef.value.setCheckedKeys([]);
   });
   });
-}
+};
 
 
 // 改变校区  关联楼栋和关联报修类型也改变(---------------)
 // 改变校区  关联楼栋和关联报修类型也改变(---------------)
 const changeSchool = async (val) => {
 const changeSchool = async (val) => {
@@ -510,20 +721,18 @@ const changeSchool = async (val) => {
     console.log(res, "关联楼栋数据");
     console.log(res, "关联楼栋数据");
     treeValue.list = res.data.data;
     treeValue.list = res.data.data;
 
 
-    articleBuilds.list = []
-    articleIdsList.value.forEach(item => {
+    articleBuilds.list = [];
+    articleIdsList.value.forEach((item) => {
       articleBuilds.list.push({
       articleBuilds.list.push({
         article: { id: item.id, name: item.name, flag: false },
         article: { id: item.id, name: item.name, flag: false },
         build: [],
         build: [],
-        id: ""
-      })
-    })
+        id: "",
+      });
+    });
     console.log(articleBuilds.list, "整理的树形数据");
     console.log(articleBuilds.list, "整理的树形数据");
-    resolve('success')
+    resolve("success");
     console.log("1111111111111111111111111111111");
     console.log("1111111111111111111111111111111");
-
   });
   });
-
 };
 };
 
 
 //新增员工 (--------------------------------------)
 //新增员工 (--------------------------------------)
@@ -542,10 +751,10 @@ const addlist = async () => {
   ruleForm.maintenanceTime = "";
   ruleForm.maintenanceTime = "";
   ruleForm.schoolId = 1;
   ruleForm.schoolId = 1;
   ruleForm.id = "";
   ruleForm.id = "";
-  clickArticleSel.id = ""
-  clickArticleSel.name = ""
+  clickArticleSel.id = "";
+  clickArticleSel.name = "";
 
 
-  changeSchool(1)
+  changeSchool(1);
 
 
   nextTick(() => {
   nextTick(() => {
     articleIdsRef.value.setCheckedKeys([]);
     articleIdsRef.value.setCheckedKeys([]);
@@ -589,8 +798,8 @@ const handleArticleIds = (data, checked, indeterminate) => {
   //   clickArticleSel.name = data.name
   //   clickArticleSel.name = data.name
   //   clickArticleSel.id = data.id
   //   clickArticleSel.id = data.id
   // }
   // }
-  clickArticleSel.name = data.name
-  clickArticleSel.id = data.id
+  clickArticleSel.name = data.name;
+  clickArticleSel.id = data.id;
 
 
   let keys = articleIdsRef.value.getCheckedKeys();
   let keys = articleIdsRef.value.getCheckedKeys();
   console.log(keys);
   console.log(keys);
@@ -607,17 +816,17 @@ const handleArticleIds = (data, checked, indeterminate) => {
   // }
   // }
 
 
   // 判断是否勾选时赋值
   // 判断是否勾选时赋值
-  articleBuilds.list.forEach(item => {
-    // console.log(item);
+  articleBuilds.list.forEach((item) => {
+    console.log(item);
 
 
     if (item.article.id == data.id) {
     if (item.article.id == data.id) {
-      item.article.flag = checked
+      item.article.flag = checked;
       // if (item.article.flag) {
       // if (item.article.flag) {
       // buildIdsRef.value.setCheckedKeys(item.build);
       // buildIdsRef.value.setCheckedKeys(item.build);
       // }
       // }
       buildIdsRef.value.setCheckedKeys(item.build);
       buildIdsRef.value.setCheckedKeys(item.build);
     }
     }
-  })
+  });
 
 
   console.log(articleBuilds.list);
   console.log(articleBuilds.list);
   // ruleForm.articleIds = keys;
   // ruleForm.articleIds = keys;
@@ -629,11 +838,11 @@ const articleNodeClick = (data, node, component) => {
   //  * @param {*} data 该节点所对应的对象
   //  * @param {*} data 该节点所对应的对象
   //  * @param {*} node 节点对应的 Node
   //  * @param {*} node 节点对应的 Node
   //  * @param {*} component 节点组件本身
   //  * @param {*} component 节点组件本身
-  console.log('子组件触发 node-click 事件', data, node, component);
+  console.log("子组件触发 node-click 事件", data, node, component);
   // 判断是否击
   // 判断是否击
-  clickArticleSel.name = data.name
-  clickArticleSel.id = data.id
-  articleBuilds.list.forEach(item => {
+  clickArticleSel.name = data.name;
+  clickArticleSel.id = data.id;
+  articleBuilds.list.forEach((item) => {
     // console.log(item);
     // console.log(item);
 
 
     if (item.article.id == data.id) {
     if (item.article.id == data.id) {
@@ -643,8 +852,8 @@ const articleNodeClick = (data, node, component) => {
       // }
       // }
       buildIdsRef.value.setCheckedKeys(item.build);
       buildIdsRef.value.setCheckedKeys(item.build);
     }
     }
-  })
-}
+  });
+};
 
 
 //  关联楼栋 当复选框被勾选的时候触发
 //  关联楼栋 当复选框被勾选的时候触发
 const handleCheckChange = (data, checked, indeterminate) => {
 const handleCheckChange = (data, checked, indeterminate) => {
@@ -674,11 +883,11 @@ const handleCheckChange = (data, checked, indeterminate) => {
       arr.push(item.id);
       arr.push(item.id);
     }
     }
   });
   });
-  articleBuilds.list.forEach(item => {
+  articleBuilds.list.forEach((item) => {
     if (item.article.id == clickArticleSel.id) {
     if (item.article.id == clickArticleSel.id) {
-      item.build = arr
+      item.build = arr;
     }
     }
-  })
+  });
   console.log(articleBuilds.list);
   console.log(articleBuilds.list);
 };
 };
 
 
@@ -689,18 +898,18 @@ const buildAllChange = (val) => {
 
 
   nextTick(() => {
   nextTick(() => {
     if (val) {
     if (val) {
-      let buildIds = []
-      treeValue.list.forEach(item => {
-        item.children.forEach(i => {
-          buildIds.push(i.id)
-        })
-      })
+      let buildIds = [];
+      treeValue.list.forEach((item) => {
+        item.children.forEach((i) => {
+          buildIds.push(i.id);
+        });
+      });
       buildIdsRef.value.setCheckedKeys(buildIds);
       buildIdsRef.value.setCheckedKeys(buildIds);
     } else {
     } else {
       buildIdsRef.value.setCheckedKeys([]);
       buildIdsRef.value.setCheckedKeys([]);
     }
     }
-  })
-}
+  });
+};
 
 
 //编辑按钮  (-------------------------------------------)
 //编辑按钮  (-------------------------------------------)
 const edit = (row) => {
 const edit = (row) => {
@@ -710,7 +919,7 @@ const edit = (row) => {
   clickArticleSel.id = "";
   clickArticleSel.id = "";
   clickArticleSel.name = "";
   clickArticleSel.name = "";
 
 
-  changeSchool(row.schoolId).then(res => {
+  changeSchool(row.schoolId).then((res) => {
     if (row.userZzid == 4) {
     if (row.userZzid == 4) {
       ruleForm.userName = row.userName;
       ruleForm.userName = row.userName;
       ruleForm.userzzId = row.userZzid;
       ruleForm.userzzId = row.userZzid;
@@ -718,6 +927,8 @@ const edit = (row) => {
       ruleForm.teamId = row.teamId;
       ruleForm.teamId = row.teamId;
       ruleForm.schoolId = row.schoolId;
       ruleForm.schoolId = row.schoolId;
       ruleForm.id = row.id;
       ruleForm.id = row.id;
+      ruleForm.cardNumber = row.cardNumber;
+      ruleForm.userPhone = row.userPhone;
     } else {
     } else {
       ruleForm.userName = row.userName;
       ruleForm.userName = row.userName;
       ruleForm.cardNumber = row.cardNumber;
       ruleForm.cardNumber = row.cardNumber;
@@ -730,19 +941,19 @@ const edit = (row) => {
       ruleForm.maintenanceTime = row.maintenanceTime;
       ruleForm.maintenanceTime = row.maintenanceTime;
       ruleForm.id = row.id;
       ruleForm.id = row.id;
 
 
-      let articleArr = []
-      articleBuilds.list.forEach(item => {
-        row.articleBuilds.forEach(i => {
+      let articleArr = [];
+      articleBuilds.list.forEach((item) => {
+        row.articleBuilds.forEach((i) => {
           if (item.article.id == i.articleId) {
           if (item.article.id == i.articleId) {
             console.log(item);
             console.log(item);
 
 
-            articleArr.push(i.articleId)
+            articleArr.push(i.articleId);
             item.article.flag = true;
             item.article.flag = true;
             item.id = i.id;
             item.id = i.id;
             item.build = i.buildIds;
             item.build = i.buildIds;
           }
           }
-        })
-      })
+        });
+      });
       console.log(articleArr);
       console.log(articleArr);
 
 
       nextTick(() => {
       nextTick(() => {
@@ -752,7 +963,7 @@ const edit = (row) => {
       // ruleForm.articleIds = row.articleIds;
       // ruleForm.articleIds = row.articleIds;
       // ruleForm.buildIds = row.buildIds;
       // ruleForm.buildIds = row.buildIds;
     }
     }
-  })
+  });
   console.log(row);
   console.log(row);
   // console.log(row.articleIds, row.buildIds);
   // console.log(row.articleIds, row.buildIds);
 
 
@@ -767,7 +978,6 @@ const edit = (row) => {
   //   articleAll.value = false
   //   articleAll.value = false
   //   articleIndeterminate.value = false;
   //   articleIndeterminate.value = false;
   // }
   // }
-
 };
 };
 // 取消添加员工
 // 取消添加员工
 const cancelAdd = () => {
 const cancelAdd = () => {
@@ -787,25 +997,25 @@ const submitAdd = async (formEl) => {
     if (valid) {
     if (valid) {
       if (dialongTitle.value == "添加员工") {
       if (dialongTitle.value == "添加员工") {
         // 如果身份为 线下人员(4),做出以下判断
         // 如果身份为 线下人员(4),做出以下判断
-        let data = {}
+        let data = {};
         if (ruleForm.userzzId == 4) {
         if (ruleForm.userzzId == 4) {
           data = {
           data = {
             userName: ruleForm.userName, // 名字
             userName: ruleForm.userName, // 名字
             userZzid: ruleForm.userzzId, // 身份Id
             userZzid: ruleForm.userzzId, // 身份Id
             schoolId: ruleForm.schoolId, // 校区Id
             schoolId: ruleForm.schoolId, // 校区Id
             workType: ruleForm.workType, // 工作Id
             workType: ruleForm.workType, // 工作Id
-            teamId: ruleForm.teamId      // 维修班Id
-          }
+            teamId: ruleForm.teamId, // 维修班Id
+          };
         } else {
         } else {
-          let arr = []
-          articleBuilds.list.forEach(item => {
+          let arr = [];
+          articleBuilds.list.forEach((item) => {
             if (item.article.flag && item.build.length != 0) {
             if (item.article.flag && item.build.length != 0) {
               arr.push({
               arr.push({
                 articleId: item.article.id,
                 articleId: item.article.id,
-                buildIds: item.build
-              })
+                buildIds: item.build,
+              });
             }
             }
-          })
+          });
           data = {
           data = {
             userName: ruleForm.userName,
             userName: ruleForm.userName,
             cardNumber: ruleForm.cardNumber,
             cardNumber: ruleForm.cardNumber,
@@ -818,7 +1028,7 @@ const submitAdd = async (formEl) => {
             // buildIds: ruleForm.buildIds,
             // buildIds: ruleForm.buildIds,
             acceptanceAssessTime: ruleForm.acceptanceTime,
             acceptanceAssessTime: ruleForm.acceptanceTime,
             maintenanceAssessTime: ruleForm.maintenanceTime,
             maintenanceAssessTime: ruleForm.maintenanceTime,
-            articleBuilds: arr
+            articleBuilds: arr,
           };
           };
         }
         }
         console.log(data, "添加员工数据");
         console.log(data, "添加员工数据");
@@ -859,27 +1069,27 @@ const submitAdd = async (formEl) => {
         }
         }
       } else {
       } else {
         // 如果身份为 线下人员(4),做出以下判断
         // 如果身份为 线下人员(4),做出以下判断
-        let data = {}
+        let data = {};
         if (ruleForm.userzzId == 4) {
         if (ruleForm.userzzId == 4) {
           data = {
           data = {
             userName: ruleForm.userName, // 名字
             userName: ruleForm.userName, // 名字
             userZzid: ruleForm.userzzId, // 身份Id
             userZzid: ruleForm.userzzId, // 身份Id
             schoolId: ruleForm.schoolId, // 校区Id
             schoolId: ruleForm.schoolId, // 校区Id
             workType: ruleForm.workType, // 工作Id
             workType: ruleForm.workType, // 工作Id
-            teamId: ruleForm.teamId,     // 维修班Id
-            id: ruleForm.id              // 数据ID
-          }
+            teamId: ruleForm.teamId, // 维修班Id
+            id: ruleForm.id, // 数据ID
+          };
         } else {
         } else {
-          let arr = []
-          articleBuilds.list.forEach(item => {
+          let arr = [];
+          articleBuilds.list.forEach((item) => {
             if (item.article.flag && item.build.length != 0) {
             if (item.article.flag && item.build.length != 0) {
               arr.push({
               arr.push({
                 articleId: item.article.id,
                 articleId: item.article.id,
                 buildIds: item.build,
                 buildIds: item.build,
-                id: item.id
-              })
+                id: item.id,
+              });
             }
             }
-          })
+          });
           data = {
           data = {
             userName: ruleForm.userName,
             userName: ruleForm.userName,
             cardNumber: ruleForm.cardNumber,
             cardNumber: ruleForm.cardNumber,
@@ -893,7 +1103,7 @@ const submitAdd = async (formEl) => {
             acceptanceAssessTime: ruleForm.acceptanceTime,
             acceptanceAssessTime: ruleForm.acceptanceTime,
             maintenanceAssessTime: ruleForm.maintenanceTime,
             maintenanceAssessTime: ruleForm.maintenanceTime,
             id: ruleForm.id,
             id: ruleForm.id,
-            articleBuilds: arr
+            articleBuilds: arr,
           };
           };
         }
         }
         console.log(data, "修改员工数据");
         console.log(data, "修改员工数据");
@@ -1276,9 +1486,6 @@ onUnmounted(() => {
 
 
         // 关联报修类型样式(-----------------)
         // 关联报修类型样式(-----------------)
         .checkbox {
         .checkbox {
-
-
-
           .el-form-item__content {
           .el-form-item__content {
             // width: 200px;
             // width: 200px;
             // display: flex;
             // display: flex;
@@ -1321,9 +1528,6 @@ onUnmounted(() => {
             .articleTitle {
             .articleTitle {
               font-weight: 600;
               font-weight: 600;
             }
             }
-
-
-
           }
           }
         }
         }
 
 
@@ -1353,7 +1557,6 @@ onUnmounted(() => {
     }
     }
 
 
     .el-pagination {
     .el-pagination {
-
       // width: 1600px;
       // width: 1600px;
       :deep(.el-pagination__total) {
       :deep(.el-pagination__total) {
         color: #000;
         color: #000;

File diff suppressed because it is too large
+ 860 - 338
src/views/workOrder/workOrder.vue


+ 14 - 15
vite.config.js

@@ -23,27 +23,26 @@ export default defineConfig({
     // 是否开启 https
     // 是否开启 https
     // https: false,
     // https: false,
     // 测试地址
     // 测试地址
-    proxy: {
-      "/testingServer/repairTest/repair/api": {
-        target:
-          "https://chtech.ncjti.edu.cn/testingServer/repairTest/repair/api",
-        changeOrigin: true,
-        rewrite: (path) =>
-          path.replace(/^\/testingServer\/repairTest\/repair\/api/, ""),
-      },
-    },
-
-    // 在线地址
     // proxy: {
     // proxy: {
-    //   "/campusMaintenance/repair-api/repair/api": {
+    //   "/testingServer/repairTest/repair/api": {
     //     target:
     //     target:
-    //       "https://chtech.ncjti.edu.cn/campusMaintenance/repair-api/repair/api", // 测试环境
-    //     // "http://192.168.161.224:8080/repair/api", // 测试环境
+    //       "https://chtech.ncjti.edu.cn/testingServer/repairTest/repair/api",
     //     changeOrigin: true,
     //     changeOrigin: true,
     //     rewrite: (path) =>
     //     rewrite: (path) =>
-    //       path.replace(/^\/campusMaintenance\/repair-api\/repair\/api/, ""),
+    //       path.replace(/^\/testingServer\/repairTest\/repair\/api/, ""),
     //   },
     //   },
     // },
     // },
+
+    // 在线地址
+    proxy: {
+      "/campusMaintenance/repair-api/repair/api": {
+        target:
+          "https://chtech.ncjti.edu.cn/campusMaintenance/repair-api/repair/api",
+        changeOrigin: true,
+        rewrite: (path) =>
+          path.replace(/^\/campusMaintenance\/repair-api\/repair\/api/, ""),
+      },
+    },
   },
   },
   publicDir: "public",
   publicDir: "public",
   base: "./",
   base: "./",