lishanzheng1 пре 3 година
родитељ
комит
9de451ee9c

+ 3 - 2
mock/data/admin_login.json

@@ -2,6 +2,7 @@
     "code": 0,
     "message": "登录成功",
     "data": {
-        "token":"admin"
+        "token": "admin",
+        "name": "admin"
     }
-}
+}

+ 29 - 0
mock/data/sys.json

@@ -0,0 +1,29 @@
+{
+  "code": 0,
+  "message": "登录成功",
+  "data": {
+    "sysData": [
+      {
+        "id": "1",
+        "name": "同步失败",   
+        "created_time": 1587404567,
+        "end_time": 1618971108,
+        "type": "同步"
+      },
+      {
+        "id": "2",
+        "name": "同步成功",
+        "created_time": 1587404567,
+        "end_time": 1618940567,
+        "type": "同步"
+      },
+      {
+        "id": "3",
+        "name": "同步中",
+        "created_time": 1587404567,
+        "end_time": 1618940567,
+        "type": "同步"
+      }
+    ]
+  }
+}

+ 3 - 2
mock/data/vip_login.json

@@ -2,6 +2,7 @@
     "code": 0,
     "message": "登录成功",
     "data": {
-        "token":"vip"
+        "token": "vip",
+        "name": "vip"
     }
-}
+}

+ 5 - 1
mock/index.js

@@ -6,6 +6,7 @@ const adminPermission = require("./data/admin_permission.json");
 const vipPermission = require("./data/vip_permission.json");
 const orderlist = require("./data/orderlist.json");
 const user = require("./data/user.json");
+const sys = require("./data/sys.json");
 var bodyParser = require('body-parser')
 
 app.use(bodyParser.urlencoded({ extended: false }))
@@ -38,10 +39,13 @@ app.get("/orderlist", (req, res) => {
 
 app.get("/userlist", (req, res) => {
     let params = req.query;
-    console.log(params);
     res.send(user)
 })
 
+app.get("/synclist", (req, res) => {
+    let params = req.query;
+    res.send(sys)
+})
 
 
 app.listen(5000, () => {

+ 18 - 6
src/components/components-pub/PubAll.vue

@@ -21,9 +21,11 @@
       element-loading-text="拼命加载中"
       element-loading-spinner="el-icon-loading"
       :api="api"
+      :apiVal="apiVal"
       :tableData="tableData"
       :tableConfigArr="tableConfigArr"
       :hasIndex="hasIndex"
+      :hasExpand="hasExpand"
       @handlerSelectChange="handlerSelectChange"
       @handlerSelect="handlerSelect"
       @handlerSelectAll="handlerSelectAll"
@@ -37,7 +39,9 @@
           <slot name="operate" :row="scope.row"></slot>
         </div>
       </template> -->
-
+      <template slot="select" slot-scope="scopeProps">
+        <slot name="select" :row="scopeProps.row"></slot>
+      </template>
       <template slot-scope="scope" slot="operate">
         <!-- <el-button type="primary" size="small" @click="edit(scope.row)"
           >修改</el-button
@@ -126,12 +130,21 @@ export default {
         return false;
       },
     },
-    api: {
-      type: String,
+    hasExpand: {
+      type: Boolean,
       default: function () {
-        return "";
+        return false;
       },
     },
+
+    api: {
+      type: String,
+      default: "",
+    },
+    apiVal: {
+      type: String,
+      default: "",
+    },
   },
 
   data() {
@@ -245,10 +258,9 @@ export default {
     },
     async list() {
       this.isLoading = true;
-
       let result = await apiSend.get(this.api);
       if (result && result.code == 0) {
-        this.tableData = result.data.tableData;
+        this.tableData = result.data[this.apiVal];
         this.isLoading = false;
       }
     },

+ 15 - 6
src/components/mytable/MyTable.vue

@@ -3,7 +3,6 @@
     <el-table
       :data="tableData"
       border
-    
       style="width: 100%"
       highlight-current-row
       @selection-change="handlerSelectChange"
@@ -24,8 +23,9 @@
         width="38"
       ></el-table-column>
       <el-table-column v-if="hasExpand" type="expand" width="38">
-        <template slot-scope="props">
-          <my-form :formList="getList(props.row)"> </my-form>
+        <template slot-scope="scope">
+          <!-- <div>{{scope.row}}</div> -->
+          <slot name="select" :row="scope.row"></slot>
         </template>
       </el-table-column>
       <el-table-column
@@ -39,7 +39,7 @@
         <div slot-scope="scope">
           <slot v-if="item.slot" :name="item.slot" :row="scope.row"> </slot>
           <template v-else>
-            <div>{{ scope.row[item.prop] }}</div>
+            <div>{{ scope.row[item.prop] | handleFilter }}</div>
           </template>
         </div>
       </el-table-column>
@@ -47,8 +47,9 @@
   </div>
 </template>
 <script>
+import { formatDate } from "@/utils/timeTransfrom";
 export default {
-  name: "my-form",
+  name: "my-table",
   props: {
     tableData: {
       type: Array,
@@ -127,6 +128,15 @@ export default {
       this.dialogFormVisible = data;
     },
   },
+  filters: {
+    handleFilter: (value) => {
+      if (typeof value == "number" && value.toString().length == 10) {
+        return formatDate(value);
+      } else {
+        return value;
+      }
+    },
+  },
 
   mounted() {
     //console.log(this.tableConfigArr);
@@ -135,5 +145,4 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-
 </style>

+ 39 - 2
src/pages/layout/component/main-content/content.vue

@@ -1,6 +1,10 @@
+
 <template>
-  <el-card class="content">
-    <router-view class="content"></router-view>
+  <el-card class="box">
+    <div class="big_title">{{ $route.meta.name }}</div>
+    <transition name="transitionRouter" mode="out-in">
+      <router-view :key="key"></router-view>
+    </transition>
   </el-card>
 </template>
 
@@ -9,8 +13,41 @@ export default {
   data() {
     return {};
   },
+  computed: {
+    key() {
+      let key = "";
+      if (this.$route.query.router) {
+        key = "_" + this.$route.query.router;
+      } else {
+        key = this.$route.path.replace(/\//g, "_");
+      }
+      return key;
+    },
+  },
 };
 </script>
 
 <style lang="scss" scoped>
+.box {
+  margin-top: 50px;
+  .big_title {
+    font-size: 26px;
+    font-weight: bold;
+    margin-bottom: 2%;
+  }
+
+  .transitionRouter-enter-active,
+  .transitionRouter-leave-active {
+    transition: all 0.5s;
+  }
+
+  .transitionRouter-enter {
+    opacity: 0;
+    transform: translateX(-30px);
+  }
+  .transitionRouter-leave-to {
+    opacity: 0;
+    transform: translateX(30px);
+  }
+}
 </style>

+ 9 - 4
src/pages/layout/component/main-content/top-aside.vue

@@ -14,7 +14,7 @@
       </el-col>
       <el-col :span="7">
         <el-row justify="end" type="flex" align="middle">
-          <span>张三</span>
+          <span>{{ userInfo }}</span>
           <el-dropdown trigger="click" placement="top">
             <span class="el-dropdown-link">
               <i class="el-icon-arrow-down el-icon--right"></i>
@@ -63,7 +63,7 @@
 </template>
 
 <script>
-import { mapState, mapMutations } from "vuex";
+import { mapState, mapMutations, mapGetters } from "vuex";
 
 export default {
   name: "top-aside",
@@ -74,6 +74,8 @@ export default {
   },
   computed: {
     ...mapState("permission", ["isSidebarNavCollapse"]),
+    // ...mapGetters(["userInfo"]),
+    ...mapState({ userInfo: (state) => state.user.userInfo }),
   },
   methods: {
     ...mapMutations(["LOGIN_OUT"]),
@@ -95,6 +97,9 @@ export default {
       //window.location.reload();
     },
   },
+  mounted() {
+    console.log(this.userInfo);
+  },
 };
 </script>
 
@@ -231,10 +236,10 @@ export default {
 }
 .aa {
   transition: 0.6s;
-  transform: rotate(90deg);
+  transform: rotate(0deg);
 }
 .go {
-  transform: rotate(0deg);
+  transform: rotate(90deg);
   transition: 0.6s;
 }
 .el-col-17 {

+ 9 - 3
src/pages/login/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="clearfix" id="login_wrap">
     <div class="login">
-      <h2 class="title">登录页</h2>
+      <h2 class="title">管理服务登录平台</h2>
       <my-form class="content" :formList="formList" :formValue="formValue">
         <template slot="handle" slot-scope="scope">
           <el-button type="primary" @click="login(scope.formData)"
@@ -35,10 +35,11 @@ export default {
     };
   },
   methods: {
-    async login() { 
+    async login() {
       let result = await this.$api.basic.login(this.formValue);
-      let {token} = result.data
+      let { token, name } = result.data;
       this.$store.commit("LOGIN_IN", token);
+      this.$store.commit("UERINFO", name);
       this.$router.replace("/");
     },
   },
@@ -55,6 +56,11 @@ export default {
     width: 400px;
     height: 400px;
     border: 1px saddlebrown solid;
+    .title {
+      text-align: center;
+      color: blue;
+      font-size: 30px;
+    }
     .content {
       margin-top: 20%;
     }

+ 19 - 2
src/pages/order-manage/order-list/index.vue

@@ -100,6 +100,7 @@ export default {
       ],
 
       currentPage: 1,
+      limit: 10,
 
       // 修改用
       formValue1: {
@@ -226,8 +227,24 @@ export default {
       this.dialogFormVisible = false;
     },
 
-    handleSizeChange() {},
-    handleCurrentChange() {},
+    handleSizeChange(val) {
+      this.limit = val;
+      let obj = {
+        skip: 0,
+        limit: this.limit,
+        ...this.formValue,
+      };
+      console.log(obj);
+      // {skip: 0, limit: this.limit, ...this.search}
+    },
+    handleCurrentChange(val) {
+      let obj = {
+        skip: (val - 1) * this.limit,
+        limit: this.limit,
+        ...this.formValue,
+      };
+      console.log(val);
+    },
   },
 
   created() {

+ 1 - 0
src/pages/order-manage/return-goods/index.vue

@@ -7,6 +7,7 @@
       :tableConfigArr="tableConfigArr"
       :hasIndex="true"
       api="/userlist"
+      apiVal="tableData"
       ref="puball"
     >
       <template slot-scope="scope" slot="operate">

+ 69 - 5
src/pages/system/index.vue

@@ -1,18 +1,82 @@
 <template>
   <div>
-    <div class="box">xsdsd</div>
+    <pub-all
+      :exportFlag="true"
+      :tableConfigArr="tableConfigArr"
+      api="/synclist"
+      apiVal="sysData"
+      ref="puball"
+      :hasExpand="true"
+    >
+      <template slot-scope="scope" slot="select">
+        <pub-all
+          :tableConfigArr="tableSelect"
+          api="/synclist"
+          apiVal="sysData"
+          ref="puball"
+        >
+        </pub-all>
+      </template>
+    </pub-all>
   </div>
 </template>
 
 <script>
 export default {
-  name: "system",
-
+  name: "return-goods",
   data() {
-    return {};
+    return {
+      tableConfigArr: [
+        {
+          prop: "name",
+          label: "状态",
+          sortable: true,
+        },
+        {
+          fixed: false,
+          prop: "created_time",
+          label: "开始时间",
+          sortable: true,
+        },
+        {
+          fixed: false,
+          prop: "end_time",
+          label: "结束时间",
+          sortable: true,
+        },
+        {
+          prop: "type",
+          label: "同步类型",
+        },
+      ],
+      tableSelect: [
+        {
+          prop: "name",
+          label: "状态",
+         
+        },
+        {
+          fixed: false,
+          prop: "created_time",
+          label: "开始时间",
+        
+        },
+        {
+          fixed: false,
+          prop: "end_time",
+          label: "结束时间",
+        
+        },
+   
+      ],
+    };
   },
   methods: {},
 };
 </script>
-<style  lang="scss" scoped>
+
+<style lang="scss" scoped>
+.dig_box {
+  margin-bottom: 2%;
+}
 </style>

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

@@ -3,11 +3,13 @@ import sessionTool from '@/utils/sessionTool'
 
 const state = {
   //设置属性 用来存储数据
-  token: sessionTool.get('token') || ''
+  token: sessionTool.get('token') || '',
+  userInfo: sessionTool.get('user') || '',
 }
 
 const getters = {
-  token: state => state.token
+  token: state => state.token,
+  userInfo: state => state.userInfo
 }
 
 const mutations = {
@@ -18,6 +20,11 @@ const mutations = {
   LOGIN_OUT(state, data) {
     sessionTool.clearAll();
     state.token = '';
+  },
+  UERINFO(state, data) {
+    sessionTool.set('user', data)
+    state.userInfo = data;
+
   }
 }
 

+ 19 - 0
src/utils/timeTransfrom.js

@@ -0,0 +1,19 @@
+/* eslint-disable no-console */
+
+export function formatDate(value) {
+    let date = new Date(value * 1000);
+    let y = date.getFullYear();
+    let MM = date.getMonth() + 1;
+    MM = MM < 10 ? ('0' + MM) : MM;
+    let d = date.getDate();
+    d = d < 10 ? ('0' + d) : d;
+    let h = date.getHours();
+    h = h < 10 ? ('0' + h) : h;
+    let m = date.getMinutes();
+    m = m < 10 ? ('0' + m) : m;
+    let s = date.getSeconds();
+    s = s < 10 ? ('0' + s) : s;
+    return y + '-' + MM + '-' + d;
+}
+
+