Browse Source

修改bug

hzj18279462576@163.com 2 years ago
parent
commit
2a7e4365ec

+ 7 - 1
README.md

@@ -1 +1,7 @@
-#repaireschool_guanli
+# Vue 3 + Vite
+
+This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
+
+## Recommended IDE Setup
+
+- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).

+ 12 - 12
src/layout/index.vue

@@ -88,24 +88,14 @@ const tableData = reactive({
 });
 });
 onBeforeMount(async () => {
 onBeforeMount(async () => {
   api.value = store.state.user.api;
   api.value = store.state.user.api;
-
-  // {
-  //   let res = await axios({
-  //     method: "post",
-  //     url: api.value + "/carBook/cnqueryHb.action",
-  //     headers: {
-  //       token: sessionStorage.getItem("token"),
-  //     },
-  //   });
-  //   console.log(res, "系统配置");
-  //   sessionStorage.setItem("waiting", JSON.stringify(res.data.data));
-  // }
+  store.dispatch("newsAsync");
 });
 });
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">
 .body-box {
 .body-box {
   display: flex;
   display: flex;
+
   .content {
   .content {
     // min-width: 1740px;
     // min-width: 1740px;
     max-width: calc(100vw - 81px);
     max-width: calc(100vw - 81px);
@@ -113,14 +103,17 @@ onBeforeMount(async () => {
     width: 100%;
     width: 100%;
     height: calc(100vh);
     height: calc(100vh);
     background-color: rgba(238, 238, 238, 1);
     background-color: rgba(238, 238, 238, 1);
+
     :deep(.el-dialog__header .el-dialog__headerbtn) {
     :deep(.el-dialog__header .el-dialog__headerbtn) {
       outline: none;
       outline: none;
     }
     }
   }
   }
 }
 }
+
 .router_animate-enter-active {
 .router_animate-enter-active {
   animation: fadeIn 1.5s;
   animation: fadeIn 1.5s;
 }
 }
+
 .router_animate-leave-active {
 .router_animate-leave-active {
   animation: fadeIn 0s;
   animation: fadeIn 0s;
 }
 }
@@ -132,17 +125,20 @@ onBeforeMount(async () => {
       outline: none;
       outline: none;
     }
     }
   }
   }
+
   .el-message-box__btns {
   .el-message-box__btns {
     .el-button--primary {
     .el-button--primary {
       background-color: rgba(61, 81, 232, 1);
       background-color: rgba(61, 81, 232, 1);
       border: 0.5px solid rgba(61, 81, 232, 1);
       border: 0.5px solid rgba(61, 81, 232, 1);
     }
     }
+
     .el-button--primary:hover {
     .el-button--primary:hover {
       background-color: rgb(119, 133, 239);
       background-color: rgb(119, 133, 239);
       border: 0.5px solid rgb(119, 133, 239);
       border: 0.5px solid rgb(119, 133, 239);
     }
     }
   }
   }
 }
 }
+
 .el-dialog__body {
 .el-dialog__body {
   .el-input {
   .el-input {
     .el-input__suffix-inner {
     .el-input__suffix-inner {
@@ -150,6 +146,7 @@ onBeforeMount(async () => {
     }
     }
   }
   }
 }
 }
+
 .pw {
 .pw {
   .el-dialog__body {
   .el-dialog__body {
     .el-form {
     .el-form {
@@ -158,6 +155,7 @@ onBeforeMount(async () => {
           background-color: rgba(61, 81, 232, 1);
           background-color: rgba(61, 81, 232, 1);
           border: 0.5px solid rgba(61, 81, 232, 1);
           border: 0.5px solid rgba(61, 81, 232, 1);
         }
         }
+
         .queding:hover {
         .queding:hover {
           background-color: rgb(119, 133, 239);
           background-color: rgb(119, 133, 239);
           border: 0.5px solid rgb(119, 133, 239);
           border: 0.5px solid rgb(119, 133, 239);
@@ -166,6 +164,7 @@ onBeforeMount(async () => {
     }
     }
   }
   }
 }
 }
+
 #notification_1 {
 #notification_1 {
   .el-notification__group {
   .el-notification__group {
     .el-notification__title {
     .el-notification__title {
@@ -173,6 +172,7 @@ onBeforeMount(async () => {
     }
     }
   }
   }
 }
 }
+
 *::-webkit-scrollbar-track {
 *::-webkit-scrollbar-track {
   background-color: #fff;
   background-color: #fff;
 }
 }

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

@@ -407,7 +407,7 @@ const getList = async (flag) => {
 
 
     let res = await axios({
     let res = await axios({
       method: "get",
       method: "get",
-      url: api.value + "repairConsumables/queryRepairConsumablePageList",
+      url: api.value + "/repairConsumables/queryRepairConsumablePageList",
       headers: {
       headers: {
         token: sessionStorage.getItem("token"),
         token: sessionStorage.getItem("token"),
         user_head: sessionStorage.getItem("userhead"),
         user_head: sessionStorage.getItem("userhead"),

+ 144 - 165
src/views/evaluate/evaluate.vue

@@ -9,131 +9,54 @@
       <div class="filter">
       <div class="filter">
         <div class="condition">
         <div class="condition">
           <span>关键字 : </span>
           <span>关键字 : </span>
-          <el-input
-            :clearable="true"
-            v-model="searchInput.keyWord"
-            class="w-50 m-2"
-            placeholder="请输入工单号或姓名"
-            style="width: 180px"
-          />
+          <el-input :clearable="true" v-model="searchInput.keyWord" class="w-50 m-2" placeholder="请输入工单号或姓名"
+            style="width: 180px" />
         </div>
         </div>
         <div class="condition">
         <div class="condition">
           <span>评价时间 : </span>
           <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="请选择日期"
-            :clearable="true"
-          />
+          <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="请选择日期" :clearable="true" />
         </div>
         </div>
 
 
-        <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-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>
       </div>
       </div>
       <!-- 按钮列表 -->
       <!-- 按钮列表 -->
       <div class="gongneng">
       <div class="gongneng">
-        <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 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>
     </div>
     <div class="footer">
     <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-column
-          align="center"
-          width="180"
-          prop="recordNo"
-          label="工单编号"
-        />
+      <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" width="180" prop="recordNo" label="工单编号" />
         <el-table-column align="center" prop="userName" label="姓名" />
         <el-table-column align="center" prop="userName" label="姓名" />
         <el-table-column align="center" prop="userPhone" label="电话" />
         <el-table-column align="center" prop="userPhone" label="电话" />
-        <el-table-column
-          align="center"
-          width="180"
-          prop="description"
-          label="故障描述"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          align="center"
-          width="170"
-          prop="reportTime"
-          label="报修时间"
-        />
-        <el-table-column
-          align="center"
-          prop="maintenancerName"
-          label="技术员"
-        />
+        <el-table-column align="center" width="180" prop="description" label="故障描述" show-overflow-tooltip />
+        <el-table-column align="center" width="170" prop="reportTime" label="报修时间" />
+        <el-table-column align="center" prop="maintenancerName" label="技术员" />
         <el-table-column align="center" label="评价星级" width="160">
         <el-table-column align="center" label="评价星级" width="160">
           <template #default="{ row, index }">
           <template #default="{ row, index }">
-            <el-rate
-              v-model="row.star"
-              allow-half
-              color="rgba(234, 149, 24, 1)"
-              size="large"
-              disabled
-              disabled-void-color="rgba(179, 179, 179, 1)"
-            />
+            <el-rate v-model="row.star" allow-half color="rgba(234, 149, 24, 1)" size="large" disabled
+              disabled-void-color="rgba(179, 179, 179, 1)" />
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column
-          align="center"
-          width="160"
-          show-overflow-tooltip
-          prop="content"
-          label="评价内容"
-        />
-        <el-table-column
-          align="center"
-          prop="createTime"
-          width="180"
-          label="评价时间"
-        />
+        <el-table-column align="center" width="160" show-overflow-tooltip prop="content" label="评价内容" />
+        <el-table-column align="center" prop="createTime" width="180" label="评价时间" />
         <el-table-column align="center" label="操作" width="220">
         <el-table-column align="center" label="操作" width="220">
           <template #default="scope">
           <template #default="scope">
             <div class="edit">
             <div class="edit">
               <div class="look" @click="orderInfo(scope.row)">详情</div>
               <div class="look" @click="orderInfo(scope.row)">详情</div>
-              <el-popconfirm
-                width="220"
-                confirm-button-text="确认"
-                cancel-button-text="取消"
-                :icon="InfoFilled"
-                icon-color="#f89626"
-                title="是否删除这条评价?"
-                @confirm="confirmEvent(scope.row)"
-                @cancel="cancelEvent"
-              >
+              <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
+                icon-color="#f89626" title="是否删除这条评价?" @confirm="confirmEvent(scope.row)" @cancel="cancelEvent">
                 <template #reference>
                 <template #reference>
                   <div class="look">删除</div>
                   <div class="look">删除</div>
                 </template>
                 </template>
@@ -144,16 +67,8 @@
       </el-table>
       </el-table>
     </div>
     </div>
     <!-- 详情弹窗 -->
     <!-- 详情弹窗 -->
-    <el-dialog
-      class="orderInfo"
-      v-model="orderInfoVisible"
-      :close-on-click-modal="false"
-      :close-on-press-escape="false"
-      title="评价详情"
-      align-center
-      width="760"
-      :before-close="cancelOrderInfo"
-    >
+    <el-dialog class="orderInfo" v-model="orderInfoVisible" :close-on-click-modal="false" :close-on-press-escape="false"
+      title="评价详情" align-center width="760" :before-close="cancelOrderInfo">
       <div class="order_info">
       <div class="order_info">
         <!-- 工单详情 工单信息 -->
         <!-- 工单详情 工单信息 -->
         <div class="title">
         <div class="title">
@@ -161,31 +76,25 @@
           <span>工单信息</span>
           <span>工单信息</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">工单编号:</span
-          ><span>{{ orderInfoData.recordNo }}</span>
+          <div class="titles">工单编号:</div><span>{{ orderInfoData.recordNo }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">报修姓名:</span
-          ><span>{{ orderInfoData.userName }}</span>
+          <div class="titles">报修姓名:</div><span>{{ orderInfoData.userName }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">报修电话:</span
-          ><span>{{ orderInfoData.userPhone }}</span>
+          <div class="titles">报修电话:</div><span>{{ orderInfoData.userPhone }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">故障类型:</span
-          ><span>{{ orderInfoData.articleName }}</span>
+          <div class="titles">故障类型:</div><span>{{ orderInfoData.articleName }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">故障描述:</span
-          ><span>{{ orderInfoData.description }}</span>
+          <div class="titles">故障描述:</div><span>{{ orderInfoData.description }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">报修区域:</span
-          ><span>{{ orderInfoData.address }}</span>
+          <div class="titles">报修区域:</div><span>{{ orderInfoData.areaName }}{{ orderInfoData.address }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">报修录音:</span>
+          <div class="titles">报修录音:</div>
           <div class="audio" @click="bofang">
           <div class="audio" @click="bofang">
             <img src="@/assets/audio.png" alt="" />
             <img src="@/assets/audio.png" alt="" />
             <div class="audioNum">{{ orderInfoData.voiceLength }}"</div>
             <div class="audioNum">{{ orderInfoData.voiceLength }}"</div>
@@ -194,27 +103,18 @@
           </div>
           </div>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">报修时间:</span
-          ><span>{{ orderInfoData.reportTime }}</span>
+          <div class="titles">报修时间:</div><span>{{ orderInfoData.reportTime }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">评价内容:</span
-          ><span>{{ orderInfoData.content }}</span>
+          <div class="titles">评价内容:</div><span>{{ orderInfoData.content }}</span>
         </div>
         </div>
         <div class="workNum">
         <div class="workNum">
-          <span class="titles">评价时间:</span
-          ><span>{{ orderInfoData.createTime }}</span>
+          <div class="titles">评价时间:</div><span>{{ orderInfoData.createTime }}</span>
         </div>
         </div>
         <div class="workNums">
         <div class="workNums">
-          <span class="titles">评价星级:</span>
-          <el-rate
-            v-model="orderInfoData.star"
-            allow-half
-            color="rgba(234, 149, 24, 1)"
-            size="large"
-            disabled
-            disabled-void-color="rgba(179, 179, 179, 1)"
-          />
+          <div class="titles">评价星级:</div>
+          <el-rate v-model="orderInfoData.star" allow-half color="rgba(234, 149, 24, 1)" size="large" disabled
+            disabled-void-color="rgba(179, 179, 179, 1)" />
         </div>
         </div>
         <!-- 工单详情 报修进度 -->
         <!-- 工单详情 报修进度 -->
         <div class="title">
         <div class="title">
@@ -233,28 +133,22 @@
           <el-steps direction="vertical" :active="orderInfoData.tracks.length">
           <el-steps direction="vertical" :active="orderInfoData.tracks.length">
             <el-step v-for="(i, index) in orderInfoData.tracks">
             <el-step v-for="(i, index) in orderInfoData.tracks">
               <template v-slot:icon>
               <template v-slot:icon>
-                <img
-                  style="width: 20px; height: 20px"
-                  src="@/assets/step_common.png"
-                  alt=""
-                />
+                <img style="width: 20px; height: 20px" src="@/assets/step_common.png" alt="" />
               </template>
               </template>
               <template v-slot:title>
               <template v-slot:title>
                 <span>{{ i.state }}</span>
                 <span>{{ i.state }}</span>
               </template>
               </template>
               <template v-slot:description>
               <template v-slot:description>
                 <div class="content">
                 <div class="content">
-                  <span
-                    >[{{ i.userZzstr }}]{{ i.user_name }}{{ i.user_phone }}
-                    {{ i.createTime }}</span
-                  >
+                  <span>[{{ i.userZzstr }}]{{ i.userName }}{{ i.userPhone }}
+                    {{ i.createTime }}</span>
                 </div>
                 </div>
                 <div>
                 <div>
                   <div>{{ i.content }}</div>
                   <div>{{ i.content }}</div>
                   <!-- 评价图片 -->
                   <!-- 评价图片 -->
                   <div v-if="i.images" class="evaluateImg">
                   <div v-if="i.images" class="evaluateImg">
                     <div v-for="(item, index) in i.images">
                     <div v-for="(item, index) in i.images">
-                      <img :key="index" :src="item" alt="" />
+                      <img @click="lookImg(item)" :key="index" :src="item" alt="" />
                     </div>
                     </div>
                   </div>
                   </div>
                   <!-- 评价录音 -->
                   <!-- 评价录音 -->
@@ -262,11 +156,7 @@
                     <img src="@/assets/audio.png" alt="" />
                     <img src="@/assets/audio.png" alt="" />
                     <div class="audioNum">{{ i.voiceLength }}"</div>
                     <div class="audioNum">{{ i.voiceLength }}"</div>
                     <!-- <button class="butt" @click="bofang">确认</button> -->
                     <!-- <button class="butt" @click="bofang">确认</button> -->
-                    <audio
-                      :id="`audio${i.id}`"
-                      class="aud"
-                      :src="i.voice"
-                    ></audio>
+                    <audio :id="`audio${i.id}`" class="aud" :src="i.voice"></audio>
                   </div>
                   </div>
                 </div>
                 </div>
               </template>
               </template>
@@ -278,14 +168,11 @@
     <!-- 分页组件 -->
     <!-- 分页组件 -->
     <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 class="bgImg" v-if="bgImg">
+      <img @click="bgImg = false" :src="bgImgurl" alt="" />
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -318,6 +205,7 @@ const orderInfoData = ref({
   description: "", // 故障描述
   description: "", // 故障描述
   articleId: "", // 报修类型
   articleId: "", // 报修类型
   address: "", // 报修区域
   address: "", // 报修区域
+  areaName: "",// 报修校区地址
   voice: "", // 报修录音
   voice: "", // 报修录音
   voiceLength: "", // 报修录音时长
   voiceLength: "", // 报修录音时长
   reportTime: "", // 报修时间
   reportTime: "", // 报修时间
@@ -328,6 +216,8 @@ const orderInfoData = ref({
   star: "", // 评价星级
   star: "", // 评价星级
   tracks: [],
   tracks: [],
 });
 });
+const bgImg = ref(false)// 点击查看图片
+const bgImgurl = ref() // 点击查看图片地址
 
 
 const searchInput = reactive({
 const searchInput = reactive({
   keyWord: "",
   keyWord: "",
@@ -427,6 +317,7 @@ const orderInfo = async (row) => {
     orderInfoData.value.userPhone = res.data.data.userPhone;
     orderInfoData.value.userPhone = res.data.data.userPhone;
     orderInfoData.value.description = res.data.data.description;
     orderInfoData.value.description = res.data.data.description;
     orderInfoData.value.address = res.data.data.address;
     orderInfoData.value.address = res.data.data.address;
+    orderInfoData.value.areaName = res.data.data.areaName;
     orderInfoData.value.articleName = res.data.data.articleName;
     orderInfoData.value.articleName = res.data.data.articleName;
     orderInfoData.value.voice = res.data.data.voice;
     orderInfoData.value.voice = res.data.data.voice;
     orderInfoData.value.voiceLength = res.data.data.voiceLength;
     orderInfoData.value.voiceLength = res.data.data.voiceLength;
@@ -488,6 +379,12 @@ const audioPlay = (i) => {
     // timer = null;
     // timer = null;
   }
   }
 };
 };
+// 点击工单步骤中的图片查看
+const lookImg = (item) => {
+  bgImg.value = true
+  bgImgurl.value = item
+}
+
 // 工单详情删除按钮  (工单详情-----------------------------------)
 // 工单详情删除按钮  (工单详情-----------------------------------)
 // const orderInfo = (row) => {
 // const orderInfo = (row) => {
 //   orderInfoVisible.value = true;
 //   orderInfoVisible.value = true;
@@ -637,6 +534,7 @@ onUnmounted(() => {
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
   box-shadow: 0px 3px 10px rgba(213, 228, 252, 1);
   box-shadow: 0px 3px 10px rgba(213, 228, 252, 1);
+
   .left {
   .left {
     // width: calc(100wh - 40px);
     // width: calc(100wh - 40px);
     display: flex;
     display: flex;
@@ -647,59 +545,73 @@ onUnmounted(() => {
     color: rgb(0, 0, 0);
     color: rgb(0, 0, 0);
     font-size: 18px;
     font-size: 18px;
     font-weight: 600;
     font-weight: 600;
+
     span {
     span {
       margin-right: 20px;
       margin-right: 20px;
       cursor: pointer;
       cursor: pointer;
     }
     }
+
     .is_active {
     .is_active {
       color: rgba(111, 182, 184, 1);
       color: rgba(111, 182, 184, 1);
     }
     }
   }
   }
+
   .middle {
   .middle {
     width: 96%;
     width: 96%;
     margin: 0 auto;
     margin: 0 auto;
 
 
     color: #000;
     color: #000;
+
     // border-bottom: 1px solid rgb(231, 231, 231);
     // border-bottom: 1px solid rgb(231, 231, 231);
     .filter {
     .filter {
       display: flex;
       display: flex;
       flex-wrap: wrap;
       flex-wrap: wrap;
       align-items: center;
       align-items: center;
       margin: 10px 0 0 0;
       margin: 10px 0 0 0;
+
       .search {
       .search {
         color: #fff;
         color: #fff;
       }
       }
+
       .condition {
       .condition {
         display: flex;
         display: flex;
         align-items: center;
         align-items: center;
         margin: 10px 30px 10px 0;
         margin: 10px 30px 10px 0;
+
         :deep(.el-input .el-input__inner) {
         :deep(.el-input .el-input__inner) {
           font-size: 16px;
           font-size: 16px;
         }
         }
+
         span {
         span {
           margin: 0 10px 0 0;
           margin: 0 10px 0 0;
         }
         }
       }
       }
     }
     }
+
     .gongneng {
     .gongneng {
       margin: 10px 0 15px 0;
       margin: 10px 0 15px 0;
+
       span {
       span {
         color: #fff;
         color: #fff;
       }
       }
     }
     }
+
     :deep(.cont) {
     :deep(.cont) {
       width: 60%;
       width: 60%;
       margin: 20px auto;
       margin: 20px auto;
     }
     }
+
     :deep(.download) {
     :deep(.download) {
       display: flex;
       display: flex;
       align-items: center;
       align-items: center;
       margin: 10px;
       margin: 10px;
     }
     }
+
     :deep(.download span) {
     :deep(.download span) {
       font-size: 16px;
       font-size: 16px;
       margin-left: 20px;
       margin-left: 20px;
     }
     }
+
     :deep(.cont .el-button) {
     :deep(.cont .el-button) {
       margin-left: 60px;
       margin-left: 60px;
       margin-bottom: 30px;
       margin-bottom: 30px;
@@ -710,33 +622,41 @@ onUnmounted(() => {
       display: flex;
       display: flex;
       justify-content: center;
       justify-content: center;
     }
     }
+
     :deep(.cont .accomplish .el-button) {
     :deep(.cont .accomplish .el-button) {
       width: 50%;
       width: 50%;
       margin: 0;
       margin: 0;
     }
     }
   }
   }
+
   .footer {
   .footer {
     width: 96%;
     width: 96%;
     height: 550px;
     height: 550px;
     margin: 10px auto 30px;
     margin: 10px auto 30px;
+
     .el-table--fit {
     .el-table--fit {
       height: 100%;
       height: 100%;
+
       :deep(.el-table__header-wrapper) {
       :deep(.el-table__header-wrapper) {
         background-color: #000;
         background-color: #000;
         font-size: 16px;
         font-size: 16px;
+
         tr {
         tr {
           color: #000;
           color: #000;
         }
         }
       }
       }
+
       :deep(.el-table__row) {
       :deep(.el-table__row) {
         height: 50px;
         height: 50px;
         font-size: 16px;
         font-size: 16px;
         color: #000;
         color: #000;
+
         .el-rate__icon {
         .el-rate__icon {
           //评分图标大小
           //评分图标大小
           font-size: 25px;
           font-size: 25px;
         }
         }
       }
       }
+
       :deep(.el-table__row td) {
       :deep(.el-table__row td) {
         padding: 0;
         padding: 0;
         border: 0;
         border: 0;
@@ -745,61 +665,74 @@ onUnmounted(() => {
       .el-button--primary {
       .el-button--primary {
         margin-left: 5px;
         margin-left: 5px;
       }
       }
+
       :deep(.el-table__body .even) {
       :deep(.el-table__body .even) {
         background-color: #fff;
         background-color: #fff;
       }
       }
+
       :deep(.el-table__body .odd) {
       :deep(.el-table__body .odd) {
         background-color: rgba(240, 243, 247, 1);
         background-color: rgba(240, 243, 247, 1);
       }
       }
+
       :deep(.edit) {
       :deep(.edit) {
         display: flex;
         display: flex;
         align-items: center;
         align-items: center;
         justify-content: center;
         justify-content: center;
         color: rgba(111, 182, 184, 1);
         color: rgba(111, 182, 184, 1);
       }
       }
+
       :deep(.look) {
       :deep(.look) {
         padding: 0 10px;
         padding: 0 10px;
         cursor: pointer;
         cursor: pointer;
       }
       }
+
       //   :deep(.look):hover {
       //   :deep(.look):hover {
       //     color: red;
       //     color: red;
       //   }
       //   }
     }
     }
   }
   }
+
   // 详情样式
   // 详情样式
   :deep(.orderInfo) {
   :deep(.orderInfo) {
     height: 800px;
     height: 800px;
     overflow: hidden;
     overflow: hidden;
     border-radius: 11px;
     border-radius: 11px;
+
     .el-dialog__header {
     .el-dialog__header {
       border-radius: 11px 11px 0 0;
       border-radius: 11px 11px 0 0;
       background: rgba(237, 241, 245, 1);
       background: rgba(237, 241, 245, 1);
       font-weight: 600;
       font-weight: 600;
       margin: 0;
       margin: 0;
+
       .el-dialog__headerbtn {
       .el-dialog__headerbtn {
         outline: none;
         outline: none;
       }
       }
     }
     }
+
     .el-dialog__body {
     .el-dialog__body {
       height: 720px;
       height: 720px;
       overflow: auto;
       overflow: auto;
       padding: 0px 20px 10px 20px;
       padding: 0px 20px 10px 20px;
+
       .order_info {
       .order_info {
         .title {
         .title {
           display: flex;
           display: flex;
           align-items: center;
           align-items: center;
           margin: 25px 0 10px 0;
           margin: 25px 0 10px 0;
+
           img {
           img {
             width: 20px;
             width: 20px;
             height: 20px;
             height: 20px;
             margin-right: 10px;
             margin-right: 10px;
           }
           }
+
           span {
           span {
             color: #000;
             color: #000;
             font-size: 18px;
             font-size: 18px;
             font-weight: 800;
             font-weight: 800;
           }
           }
         }
         }
+
         // 工单详情 排列模式样式
         // 工单详情 排列模式样式
         .workNum {
         .workNum {
           display: flex;
           display: flex;
@@ -816,36 +749,44 @@ onUnmounted(() => {
             display: flex;
             display: flex;
             align-items: center;
             align-items: center;
             cursor: pointer;
             cursor: pointer;
+
             img {
             img {
               width: 18px;
               width: 18px;
               height: 18px;
               height: 18px;
               margin-left: 5px;
               margin-left: 5px;
             }
             }
+
             .audioNum {
             .audioNum {
               font-size: 16px;
               font-size: 16px;
             }
             }
           }
           }
+
           .titles {
           .titles {
             color: rgba(128, 128, 128, 1);
             color: rgba(128, 128, 128, 1);
             font-weight: 200;
             font-weight: 200;
             display: inline-block;
             display: inline-block;
             width: 80px;
             width: 80px;
           }
           }
+
           span:nth-child(2) {
           span:nth-child(2) {
             color: #000;
             color: #000;
             font-weight: 600;
             font-weight: 600;
+            width: 640px;
           }
           }
         }
         }
+
         .workNums {
         .workNums {
           display: flex;
           display: flex;
           align-items: center;
           align-items: center;
           margin-bottom: 12px;
           margin-bottom: 12px;
           font-size: 16px;
           font-size: 16px;
+
           .el-rate__item {
           .el-rate__item {
             .el-icon {
             .el-icon {
               font-size: 25px;
               font-size: 25px;
             }
             }
           }
           }
+
           .titles {
           .titles {
             color: rgba(128, 128, 128, 1);
             color: rgba(128, 128, 128, 1);
             font-weight: 200;
             font-weight: 200;
@@ -853,16 +794,20 @@ onUnmounted(() => {
             width: 80px;
             width: 80px;
           }
           }
         }
         }
+
         // 工单详情 步骤条样式
         // 工单详情 步骤条样式
         .steps {
         .steps {
           .el-step {
           .el-step {
+
             // margin: 15px 0;
             // margin: 15px 0;
             .el-step__main {
             .el-step__main {
               display: flex;
               display: flex;
               margin-bottom: 15px;
               margin-bottom: 15px;
+
               span {
               span {
                 font-size: 16px;
                 font-size: 16px;
               }
               }
+
               .el-step__title {
               .el-step__title {
                 padding: 0 10px 0 0;
                 padding: 0 10px 0 0;
 
 
@@ -875,21 +820,25 @@ onUnmounted(() => {
                 }
                 }
               }
               }
             }
             }
+
             .el-step__description {
             .el-step__description {
               .content {
               .content {
                 margin-top: 7px;
                 margin-top: 7px;
               }
               }
+
               .evaluateImg {
               .evaluateImg {
                 width: 500px;
                 width: 500px;
                 margin: 10px 0;
                 margin: 10px 0;
                 display: flex;
                 display: flex;
                 flex-wrap: wrap;
                 flex-wrap: wrap;
+
                 img {
                 img {
                   width: 80px;
                   width: 80px;
                   // height: 40px;
                   // height: 40px;
                   margin: 5px 10px 0 0;
                   margin: 5px 10px 0 0;
                 }
                 }
               }
               }
+
               .audio {
               .audio {
                 width: 98px;
                 width: 98px;
                 height: 30px;
                 height: 30px;
@@ -899,11 +848,13 @@ onUnmounted(() => {
                 display: flex;
                 display: flex;
                 align-items: center;
                 align-items: center;
                 cursor: pointer;
                 cursor: pointer;
+
                 img {
                 img {
                   width: 18px;
                   width: 18px;
                   height: 18px;
                   height: 18px;
                   margin-left: 5px;
                   margin-left: 5px;
                 }
                 }
+
                 .audioNum {
                 .audioNum {
                   font-size: 16px;
                   font-size: 16px;
                   color: #000;
                   color: #000;
@@ -915,45 +866,56 @@ onUnmounted(() => {
       }
       }
     }
     }
   }
   }
+
   .pageSize {
   .pageSize {
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
     justify-content: space-between;
     justify-content: space-between;
     margin: 0 30px;
     margin: 0 30px;
+
     span {
     span {
       color: #000;
       color: #000;
     }
     }
+
     .el-pagination {
     .el-pagination {
+
       // width: 1600px;
       // width: 1600px;
       :deep(.el-pagination__total) {
       :deep(.el-pagination__total) {
         color: #000;
         color: #000;
       }
       }
+
       :deep(.el-pagination__goto) {
       :deep(.el-pagination__goto) {
         color: #000;
         color: #000;
       }
       }
+
       :deep(.el-pagination__classifier) {
       :deep(.el-pagination__classifier) {
         color: #000;
         color: #000;
       }
       }
+
       :deep(.el-input__wrapper) {
       :deep(.el-input__wrapper) {
         border: 1px solid rgba(0, 0, 0, 1);
         border: 1px solid rgba(0, 0, 0, 1);
         border-radius: 5px;
         border-radius: 5px;
         box-shadow: none;
         box-shadow: none;
       }
       }
+
       :deep(.el-pager li) {
       :deep(.el-pager li) {
         margin: 0 5px;
         margin: 0 5px;
         border: 1px solid rgba(0, 0, 0, 1);
         border: 1px solid rgba(0, 0, 0, 1);
         border-radius: 5px;
         border-radius: 5px;
         background-color: transparent;
         background-color: transparent;
       }
       }
+
       :deep(.el-pager li.is-active) {
       :deep(.el-pager li.is-active) {
         background-color: rgba(111, 182, 184, 1);
         background-color: rgba(111, 182, 184, 1);
       }
       }
+
       :deep(.btn-prev) {
       :deep(.btn-prev) {
         margin-right: 5px;
         margin-right: 5px;
         border: 1px solid rgba(0, 0, 0, 1);
         border: 1px solid rgba(0, 0, 0, 1);
         border-radius: 5px;
         border-radius: 5px;
         background-color: transparent;
         background-color: transparent;
       }
       }
+
       :deep(.btn-next) {
       :deep(.btn-next) {
         margin-left: 5px;
         margin-left: 5px;
         border: 1px solid rgba(0, 0, 0, 1);
         border: 1px solid rgba(0, 0, 0, 1);
@@ -962,7 +924,24 @@ onUnmounted(() => {
       }
       }
     }
     }
   }
   }
+
+  .bgImg {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 99999999;
+    width: 100%;
+    height: 100%;
+    background-color: rgba(255, 255, 255, 0.8);
+    display: flex;
+    justify-content: center;
+
+    img {
+      height: 100%;
+    }
+  }
 }
 }
+
 .el-input {
 .el-input {
   width: 192px;
   width: 192px;
 }
 }

+ 7 - 1
src/views/paySuccess/paySuccess.vue

@@ -57,7 +57,7 @@
           <template #default="scope">
           <template #default="scope">
             <div class="edit">
             <div class="edit">
               <div class="look" @click="refundInfo(scope.row)">详情</div>
               <div class="look" @click="refundInfo(scope.row)">详情</div>
-              <div class="look" @click="refund(scope.row)">退款</div>
+              <div class="look" @click="refund(scope.row)" v-if="schoolId == 0">退款</div>
             </div>
             </div>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
@@ -195,6 +195,7 @@ const store = useStore();
 const api = ref("");
 const api = ref("");
 const router = useRouter();
 const router = useRouter();
 // 表格数据
 // 表格数据
+const schoolId = ref() // 判断是否为超级管理员
 const tableData = reactive({ list: [] });
 const tableData = reactive({ list: [] });
 const tablePrice = ref({
 const tablePrice = ref({
   count: "",
   count: "",
@@ -493,6 +494,11 @@ const handleCurrentChange = (value) => {
 
 
 onBeforeMount(() => {
 onBeforeMount(() => {
   api.value = store.state.user.api;
   api.value = store.state.user.api;
+  if (sessionStorage.getItem("schoolId") == "null") {
+    schoolId.value = 0;
+  } else {
+    schoolId.value = Number(sessionStorage.getItem("schoolId"));
+  }
   getList();
   getList();
 });
 });
 onUnmounted(() => {
 onUnmounted(() => {

File diff suppressed because it is too large
+ 229 - 346
src/views/scheduling/scheduling.vue


+ 2 - 0
src/views/waiting/waiting.vue

@@ -55,6 +55,8 @@ import { useStore } from "vuex";
 const store = useStore();
 const store = useStore();
 const api = ref("");
 const api = ref("");
 const router = useRouter();
 const router = useRouter();
+
+
 // 表格数据
 // 表格数据
 const ruleForm = reactive({
 const ruleForm = reactive({
   hour: "", // 自动好评时间
   hour: "", // 自动好评时间

+ 120 - 48
src/views/workOrder/workOrder.vue

@@ -412,25 +412,25 @@
             <span>工单信息</span>
             <span>工单信息</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">工单编号:</span><span>{{ orderInfoData.recordNo }}</span>
+            <div class="titles">工单编号:</div><span>{{ orderInfoData.recordNo }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">报修姓名:</span><span>{{ orderInfoData.userName }}</span>
+            <div class="titles">报修姓名:</div><span>{{ orderInfoData.userName }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">报修电话:</span><span>{{ orderInfoData.userPhone }}</span>
+            <div class="titles">报修电话:</div><span>{{ orderInfoData.userPhone }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">故障类型:</span><span>{{ orderInfoData.articleName }}</span>
+            <div class="titles">故障类型:</div><span>{{ orderInfoData.articleName }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">故障描述:</span><span>{{ orderInfoData.description }}</span>
+            <div class="titles">故障描述:</div><span>{{ orderInfoData.description }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">报修区域:</span><span>{{ orderInfoData.address }}</span>
+            <div class="titles">报修区域:</div><span>{{ orderInfoData.areaName }}{{ orderInfoData.address }}</span>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">报修录音:</span>
+            <div class="titles">报修录音:</div>
             <div class="audio" @click="bofang">
             <div class="audio" @click="bofang">
               <img src="@/assets/audio.png" alt="" />
               <img src="@/assets/audio.png" alt="" />
               <div class="audioNum">{{ orderInfoData.voiceLength }}"</div>
               <div class="audioNum">{{ orderInfoData.voiceLength }}"</div>
@@ -439,7 +439,7 @@
             </div>
             </div>
           </div>
           </div>
           <div class="workNum">
           <div class="workNum">
-            <span class="titles">报修时间:</span><span>{{ orderInfoData.reportTime }}</span>
+            <div class="titles">报修时间:</div><span>{{ orderInfoData.reportTime }}</span>
           </div>
           </div>
           <!-- 工单详情 报修进度 -->
           <!-- 工单详情 报修进度 -->
           <div class="title">
           <div class="title">
@@ -473,7 +473,7 @@
                     <!-- 评价图片 -->
                     <!-- 评价图片 -->
                     <div v-if="i.images" class="evaluateImg">
                     <div v-if="i.images" class="evaluateImg">
                       <div v-for="(item, index) in i.images">
                       <div v-for="(item, index) in i.images">
-                        <img :key="index" :src="item" alt="" />
+                        <img @click="lookImg(item)" :key="index" :src="item" alt="" />
                       </div>
                       </div>
                     </div>
                     </div>
                     <!-- 评价录音 -->
                     <!-- 评价录音 -->
@@ -800,6 +800,9 @@
     <!-- 分页组件 -->
     <!-- 分页组件 -->
     <el-pagination background :current-page="currentPage" :page-size="pageSize"
     <el-pagination background :current-page="currentPage" :page-size="pageSize"
       layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
       layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
+    <div class="bgImg" v-if="bgImg">
+      <img @click="bgImg = false" :src="bgImgurl" alt="" />
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -1018,6 +1021,7 @@ const orderInfoData = ref({
   description: "", // 故障描述
   description: "", // 故障描述
   articleId: "", // 报修类型
   articleId: "", // 报修类型
   address: "", // 报修区域
   address: "", // 报修区域
+  areaName: "",// 报修校区地址
   voice: "", // 报修录音
   voice: "", // 报修录音
   voiceLength: "", // 报修录音时长
   voiceLength: "", // 报修录音时长
   reportTime: "", // 报修时间
   reportTime: "", // 报修时间
@@ -1026,6 +1030,8 @@ const orderInfoData = ref({
   tracks: [],
   tracks: [],
 });
 });
 const mapUrl = ref(); // 音频地址
 const mapUrl = ref(); // 音频地址
+const bgImg = ref(false)// 点击查看图片
+const bgImgurl = ref() // 点击查看图片地址
 
 
 // 延时   (-----------------------------------------------)
 // 延时   (-----------------------------------------------)
 const delayedVisible = ref(false); // 延时弹窗控制
 const delayedVisible = ref(false); // 延时弹窗控制
@@ -1088,7 +1094,7 @@ const transOrderRules = reactive({
   userId: [{ required: true, message: "请选择派单人员", trigger: "blur" }],
   userId: [{ required: true, message: "请选择派单人员", trigger: "blur" }],
 });
 });
 
 
-// 关单   (关单--------------------------------------------)
+// 关单 (关单--------------------------------------------)
 const customsOrderVisible = ref(false); // 关单弹窗
 const customsOrderVisible = ref(false); // 关单弹窗
 const customsOrderList = ref(); // 关单原因列表
 const customsOrderList = ref(); // 关单原因列表
 const customsOrderData = ref({
 const customsOrderData = ref({
@@ -1553,6 +1559,7 @@ const orderInfo = async (row) => {
     orderInfoData.value.userPhone = res.data.data.userPhone;
     orderInfoData.value.userPhone = res.data.data.userPhone;
     orderInfoData.value.description = res.data.data.description;
     orderInfoData.value.description = res.data.data.description;
     orderInfoData.value.address = res.data.data.address;
     orderInfoData.value.address = res.data.data.address;
+    orderInfoData.value.areaName = res.data.data.areaName;
     orderInfoData.value.articleName = res.data.data.articleName;
     orderInfoData.value.articleName = res.data.data.articleName;
     orderInfoData.value.voice = res.data.data.voice;
     orderInfoData.value.voice = res.data.data.voice;
     orderInfoData.value.voiceLength = res.data.data.voiceLength;
     orderInfoData.value.voiceLength = res.data.data.voiceLength;
@@ -1624,6 +1631,12 @@ const audioPlay = (i) => {
     audioId.pause();
     audioId.pause();
   }
   }
 };
 };
+// 点击工单步骤中的图片查看
+const lookImg = (item) => {
+  bgImg.value = true
+  bgImgurl.value = item
+}
+
 // 延时弹窗 (延时-----------------------------------)
 // 延时弹窗 (延时-----------------------------------)
 const delayed = (row) => {
 const delayed = (row) => {
   delayedVisible.value = true;
   delayedVisible.value = true;
@@ -1798,6 +1811,7 @@ const cooperationSel = (val) => {
 // 关闭协作审核弹窗
 // 关闭协作审核弹窗
 const cancelCooperation = () => {
 const cancelCooperation = () => {
   cooperationAudio.value.load();
   cooperationAudio.value.load();
+
   cooperationVisible.value = false;
   cooperationVisible.value = false;
 };
 };
 // 播放音频
 // 播放音频
@@ -1914,6 +1928,7 @@ const transOrder = async (row) => {
 // 关闭转单审核
 // 关闭转单审核
 const cancelTransOrder = () => {
 const cancelTransOrder = () => {
   transOrderVisible.value = false;
   transOrderVisible.value = false;
+  ruleFormTransOrder.value.resetFields();
   transOrderAudio.value.load();
   transOrderAudio.value.load();
 };
 };
 // 播放音频
 // 播放音频
@@ -1928,48 +1943,86 @@ const transOrderAudioPlay = () => {
 };
 };
 // 确定转单审核
 // 确定转单审核
 const transOrderYes = async (formEl, flag) => {
 const transOrderYes = async (formEl, flag) => {
-  if (!formEl) return;
-  await formEl.validate(async (valid, fields) => {
-    if (valid) {
-      let data = {
-        id: transOrderData.value.id,
-        userId: transOrderData.value.userId,
-        approverStatu: flag,
-        remark: transOrderData.value.remark,
-      };
-      let res = await axios({
-        method: "post",
-        url: api.value + "/repairRecord/transfer",
-        headers: {
-          token: sessionStorage.getItem("token"),
-          user_head: sessionStorage.getItem("userhead"),
-        },
-        data: data,
-      });
-      console.log(res, "确定转单审核");
-      if (res.data.code == 200) {
-        transOrderAudio.value.load();
-        transOrderVisible.value = false;
-        searchBtn();
-        ElMessage({
-          type: "success",
-          showClose: true,
-          message: res.data.message,
-          center: true,
+  if (flag == 1) {
+    if (!formEl) return;
+    await formEl.validate(async (valid, fields) => {
+      if (valid) {
+        let data = {
+          id: transOrderData.value.id,
+          userId: transOrderData.value.userId,
+          approverStatu: flag,
+          remark: transOrderData.value.remark,
+        };
+        let res = await axios({
+          method: "post",
+          url: api.value + "/repairRecord/transfer",
+          headers: {
+            token: sessionStorage.getItem("token"),
+            user_head: sessionStorage.getItem("userhead"),
+          },
+          data: data,
         });
         });
+        console.log(res, "确定转单审核");
+        if (res.data.code == 200) {
+          transOrderAudio.value.load();
+          transOrderVisible.value = false;
+          searchBtn();
+          ElMessage({
+            type: "success",
+            showClose: true,
+            message: res.data.message,
+            center: true,
+          });
+        } else {
+          transOrderAudio.value.load();
+          ElMessage({
+            type: "error",
+            showClose: true,
+            message: res.data.message,
+            center: true,
+          });
+        }
       } else {
       } else {
-        transOrderAudio.value.load();
-        ElMessage({
-          type: "error",
-          showClose: true,
-          message: res.data.message,
-          center: true,
-        });
+        console.log("error submit!", fields);
       }
       }
+    });
+  } else {
+    let data = {
+      id: transOrderData.value.id,
+      userId: transOrderData.value.userId,
+      approverStatu: flag,
+      remark: transOrderData.value.remark,
+    };
+    let res = await axios({
+      method: "post",
+      url: api.value + "/repairRecord/transfer",
+      headers: {
+        token: sessionStorage.getItem("token"),
+        user_head: sessionStorage.getItem("userhead"),
+      },
+      data: data,
+    });
+    console.log(res, "确定转单审核");
+    if (res.data.code == 200) {
+      transOrderAudio.value.load();
+      transOrderVisible.value = false;
+      searchBtn();
+      ElMessage({
+        type: "success",
+        showClose: true,
+        message: res.data.message,
+        center: true,
+      });
     } else {
     } else {
-      console.log("error submit!", fields);
+      transOrderAudio.value.load();
+      ElMessage({
+        type: "error",
+        showClose: true,
+        message: res.data.message,
+        center: true,
+      });
     }
     }
-  });
+  }
 };
 };
 
 
 // 关单弹窗  (关单-----------------------------------------)
 // 关单弹窗  (关单-----------------------------------------)
@@ -2428,7 +2481,6 @@ onBeforeMount(async () => {
     });
     });
   }
   }
 });
 });
-onUnmounted(() => { });
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">
@@ -2819,10 +2871,14 @@ onUnmounted(() => { });
             .titles {
             .titles {
               color: rgba(128, 128, 128, 1);
               color: rgba(128, 128, 128, 1);
               margin-right: 8px;
               margin-right: 8px;
+              width: 80px;
+              font-weight: 400;
             }
             }
 
 
             span {
             span {
               color: #000;
               color: #000;
+              font-weight: 600;
+              width: 640px;
             }
             }
           }
           }
 
 
@@ -3347,6 +3403,22 @@ onUnmounted(() => { });
       background-color: transparent;
       background-color: transparent;
     }
     }
   }
   }
+
+  .bgImg {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 99999999;
+    width: 100%;
+    height: 100%;
+    background-color: rgba(255, 255, 255, 0.8);
+    display: flex;
+    justify-content: center;
+
+    img {
+      height: 100%;
+    }
+  }
 }
 }
 
 
 .el-input {
 .el-input {