En route 1 éve
szülő
commit
190f344a07
6 módosított fájl, 230 hozzáadás és 3 törlés
  1. 34 0
      src/api/company.js
  2. 33 0
      src/layout/index.vue
  3. 2 2
      src/permission.js
  4. 18 1
      src/router/index.js
  5. 123 0
      src/utils/request.js
  6. 20 0
      src/views/index.vue

+ 34 - 0
src/api/company.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+
+// 新增商品
+export function goods(data) {
+    return request({
+        url: '/goods',
+        method: 'post',
+        data: data,
+    })
+}
+
+// 修改商品
+export function editgoods(data) {
+    return request({
+        url: '/goods/edit',
+        method: 'post',
+        data: data,
+    })
+}
+// 查询商品列表
+export function companyCompanyList(data) {
+    return request({
+        url: '/system/company/companyList',
+        method: 'post',
+        data: data,
+    })
+}
+// 获取商品详细信息
+export function goodsId(data) {
+    return request({
+        url: '/goods/' + data,
+        method: 'get',
+    })
+}

+ 33 - 0
src/layout/index.vue

@@ -0,0 +1,33 @@
+<template>
+  <el-container style="height: 100%">
+    <el-aside class="el_aside">Aside</el-aside>
+    <el-container>
+      <el-header class="el_header">Header</el-header>
+      <el-main style="padding: 0px">
+        <transition name="el-fade-in-linear">
+          <router-view></router-view>
+        </transition>
+      </el-main>
+    </el-container>
+  </el-container>
+</template>
+
+<script>
+export default {
+  data() {
+    return {};
+  },
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped>
+.el_aside {
+  box-shadow: 1px 0px 6px 0px rgba(0, 0, 0, 0.2);
+  height: 100%;
+  width: 200px!important;
+}
+.el_header {
+  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
+}
+</style>

+ 2 - 2
src/permission.js

@@ -6,8 +6,8 @@ import 'nprogress/nprogress.css'
 NProgress.configure({ showSpinner: false })
 router.beforeEach(async (to, from, next) => {
     NProgress.start();
-    setTimeout(() => {
+    // setTimeout(() => {
         NProgress.done()
         next()
-    }, 3000)
+    // }, 3000)
 })

+ 18 - 1
src/router/index.js

@@ -1,9 +1,26 @@
 import Vue from 'vue'
 import VueRouter from 'vue-router'
+import layout from "@/layout"
 
 Vue.use(VueRouter)
-
+const children = [
+  {
+    path: '/home',
+    name: 'home',
+    meta: {
+      title: "首页",
+      icon: "House"
+    },
+    component: () => import('@/views/index.vue'),
+  }
+]
 const routes = [
+  {
+    path: '/',
+    redirect: '/home',
+    component: layout,
+    children: children
+  },
 ]
 
 const router = new VueRouter({

+ 123 - 0
src/utils/request.js

@@ -0,0 +1,123 @@
+import axios from 'axios'
+import { Message } from 'element-ui'
+axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
+export const baseURL = 'http://192.168.1.34:5080/'
+export const BASE_IMG_URL = 'https://file-dev.xyyxt.net'
+const service = axios.create({
+  baseURL: baseURL,
+  timeout: 600000
+})
+// request拦截器
+service.interceptors.request.use(config => {
+  // 是否需要设置 token
+  // const isToken = (config.headers || {}).isToken === false
+  // if (getToken() && !isToken) {
+  //   config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
+  // }
+
+  // // 转换时间戳
+  // if (config.isProce) {
+  //   config.params = paramMate(config.params);
+  //   config.data = paramMate(config.data);
+  // }
+  // get请求映射params参数
+  if (config.method === 'get' && config.params) {
+    let url = config.url + '?';
+    for (const propName of Object.keys(config.params)) {
+      const value = config.params[propName];
+      var part = encodeURIComponent(propName) + "=";
+      if (value !== null && typeof (value) !== "undefined") {
+        if (typeof value === 'object') {
+          for (const key of Object.keys(value)) {
+            if (value[key] !== null && typeof (value[key]) !== 'undefined') {
+              let params = propName + '[' + key + ']';
+              let subPart = encodeURIComponent(params) + '=';
+              url += subPart + encodeURIComponent(value[key]) + '&';
+            }
+          }
+        } else {
+          url += part + encodeURIComponent(value) + "&";
+        }
+      }
+    }
+    url = url.slice(0, -1);
+    config.params = {};
+    config.url = url;
+  }
+  return config
+}, error => {
+  console.log(error)
+  Promise.reject(error)
+})
+
+// 响应拦截器
+service.interceptors.response.use(res => {
+  const code = res.data.code || 200;
+  const msg = res.data.msg || ''
+  if (code === 200) {
+    return res.data
+  } else {
+    Message({
+      message: msg,
+      type: 'error',
+      duration: 5000,
+      showClose: true
+    })
+    return Promise.reject(new Error(msg))
+  }
+  // // 获取错误信息
+  // const msg = errorCode[code] || res.data.msg || errorCode['default']
+  // if (code === 401) {
+  //   MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
+  //     confirmButtonText: '重新登录',
+  //     cancelButtonText: '取消',
+  //     type: 'warning'
+  //   }
+  //   ).then(() => {
+  //     const tid = sessionStorage.TenantId
+  //     store.dispatch('LogOut').then(() => {
+  //       location.href = '/index?TenantId=' + tid;
+  //     })
+  //   }).catch(() => { });
+  //   return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+  // } else if (code === 500) {
+  //   Message({
+  //     message: msg,
+  //     type: 'error',
+  //     duration: 5000,
+  //     showClose: true
+  //   })
+  //   return Promise.reject(new Error(msg))
+  // } else if (code === 510 || code === 511) {
+  //   return res.data
+  // } else if (code !== 200) {
+  //   Notification.error({
+  //     title: msg
+  //   })
+  //   return Promise.reject('error')
+  // } else {
+  //   return res.data
+  // }
+},
+  error => {
+    console.log('err:' + error)
+    let { message } = error;
+    if (message == "Network Error") {
+      message = "系统升级中";
+    }
+    else if (message.includes("timeout")) {
+      message = "系统接口请求超时";
+    }
+    else if (message.includes("Request failed with status code")) {
+      message = "系统接口" + message.substr(message.length - 3) + "异常";
+    }
+    Message({
+      message: message,
+      type: 'error',
+      duration: 5 * 1000
+    })
+    return Promise.reject(error)
+  }
+)
+
+export default service

+ 20 - 0
src/views/index.vue

@@ -0,0 +1,20 @@
+<template>
+  <div id="">123</div>
+</template>
+
+<script>
+import { companyCompanyList } from "@/api/company";
+export default {
+  data() {
+    return {};
+  },
+  mounted() {
+    companyCompanyList().then((res) => {
+      console.log(res, "res");
+    });
+  },
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped></style>