Browse Source

调度页面添加提前预约按钮开关,明细页面加电话号码筛选

hzj18279462576@163.com 9 months atrás
parent
commit
d3973b051a

+ 1 - 1
index.html

@@ -5,7 +5,7 @@
   <meta charset="UTF-8" />
   <link rel="icon" type="image/svg+xml" href="./src/assets/vite.svg" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>校车预约管理系统</title>
+  <title>校团约车管理系统</title>
 
 </head>
 

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

@@ -24,7 +24,7 @@
     /></el-icon>
     <div class="logo">
       <img src="@/assets/nanchang.png" style="width: 30px; height: 30px" />
-      <span>校车预约管理系统</span>
+      <span>校团约车管理系统</span>
     </div>
     <div class="login">
       <span class="dateTime">{{ dateTime }}</span>

+ 6 - 6
src/layout/sidebar/SidevarItem.vue

@@ -39,7 +39,7 @@
         <img v-else src="@/assets/staff.png" alt="" />
         <span>驾驶员管理</span>
       </el-menu-item>
-      <el-menu-item :index="11">
+      <!-- <el-menu-item :index="11">
         <img
           v-if="activeIndex == 11"
           style="width: 22px; height: 22px"
@@ -53,7 +53,7 @@
           alt=""
         />
         <span>报备管理</span>
-      </el-menu-item>
+      </el-menu-item> -->
       <el-menu-item :index="3">
         <img v-if="activeIndex == 3" src="@/assets/accountA.png" alt="" />
         <img v-else src="@/assets/account.png" alt="" />
@@ -74,11 +74,11 @@
         <img v-else src="@/assets/classes.png" alt="" />
         <span>班次管理</span>
       </el-menu-item>
-      <el-menu-item :index="7">
+      <!-- <el-menu-item :index="7">
         <img v-if="activeIndex == 7" src="@/assets/blacklistA.png" alt="" />
         <img v-else src="@/assets/blacklist.png" alt="" />
         <span>黑名单管理</span>
-      </el-menu-item>
+      </el-menu-item> -->
       <el-menu-item :index="10">
         <img
           v-if="activeIndex == 10"
@@ -94,7 +94,7 @@
         />
         <span>操作日志</span>
       </el-menu-item>
-      <el-sub-menu index="15" popper-class="ceshi">
+      <!-- <el-sub-menu index="15" popper-class="ceshi">
         <template #title>
           <img
             v-if="
@@ -130,7 +130,7 @@
         <el-menu-item :index="20">路线管理</el-menu-item>
         <el-menu-item :index="21">订单管理</el-menu-item>
         <el-menu-item :index="22">规则设置</el-menu-item>
-      </el-sub-menu>
+      </el-sub-menu> -->
       <el-menu-item :index="8">
         <img
           v-if="activeIndex == 8"

+ 7 - 7
src/router/index.js

@@ -5,8 +5,8 @@ import {
 } from "vue-router";
 import Layout from "@/layout/index.vue";
 const router = createRouter({
-  history: createWebHashHistory("/carstop/dist6"), // 线上地址
-  // history: createWebHashHistory("/testingServertomcat/dist6"), // 测试环境发布地址
+  // history: createWebHashHistory("/carstop/dist6"), // 线上地址
+  history: createWebHashHistory("/ride-sharing/pc"), // 校团环境发布地址
   routes: [
     {
       path: "/login",
@@ -55,11 +55,11 @@ const router = createRouter({
           component: () => import("@/views/buspath/buspath.vue"),
           meta: { title: "Dashboard", icon: "dashboard" },
         },
-        {
-          path: "blacklist",
-          component: () => import("@/views/blacklist/blacklist.vue"),
-          meta: { title: "Dashboard", icon: "dashboard" },
-        },
+        // {
+        //   path: "blacklist",
+        //   component: () => import("@/views/blacklist/blacklist.vue"),
+        //   meta: { title: "Dashboard", icon: "dashboard" },
+        // },
         {
           path: "system",
           component: () => import("@/views/waiting/waiting.vue"),

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

@@ -8,9 +8,9 @@ const state = {
   activeIndex: 0,
   username: "",
   password: "",
-  api: "/carstop/carBuy", // 线上
+  // api: "/carstop/carBuy", // 线上
   // api: "/carstop/carbook", // 线上
-  // api: "/testingServertomcat/carbook", // 测试
+  api: "/ride-sharing/carBuy", // 校团
   newsNum: "",
 };
 

+ 2 - 2
src/views/account/account.vue

@@ -344,12 +344,12 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/blacklist/blacklist.vue

@@ -1069,7 +1069,7 @@ const importExcel = async () => {
   });
   if (res.data.code == 200) {
     console.log(res, "导出账号");
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     // var downloadPath = "https://chtech.ncjti.edu.cn/testingServertomcat" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
@@ -1435,7 +1435,7 @@ onBeforeMount(async () => {
     data: data,
   });
   console.log(res, "部门");
-  if (res.status == 200) {
+  if (res.data.code== 200) {
     res.data.rows.forEach((i) => {
       college.list.push({
         name: i.college,

+ 2 - 2
src/views/bus/bus.vue

@@ -489,13 +489,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // elt.setAttribute("download", "file.png");
     // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 21 - 0
src/views/buspath/buspath.vue

@@ -147,6 +147,7 @@
         <!-- <el-table-column align="center" type="selection" width="80" /> -->
         <el-table-column align="center" prop="route" label="路线名称" />
         <el-table-column align="center" prop="route_end" label="站点" />
+        <el-table-column align="center" prop="price" label="金额" />
         <el-table-column align="center" prop="create_time" label="创建时间" />
 
         <el-table-column align="center" label="操作" width="220">
@@ -203,6 +204,13 @@
               placeholder="请输入终点站"
             />
           </el-form-item>
+          <el-form-item label="金额 :" prop="price">
+            <el-input
+              clearable
+              v-model="ruleForm.price"
+              placeholder="请输入金额"
+            />
+          </el-form-item>
 
           <el-form-item class="options">
             <el-button class="congzhi" @click="cancelAdd(ruleFormRef)"
@@ -285,6 +293,7 @@ const ruleForm = reactive({
   route_end: "",
   id: "",
   is_repair: "",
+  price: "",
 });
 const pathNum = reactive({ list: [] });
 // 表单验证
@@ -297,6 +306,14 @@ const rules = reactive({
       trigger: "blur",
     },
   ],
+  price: [
+    { required: true, message: "金额不能为空", trigger: "blur" },
+    {
+      pattern: /^(0|([1-9]\d*)(\.\d{1,2})?)$|^(0\.\d{1,2})$/,
+      message: "金额输入有误,请重新输入",
+      trigger: "blur",
+    },
+  ],
 });
 
 watch(
@@ -473,6 +490,7 @@ const addlist = () => {
   addDialogVisible.value = true;
   ruleForm.route = [];
   ruleForm.route_end = "";
+  ruleForm.price = "";
 };
 //编辑按钮
 const edit = (row) => {
@@ -483,6 +501,7 @@ const edit = (row) => {
   ruleForm.id = row.id;
   ruleForm.is_repair = row.is_repair;
   ruleForm.repair_end = row.repair_end;
+  ruleForm.price = row.price;
 };
 // 取消添加车次
 const cancelAdd = () => {
@@ -504,6 +523,7 @@ const submitAdd = async (formEl) => {
         let data = {
           route: ruleForm.route,
           route_end: ruleForm.route_end,
+          price: ruleForm.price,
           // repair_end: ruleForm.repair_end,
         };
         // let res = await admin.adminAdd(data);
@@ -543,6 +563,7 @@ const submitAdd = async (formEl) => {
           id: ruleForm.id,
           is_repair: ruleForm.is_repair,
           repair_end: ruleForm.repair_end,
+          price: ruleForm.price,
         };
         // let res = await admin.adminAdd(data);
         let res = await axios({

+ 426 - 262
src/views/busquery/busquery.vue

@@ -18,8 +18,15 @@
       </div>
       <div class="condition">
         <span>发车日期 : </span>
-
-        <el-select
+        <el-date-picker
+          v-model="searchInput.startTime"
+          type="date"
+          placeholder="请选择发车日期"
+          format="YYYY-MM-DD"
+          value-format="YYYY-MM-DD"
+          :clearable="false"
+        />
+        <!-- <el-select
           v-model="searchInput.startTime"
           class="m-2"
           placeholder="请选择发车日期"
@@ -40,7 +47,7 @@
                 .format('YYYY-MM-DD')
             "
           />
-        </el-select>
+        </el-select> -->
       </div>
 
       <div class="condition">
@@ -74,7 +81,7 @@
       <el-table
         :row-class-name="tableRowClassName"
         :data="tableData.list"
-        style="width: 100%;"
+        style="width: 100%"
         :header-cell-style="{
           background: 'rgba(240, 243, 247, 1)',
           border: 0,
@@ -124,16 +131,6 @@
         <el-table-column align="center" prop="route" width="200" label="路线" />
         <el-table-column align="center" prop="route_end" label="终点" />
 
-        <el-table-column
-          align="center"
-          prop="before_state"
-          width="100"
-          label="是否提前"
-        >
-          <template #default="scope">
-            <div>{{ scope.row.before_state == 1 ? "是" : "否" }}</div>
-          </template>
-        </el-table-column>
         <el-table-column align="center" label="状态" width="120">
           <template #default="scope">
             <div
@@ -159,6 +156,27 @@
             </div>
           </template>
         </el-table-column>
+        <el-table-column
+          align="center"
+          prop="before_state"
+          width="120"
+          label="是否可提前预约"
+        >
+          <template #default="scope">
+            <!-- <div>{{ scope.row.before_state == 1 ? "是" : "否" }}</div> -->
+            <el-switch
+              v-model="scope.row.before_state"
+              size="large"
+              active-value="1"
+              inactive-value="0"
+              @change="(val) => stateChange(scope.row, val)"
+              style="
+                --el-switch-on-color: rgba(61, 81, 232, 1);
+                /* --el-switch-off-color: rgba(61, 81, 232, 1); */
+              "
+            />
+          </template>
+        </el-table-column>
         <el-table-column align="center" label="操作" width="220">
           <template #default="scope">
             <!-- <el-button
@@ -231,14 +249,15 @@
         status-icon
       >
         <el-form-item label="发车日期 :" prop="startDate">
-          <!-- <el-date-picker
+          <el-date-picker
             v-model="ruleFormQuery.startDate"
             type="date"
             placeholder="请选择发车日期"
             format="YYYY-MM-DD"
             value-format="YYYY-MM-DD"
-          /> -->
-          <el-select
+          />
+
+          <!-- <el-select
             v-model="ruleFormQuery.startDate"
             class="m-2"
             placeholder="请选择发车日期"
@@ -260,7 +279,7 @@
                   .format('YYYY-MM-DD')
               "
             />
-          </el-select>
+          </el-select> -->
         </el-form-item>
         <el-form-item label="发车时间 :" prop="ci_time">
           <el-time-picker
@@ -343,7 +362,7 @@
         </el-form-item>
 
         <el-form-item
-          label="是否可提前一预约"
+          label="是否可提前一预约"
           prop="yesterday"
           class="yesterday"
           style="
@@ -1360,66 +1379,253 @@ const selectable = (row) => {
 
 // 确定合车按钮
 const mergesubmit = async () => {
-  ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
-    confirmButtonText: "确认",
-    cancelButtonText: "取消",
-    type: "warning",
-  })
-    .then(async () => {
-      mergeBusloading.value = true;
-      let bid = [];
-      selectData.list.forEach((item) => {
-        bid.push(item.id);
-      });
-      let data = {
-        id: mergeTable.list1[0].id,
-        bid: bid.join(","),
-        send_state: 1,
-      };
-      let res = await axios({
-        method: "post",
-        url: api.value + "/carBook/schemerge.action",
-        headers: {
-          token: sessionStorage.getItem("token"),
-          admin_name: sessionStorage.getItem("username"),
-        },
-        data: data,
-      });
-      if (res.data.code == 200) {
-        getList();
-        mergeBusDialog.value = false;
-        mergeBusloading.value = false;
-        ElMessage({
-          type: "success",
-          showClose: true,
-          message: res.data.message,
-          center: true,
-        });
-      } else {
-        mergeBusloading.value = false;
-        ElMessage({
-          type: "error",
-          showClose: true,
-          message: res.data.message,
-          center: true,
-        });
-      }
-    })
-    .catch(async () => {
-      mergeBusloading.value = true;
-      let bid = [];
-      selectData.list.forEach((item) => {
-        bid.push(item.id);
-      });
+  // ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
+  //   confirmButtonText: "确认",
+  //   cancelButtonText: "取消",
+  //   type: "warning",
+  // })
+  //   .then(async () => {
+  //     mergeBusloading.value = true;
+  //     let bid = [];
+  //     selectData.list.forEach((item) => {
+  //       bid.push(item.id);
+  //     });
+  //     let data = {
+  //       id: mergeTable.list1[0].id,
+  //       bid: bid.join(","),
+  //       send_state: 1,
+  //     };
+  //     let res = await axios({
+  //       method: "post",
+  //       url: api.value + "/carBook/schemerge.action",
+  //       headers: {
+  //         token: sessionStorage.getItem("token"),
+  //         admin_name: sessionStorage.getItem("username"),
+  //       },
+  //       data: data,
+  //     });
+  //     if (res.data.code == 200) {
+  //       getList();
+  //       mergeBusDialog.value = false;
+  //       mergeBusloading.value = false;
+  //       ElMessage({
+  //         type: "success",
+  //         showClose: true,
+  //         message: res.data.message,
+  //         center: true,
+  //       });
+  //     } else {
+  //       mergeBusloading.value = false;
+  //       ElMessage({
+  //         type: "error",
+  //         showClose: true,
+  //         message: res.data.message,
+  //         center: true,
+  //       });
+  //     }
+  //   })
+  //   .catch(async () => {
+  //     mergeBusloading.value = true;
+  //     let bid = [];
+  //     selectData.list.forEach((item) => {
+  //       bid.push(item.id);
+  //     });
+  //     let data = {
+  //       id: mergeTable.list1[0].id,
+  //       bid: bid.join(","),
+  //       send_state: 0,
+  //     };
+  //     let res = await axios({
+  //       method: "post",
+  //       url: api.value + "/carBook/schemerge.action",
+  //       headers: {
+  //         token: sessionStorage.getItem("token"),
+  //         admin_name: sessionStorage.getItem("username"),
+  //       },
+  //       data: data,
+  //     });
+  //     if (res.data.code == 200) {
+  //       getList();
+  //       mergeBusDialog.value = false;
+  //       mergeBusloading.value = false;
+  //       ElMessage({
+  //         type: "success",
+  //         showClose: true,
+  //         message: res.data.message,
+  //         center: true,
+  //       });
+  //     } else {
+  //       mergeBusloading.value = false;
+  //       ElMessage({
+  //         type: "error",
+  //         showClose: true,
+  //         message: res.data.message,
+  //         center: true,
+  //       });
+  //     }
+  //   });
+  mergeBusloading.value = true;
+  let bid = [];
+  selectData.list.forEach((item) => {
+    bid.push(item.id);
+  });
+  let data = {
+    id: mergeTable.list1[0].id,
+    bid: bid.join(","),
+    // send_state: 0,
+  };
+  let res = await axios({
+    method: "post",
+    url: api.value + "/carBook/schemerge.action",
+    headers: {
+      token: sessionStorage.getItem("token"),
+      admin_name: sessionStorage.getItem("username"),
+    },
+    data: data,
+  });
+  if (res.data.code == 200) {
+    getList();
+    mergeBusDialog.value = false;
+    mergeBusloading.value = false;
+    ElMessage({
+      type: "success",
+      showClose: true,
+      message: res.data.message,
+      center: true,
+    });
+  } else {
+    mergeBusloading.value = false;
+    ElMessage({
+      type: "error",
+      showClose: true,
+      message: res.data.message,
+      center: true,
+    });
+  }
+};
+
+// 车辆合车弹窗关闭
+const mergeBusClose = () => {
+  mergeBusDialog.value = false;
+  selectData.list = [];
+  selectData.allNum = 0;
+  selectData.sy_num = 0;
+  // ruleFormMerge.value.resetFields();
+};
+
+// 确认派车
+const submitAdd = async (formEl) => {
+  if (!formEl) return;
+  await formEl.validate(async (valid, fields) => {
+    if (valid) {
+      // ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
+      //   confirmButtonText: "确认",
+      //   cancelButtonText: "取消",
+      //   type: "warning",
+      // })
+      //   .then(async () => {
+      //     // 允许发送通知信息  --------------------------
+      //     let data = {
+      //       car_number: ruleForm.busname.join(","),
+      //       route: ruleForm.route,
+      //       contain: ruleForm.volume,
+      //       route_end: ruleForm.destination,
+      //       ci_time: ruleForm.ci_time,
+      //       sm_start: ruleForm.codeTime[0],
+      //       sm_end: ruleForm.codeTime[1],
+      //       yy_end: ruleForm.yy_end,
+      //       id: ruleForm.id,
+      //       send_state: 1,
+      //     };
+      //     let res = await axios({
+      //       method: "post",
+      //       url: api.value + "/carBook/scheupdate.action",
+      //       headers: {
+      //         "Content-Type": "application/json;charset=utf-8",
+      //         token: sessionStorage.getItem("token"),
+      //         admin_name: sessionStorage.getItem("username"),
+      //       },
+      //       data: data,
+      //     });
+      //     if (res.data.code == 200) {
+      //       getList();
+      //       ElMessage({
+      //         type: "success",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //       centerDialogVisible.value = false;
+      //       ruleFormRef.value.resetFields();
+      //     } else {
+      //       ElMessage({
+      //         type: "error",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     }
+      //   })
+      //   .catch(async () => {
+      //     // 取消发送通知信息 -----------------------
+      //     let data = {
+      //       car_number: ruleForm.busname.join(","),
+      //       route: ruleForm.route,
+      //       contain: ruleForm.volume,
+      //       route_end: ruleForm.destination,
+      //       ci_time: ruleForm.ci_time,
+      //       sm_start: ruleForm.codeTime[0],
+      //       sm_end: ruleForm.codeTime[1],
+      //       yy_end: ruleForm.yy_end,
+      //       id: ruleForm.id,
+      //       send_state: 0,
+      //     };
+      //     let res = await axios({
+      //       method: "post",
+      //       url: api.value + "/carBook/scheupdate.action",
+      //       headers: {
+      //         "Content-Type": "application/json;charset=utf-8",
+      //         token: sessionStorage.getItem("token"),
+      //         admin_name: sessionStorage.getItem("username"),
+      //       },
+      //       data: data,
+      //     });
+      //     if (res.data.code == 200) {
+      //       getList();
+      //       ElMessage({
+      //         type: "success",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //       centerDialogVisible.value = false;
+      //       ruleFormRef.value.resetFields();
+      //     } else {
+      //       ElMessage({
+      //         type: "error",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     }
+      //   });
       let data = {
-        id: mergeTable.list1[0].id,
-        bid: bid.join(","),
-        send_state: 0,
+        car_number: ruleForm.busname.join(","),
+        route: ruleForm.route,
+        contain: ruleForm.volume,
+        route_end: ruleForm.destination,
+        ci_time: ruleForm.ci_time,
+        sm_start: ruleForm.codeTime[0],
+        sm_end: ruleForm.codeTime[1],
+        yy_end: ruleForm.yy_end,
+        id: ruleForm.id,
+        // send_state: 0,
       };
       let res = await axios({
         method: "post",
-        url: api.value + "/carBook/schemerge.action",
+        url: api.value + "/carBook/scheupdate.action",
         headers: {
+          "Content-Type": "application/json;charset=utf-8",
           token: sessionStorage.getItem("token"),
           admin_name: sessionStorage.getItem("username"),
         },
@@ -1427,16 +1633,15 @@ const mergesubmit = async () => {
       });
       if (res.data.code == 200) {
         getList();
-        mergeBusDialog.value = false;
-        mergeBusloading.value = false;
         ElMessage({
           type: "success",
           showClose: true,
           message: res.data.message,
           center: true,
         });
+        centerDialogVisible.value = false;
+        ruleFormRef.value.resetFields();
       } else {
-        mergeBusloading.value = false;
         ElMessage({
           type: "error",
           showClose: true,
@@ -1444,114 +1649,6 @@ const mergesubmit = async () => {
           center: true,
         });
       }
-    });
-};
-
-// 车辆合车弹窗关闭
-const mergeBusClose = () => {
-  mergeBusDialog.value = false;
-  selectData.list = [];
-  selectData.allNum = 0;
-  selectData.sy_num = 0;
-  // ruleFormMerge.value.resetFields();
-};
-
-// 确认派车
-const submitAdd = async (formEl) => {
-  if (!formEl) return;
-  await formEl.validate(async (valid, fields) => {
-    if (valid) {
-      ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
-        confirmButtonText: "确认",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(async () => {
-          // 允许发送通知信息  --------------------------
-          let data = {
-            car_number: ruleForm.busname.join(","),
-            route: ruleForm.route,
-            contain: ruleForm.volume,
-            route_end: ruleForm.destination,
-            ci_time: ruleForm.ci_time,
-            sm_start: ruleForm.codeTime[0],
-            sm_end: ruleForm.codeTime[1],
-            yy_end: ruleForm.yy_end,
-            id: ruleForm.id,
-            send_state: 1,
-          };
-          let res = await axios({
-            method: "post",
-            url: api.value + "/carBook/scheupdate.action",
-            headers: {
-              "Content-Type": "application/json;charset=utf-8",
-              token: sessionStorage.getItem("token"),
-              admin_name: sessionStorage.getItem("username"),
-            },
-            data: data,
-          });
-          if (res.data.code == 200) {
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-            centerDialogVisible.value = false;
-            ruleFormRef.value.resetFields();
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
-        })
-        .catch(async () => {
-          // 取消发送通知信息 -----------------------
-          let data = {
-            car_number: ruleForm.busname.join(","),
-            route: ruleForm.route,
-            contain: ruleForm.volume,
-            route_end: ruleForm.destination,
-            ci_time: ruleForm.ci_time,
-            sm_start: ruleForm.codeTime[0],
-            sm_end: ruleForm.codeTime[1],
-            yy_end: ruleForm.yy_end,
-            id: ruleForm.id,
-            send_state: 0,
-          };
-          let res = await axios({
-            method: "post",
-            url: api.value + "/carBook/scheupdate.action",
-            headers: {
-              "Content-Type": "application/json;charset=utf-8",
-              token: sessionStorage.getItem("token"),
-              admin_name: sessionStorage.getItem("username"),
-            },
-            data: data,
-          });
-          if (res.data.code == 200) {
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-            centerDialogVisible.value = false;
-            ruleFormRef.value.resetFields();
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
-        });
     } else {
       console.log("error submit!", fields);
     }
@@ -1618,8 +1715,42 @@ const submitAddQuery = async (formEl) => {
   });
 };
 
+// 是否可提前预约
+const stateChange = async (row,val) => {
+  let data = new FormData();
+  data.set("id", row.id);
+  data.set("beforeState", row.before_state);
+  
+  let res = await axios({
+    method: "post",
+    url: api.value + "/scheubs.action",
+    headers: {
+      token: sessionStorage.getItem("token"),
+      admin_name: sessionStorage.getItem("username"),
+    },
+    data: data,
+  });
+  if (res.data.code == 200) {
+    getList();
+    ElMessage({
+      type: "success",
+      showClose: true,
+      message: res.data.message,
+      center: true,
+    });
+  } else {
+    getList();
+    ElMessage({
+      type: "error",
+      showClose: true,
+      message: res.data.message,
+      center: true,
+    });
+  }
+};
+
 //删除按钮
-const del = (row) => {
+const del = async (row) => {
   console.log(row);
   ElMessageBox.confirm(`是否删除 ${row.car_number} 车辆?`, "提示", {
     confirmButtonText: "确认",
@@ -1627,83 +1758,116 @@ const del = (row) => {
     type: "warning",
   })
     .then(async () => {
-      ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
-        confirmButtonText: "确认",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(async () => {
-          let data = new FormData();
-          data.set("id", row.id);
-          data.set("send_state", 1);
-          let res = await axios({
-            method: "post",
-            url: api.value + "/carBook/schedel.action",
-            headers: {
-              token: sessionStorage.getItem("token"),
-              admin_name: sessionStorage.getItem("username"),
-            },
-            data: data,
-          });
-          if (res.data.code == 200) {
-            if (tableData.list.length == 1 && currentPage.value != 1) {
-              currentPage.value = currentPage.value - 1;
-            }
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
-        })
-        .catch(async () => {
-          let data = new FormData();
-          data.set("id", row.id);
-          data.set("send_state", 0);
-          let res = await axios({
-            method: "post",
-            url: api.value + "/carBook/schedel.action",
-            headers: {
-              token: sessionStorage.getItem("token"),
-              admin_name: sessionStorage.getItem("username"),
-            },
-            data: data,
-          });
-          if (res.data.code == 200) {
-            if (tableData.list.length == 1 && currentPage.value != 1) {
-              currentPage.value = currentPage.value - 1;
-            }
-            getList();
-            ElMessage({
-              type: "success",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          } else {
-            ElMessage({
-              type: "error",
-              showClose: true,
-              message: res.data.message,
-              center: true,
-            });
-          }
+      // ElMessageBox.confirm("是否允许给用户发送通知信息?", "提示", {
+      //   confirmButtonText: "确认",
+      //   cancelButtonText: "取消",
+      //   type: "warning",
+      // })
+      //   .then(async () => {
+      //     let data = new FormData();
+      //     data.set("id", row.id);
+      //     data.set("send_state", 1);
+      //     let res = await axios({
+      //       method: "post",
+      //       url: api.value + "/carBook/schedel.action",
+      //       headers: {
+      //         token: sessionStorage.getItem("token"),
+      //         admin_name: sessionStorage.getItem("username"),
+      //       },
+      //       data: data,
+      //     });
+      //     if (res.data.code == 200) {
+      //       if (tableData.list.length == 1 && currentPage.value != 1) {
+      //         currentPage.value = currentPage.value - 1;
+      //       }
+      //       getList();
+      //       ElMessage({
+      //         type: "success",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     } else {
+      //       ElMessage({
+      //         type: "error",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     }
+      //   })
+      //   .catch(async () => {
+      //     let data = new FormData();
+      //     data.set("id", row.id);
+      //     data.set("send_state", 0);
+      //     let res = await axios({
+      //       method: "post",
+      //       url: api.value + "/carBook/schedel.action",
+      //       headers: {
+      //         token: sessionStorage.getItem("token"),
+      //         admin_name: sessionStorage.getItem("username"),
+      //       },
+      //       data: data,
+      //     });
+      //     if (res.data.code == 200) {
+      //       if (tableData.list.length == 1 && currentPage.value != 1) {
+      //         currentPage.value = currentPage.value - 1;
+      //       }
+      //       getList();
+      //       ElMessage({
+      //         type: "success",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     } else {
+      //       ElMessage({
+      //         type: "error",
+      //         showClose: true,
+      //         message: res.data.message,
+      //         center: true,
+      //       });
+      //     }
+      //   });
+      let data = new FormData();
+      data.set("id", row.id);
+      // data.set("send_state", 1);
+      let res = await axios({
+        method: "post",
+        url: api.value + "/carBook/schedel.action",
+        headers: {
+          token: sessionStorage.getItem("token"),
+          admin_name: sessionStorage.getItem("username"),
+        },
+        data: data,
+      });
+      if (res.data.code == 200) {
+        console.log(res.data);
+
+        if (tableData.list.length == 1 && currentPage.value != 1) {
+          currentPage.value = currentPage.value - 1;
+        }
+        getList();
+        ElMessage({
+          type: "success",
+          showClose: true,
+          message: res.data.message,
+          center: true,
         });
+      } else {
+        ElMessage({
+          type: "error",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      }
     })
     .catch(() => {
-      ElMessage({
-        type: "info",
-        message: "已取消删除",
-      });
+      // ElMessage({
+      //   type: "info",
+      //   message: "已取消删除",
+      // });
     });
 };
 
@@ -1728,13 +1892,13 @@ const del = (row) => {
 //     // const elt = document.createElement("a");
 //     // elt.setAttribute(
 //     //   "href",
-//     //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+//     //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
 //     // );
 //     // elt.setAttribute("download", "file.png");
 //     // elt.style.display = "none";
 //     // document.body.appendChild(elt);
 //     // elt.click();
-//     var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+//     var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
 //     console.log("获得地址数据:", downloadPath);
 //     var downloadLink = document.createElement("a");
 //     downloadLink.style.display = "none"; // 使其隐藏

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

@@ -520,12 +520,14 @@
               <el-option
                 :label="item.car_number"
                 :value="item.car_number"
+                :key="item.car_number"
                 v-for="item in busNum.list"
               />
             </el-select>
           </el-form-item>
           <el-form-item label="容量 :" prop="contain">
             <el-input
+              style="width: 220px;"
               :disabled="true"
               v-model="ruleFormBus.contain"
               placeholder="请输入容量"
@@ -543,6 +545,7 @@
               <el-option
                 :label="item.route"
                 :value="item.route"
+                :key="item.route"
                 v-for="item in pathNum.list"
               />
             </el-select>
@@ -561,6 +564,7 @@
               <el-option
                 :label="item.route_end"
                 :value="item.route_end"
+                :key="item.route_end"
                 v-for="item in route_endSelect.list"
               />
             </el-select>
@@ -1498,7 +1502,7 @@ const importExcel = async () => {
     const elt = document.createElement("a");
     elt.setAttribute(
       "href",
-      "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+      "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     );
     elt.setAttribute("download", "file.png");
     elt.style.display = "none";

+ 2 - 2
src/views/driver/audit.vue

@@ -454,13 +454,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/driver/deposit.vue

@@ -439,13 +439,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/driver/management.vue

@@ -404,13 +404,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/driver/order.vue

@@ -382,13 +382,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/driver/path.vue

@@ -569,13 +569,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 6 - 6
src/views/driver/rule copy.vue

@@ -59,6 +59,7 @@
             />
           </div>
         </div>
+        
         <div class="condition">
           <h3>顺风车服务条款设置</h3>
           <div>
@@ -84,7 +85,7 @@
             />
             <span>(如0.25则是抽当前订单支付金额的25%,保留2位小数)</span>
           </div>
-          <div style="margin: 10px 0;">
+          <div style="margin: 10px 0">
             <span>保证金低于</span>
             <el-input
               :clearable="false"
@@ -124,7 +125,7 @@
               />
             </div>
           </div>
-          <div style="margin: 10px 0;">
+          <div style="margin: 10px 0">
             <span>保证金缴纳</span>
             <div>
               <el-input
@@ -159,7 +160,7 @@
             />
             <span>(如0.25则是抽当前订单支付金额的25%,保留2位小数)</span>
           </div>
-          <div  style="margin: 10px 0;">
+          <div style="margin: 10px 0">
             <span>提现最低额度</span>
             <el-input
               :clearable="false"
@@ -197,7 +198,7 @@ const api = ref("");
 const router = useRouter();
 // 表格数据
 const ruleForm = reactive({
-  time:"",
+  time: "",
   yy_duration: "",
   hh_end: "", //截止预约时间设置
   yy_end: "", //候补截止预约时间设置
@@ -428,8 +429,7 @@ onUnmounted(() => {});
       width: 50%;
       margin: 0;
     }
-    .footer{
-      
+    .footer {
     }
   }
 }

+ 2 - 2
src/views/report/report.vue

@@ -560,13 +560,13 @@ const cardHide = () => {
 //     // const elt = document.createElement("a");
 //     // elt.setAttribute(
 //     //   "href",
-//     //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+//     //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
 //     // );
 //     // // elt.setAttribute("download", "file.xlsx");
 //     // // elt.style.display = "none";
 //     // document.body.appendChild(elt);
 //     // elt.click();
-//     var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+//     var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
 //     console.log("获得地址数据:", downloadPath);
 //     var downloadLink = document.createElement("a");
 //     downloadLink.style.display = "none"; // 使其隐藏

+ 2 - 2
src/views/staff/staff.vue

@@ -538,13 +538,13 @@ const importExcel = async () => {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // // elt.setAttribute("download", "file.xlsx");
     // // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏

+ 307 - 125
src/views/statement/statement.vue

@@ -25,27 +25,44 @@
               v-for="item in busNum.list"
               :label="item.car_number"
               :value="item.car_number"
+              :key="item.car_number"
             />
           </el-select>
         </div>
         <div class="condition">
           <span>汇总日期 : </span>
-          <!-- <el-date-picker
-            v-model="searchData.input5"
-            type="datetimerange"
+          <el-date-picker
+            v-model="searchInputHZ.date"
+            type="daterange"
             start-placeholder="开始日期"
             end-placeholder="结束日期"
-            format="YYYY-MM-DD HH:mm:ss"
-            value-format="YYYY-MM-DD HH:mm:ss"
-          /> -->
-          <el-date-picker
+            format="YYYY-MM-DD"
+            value-format="YYYY-MM-DD"
+            unlink-panels
+          />
+          <!-- <el-date-picker
             v-model="searchInputHZ.date"
             type="date"
-            placeholder="请选择日期"
+            placeholder="请选择汇总日期"
             format="YYYY-MM-DD"
             value-format="YYYY-MM-DD"
             :clearable="false"
-          />
+          /> -->
+        </div>
+        <div class="condition">
+          <span>路线 : </span>
+          <el-select
+            v-model="searchInputHZ.route"
+            class="m-2"
+            placeholder="请选择路线"
+          >
+            <el-option
+              :label="item.route"
+              :value="item.route"
+              v-for="item in pathNum.list"
+              :key="item"
+            />
+          </el-select>
         </div>
         <div class="condition">
           <span>状态 : </span>
@@ -112,25 +129,64 @@
               v-for="item in busNum.list"
               :label="item.car_number"
               :value="item.car_number"
+              :key="item.car_number"
             />
           </el-select>
         </div>
         <div class="condition">
+          <span>手机号 : </span>
+          <el-input
+            clearable
+            v-model="searchInput.mobile"
+            class="w-50 m-2"
+            placeholder="请输入手机号"
+          />
+        </div>
+        <div class="condition">
           <span>发车日期 : </span>
-          <!-- <el-date-picker
-            v-model="searchData.input5"
-            type="datetimerange"
+          <el-date-picker
+            v-model="searchInput.ciCreateTime"
+            type="daterange"
             start-placeholder="开始日期"
             end-placeholder="结束日期"
-            format="YYYY-MM-DD HH:mm:ss"
-            value-format="YYYY-MM-DD HH:mm:ss"
-          /> -->
-          <el-date-picker
+            format="YYYY-MM-DD"
+            value-format="YYYY-MM-DD"
+            unlink-panels
+          />
+          <!-- <el-date-picker
             v-model="searchInput.yy_date"
             type="date"
-            placeholder="请选择日期"
+            placeholder="请选择发车日期"
+            format="YYYY-MM-DD"
+            value-format="YYYY-MM-DD"
+            :clearable="false"
+          /> -->
+        </div>
+        <div class="condition">
+          <span>路线 : </span>
+          <el-select
+            v-model="searchInput.route"
+            class="m-2"
+            placeholder="请选择路线"
+          >
+            <el-option
+              :label="item.route"
+              :value="item.route"
+              v-for="item in pathNum.list"
+              :key="item"
+            />
+          </el-select>
+        </div>
+        <div class="condition">
+          <span>下单时间 : </span>
+          <el-date-picker
+            v-model="searchInput.createTime"
+            type="daterange"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
             format="YYYY-MM-DD"
             value-format="YYYY-MM-DD"
+            unlink-panels
           />
         </div>
         <div class="condition">
@@ -154,16 +210,13 @@
             placeholder="请选择状态"
           >
             <el-option label="预约成功" value="1" />
-            <el-option label="上车" value="2" />
-            <el-option label="候补" value="3" />
-            <el-option label="取消" value="4" />
-            <el-option label="爽约" value="5" />
-            <el-option label="爽约已核销" value="6" />
+            <el-option label="已乘车" value="2" />
+            <el-option label="未乘车" value="3" />
+            <el-option label="已取消" value="4" />
+            <el-option label="预约失败" value="5" />
           </el-select>
         </div>
-
         <el-button
-          style="margin-left: 20px"
           color="rgba(61, 81, 232, 1)"
           type="primary"
           class="search"
@@ -176,21 +229,22 @@
           type="primary"
           class="search"
           @click="resetInput"
-          ><el-icon> <Search /> </el-icon><span>重置</span></el-button
+          ><el-icon> <Refresh /> </el-icon><span>重置</span></el-button
+        >
+        <el-button
+          style="margin-left: 20px"
+          color="rgba(61, 81, 232, 1)"
+          class="import"
+          type="primary"
+          @click="downLoad"
+          ><img
+            src="@/assets/import.png"
+            style="width: 14px; height: 14px; margin-right: 4px"
+            alt=""
+          />
+          <span>导出表单</span></el-button
         >
       </div>
-      <el-button
-        color="rgba(61, 81, 232, 1)"
-        class="import"
-        type="primary"
-        @click="downLoad"
-        ><img
-          src="@/assets/import.png"
-          style="width: 14px; height: 14px; margin-right: 4px"
-          alt=""
-        />
-        <span>导出表单</span></el-button
-      >
     </div>
     <div class="footerMenu">
       <div
@@ -272,6 +326,7 @@
             <el-option
               :label="item"
               :value="item"
+              :key="item"
               v-for="item in endNum.list"
             />
           </el-select>
@@ -392,31 +447,32 @@
             position: relative;
             width: 1200px;
             color: #000;
-            top: -47px;
+            top: -53px;
             font-size: 18px;
+            z-index: 0;
           "
         >
           <div>
             <div style="display: inline-block; margin-left: 30px">
-              <span style="padding-right: 10px">{{
+              <!-- <span style="padding-right: 10px">{{
                 gobacknum.list1.s_date
-              }}</span>
+              }}</span> -->
               <span style="font-size: 18px; font-weight: 800">{{
                 gobacknum.list1.route
               }}</span>
               <div
-                style="display: inline-block; width: 320px; margin-left: 20px"
+                style="display: inline-block; width: 600px; margin-left: 20px"
               >
-                <span style="font-size: 16px; font-weight: 800">教职工</span
-                >&nbsp; 预约人数:<span style="color: red">{{
-                  gobacknum.list1.yy_num
-                }}</span>
-                , 乘车人数:<span style="color: red">{{
-                  gobacknum.list1.by_num
-                }}</span>
+                <span style="font-size: 16px; font-weight: 800">用户</span
+                >&nbsp; 预约人数:
+                <span style="color: red">{{ gobacknum.list1.yy_num }}</span> ,
+                乘车人数:
+                <span style="color: red">{{ gobacknum.list1.by_num }}</span>
+                <!-- 汇总金额:
+                <span style="color: red">{{ gobacknum.list1.account}}</span> -->
               </div>
             </div>
-            <div style="display: inline-block">
+            <!-- <div style="display: inline-block">
               <span style="font-size: 16px; font-weight: 800">报备人员</span
               >&nbsp;&nbsp; 预约人数:<span style="color: red">{{
                 gobacknum.list2.yy_num
@@ -424,29 +480,29 @@
               , 乘车人数:<span style="color: red">{{
                 gobacknum.list2.by_num
               }}</span>
-            </div>
+            </div> -->
           </div>
           <div>
             <div style="display: inline-block; margin-left: 30px">
-              <span style="color: transparent; padding-right: 10px">{{
+              <!-- <span style="color: transparent; padding-right: 10px">{{
                 gobacknum.list3.s_date
-              }}</span>
+              }}</span> -->
               <span style="font-size: 18px; font-weight: 800">{{
-                gobacknum.list3.route
+                gobacknum.list2.route
               }}</span>
               <div
-                style="display: inline-block; width: 320px; margin-left: 20px"
+                style="display: inline-block; width: 600px; margin-left: 20px"
               >
-                <span style="font-size: 16px; font-weight: 800">教职工</span
-                >&nbsp; 预约人数:<span style="color: red">{{
-                  gobacknum.list3.yy_num
-                }}</span>
-                , 乘车人数:<span style="color: red">{{
-                  gobacknum.list3.by_num
-                }}</span>
+                <span style="font-size: 16px; font-weight: 800">用户</span
+                >&nbsp; 预约人数:
+                <span style="color: red">{{ gobacknum.list2.yy_num }}</span> ,
+                乘车人数:
+                <span style="color: red">{{ gobacknum.list2.by_num }}</span> 
+                <!-- 汇总金额:
+                <span style="color: red">{{ gobacknum.list2.account}}</span> -->
               </div>
             </div>
-            <div style="display: inline-block">
+            <!-- <div style="display: inline-block">
               <span style="font-size: 16px; font-weight: 800">报备人员</span
               >&nbsp;&nbsp; 预约人数:<span style="color: red">{{
                 gobacknum.list4.yy_num
@@ -454,13 +510,13 @@
               , 乘车人数:<span style="color: red">{{
                 gobacknum.list4.by_num
               }}</span>
-            </div>
+            </div> -->
           </div>
         </div>
       </div>
     </div>
     <div class="MingXi" v-else-if="footerMenuIndex == 1">
-      <div class="footers footer">
+      <div class="footers footer mingxi">
         <el-table
           :row-class-name="tableRowClassName"
           :data="tableData.list2"
@@ -474,29 +530,28 @@
           <el-table-column
             align="center"
             width="200"
-            prop="yy_time"
+            prop="createTime"
             label="下单时间"
           />
           <el-table-column
             align="center"
             width="120"
-            prop="yy_date"
+            prop="ciDate"
             label="发车日期"
           />
-          <el-table-column align="center" prop="ci_time" label="发车时间" />
-          <el-table-column align="center" prop="user_name" label="预约人" />
-          <el-table-column align="center" prop="user_zz" label="身份" />
+          <el-table-column align="center" prop="ciTime" label="发车时间" />
+          <el-table-column align="center" prop="username" label="预约人" />
           <el-table-column
             align="center"
             width="150"
-            prop="user_phone"
+            prop="mobile"
             label="手机号码"
           />
 
           <el-table-column
             width="130"
             align="center"
-            prop="car_number"
+            prop="carNumber"
             label="车牌号"
           />
           <el-table-column
@@ -512,7 +567,7 @@
             label="路线"
           /><el-table-column
             align="center"
-            prop="route_end"
+            prop="routeEnd"
             width="330"
             label="终点站"
           />
@@ -526,46 +581,73 @@
           <el-table-column
             align="center"
             width="180"
-            prop="by_time"
+            prop="byTime"
             label="通行时间"
           />
+         
           <el-table-column align="center" label="状态" width="100">
             <template #default="scope">
-              <div v-if="scope.row.state == 1" style="color: blue">
+              <div v-if="scope.row.byState == 1" style="color: blue">
                 预约成功
               </div>
-              <div v-if="scope.row.state == 2" style="color: rgb(50, 201, 110)">
-                上车
+              <div
+                v-if="scope.row.byState == 2"
+                style="color: rgb(50, 201, 110)"
+              >
+                已乘车
               </div>
-              <div v-if="scope.row.state == 3" style="color: rgb(236, 168, 22)">
-                候补
+              <div
+                v-if="scope.row.byState == 3"
+                style="color: rgb(236, 168, 22)"
+              >
+                未乘车
               </div>
-              <div v-if="scope.row.state == 4" style="color: #ccc">取消</div>
-              <div v-if="scope.row.state == 5" style="color: rgb(255, 0, 0)">
-                爽约
+              <div v-if="scope.row.byState == 4" style="color: #ccc">
+                已取消
               </div>
-              <div v-if="scope.row.state == 6" style="color: rgb(42, 228, 200)">
-                爽约已核销
+              <div v-if="scope.row.byState == 5" style="color: rgb(255, 0, 0)">
+                预约失败
               </div>
             </template>
           </el-table-column>
-          <!-- <el-table-column align="center" label="操作">
+          <el-table-column align="center" prop="payAmount" label="支付金额" />
+          <el-table-column align="center" label="操作">
             <template #default="scope">
-              <el-button link type="primary" @click="look(scope.row)"
-                ><div class="look">查看</div></el-button
+              <el-button link type="primary" @click="refund(scope.row)"
+                ><div class="look">退款</div></el-button
               >
             </template>
-          </el-table-column> -->
+          </el-table-column>
         </el-table>
       </div>
-      <el-pagination
-        background
-        v-model:page-size="pageSize2"
-        v-model:current-page="currentPage2"
-        layout="total, prev, pager, next, jumper"
-        :total="total2"
-        @current-change="handleCurrentChange2"
-      />
+      <div class="pagination">
+        <el-pagination
+          background
+          v-model:page-size="pageSize2"
+          v-model:current-page="currentPage2"
+          layout="total, prev, pager, next, jumper"
+          :total="total2"
+          @current-change="handleCurrentChange2"
+        />
+        <div
+          class="nowday"
+          style="
+            position: relative;
+            width: 1200px;
+            color: #000;
+            top: -53px;
+            font-size: 18px;
+            z-index: 0;
+          "
+        >
+          <div>
+            <div style="display: inline-block; margin-left: 30px">
+              <span style="font-size: 18px; font-weight: 800;margin-right: 20px">汇总金额 :</span>
+              <span style="color: red">{{ tableData.account }}</span> 元
+            </div>
+          </div>
+        </div>
+      </div>
     </div>
   </div>
 </template>
@@ -587,7 +669,8 @@ const router = useRouter();
 // 汇总搜索框数据
 const searchInputHZ = reactive({
   state: "",
-  date: dayjs().format("YYYY-MM-DD"),
+  route:"",
+  date: "",
   car_number: "",
 });
 const gobacknum = reactive({ list1: {}, list2: {}, list3: {}, list4: {} }); // 当日黄家湖-墨轩湖人数
@@ -598,7 +681,11 @@ const searchInput = reactive({
   ci_time: "",
   state: "",
   yy_date: "",
+  ciCreateTime:"",
+  createTime: "",
+  route: "",
   car_number: "",
+  mobile:"",
 });
 
 const busNum = reactive({ list: [] }); // 车牌号
@@ -609,6 +696,7 @@ const endNum = reactive({ list: [] }); // 终点站
 const tableData = reactive({
   list: [], //汇总数据
   list2: [], //明细列表数据
+  account:""
 });
 
 const dialongTitle = ref("候补派车"); // 弹窗标题
@@ -688,8 +776,12 @@ const getList = async (message) => {
     if (searchInputHZ.state) {
       data.set("state", searchInputHZ.state);
     }
+    if (searchInputHZ.route) {
+      data.set("route", searchInputHZ.route);
+    }
     if (searchInputHZ.date) {
-      data.set("date", searchInputHZ.date);
+      data.set("startTime", searchInputHZ.date[0]);
+      data.set("endTime", searchInputHZ.date[1]);
     }
     data.set("car_number", searchInputHZ.car_number); //前面的key记得对应!
     data.set("page", currentPage.value);
@@ -702,7 +794,7 @@ const getList = async (message) => {
       },
       data: data,
     });
-    console.log(res);
+    console.log(res,"汇总");
     if (res.status == 200) {
       if (message) {
         ElMessage({
@@ -770,13 +862,25 @@ const getList = async (message) => {
     if (searchInput.car_number) {
       data.set("car_number", searchInput.car_number);
     }
+    // if (searchInput.yy_date) {
+    //   data.set("yy_date", searchInput.yy_date);
+    // }
+    if (searchInput.ciCreateTime) {
+      data.set("ciStartTime", searchInput.ciCreateTime[0]);
+      data.set("ciEndTime", searchInput.ciCreateTime[1]);
+    }
     data.set("state", searchInput.state);
     if (searchInput.ci_time) {
       data.set("ci_time", searchInput.ci_time);
     }
-    if (searchInput.yy_date) {
-      data.set("yy_date", searchInput.yy_date);
+    if (searchInput.createTime) {
+      data.set("startTime", searchInput.createTime[0]);
+      data.set("endTime", searchInput.createTime[1]);
+    }
+    if (searchInput.route) {
+      data.set("route", searchInput.route);
     }
+    data.set("mobile", searchInput.mobile);
     data.set("page", currentPage2.value);
     data.set("rows", pageSize2.value); //前面的key记得对应!
     let res = await axios({
@@ -787,7 +891,7 @@ const getList = async (message) => {
       },
       data: data,
     });
-    console.log(res);
+    console.log(res,"明细");
     if (res.status == 200) {
       if (message) {
         ElMessage({
@@ -798,6 +902,7 @@ const getList = async (message) => {
         });
       }
       tableData.list2 = res.data.rows;
+      tableData.account=res.data.account;
       if (res.data.currentPage) {
         currentPage2.value = res.data.currentPage;
       } else {
@@ -826,7 +931,9 @@ const getList = async (message) => {
 // 获取往返黄家湖-墨轩湖的预约人数乘车人数
 const goBackNum = async () => {
   let data = new FormData();
-  data.set("date", searchInputHZ.date); //日期参数
+  data.set("startTime", searchInputHZ.date[0]);
+  data.set("endTime", searchInputHZ.date[1]);
+  // data.set("date", searchInputHZ.date); //日期参数
   let res = await axios({
     method: "post",
     url: api.value + "/carBook/scheroutetj.action",
@@ -838,19 +945,12 @@ const goBackNum = async () => {
   console.log(res, "往返校区的人数");
 
   // 墨轩湖 到 黄家湖
+
   res.data.data.forEach((item) => {
     if (item.route == "靖安-南昌") {
-      if (item.user_zz == "教职工") {
-        gobacknum.list1 = res.data.data[0]; // 教职工
-      } else if (item.user_zz == "报备人员") {
-        gobacknum.list2 = res.data.data[1]; // 报备人员
-      }
+      gobacknum.list1 = res.data.data[0]; // 教职工
     } else if (item.route == "南昌-靖安") {
-      if (item.user_zz == "教职工") {
-        gobacknum.list3 = res.data.data[2]; // 教职工
-      } else if (item.user_zz == "报备人员") {
-        gobacknum.list4 = res.data.data[3]; // 报备人员
-      }
+      gobacknum.list2 = res.data.data[1]; // 教职工
     }
   });
 };
@@ -862,7 +962,12 @@ const searchHZ = lodash.debounce(() => {
 // 汇总重置搜索框
 const resetInputHZ = lodash.debounce(() => {
   searchInputHZ.state = "";
-  searchInputHZ.date = dayjs().format("YYYY-MM-DD");
+  searchInputHZ.route = "";
+
+  searchInputHZ.date = [
+    dayjs().format("YYYY-MM-DD"),
+    dayjs().format("YYYY-MM-DD"),
+  ];
   searchInputHZ.car_number = "";
   getList();
   goBackNum();
@@ -876,8 +981,11 @@ const search = lodash.debounce(() => {
 const resetInput = lodash.debounce(() => {
   searchInput.state = "";
   searchInput.yy_date = "";
+  searchInput.ciCreateTime=""
   searchInput.car_number = "";
   searchInput.ci_time = "";
+  searchInput.route = "";
+  searchInput.createTime = "";
   getList();
 }, 300);
 // 多选框功能
@@ -889,27 +997,82 @@ const handleSelectionChange = (val) => {
 // 汇总按钮
 const collectMenu = () => {
   footerMenuIndex.value = 0;
-  searchInput.yy_date = "";
-  searchInput.car_number = "";
   searchInput.state = "";
+  // searchInput.yy_date = "";
+  searchInput.ciCreateTime=""
+  searchInput.car_number = "";
+  searchInput.ci_time = "";
+  searchInput.route = "";
+  searchInput.createTime = "";
   getList();
 };
 //明细列表按钮
 const detailMenu = () => {
   footerMenuIndex.value = 1;
+  searchInputHZ.state = "";
+  searchInputHZ.route = "";
+
+  // searchInputHZ.date = [
+  //   dayjs().format("YYYY-MM-DD"),
+  //   dayjs().format("YYYY-MM-DD"),
+  // ];
+  searchInputHZ.car_number = "";
   getList();
 };
 
 // 详情按钮
 const info = (row) => {
   console.log(row);
-  searchInput.yy_date = row.s_date;
+  // searchInput.yy_date = row.s_date;
+  searchInput.ciCreateTime=[row.s_date,row.s_date]
   searchInput.ci_time = row.ci_time;
   searchInput.car_number = row.car_number;
   footerMenuIndex.value = 1;
   currentPage2.value = 1;
   getList();
 };
+const refund = (row) => {
+  ElMessageBox.confirm("确定退款?", "提示!!!", {
+    confirmButtonText: "确认",
+    cancelButtonText: "取消",
+    type: "warning",
+  })
+    .then(async () => {
+      let data = new FormData();
+      data.set("order_num",row.orderNo);
+      // let data = {
+      //   order_num: row.orderNo, // 当前页
+      // };
+      let res = await axios({
+        method: "post",
+        url: api.value + "/tApprefund.action",
+        headers: {
+          token: sessionStorage.getItem("token"),
+        },
+        data: data,
+      });
+      console.log(res);
+      if (res.data.code == 200) {
+
+        
+        ElMessage({
+          type: "success",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+        getList();
+      } else {
+        ElMessage({
+          type: "error",
+          showClose: true,
+          message: res.data.message,
+          center: true,
+        });
+      }
+    })
+    .catch(() => {});
+};
 // 派车按钮
 const sendBus = (row) => {
   console.log(row);
@@ -972,8 +1135,19 @@ const downLoad = lodash.debounce(async () => {
   if (searchInput.car_number) {
     data.set("car_number", searchInput.car_number);
   }
+  if (searchInput.yy_date) {
+    data.set("yy_date", searchInput.yy_date);
+  }
+  if (searchInput.createTime) {
+    data.set("startTime", searchInput.createTime[0]);
+    data.set("endTime", searchInput.createTime[1]);
+  }
+  if(searchInput.route){
+    data.set("route", searchInput.route);
+  }
+  data.set("mobile", searchInput.mobile);
   data.set("state", searchInput.state);
-  data.set("yy_date", searchInput.yy_date);
+  // data.set("yy_date", searchInput.yy_date);
   let res = await axios({
     method: "post",
     url: api.value + "/carBook/brectoExcel.action",
@@ -983,17 +1157,17 @@ const downLoad = lodash.debounce(async () => {
     data: data,
   });
   console.log(res);
-  if (res.status == 200) {
+  if (res.data.code == 200) {
     // const elt = document.createElement("a");
     // elt.setAttribute(
     //   "href",
-    //   "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
+    //   "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl
     // );
     // elt.setAttribute("download", "file.png");
     // elt.style.display = "none";
     // document.body.appendChild(elt);
     // elt.click();
-    var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
+    var downloadPath = "https://car.meiyishuoo.com/ride-sharing" + res.data.downurl;
     console.log("获得地址数据:", downloadPath);
     var downloadLink = document.createElement("a");
     downloadLink.style.display = "none"; // 使其隐藏
@@ -1056,6 +1230,10 @@ watch(
   }
 );
 onBeforeMount(() => {
+  searchInputHZ.date = [
+    dayjs().format("YYYY-MM-DD"),
+    dayjs().format("YYYY-MM-DD"),
+  ];
   api.value = store.state.user.api;
   pathNum.list = JSON.parse(sessionStorage.getItem("pathSelect"));
   busNum.list = JSON.parse(sessionStorage.getItem("busSelect"));
@@ -1267,14 +1445,18 @@ onBeforeMount(() => {
         }
       }
     }
-    .pagination{
+    .pagination {
       width: 100%;
-      height: 80px;
+      height: 70px;
+      .el-pagination {
+        position: relative;
+        z-index: 999;
+      }
     }
   }
 
   .footer {
-    width:calc(100% - 60px);
+    width: calc(100% - 60px);
     // height: 510px;
     margin: 20px auto 0;
 
@@ -1361,8 +1543,8 @@ onBeforeMount(() => {
 
   .footers {
     width: 96%;
-    height: 550px;
-    margin: 20px auto 20px;
+    // height: 550px;
+    // margin: 20px auto 20px;
 
     :deep(.el-table__header-wrapper) {
       height: 48px;

+ 13 - 3
vite.config.js

@@ -33,13 +33,23 @@ export default defineConfig({
 
     // 测试地址
     proxy: {
-      "/carstop/carBuy": {
+      "/ride-sharing/carBuy": {
         // target: "https://chtech.ncjti.edu.cn/testingServertomcat/carbook", // 测试环境
-        target: "https://chtech.ncjti.edu.cn/carstop/carBuy", // 测试环境
+        // target: "https://chtech.ncjti.edu.cn/carstop/carBuy", // 测试环境
+        target: "https://car.meiyishuoo.com/ride-sharing/carBuy", // 校团环境
         changeOrigin: true,
-        rewrite: (path) => path.replace(/^\/carstop\/carBuy/, ""),
+        rewrite: (path) => path.replace(/^\/ride-sharing\/carBuy/, ""),
       },
     },
+    // proxy: {
+    //   "/carstop/carBuy": {
+    //     // target: "https://chtech.ncjti.edu.cn/testingServertomcat/carbook", // 测试环境
+    //     target: "https://chtech.ncjti.edu.cn/carstop/carBuy", // 测试环境
+    //     // target: "https://car.meiyishuoo.com/ride-sharing/carBuy", // 校团线上环境
+    //     changeOrigin: true,
+    //     rewrite: (path) => path.replace(/^\/carstop\/carBuy/, ""),
+    //   },
+    // },
   },
   publicDir: "public",
   base: "./",