Browse Source

校园报修新需求改动 测试版接口

hzj18279462576@163.com 1 year ago
parent
commit
acb2a5f79e

BIN
src/assets/batchGD.png


BIN
src/assets/repairsPrice.png


+ 3 - 3
src/layout/index.vue

@@ -3,7 +3,7 @@
     <SidevarItem></SidevarItem>
     <div class="content">
       <Navbar></Navbar>
-      <!-- <router-view></router-view> -->
+      <router-view></router-view>
 
       <!-- <router-view v-slot="{ Component }">
         <transition name="router_animate">
@@ -11,12 +11,12 @@
         </transition>
       </router-view> -->
 
-      <router-view v-slot="{ Component }">
+      <!-- <router-view v-slot="{ Component }">
         <transition mode="out-in" :duration="200" enter-active-class="animate__animated animate__fadeIn"
           leave-active-class="animate__animated animate__fadeOut">
           <component :is="Component" />
         </transition>
-      </router-view>
+      </router-view> -->
     </div>
   </div>
 </template>

+ 2 - 1
src/store/modules/user.js

@@ -8,8 +8,9 @@ const state = {
   activeIndex: 0,
   username: "",
   password: "",
-  api: "/campusMaintenance/repair-api/repair/api", // 线上
+  // api: "/campusMaintenance/repair-api/repair/api", // 线上
   // api: "/testingServer/repairTest/repair/api", // 测试
+  api: "/repair/api/", // wxl 测试
   newsNum: "",
   schoolId: "", // 管理员等级
 };

+ 5 - 1
src/views/consumable/consumable.vue

@@ -256,7 +256,7 @@
 
       <!-- 分页组件 -->
       <div class="pageSize">
-        <span>合计:100件 30000元</span>
+        <span>合计: {{pieceNum}}件&nbsp;&nbsp;&nbsp;{{pieceMoney}}元</span>
         <el-pagination background :current-page="currentPage2" :page-size="pageSize2"
           layout="total, prev, pager, next, jumper, slot" :total="total2" @update:current-page="handleCurrentChange2" />
       </div>
@@ -349,6 +349,8 @@ const rules = reactive({
 const currentPage2 = ref(1); // 当前页
 const pageSize2 = ref(10);
 const total2 = ref(30); // 当前总数
+const pieceNum=ref()// 耗材记录件数
+const pieceMoney=ref()// 耗材记录金额
 
 watch(
   () => searchInput.createTime,
@@ -442,6 +444,8 @@ const getList = async (flag) => {
     if (res.data.code == 200) {
       tableData2.list = res.data.data.list;
       total2.value = res.data.data.totalCount;
+      pieceNum.value = res.data.data.tcont;
+      pieceMoney.value = res.data.data.tprice;
     } else {
       ElMessage({
         type: "error",

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

@@ -98,8 +98,9 @@
               <el-table-column prop="receivingCount" align="center" label="待接单" />
               <el-table-column prop="maintainCount" align="center" label="维修中" />
               <el-table-column prop="disposeCount" align="center" label="待处理" />
-              <el-table-column prop="affirmCount" align="center" label="待确认" />
+              <el-table-column prop="affirmCount" align="center" label="待支付" />
               <el-table-column prop="accomplishCount" align="center" label="已完成" />
+              <el-table-column prop="offlineCount" align="center" label="转线下" />
               <el-table-column prop="shutCount" align="center" label="已关单" />
               <el-table-column prop="cancelCount" align="center" label="已取消" />
             </el-table>
@@ -272,18 +273,18 @@
               <td>姓名</td>
               <td>工单总数</td>
               <td>好评数</td>
-              <td>超时率</td>
+              <!-- <td>超时率</td>
               <td>平时响应时长(分)</td>
-              <td>平时维修时长(分)</td>
+              <td>平时维修时长(分)</td> -->
               <td>耗材总费用(元)</td>
             </tr>
             <tr>
               <td>{{ nameList6.name }}</td>
               <td>{{ nameList6.workOrderTotal }}</td>
               <td>{{ nameList6.degreePraise }}</td>
-              <td>{{ nameList6.timeOut }}</td>
+              <!-- <td>{{ nameList6.timeOut }}</td>
               <td>{{ nameList6.answer }}</td>
-              <td>{{ nameList6.maintain }}</td>
+              <td>{{ nameList6.maintain }}</td> -->
               <td>{{ nameList6.totalPrice }}</td>
             </tr>
           </table>
@@ -309,18 +310,18 @@
               <td>姓名</td>
               <td>工单总数</td>
               <td>好评数</td>
-              <td>超时率</td>
+              <!-- <td>超时率</td>
               <td>平时响应时长(分)</td>
-              <td>平时维修时长(分)</td>
+              <td>平时维修时长(分)</td> -->
               <td>耗材总费用(元)</td>
             </tr>
             <tr>
               <td>{{ nameList8.name }}</td>
               <td>{{ nameList8.workOrderTotal }}</td>
               <td>{{ nameList8.degreePraise }}</td>
-              <td>{{ nameList8.timeOut }}</td>
+              <!-- <td>{{ nameList8.timeOut }}</td>
               <td>{{ nameList8.answer }}</td>
-              <td>{{ nameList8.maintain }}</td>
+              <td>{{ nameList8.maintain }}</td> -->
               <td>{{ nameList8.totalPrice }}</td>
             </tr>
           </table>
@@ -748,15 +749,22 @@ const cartogram = async () => {
         });
       } else if (key == "affirmCount") {
         echartsData1.push({
-          name: "待确认",
+          name: "待支付",
           value: obj[key],
         });
-      } else if (key == "timeOutCount") {
+      } 
+      else if (key == "offlineCount") {
         echartsData1.push({
-          name: "已超时",
+          name: "转线下",
           value: obj[key],
         });
-      }
+      } 
+      // else if (key == "timeOutCount") {
+      //   echartsData1.push({
+      //     name: "已超时",
+      //     value: obj[key],
+      //   });
+      // }
     });
   } else {
     ElMessage({
@@ -1063,7 +1071,12 @@ const titleTop = async () => {
         });
       } else if (key == "affirmCount") {
         topTitleData.value.push({
-          name: "待确认",
+          name: "待支付",
+          value: obj[key],
+        });
+      } else if (key == "offlineCount") {
+        topTitleData.value.push({
+          name: "转线下",
           value: obj[key],
         });
       }
@@ -1076,7 +1089,7 @@ const titleTop = async () => {
       center: true,
     });
     if (res.data.code == 570) {
-      sessionStorage.removeItem("token")
+      // sessionStorage.removeItem("token")
       router.push({
         path: `/login`,
       });
@@ -1878,6 +1891,9 @@ onMounted(() => {
       .item_card:nth-child(7) {
         background-color: rgba(111, 182, 184, 1);
       }
+      .item_card:nth-child(8) {
+        background-color: rgba(237, 125, 100, 1);
+      }
     }
   }
 

+ 48 - 15
src/views/login/index.vue

@@ -3,35 +3,69 @@
     <!-- <div class="middle"></div> -->
     <div class="left">
       <div class="loginForm">
-        <div style="
+        <div
+          style="
             display: flex;
             align-items: center;
             justify-content: center;
             margin-top: 90px;
             margin-bottom: 60px;
-          ">
-          <img src="@/assets/nanchang.png" alt="" style="width: 75px; height: 75px;margin: 0 20px 0 0;" /><span style="
+          "
+        >
+          <img
+            src="@/assets/nanchang.png"
+            alt=""
+            style="width: 75px; height: 75px; margin: 0 20px 0 0"
+          /><span
+            style="
               font-size: 50px;
               font-weight: 600;
               letter-spacing: 0px;
               color: rgba(0, 0, 0, 1);
-            ">校园报修管理系统</span>
+            "
+            >校园报修管理系统</span
+          >
         </div>
 
-        <el-form ref="ruleFormRef" :model="ruleForm" status-icon :rules="rules" label-width="120px" class="demo-ruleForm">
+        <el-form
+          ref="ruleFormRef"
+          :model="ruleForm"
+          status-icon
+          :rules="rules"
+          label-width="120px"
+          class="demo-ruleForm"
+        >
           <div class="title">欢迎登录校园报修管理系统</div>
           <el-divider />
           <el-form-item label="" prop="user">
-            <el-input :prefix-icon="User" v-model="ruleForm.user" placeholder="请输入登录名" autocomplete="off" />
+            <el-input
+              :prefix-icon="User"
+              v-model="ruleForm.user"
+              placeholder="请输入登录名"
+              autocomplete="off"
+            />
           </el-form-item>
           <el-form-item label="" prop="pass">
-            <el-input :prefix-icon="Lock" show-password v-model="ruleForm.pass" type="password" autocomplete="off"
-              placeholder="请输入登录密码" />
+            <el-input
+              :prefix-icon="Lock"
+              show-password
+              v-model="ruleForm.pass"
+              type="password"
+              autocomplete="off"
+              placeholder="请输入登录密码"
+            />
           </el-form-item>
-          <el-checkbox v-model="checked" class="remeberPwd el-form-item">记住密码</el-checkbox>
+          <el-checkbox v-model="checked" class="remeberPwd el-form-item"
+            >记住密码</el-checkbox
+          >
           <el-form-item>
-            <el-button :loading="loading" type="primary" @click="submitForm(ruleFormRef)"
-              color="rgba(0, 185, 170, 1)">登录</el-button>
+            <el-button
+              :loading="loading"
+              type="primary"
+              @click="submitForm(ruleFormRef)"
+              color="rgba(0, 185, 170, 1)"
+              >登录</el-button
+            >
           </el-form-item>
         </el-form>
       </div>
@@ -100,9 +134,9 @@ const submitForm = (formEl) => {
         store.commit("indexUp", 1);
         store.commit("userName", ruleForm.user);
         store.commit("passWord", ruleForm.user);
-        router.push({
-          path: `/repairs/home`,
-        });
+          router.push({
+            path: `/repairs/home`,
+          });
         ElMessage({
           type: "success",
           showClose: true,
@@ -253,7 +287,6 @@ onUnmounted(() => {
           }
         }
 
-
         .remeberPwd {
           height: 30px;
           margin-bottom: 30px;

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

@@ -9,8 +9,8 @@
       <div class="filter">
         <div class="condition">
           <span>关键字 : </span>
-          <el-input clearable v-model="searchInput.keyWord" @clear="getList" class="w-50 m-2" placeholder="请输入名字或工单号"
-            style="width: 210px" />
+          <el-input clearable v-model="searchInput.keyWord" @clear="getList" class="w-50 m-2" placeholder="请输入区域、名字、工单号"
+            style="width: 260px" />
         </div>
         <div class="condition">
           <span>交易时间 : </span>
@@ -42,6 +42,12 @@
         <el-table-column align="center" prop="payTime" width="200" label="交易时间" />
         <el-table-column align="center" prop="recordNo" width="200" label="工单号" />
         <el-table-column align="center" prop="payNo" width="330" label="交易流水号" />
+        <el-table-column align="center" prop="payNo" show-overflow-tooltip width="330" label="区域">
+          <template #default="{ row }">
+            <span>{{ row.areaId }}</span>
+            <span>{{ row.address }}</span>
+          </template>
+        </el-table-column>
         <el-table-column align="center" prop="userName" label="报修人" />
         <el-table-column align="center" prop="payPrice" label="交易总金额" />
         <el-table-column align="center" prop="refundTotalPrice" label="实退" />

+ 356 - 91
src/views/scheduling/scheduling.vue

@@ -2,29 +2,59 @@
   <div class="content-box">
     <div class="left">
       <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
-      <span class="cameratxt" @click="getList(1)" :class="themeIndex == 1 ? 'is_active' : ''">时段设置</span>
-      <span class="cameratxt" @click="getList(2)" :class="themeIndex == 2 ? 'is_active' : ''">排班设置</span>
+      <span
+        class="cameratxt"
+        @click="getList(1)"
+        :class="themeIndex == 1 ? 'is_active' : ''"
+        >时段设置</span
+      >
+      <span
+        class="cameratxt"
+        @click="getList(2)"
+        :class="themeIndex == 2 ? 'is_active' : ''"
+        >排班设置</span
+      >
     </div>
     <div v-if="themeIndex == 1" v-loading="loading1">
       <div class="middle">
         <!-- 按钮列表 -->
         <div class="gongneng" style="margin-top: 20px">
-          <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 class="footer">
-        <el-table :row-class-name="tableRowClassName" :data="tableData.list" style="width: 100%" :header-cell-style="{
-          background: 'rgba(240, 243, 247, 1)',
-          height: '50px',
-          border: 0,
-        }">
+        <el-table
+          :row-class-name="tableRowClassName"
+          :data="tableData.list"
+          style="width: 100%"
+          :header-cell-style="{
+            background: 'rgba(240, 243, 247, 1)',
+            height: '50px',
+            border: 0,
+          }"
+        >
           <!-- <el-table-column align="center" type="selection" width="80" /> -->
-          <el-table-column width="150" align="center " type="index" label="序号" />
+          <el-table-column
+            width="150"
+            align="center "
+            type="index"
+            label="序号"
+          />
           <el-table-column align="center" prop="name" label="名称" />
           <el-table-column align="center" prop="color" label="颜色">
             <template #default="scope">
-              <el-button :color="scope.row.color" :link="false">&nbsp;&nbsp;&nbsp;</el-button>
+              <el-button :color="scope.row.color" :link="false"
+                >&nbsp;&nbsp;&nbsp;</el-button
+              >
             </template>
           </el-table-column>
           <el-table-column align="center" label="起止时间">
@@ -37,8 +67,16 @@
             <template #default="scope">
               <div class="edit">
                 <div class="look" @click="editTime(scope.row)">编辑</div>
-                <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
-                  icon-color="#f89626" title="是否删除?" @confirm="delTime(scope.row)" @cancel="cencelTime">
+                <el-popconfirm
+                  width="220"
+                  confirm-button-text="确认"
+                  cancel-button-text="取消"
+                  :icon="InfoFilled"
+                  icon-color="#f89626"
+                  title="是否删除?"
+                  @confirm="delTime(scope.row)"
+                  @cancel="cencelTime"
+                >
                   <template #reference>
                     <div class="look">删除</div>
                   </template>
@@ -49,19 +87,50 @@
         </el-table>
 
         <!-- 添加时段弹窗 -->
-        <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
-          :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
-          <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
-            :size="formSize" label-position="left" status-icon>
+        <el-dialog
+          class="addStaff"
+          v-model="addDialogVisible"
+          :close-on-click-modal="false"
+          :close-on-press-escape="false"
+          :title="dialongTitle"
+          align-center
+          width="609"
+          :before-close="cancelAdd"
+        >
+          <el-form
+            ref="ruleFormRef"
+            :model="ruleForm"
+            :rules="rules"
+            label-width="100px"
+            class="demo-ruleForm"
+            :size="formSize"
+            label-position="left"
+            status-icon
+          >
             <el-form-item label="班次名称 :" prop="name">
-              <el-input clearable v-model="ruleForm.name" placeholder="请输入班次名称" />
+              <el-input
+                clearable
+                v-model="ruleForm.name"
+                placeholder="请输入班次名称"
+              />
             </el-form-item>
             <el-form-item label="颜色 :" prop="color">
               <div class="colorSelect">
                 <ul>
-                  <li :class="i.flag == 1 ? 'li_active' : ''" v-for="i in ruleFormColor.list">
-                    <div class="item" :class="`item${i.id}`" @click="selectColor(i)">
-                      <img v-if="i.id == colorInd" src="@/assets/colorSelect.png" alt="" />
+                  <li
+                    :class="i.flag == 1 ? 'li_active' : ''"
+                    v-for="i in ruleFormColor.list"
+                  >
+                    <div
+                      class="item"
+                      :class="`item${i.id}`"
+                      @click="selectColor(i)"
+                    >
+                      <img
+                        v-if="i.id == colorInd"
+                        src="@/assets/colorSelect.png"
+                        alt=""
+                      />
                     </div>
                   </li>
                 </ul>
@@ -69,33 +138,77 @@
             </el-form-item>
             <el-form-item label="时间 :" prop="snTime">
               <div>
-                <el-time-picker v-model="ruleForm.snTime" type="daterange" range-separator="-" start-placeholder="起始时间"
-                  end-placeholder="结束时间" format="HH:mm" value-format="HH:mm" :prefix-icon="Calendar" is-range
-                  placeholder="请选择日期" />
+                <el-time-picker
+                  v-model="ruleForm.snTime"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="起始时间"
+                  end-placeholder="结束时间"
+                  format="HH:mm"
+                  value-format="HH:mm"
+                  :prefix-icon="Calendar"
+                  is-range
+                  placeholder="请选择日期"
+                />
               </div>
             </el-form-item>
             <el-form-item label="非工作时间 :" prop="noworkTime">
-              <div class="noworkTime" v-for="(item, index) in ruleForm.noworkTime">
-                <el-time-picker v-model="item.time" type="daterange" range-separator="-" start-placeholder="起始时间"
-                  end-placeholder="结束时间" format="HH:mm" value-format="HH:mm" :prefix-icon="Calendar" is-range
-                  placeholder="请选择日期" />
-                <img @click="delNotWork(index)" v-if="ruleForm.noworkTime.length != 1" src="@/assets/noworkTime.png"
-                  alt="" />
-                <img @click="addNotWork" v-if="index == ruleForm.noworkTime.length - 1" src="@/assets/workTime.png"
-                  alt="" />
+              <div
+                class="noworkTime"
+                v-for="(item, index) in ruleForm.noworkTime"
+              >
+                <el-time-picker
+                  v-model="item.time"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="起始时间"
+                  end-placeholder="结束时间"
+                  format="HH:mm"
+                  value-format="HH:mm"
+                  :prefix-icon="Calendar"
+                  is-range
+                  placeholder="请选择日期"
+                />
+                <img
+                  @click="delNotWork(index)"
+                  v-if="ruleForm.noworkTime.length != 1"
+                  src="@/assets/noworkTime.png"
+                  alt=""
+                />
+                <img
+                  @click="addNotWork"
+                  v-if="index == ruleForm.noworkTime.length - 1"
+                  src="@/assets/workTime.png"
+                  alt=""
+                />
               </div>
             </el-form-item>
-            <el-form-item label="是否值班 :" prop="isDuty" style="
+            <el-form-item
+              label="是否值班 :"
+              prop="isDuty"
+              style="
                 padding-bottom: 40px;
                 border-bottom: 1px solid rgba(230, 230, 230, 1);
-              ">
-              <el-switch v-model="ruleForm.isDuty" class="ml-2" style="--el-switch-on-color: rgba(111, 182, 184, 1)" />
+              "
+            >
+              <el-switch
+                v-model="ruleForm.isDuty"
+                class="ml-2"
+                style="--el-switch-on-color: rgba(111, 182, 184, 1)"
+              />
             </el-form-item>
             <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 class="congzhi" @click="cancelAdd(ruleFormRef)">取消</el-button>
+              <el-button class="congzhi" @click="cancelAdd(ruleFormRef)"
+                >取消</el-button
+              >
             </el-form-item>
           </el-form>
         </el-dialog>
@@ -104,8 +217,14 @@
       <!-- 分页组件 -->
       <div class="pageSize">
         <span></span>
-        <el-pagination background :current-page="currentPage" :page-size="pageSize"
-          layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
+        <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 v-else-if="themeIndex == 2" v-loading="loading2">
@@ -113,14 +232,29 @@
         <div class="filter">
           <div class="condition">
             <span>创建时间 : </span>
-            <el-date-picker v-model="searchInput.createTime" type="daterange" range-separator="-" start-placeholder="起始时间"
-              end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" :prefix-icon="Calendar"
-              placeholder="请选择日期" />
+            <el-date-picker
+              v-model="searchInput.createTime"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="起始时间"
+              end-placeholder="结束时间"
+              format="YYYY-MM-DD"
+              value-format="YYYY-MM-DD"
+              :prefix-icon="Calendar"
+              placeholder="请选择日期"
+            />
           </div>
-          <el-button 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 />
-            </el-icon> <span>查询</span></el-button>
+            </el-icon>
+            <span>查询</span></el-button
+          >
         </div>
         <!-- 按钮列表 -->
         <div class="gongneng">
@@ -134,46 +268,106 @@
               alt=""
             /><span>添加人员</span></el-button
           > -->
-          <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="importTemp"><span>导入模板下载</span></el-button>
-          <el-button color="rgba(111, 182, 184, 1)" class="import" type="primary" @click="importFile"><img
-              src="@/assets/toLead.png" style="width: 24px; height: 22px" alt="" />
-            <span>导入</span></el-button>
-          <el-button color="rgba(111, 182, 184, 1)" class="import" type="primary" @click="importExcel"><img
-              src="@/assets/import.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="importTemp"
+            ><span>导入模板下载</span></el-button
+          >
+          <el-button
+            color="rgba(111, 182, 184, 1)"
+            class="import"
+            type="primary"
+            @click="importFile"
+            ><img
+              src="@/assets/toLead.png"
+              style="width: 24px; height: 22px"
+              alt=""
+            />
+            <span>导入</span></el-button
+          >
+          <el-button
+            color="rgba(111, 182, 184, 1)"
+            class="import"
+            type="primary"
+            @click="importExcel"
+            ><img
+              src="@/assets/import.png"
+              style="width: 14px; height: 14px; margin-right: 4px"
+              alt=""
+            />
+            <span>导出</span></el-button
+          >
         </div>
       </div>
       <div class="footer">
-        <el-table :row-class-name="tableRowClassName" class="footers" :data="tableData.list" style="width: 100%"
+        <el-table
+          :row-class-name="tableRowClassName"
+          class="footers"
+          :data="tableData.list"
+          style="width: 100%"
           :header-cell-style="{
             background: 'rgba(240, 243, 247, 1)',
             height: '50px',
             border: 0,
-          }">
+          }"
+        >
           <!-- <el-table-column align="center" type="selection" width="80" /> -->
-          <el-table-column prop="schoolName" align="center" width="120" fixed="left" label="校区" />
-          <el-table-column fixed="left" prop="userName" align="center" label="人员">
+          <el-table-column
+            prop="schoolName"
+            align="center"
+            width="120"
+            fixed="left"
+            label="校区"
+          />
+          <el-table-column
+            fixed="left"
+            prop="userName"
+            align="center"
+            label="人员"
+          >
           </el-table-column>
           <el-table-column align="center" label="日期">
-            <el-table-column width="300" prop="date" align="center" v-for="(i, index) in dates.list"
-              :label="i.weekStr + '(' + i.dateStr + ')'">
+            <el-table-column
+              width="300"
+              prop="date"
+              align="center"
+              v-for="(i, index) in dates.list"
+              :label="i.weekStr + '(' + i.dateStr + ')'"
+            >
               <template #default="{ row }">
                 <!-- <span>{{ row.classSettings[index] }}</span> -->
                 <!-- <span>{{ index }}</span> -->
                 <div class="word">
                   <div class="classItem" v-if="row.classSettings[index].id">
-                    <div class="del" v-for="item in row.classSettings[index].shifts">
-                      <el-button :link="false" :color="item.color" :dark="true">{{ item.name }}</el-button>
-                      <div class="classX" @click="delClass(row.classSettings[index], item)">
+                    <div
+                      class="del"
+                      v-for="item in row.classSettings[index].shifts"
+                    >
+                      <el-button
+                        :link="false"
+                        :color="item.color"
+                        :dark="true"
+                        >{{ item.name }}</el-button
+                      >
+                      <div
+                        class="classX"
+                        @click="delClass(row.classSettings[index], item)"
+                      >
                         <img src="@/assets/classX.png" alt="" />
                       </div>
                     </div>
-                    <div class="bottom" @click="editClass(row.classSettings[index])">
+                    <div
+                      class="bottom"
+                      @click="editClass(row.classSettings[index])"
+                    >
                       <img src="@/assets/bottom.png" alt="" />
                     </div>
                   </div>
                   <div class="word" v-else>
-                    <span @click="addClass(row.classSettings[index])">添加班次</span>
+                    <span @click="addClass(row.classSettings[index])"
+                      >添加班次</span
+                    >
                   </div>
                 </div>
               </template>
@@ -295,13 +489,34 @@
           </div>
         </el-dialog> -->
         <!-- 添加班次弹窗 -->
-        <el-dialog class="addClass" v-model="addClassVisible" :close-on-click-modal="false" :close-on-press-escape="false"
-          :title="addClassTitle" align-center width="409" :before-close="addClassClose">
-          <el-form ref="ruleFormClassRef" :model="ruleFormClass" :rules="classRules" class="demo-ruleForm"
-            :size="formSize" label-position="left" status-icon>
+        <el-dialog
+          class="addClass"
+          v-model="addClassVisible"
+          :close-on-click-modal="false"
+          :close-on-press-escape="false"
+          :title="addClassTitle"
+          align-center
+          width="409"
+          :before-close="addClassClose"
+        >
+          <el-form
+            ref="ruleFormClassRef"
+            :model="ruleFormClass"
+            :rules="classRules"
+            class="demo-ruleForm"
+            :size="formSize"
+            label-position="left"
+            status-icon
+          >
             <el-form-item label="" prop="shiftIds">
-              <el-tree :data="addClassList" :props="{ label: 'name', children: 'children', value: 'id' }" node-key="id"
-                show-checkbox ref="articleIdsRef" @check-change="handleArticleIds" />
+              <el-tree
+                :data="addClassList"
+                :props="{ label: 'name', children: 'children', value: 'id' }"
+                node-key="id"
+                show-checkbox
+                ref="articleIdsRef"
+                @check-change="handleArticleIds"
+              />
               <!-- <el-checkbox-group
                 v-model="checkedCities"
                 @change="handleCheckedCitiesChange"
@@ -316,24 +531,59 @@
             </el-form-item>
 
             <el-form-item class="options">
-              <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary"
-                @click="addClassSubmit(ruleFormClassRef)">
+              <el-button
+                color="rgba(111, 182, 184, 1)"
+                class="queding"
+                type="primary"
+                @click="addClassSubmit(ruleFormClassRef)"
+              >
                 确定
               </el-button>
-              <el-button class="congzhi" @click="addClassClose(ruleFormClassRef)">取消</el-button>
+              <el-button
+                class="congzhi"
+                @click="addClassClose(ruleFormClassRef)"
+                >取消</el-button
+              >
             </el-form-item>
           </el-form>
         </el-dialog>
         <!-- 导入弹窗 -->
-        <el-dialog class="importXlsx" v-model="importXlsx" :close-on-click-modal="false" :close-on-press-escape="false"
-          title="导入文件" align-center width="409" :before-close="closeXlsx">
-          <el-upload class="avatar-uploader" action="" ref="upload" :on-preview="handlePreview" :on-remove="handleRemove"
-            :on-change="handleChange" :http-request="handleUpload" :before-upload="beforeAvatarUpload"
-            :auto-upload="false" :limit="1" :on-exceed="handleExceed">
+        <el-dialog
+          class="importXlsx"
+          v-model="importXlsx"
+          :close-on-click-modal="false"
+          :close-on-press-escape="false"
+          title="导入文件"
+          align-center
+          width="409"
+          :before-close="closeXlsx"
+        >
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            ref="upload"
+            :on-preview="handlePreview"
+            :on-remove="handleRemove"
+            :on-change="handleChange"
+            :http-request="handleUpload"
+            :before-upload="beforeAvatarUpload"
+            :auto-upload="false"
+            :limit="1"
+            :on-exceed="handleExceed"
+          >
             <template #trigger>
-              <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="updateImg">
-                <img src="@/assets/toLead.png" style="width: 24px; height: 22px" alt="" />
-                <span style="color: #fff">导入文件</span></el-button>
+              <el-button
+                type="primary"
+                color="rgba(111, 182, 184, 1)"
+                @click="updateImg"
+              >
+                <img
+                  src="@/assets/toLead.png"
+                  style="width: 24px; height: 22px"
+                  alt=""
+                />
+                <span style="color: #fff">导入文件</span></el-button
+              >
             </template>
             <!-- <template #tip>
               <div class="el-upload__tip">
@@ -342,7 +592,12 @@
             </template> -->
           </el-upload>
           <div class="options">
-            <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="importSuc()">
+            <el-button
+              color="rgba(111, 182, 184, 1)"
+              class="queding"
+              type="primary"
+              @click="importSuc()"
+            >
               确定
             </el-button>
             <el-button class="congzhi" @click="closeXlsx()">取消</el-button>
@@ -353,15 +608,28 @@
       <!-- 分页组件 -->
       <div class="pageSize">
         <span></span>
-        <el-pagination background :current-page="currentPage2" :page-size="pageSize2"
-          layout="total, prev, pager, next, jumper, slot" :total="total2" @update:current-page="handleCurrentChange2" />
+        <el-pagination
+          background
+          :current-page="currentPage2"
+          :page-size="pageSize2"
+          layout="total, prev, pager, next, jumper, slot"
+          :total="total2"
+          @update:current-page="handleCurrentChange2"
+        />
       </div>
     </div>
   </div>
 </template>
 
 <script setup>
-import { ref, watch, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
+import {
+  ref,
+  watch,
+  reactive,
+  nextTick,
+  onBeforeMount,
+  onUnmounted,
+} from "vue";
 import { useRouter } from "vue-router";
 import { ElMessage, ElMessageBox } from "element-plus";
 import { Calendar } from "@element-plus/icons-vue";
@@ -526,7 +794,7 @@ const getList = async (flag) => {
         center: true,
       });
       if (res.data.code == 570) {
-        sessionStorage.removeItem("token")
+        sessionStorage.removeItem("token");
         router.push({
           path: `/login`,
         });
@@ -542,8 +810,8 @@ const getList = async (flag) => {
       // endTime: searchInput.createTime[1],
     };
     if (searchInput.createTime) {
-      data.startTime = searchInput.createTime[0]
-      data.endTime = searchInput.createTime[1]
+      data.startTime = searchInput.createTime[0];
+      data.endTime = searchInput.createTime[1];
     }
     let res = await axios({
       method: "get",
@@ -1322,7 +1590,7 @@ onBeforeMount(async () => {
   console.log(res, "添加时段选择数据");
   addClassList.value = res.data.data.list;
 });
-onUnmounted(() => { });
+onUnmounted(() => {});
 </script>
 
 <style scoped lang="scss">
@@ -1505,7 +1773,6 @@ onUnmounted(() => { });
       }
 
       .el-table__row {
-
         //添加班次 周一到周日样式
         .word {
           color: rgba(111, 182, 184, 1);
@@ -1579,7 +1846,6 @@ onUnmounted(() => { });
         }
 
         .el-form-item__content {
-
           // 非工作时间样式
           .noworkTime {
             display: flex;
@@ -2010,7 +2276,6 @@ onUnmounted(() => { });
     }
 
     .el-pagination {
-
       // width: 1600px;
       :deep(.el-pagination__total) {
         color: #000;

+ 9 - 8
src/views/staff/staff.vue

@@ -356,7 +356,8 @@
               <el-tree :data="treeValue.list" :props="{ label: 'name', children: 'children', value: 'id' }" node-key="id"
                 show-checkbox ref="buildIdsRef" @check-change="handleCheckChange" />
             </el-form-item> -->
-            <el-form-item label="接单考核时间 :" v-if="ruleForm.userzzId != 4">
+            
+            <!-- <el-form-item label="接单考核时间 :" v-if="ruleForm.userzzId != 4">
               <div class="kaohe">
                 <el-input
                   v-model="ruleForm.acceptanceTime"
@@ -400,7 +401,7 @@
                 </el-input>
                 <span style="margin-left: 5px">分钟</span>
               </div>
-            </el-form-item>
+            </el-form-item> -->
 
             <el-form-item class="options">
               <el-button
@@ -1026,8 +1027,8 @@ const submitAdd = async (formEl) => {
             workType: ruleForm.workType,
             // articleIds: ruleForm.articleIds,
             // buildIds: ruleForm.buildIds,
-            acceptanceAssessTime: ruleForm.acceptanceTime,
-            maintenanceAssessTime: ruleForm.maintenanceTime,
+            // acceptanceAssessTime: ruleForm.acceptanceTime,
+            // maintenanceAssessTime: ruleForm.maintenanceTime,
             articleBuilds: arr,
           };
         }
@@ -1097,11 +1098,11 @@ const submitAdd = async (formEl) => {
             userPhone: ruleForm.userPhone,
             schoolId: ruleForm.schoolId,
             workType: ruleForm.workType,
-            articleIds: ruleForm.articleIds,
-            buildIds: ruleForm.buildIds,
+            // articleIds: ruleForm.articleIds,
+            // buildIds: ruleForm.buildIds,
             teamId: ruleForm.teamId,
-            acceptanceAssessTime: ruleForm.acceptanceTime,
-            maintenanceAssessTime: ruleForm.maintenanceTime,
+            // acceptanceAssessTime: ruleForm.acceptanceTime,
+            // maintenanceAssessTime: ruleForm.maintenanceTime,
             id: ruleForm.id,
             articleBuilds: arr,
           };

+ 212 - 72
src/views/workOrder/workOrder.vue

@@ -13,8 +13,8 @@
             @clear="searchBtn"
             v-model="searchInput.keyWord"
             class="w-50 m-2"
-            placeholder="输入区域、姓名、电话"
-            style="width: 180px"
+            placeholder="输入区域、姓名、电话、工单号"
+            style="width: 230px"
           />
         </div>
         <div class="condition2" v-if="schoolId == 0">
@@ -24,6 +24,7 @@
             class="m-2"
             placeholder="请选择校区"
             @change="selSchool"
+            style="width: 150px"
           >
             <el-option label="全部校区" :value="0" />
             <el-option label="黄家湖校区" :value="1" />
@@ -60,12 +61,13 @@
             v-model="searchInput.maintenanceName"
             class="w-50 m-2"
             placeholder="输入维修师傅名字"
-            style="width: 200px"
+            style="width: 160px"
           />
         </div>
         <div class="condition2">
           <span>创建时间 : </span>
           <el-date-picker
+            style="width: 240px"
             v-model="searchInput.createTime"
             type="daterange"
             range-separator="-"
@@ -106,6 +108,18 @@
           color="rgba(111, 182, 184, 1)"
           class="import"
           type="primary"
+          @click="batchOperate"
+          ><img
+            src="@/assets/batchGD.png"
+            style="width: 14px; height: 14px; margin-right: 4px"
+            alt=""
+          />
+          <span>批量关单</span></el-button
+        >
+        <el-button
+          color="rgba(111, 182, 184, 1)"
+          class="import"
+          type="primary"
           @click="importExcel"
           ><img
             src="@/assets/importWhite.png"
@@ -140,6 +154,8 @@
           border: 0,
         }"
       >
+        <el-table-column align="center" type="selection" width="80" />
+        <el-table-column align="center" type="index" label="序号" width="80" />
         <el-table-column
           align="center"
           prop="recordNo"
@@ -257,7 +273,7 @@
           prop="maintenancerName"
           label="技术员"
         />
-        <el-table-column align="center" width="220" label="操作">
+        <el-table-column align="center" width="240" label="操作">
           <template #default="scope">
             <div class="operation">
               <div
@@ -310,13 +326,13 @@
               >
                 回复
               </div>
-              <div
+              <!-- <div
                 class="btns"
                 v-if="scope.row.delayed == 1"
                 @click="delayed(scope.row)"
               >
                 延时
-              </div>
+              </div> -->
               <div
                 class="btns"
                 v-if="scope.row.details == 1"
@@ -483,7 +499,6 @@
               <el-table
                 :row-class-name="tableRowClassName"
                 :data="sendOrderData.list"
-                @selection-change="handleSelectionChange"
                 style="width: 100%"
                 :header-cell-style="{
                   background: 'rgba(240, 243, 247, 1)',
@@ -592,6 +607,34 @@
             <div class="titles">报修时间:</div>
             <span>{{ orderInfoData.reportTime }}</span>
           </div>
+          <div class="title">
+            <img src="@/assets/repairsPrice.png" alt="" />
+            <span>维修费用</span>
+          </div>
+          <div class="consumables">
+            <div
+              style="border-bottom: 1px solid #ccc"
+              class=""
+              v-for="i in consumables"
+            >
+              <div class="workNum">
+                <div class="titles">耗材:</div>
+                <span>{{ i.consumeName }}</span>
+              </div>
+              <div class="workNum">
+                <div class="titles">耗材单价:</div>
+                <span>{{ i.price }} 元</span>
+              </div>
+              <div class="workNum">
+                <div class="titles">耗材数量:</div>
+                <span>{{ i.number }}</span>
+              </div>
+              <div class="workNum">
+                <div class="titles">耗材费用:</div>
+                <span>{{ i.totalPrice }} 元</span>
+              </div>
+            </div>
+          </div>
           <!-- 工单详情 报修进度 -->
           <div class="title">
             <img src="@/assets/repairsInfo.png" alt="" />
@@ -625,8 +668,8 @@
                       {{ i.createTime }}</span
                     >
                   </div>
-                  <div>
-                    <div>{{ i.content }}</div>
+                  <div class="middleContent">
+                    <div class="overContent">{{ i.content }}</div>
                     <!-- 评价图片 -->
                     <div v-if="i.images" class="evaluateImg">
                       <div v-for="(item, index) in i.images">
@@ -1127,7 +1170,7 @@
         v-model="customsOrderVisible"
         :close-on-click-modal="false"
         :close-on-press-escape="false"
-        title="关单"
+        :title="customsOrderTitle"
         align-center
         width="560"
         :before-close="cancelCustomsOrder"
@@ -1468,8 +1511,10 @@
       background
       :current-page="currentPage"
       :page-size="pageSize"
-      layout="total, prev, pager, next, jumper, slot"
+      :page-sizes="[10, 20, 50, 100]"
+      layout="total,sizes, prev, pager, next, jumper, slot"
       :total="total"
+      @size-change="handleSizeChange"
       @update:current-page="handleCurrentChange"
     />
     <div class="bgImg" v-if="bgImg">
@@ -1493,9 +1538,9 @@ import { Timer } from "@element-plus/icons-vue";
 import { Calendar, Delete } from "@element-plus/icons-vue";
 import vidiconsApi from "@/api/vidicons.js";
 import { dayjs } from "element-plus";
-import gaobai from "@/static/gaobai.mp3";
+// import gaobai from "@/static/gaobai.mp3";
 // import type { UploadProps } from "element-plus";
-import lodash from "lodash";
+import lodash, { get } from "lodash";
 import axios from "axios";
 import { useStore } from "vuex";
 
@@ -1650,7 +1695,9 @@ const orderInfoData = ref({
   totalTime: "", // 维修总时长
   time: "", // 维修耗时
   tracks: [],
+  price: "", // 费用
 });
+const consumables = ref(); // 耗材详情
 const mapUrl = ref(); // 音频地址
 const bgImg = ref(false); // 点击查看图片
 const bgImgurl = ref(); // 点击查看图片地址
@@ -1765,6 +1812,7 @@ const refuseOfflineRules = reactive({
 
 // 关单 (关单--------------------------------------------)
 const customsOrderVisible = ref(false); // 关单弹窗
+const customsOrderTitle = ref('关单'); // 关单弹窗
 const customsOrderList = ref(); // 关单原因列表
 const customsOrderData = ref({
   reason: "",
@@ -1959,81 +2007,91 @@ const selSchool = async (val) => {
     },
     params: data,
   });
-  day.value = [];
+  day.value = new Array(10);
+  console.log(day.value);
+
   console.log(ress, "工单管理头部状态数量");
   if (ress.status == 200) {
     let obj = ress.data.data;
     Object.keys(obj).forEach(function (key) {
       // console.log(key, obj[key]);
       if (key == "allCount") {
-        day.value.push({
+        day.value[0] = {
           key: obj[key],
           name: "全部",
           state: 0,
-        });
+        };
       }
       if (key == "dispatchCount") {
-        day.value.push({
+        day.value[1] = {
           key: obj[key],
           name: "待接单",
           state: 1,
-        });
+        };
       }
       if (key == "maintenanceCount") {
-        day.value.push({
+        day.value[2] = {
           key: obj[key],
           name: "维修中",
           state: 2,
-        });
+        };
       }
       if (key == "logisticsCount") {
-        day.value.push({
+        day.value[3] = {
           key: obj[key],
           name: "待处理",
           state: 3,
-        });
+        };
       }
       if (key == "examineCount") {
-        day.value.push({
+        day.value[4] = {
           key: obj[key],
           name: "待审核",
           state: 4,
-        });
+        };
       }
-      if (key == "finishedCount") {
-        day.value.push({
+      if (key == "paidCount") {
+        day.value[5] = {
           key: obj[key],
-          name: "已完成",
-          state: 5,
-        });
+          name: "待支付",
+          state: 10,
+        };
       }
+
       if (key == "canceledCount") {
-        day.value.push({
+        day.value[6] = {
           key: obj[key],
           name: "已取消",
           state: 6,
-        });
+        };
       }
       if (key == "closedCount") {
-        day.value.push({
+        day.value[7] = {
           key: obj[key],
           name: "已关单",
           state: 7,
-        });
+        };
       }
-      if (key == "timeoutCount") {
-        day.value.push({
+      // if (key == "timeoutCount") {
+      //   day.value.push({
+      //     key: obj[key],
+      //     name: "已超时",
+      //     state: 8,
+      //   });
+      // }
+      if (key == "finishedCount") {
+        day.value[8] = {
           key: obj[key],
-          name: "已超时",
-          state: 8,
-        });
+          name: "已完成",
+          state: 5,
+        };
       }
       if (key == "offlineCount") {
-        day.value.push({
+        day.value[9] = {
           key: obj[key],
           name: "转线下",
           state: 9,
-        });
+        };
       }
     });
   } else {
@@ -2301,6 +2359,8 @@ const orderInfo = async (row) => {
     orderInfoData.value.totalTime = res.data.data.totalTime;
     orderInfoData.value.time = res.data.data.time;
     orderInfoData.value.tracks = res.data.data.tracks;
+    orderInfoData.value.price = res.data.data.price;
+    consumables.value = res.data.data.consumables;
   } else {
     ElMessage({
       type: "error",
@@ -2639,7 +2699,7 @@ const transOrder = async (row) => {
   let datas = { recordId: row.id };
   let ress = await axios({
     method: "get",
-    url: api.value + "/repairRecord/dropDown",
+    url: api.value + "/repairUser/queryPageOfflineUsers",
     headers: {
       token: sessionStorage.getItem("token"),
       user_head: sessionStorage.getItem("userhead"),
@@ -2648,7 +2708,7 @@ const transOrder = async (row) => {
   });
   console.log(ress, "下拉框数据");
   if (ress.data.code == 200) {
-    transOrderObj.list = ress.data.data;
+    transOrderObj.list = ress.data.data.list;
   } else {
     ElMessage({
       type: "error",
@@ -2956,6 +3016,7 @@ const cancelRefuseOffline = () => {
 // 关单弹窗  (关单-----------------------------------------)
 const customsOrder = (row) => {
   customsOrderVisible.value = true;
+  customsOrderTitle.value='关单';
   console.log(row, "关单row");
   customsOrderData.value.recordId = row.id;
   customsOrderData.value.reason = "";
@@ -2966,46 +3027,90 @@ const cancelCustomsOrder = () => {
 };
 // 确定关单
 const customsOrderYes = async () => {
-  let data = {
-    recordId: customsOrderData.value.recordId,
-    reason: customsOrderData.value.reason,
-    remark: customsOrderData.value.remark,
-  };
-  if (customsOrderData.value.reason && customsOrderData.value.remark) {
-    let res = await axios({
-      method: "get",
-      url: api.value + "/repairRecord/closePCOrder",
-      headers: {
-        token: sessionStorage.getItem("token"),
-        user_head: sessionStorage.getItem("userhead"),
-      },
-      params: data,
-    });
-
-    if (res.data.code == 200) {
-      searchBtn();
-      customsOrderVisible.value = false;
+  if(customsOrderTitle.value=='关单'){
+    let data = {
+      recordId: customsOrderData.value.recordId,
+      reason: customsOrderData.value.reason,
+      remark: customsOrderData.value.remark,
+    };
+    if (customsOrderData.value.reason && customsOrderData.value.remark) {
+      let res = await axios({
+        method: "get",
+        url: api.value + "/repairRecord/closePCOrder",
+        headers: {
+          token: sessionStorage.getItem("token"),
+          user_head: sessionStorage.getItem("userhead"),
+        },
+        params: data,
+      });
+  
+      if (res.data.code == 200) {
+        searchBtn();
+        customsOrderVisible.value = false;
+        ElMessage({
+          type: "success",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      } else {
+        ElMessage({
+          type: "error",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      }
+    } else {
       ElMessage({
-        type: "success",
+        type: "warning",
         showClose: true,
-        message: res.data.message,
+        message: "关单原因或关单备注不能为空",
         center: true,
       });
+    }
+  }else if(customsOrderTitle.value=='批量关单'){
+    let data = {
+      recordIds: customsOrderData.value.recordId.join(','),
+      reason: customsOrderData.value.reason,
+      remark: customsOrderData.value.remark,
+    };
+    if (customsOrderData.value.reason && customsOrderData.value.remark) {
+      let res = await axios({
+        method: "get",
+        url: api.value + "/repairRecord/closePCOrderBeath",
+        headers: {
+          token: sessionStorage.getItem("token"),
+          user_head: sessionStorage.getItem("userhead"),
+        },
+        params: data,
+      });
+  
+      if (res.data.code == 200) {
+        searchBtn();
+        customsOrderVisible.value = false;
+        ElMessage({
+          type: "success",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      } else {
+        ElMessage({
+          type: "error",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      }
     } else {
       ElMessage({
-        type: "error",
+        type: "warning",
         showClose: true,
-        message: res.data.message,
+        message: "关单原因或关单备注不能为空",
         center: true,
       });
     }
-  } else {
-    ElMessage({
-      type: "warning",
-      showClose: true,
-      message: "关单原因或关单备注不能为空",
-      center: true,
-    });
   }
 };
 
@@ -3510,6 +3615,27 @@ const handleSelectionChange = (val) => {
   console.log(val);
   selectData.list = val;
 };
+// 批量关单
+const batchOperate = async () => {
+  if (selectData.list.length) {
+    customsOrderVisible.value = true;
+    customsOrderTitle.value='批量关单';
+    customsOrderData.value.reason = "";
+    customsOrderData.value.remark = "";
+    let recordIds=[]
+    selectData.list.forEach(i=>{
+      recordIds.push(i.id)
+    })
+    customsOrderData.value.recordId=recordIds
+  }else{
+    ElMessage({
+      type: "warning",
+      showClose: true,
+      message:'至少勾选一条数据',
+      center: true,
+    });
+  }
+};
 
 // 表格斑马纹颜色修改
 const tableRowClassName = ({ row, rowIndex }) => {
@@ -3520,6 +3646,12 @@ const tableRowClassName = ({ row, rowIndex }) => {
   }
   return "";
 };
+
+const handleSizeChange = (val) => {
+  console.log(val);
+  pageSize.value = val;
+  getList();
+};
 // 分页
 const handleCurrentChange = (value) => {
   // console.log(value);
@@ -3996,10 +4128,18 @@ onBeforeMount(async () => {
               }
 
               .el-step__description {
+                padding-right: 0;
                 .content {
                   margin-top: 7px;
                 }
 
+                .middleContent {
+                  width: 500px;
+                  .overContent {
+                    word-wrap: break-word;
+                  }
+                }
+
                 .evaluateImg {
                   width: 500px;
                   margin: 10px 0;

+ 14 - 3
vite.config.js

@@ -34,15 +34,26 @@ export default defineConfig({
     // },
 
     // 在线地址
+    // 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/, ""),
+    //   },
+    // },
+    // wxl 服务器
     proxy: {
-      "/campusMaintenance/repair-api/repair/api": {
+      "/repair/api/": {
         target:
-          "https://chtech.ncjti.edu.cn/campusMaintenance/repair-api/repair/api",
+          "http://192.168.161.225:8080/repair/api/",
         changeOrigin: true,
         rewrite: (path) =>
-          path.replace(/^\/campusMaintenance\/repair-api\/repair\/api/, ""),
+          path.replace(/^\/repair\/api/, ""),
       },
     },
+    
   },
   publicDir: "public",
   base: "./",