caichengyu há 9 meses atrás
pai
commit
e2fc765588

+ 5 - 5
src/layout/components/Navbar.vue

@@ -25,13 +25,13 @@
         <el-tooltip content="文档地址" effect="dark" placement="bottom">
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
         </el-tooltip> -->
-        <!-- <el-tooltip content="版本说明" effect="dark" placement="bottom">
+        <el-tooltip content="版本说明" effect="dark" placement="bottom">
           <version
             id="version"
             class="right-menu-item hover-effect"
             @openMsg="openMsg"
           />
-        </el-tooltip> -->
+        </el-tooltip>
 
         <el-dialog
           append-to-body
@@ -58,11 +58,11 @@
             <el-button @click="dialogVisible = false">关 闭</el-button>
           </span>
         </el-dialog>
-        <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
+        <screenfull id="screenfull" class="right-menu-item hover-effect" />
 
-        <!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">
+        <el-tooltip content="布局大小" effect="dark" placement="bottom">
           <size-select id="size-select" class="right-menu-item hover-effect" />
-        </el-tooltip> -->
+        </el-tooltip>
       </template>
       <el-dropdown
         class="avatar-container right-menu-item hover-effect"

+ 3 - 51
src/layout/components/Settings/index.vue

@@ -8,55 +8,7 @@
         <div class="setting-drawer-block-checbox">
           <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')">
             <img src="@/assets/images/dark.svg" alt="dark">
-            <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
-              <i aria-label="图标: check" class="anticon anticon-check">
-                <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
-                     focusable="false" class="">
-                  <path
-                    d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/>
-                </svg>
-              </i>
-            </div>
-          </div>
-          <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-lightpurple')">
-            <img src="@/assets/images/light.svg" alt="lightpurple">
-            <div v-if="sideTheme === 'theme-lightpurple'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
-              <i aria-label="图标: check" class="anticon anticon-check">
-                <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
-                     focusable="false" class="">
-                  <path
-                    d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/>
-                </svg>
-              </i>
-            </div>
-          </div>
-          <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-lightblue')">
-            <img src="@/assets/images/light.svg" alt="lightblue">
-            <div v-if="sideTheme === 'theme-lightblue'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
-              <i aria-label="图标: check" class="anticon anticon-check">
-                <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
-                     focusable="false" class="">
-                  <path
-                    d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/>
-                </svg>
-              </i>
-            </div>
-          </div>
-          <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-tiffany')">
-            <img src="@/assets/images/light.svg" alt="tiffany">
-            <div v-if="sideTheme === 'theme-tiffany'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
-              <i aria-label="图标: check" class="anticon anticon-check">
-                <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
-                     focusable="false" class="">
-                  <path
-                    d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/>
-                </svg>
-              </i>
-            </div>
-          </div>
-          <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-customize1')">
-            <img src="@/assets/images/light.svg" alt="customize1">
-            <div v-if="sideTheme === 'theme-customize1'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
+            <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="">
               <i aria-label="图标: check" class="anticon anticon-check">
                 <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
                      focusable="false" class="">
@@ -68,7 +20,7 @@
           </div>
           <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-light')">
             <img src="@/assets/images/light.svg" alt="light">
-            <div v-if="sideTheme === 'theme-light'" class="setting-drawer-block-checbox-selectIcon" style="display: block;">
+            <div v-if="sideTheme === 'theme-light'" class="setting-drawer-block-checbox-selectIcon" style="">
               <i aria-label="图标: check" class="anticon anticon-check">
                 <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true"
                      focusable="false" class="">
@@ -255,7 +207,7 @@ export default {
     }
 
     .setting-drawer-block-checbox {
-      display: block;
+      display: flex;
       justify-content: flex-start;
       align-items: center;
       margin-top: 10px;

+ 16 - 0
src/newApi/order.js

@@ -165,4 +165,20 @@ export default {
             params: data
         })
     },
+    //线下订单申请审核
+    orderofflinecheck(data) {
+        return request({
+            url: '/order/offline/check',
+            method: 'post',
+            data
+        })
+    },
+    //线下订单申请列表
+    orderofflinelist(data) {
+        return request({
+            url: '/order/offline/list',
+            method: 'get',
+            params: data
+        })
+    },
 }

+ 1 - 1
src/settings.js

@@ -2,7 +2,7 @@ module.exports = {
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
    */
-  sideTheme: 'theme-light',
+  sideTheme: 'theme-dark',
 
   /**
    * 是否系统布局配置

+ 2 - 2
src/utils/request.js

@@ -8,9 +8,9 @@ import { paramMate } from "@/utils/common";
 
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
-export const baseURL = process.env.VUE_APP_BASE_API
+// export const baseURL = process.env.VUE_APP_BASE_API
 // export const baseURL = 'https://cloud.xyyxt.net/'
-// export const baseURL = 'http://192.168.1.123:5030'
+export const baseURL = 'http://192.168.1.123:5030'
 export const BASE_IMG_URL = process.env.VUE_APP_IMG_API
 // export const BASE_IMG_URL = 'https://file.xyyxt.net'
 const service = axios.create({

+ 305 - 0
src/views/education/examManagement/examOrderOffline/index.vue

@@ -0,0 +1,305 @@
+<template>
+  <div id="examdataConfig">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+      :shType="shType"
+    >
+    </search-box-new>
+    <table-list
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      @addClick="addClick"
+      :loading="loading"
+      @editInfo="editInfo"
+    >
+      <template
+        slot="customize"
+        v-if="formData.checkStatus == 0 || formData.checkStatus == ''"
+      >
+        <el-button size="small" type="success" @click="audits(1)"
+          >批量审核通过</el-button
+        ><el-button size="small" type="danger" @click="audits(2)"
+          >批量审核不通过</el-button
+        >
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button
+          type="text"
+          v-if="props.scope.row.checkStatus == 0"
+          @click="audit(props.scope.row, 1)"
+          >审核通过</el-button
+        ><el-button
+          type="text"
+          v-if="props.scope.row.checkStatus == 0"
+          @click="audit(props.scope.row, 2)"
+          >审核不通过</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize="formData.pageSize"
+      :currentPage="formData.pageNum"
+      @handleSizeChange="handleSizeChange"
+      @handleCurrentChange="handleCurrentChange"
+    />
+  </div>
+</template>
+  <script>
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  name: "examdataConfig",
+  components: { searchBoxNew, tableList, pagination },
+  data() {
+    return {
+      shType: true,
+      loading: false, //当前表单加载是否加载动画
+      navText: {
+        title: "待审线下订单",
+        index: 0,
+        ch: "条",
+        num: true,
+        border: true,
+        choice: true,
+        addHide: true,
+        backFatherBtn: {
+          status: false,
+          title: "未定义",
+        },
+      },
+      //搜索
+      formList: [
+        {
+          prop: "userName",
+          placeholder: "请输入学员姓名",
+        },
+        // {
+        //   prop: "userPhone",
+        //   placeholder: "请输入学员手机号",
+        // },
+        // {
+        //   prop: "userCard",
+        //   placeholder: "请输入学员身份证",
+        // },
+        // {
+        //   prop: "companyName",
+        //   placeholder: "请输入学员公司名",
+        // },
+      ],
+      formData: {
+        checkStatus: 0,
+        pageSize: 10,
+        pageNum: 1,
+      },
+      // 表单
+      tableSet: [
+        {
+          label: "学员姓名",
+          prop: "userName",
+          hidden: true,
+        },
+
+        {
+          label: "学员身份证",
+          prop: "userCard",
+          hidden: true,
+        },
+        {
+          label: "绑定手机号",
+          prop: "userPhone",
+          hidden: true,
+        },
+        {
+          label: "公司名称",
+          prop: "companyName",
+          hidden: true,
+        },
+        {
+          label: "所购商品",
+          hidden: true,
+          prop: "goodsName",
+        },
+        {
+          label: "审核状态",
+          prop: "checkStatus",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "通过",
+              value: 1,
+            },
+            {
+              label: "待审核",
+              value: 0,
+            },
+            {
+              label: "不通过",
+              value: 2,
+            },
+          ],
+        },
+
+        {
+          label: "申请时间",
+          prop: "createTime",
+          hidden: true,
+          scope: "aTimeList",
+        },
+        {
+          label: "业务类型",
+          prop: "businessName",
+          hidden: true,
+        },
+        {
+          label: "预约考试名称",
+          prop: "examApplyName",
+          hidden: true,
+        },
+        {
+          label: "订单价格(元)",
+          prop: "orderPrice",
+          hidden: true,
+        },
+      ],
+      tableData: [], //表单数据
+      total: 0, //一共多少条
+      DCLIST: [
+        { label: "全部", value: "" },
+        { label: "待审核", value: 0 },
+        { label: "审核通过", value: 1 },
+        { label: "审核不通过", value: 2 },
+      ], //导出按钮列表
+    };
+  },
+  async mounted() {
+    this.search();
+  },
+  async activated() {
+    this.search();
+  },
+  methods: {
+    audits(status) {
+      if (this.$refs.tableList.allCheckData.length == 0) {
+        this.$message.error("请勾选需要批量操作的订单");
+        return;
+      }
+      var cL = this.$refs.tableList.allCheckData.filter(
+        (f) => f.checkStatus === 0
+      );
+      console.log("231", cL);
+      var ids = cL.map((item) => {
+        return item.orderSn;
+      });
+      if (ids.length==0) {
+        this.$message.error("请勾选待审核的订单");
+        return;
+      }
+      this.$confirm(
+        "您确定对选中的待审核订单审核" +
+          (status == 1 ? "通过" : "不通过") +
+          "吗?",
+        "提示",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+        }
+      )
+        .then((_) => {
+          this.saveaudit({ orderSnList: ids, checkResult: status });
+        })
+        .catch(() => {
+          //点击了取消按钮
+        });
+    },
+    audit(row, status) {
+      this.$confirm(
+        "您确定对订单【" +
+          row.orderSn +
+          "】审核" +
+          (status == 1 ? "通过" : "不通过") +
+          "吗?",
+        "提示",
+        {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+        }
+      )
+        .then((_) => {
+          this.saveaudit({ orderSnList: [row.orderSn], checkResult: status });
+        })
+        .catch(() => {
+          //点击了取消按钮
+        });
+    },
+    saveaudit(data) {
+      console.log(data, "data");
+      this.$api
+        .orderofflinecheck(data)
+        .then((res) => {
+          this.$message.success("提交成功");
+          this.search();
+        })
+        .catch((err) => {
+          this.$message.error(err.msg);
+        });
+    },
+    search(int) {
+      this.loading = true;
+      this.formData.checkStatus =
+        this.formData.status == 2
+          ? 0
+          : this.formData.status == 3
+          ? 2
+          : this.formData.status == 1
+          ? 1
+          : "";
+      if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
+          status: 0,
+          checkStatus: 0,
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      console.log(this.formData, "data");
+
+      this.$api
+        .orderofflinelist(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    init() {
+      this.search(2);
+    },
+
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.search();
+    },
+  },
+};
+</script>

+ 7 - 10
src/views/login.vue

@@ -273,11 +273,10 @@ export default {
   display: flex;
   height: 100%;
   overflow: hidden;
-  background: url("../assets/images/loginPage/loginbg.png") no-repeat center;
   .login_Left {
     width: 100%;
-    // min-width: 1920px;
-    // background: url("../assets/images/left@2x.png") no-repeat center;
+    min-width: 1920px;
+    background: url("../assets/images/left@2x.png") no-repeat center;
     background-size: contain;
     overflow: hidden;
     .topName {
@@ -289,13 +288,11 @@ export default {
         vertical-align: bottom;
       }
       text-shadow: 0px 0px 3px rgba(41, 115, 255, 0.7);
-     position: absolute;
+      position: absolute;
       color: rgb(41, 115, 255);
       top: 50px;
-      // left: 150px;
+      left: 150px;
       font-size: 32px;
-      text-align: center;
-      width: 100%;
     }
     .anima1 {
       position: fixed;
@@ -361,11 +358,11 @@ export default {
   }
   .login_divs {
     position: fixed;
-    right: 35%;
-    top: 20%;
+    right: 0;
+    top: 0;
     min-width: 500px;
     width: 574px;
-    height: 620px;
+    height: 100%;
     background-color: #4174ff;
     z-index: 1000;
     display: flex;

+ 13 - 9
src/views/loginold.vue → src/views/loginnew.vue

@@ -273,10 +273,11 @@ export default {
   display: flex;
   height: 100%;
   overflow: hidden;
+  background: url("../assets/images/loginPage/loginbg.png") no-repeat center;
   .login_Left {
     width: 100%;
-    min-width: 1920px;
-    background: url("../assets/images/left@2x.png") no-repeat center;
+    // min-width: 1920px;
+    // background: url("../assets/images/left@2x.png") no-repeat center;
     background-size: contain;
     overflow: hidden;
     .topName {
@@ -288,11 +289,13 @@ export default {
         vertical-align: bottom;
       }
       text-shadow: 0px 0px 3px rgba(41, 115, 255, 0.7);
-      position: absolute;
+     position: absolute;
       color: rgb(41, 115, 255);
       top: 50px;
-      left: 150px;
+      // left: 150px;
       font-size: 32px;
+      text-align: center;
+      width: 100%;
     }
     .anima1 {
       position: fixed;
@@ -330,7 +333,7 @@ export default {
     .anima4 {
       position: fixed;
       bottom: -350px;
-      left: 987px;
+      left: 1487px;
       width: 199px;
       height: 551px;
       background: url("../assets/images/mZ/4@2x.png");
@@ -341,7 +344,7 @@ export default {
     .anima5 {
       position: fixed;
       top: 200px;
-      left: 1289px;
+      left: 1389px;
       width: 85px;
       height: 236px;
       background: url("../assets/images/mZ/5@2x.png");
@@ -358,11 +361,11 @@ export default {
   }
   .login_divs {
     position: fixed;
-    right: 0;
-    top: 0;
+    right: 35%;
+    top: 20%;
     min-width: 500px;
     width: 574px;
-    height: 100%;
+    height: 620px;
     background-color: #4174ff;
     z-index: 1000;
     display: flex;
@@ -372,6 +375,7 @@ export default {
     .login_Right {
       width: 420px;
     }
+    border-radius: 30px;
   }
 }
 .textStys {