july пре 4 година
родитељ
комит
f746395d69

+ 6 - 3
src/api/ldt_bills/billtrace.js

@@ -1,20 +1,23 @@
 import request from '@/router/axios';
 
-export const getDetail = (id) => {
+export const getDetail = (billId) => {
   return request({
     url: '/api/web/billTrace',
     method: 'get',
     params: {
-      id
+      billId
     }
   })
 }
 
-export const getBills = () => {
+export const getBills = (current, size, params) => {
   return request({
     url: '/api/web/billTrace/getBills',
     method: 'get',
     params: {
+      ...params,
+      current,
+      size,
     }
   })
 }

+ 210 - 206
src/page/login/userlogin.vue

@@ -57,7 +57,7 @@
       <el-button type="primary"
                  size="small"
                  @click.native.prevent="handleLogin"
-                 class="login-submit">{{$t('login.submit')}}
+                 class="login-submit">{{ $t('login.submit') }}
       </el-button>
     </el-form-item>
     <el-dialog title="用户信息选择"
@@ -70,222 +70,226 @@
 </template>
 
 <script>
-  import {mapGetters} from "vuex";
-  import {info} from "@/api/system/tenant";
-  import {getCaptcha} from "@/api/user";
-  import {getTopUrl} from "@/util/util";
+import {mapGetters} from "vuex";
+import {info} from "@/api/system/tenant";
+import {getCaptcha} from "@/api/user";
+import {getTopUrl} from "@/util/util";
 
-  export default {
-    name: "userlogin",
-    data() {
-      return {
-        tenantMode: this.website.tenantMode,
-        type:"",
-        loginForm: {
-          //租户ID
-          tenantId: "",
-          //部门ID
-          deptId: "",
-          //角色ID
-          roleId: "",
-          //用户名
-          username: "",
-          //密码
-          password: "",
-          //账号类型
-          type: "account",
-          //验证码的值
-          code: "",
-          //验证码的索引
-          key: "",
-          //预加载白色背景
-          image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
-        },
-        loginRules: {
-          tenantId: [
-            {required: false, message: "请输入租户ID", trigger: "blur"}
-          ],
-          username: [
-            {required: true, message: "请输入用户名", trigger: "blur"}
-          ],
-          password: [
-            {required: true, message: "请输入密码", trigger: "blur"},
-            {min: 1, message: "密码长度最少为6位", trigger: "blur"}
-          ]
-        },
-        passwordType: "password",
-        userBox: false,
-        userForm: {
-          deptId: '',
-          roleId: ''
-        },
-        userOption: {
-          labelWidth: 70,
-          submitBtn: true,
-          emptyBtn: false,
-          submitText: '登录',
-          column: [
-            {
-              label: '部门',
-              prop: 'deptId',
-              type: 'select',
-              props: {
-                label: 'deptName',
-                value: 'id'
-              },
-              dicUrl: '/api/blade-system/dept/select',
-              span: 24,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请选择部门",
-                trigger: "blur"
-              }],
+export default {
+  name: "userlogin",
+  data() {
+    return {
+      tenantMode: this.website.tenantMode,
+      type: "",
+      loginForm: {
+        //租户ID
+        tenantId: "",
+        //部门ID
+        deptId: "",
+        //角色ID
+        roleId: "",
+        //用户名
+        username: "",
+        //密码
+        password: "",
+        //账号类型
+        type: "account",
+        //验证码的值
+        code: "",
+        //验证码的索引
+        key: "",
+        //预加载白色背景
+        image: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
+      },
+      loginRules: {
+        tenantId: [
+          {required: false, message: "请输入租户ID", trigger: "blur"}
+        ],
+        username: [
+          {required: true, message: "请输入用户名", trigger: "blur"}
+        ],
+        password: [
+          {required: true, message: "请输入密码", trigger: "blur"},
+          {min: 1, message: "密码长度最少为6位", trigger: "blur"}
+        ]
+      },
+      passwordType: "password",
+      userBox: false,
+      userForm: {
+        deptId: '',
+        roleId: ''
+      },
+      userOption: {
+        labelWidth: 70,
+        submitBtn: true,
+        emptyBtn: false,
+        submitText: '登录',
+        column: [
+          {
+            label: '部门',
+            prop: 'deptId',
+            type: 'select',
+            props: {
+              label: 'deptName',
+              value: 'id'
             },
-            {
-              label: '角色',
-              prop: 'roleId',
-              type: 'select',
-              props: {
-                label: 'roleName',
-                value: 'id'
-              },
-              dicUrl: '/api/blade-system/role/select',
-              span: 24,
-              display: false,
-              rules: [{
-                required: true,
-                message: "请选择角色",
-                trigger: "blur"
-              }],
+            dicUrl: '/api/blade-system/dept/select',
+            span: 24,
+            display: false,
+            rules: [{
+              required: true,
+              message: "请选择部门",
+              trigger: "blur"
+            }],
+          },
+          {
+            label: '角色',
+            prop: 'roleId',
+            type: 'select',
+            props: {
+              label: 'roleName',
+              value: 'id'
             },
-          ]
-        }
-      };
-    },
-    created() {
-      // this.getTenant();
-      this.refreshCode();
-    },
-    mounted() {
-      //let domain = "http://ldt-mall.guosen-fumao.cn";
-      let domain = getTopUrl();
-      switch (domain) {
-        case "http://ldt.guosen-fumao.cn":
-          this.type = "ldt"
-          this.loginForm.tenantId = "000000";
-          this.loginForm.username = "admin";
-          break;
-        case "http://ldt-shop.guosen-fumao.cn":
-          this.type = "shop"
-          break;
-        case "http://ldt-mall.guosen-fumao.cn":
-          this.type = "shop"
-          break;
-        case "http://ldt-agent.guosen-fumao.cn":
-          this.type = "agent"
-          break;
-        default:
-          this.type = "shop"
-          this.loginForm.tenantId = "000000";
-          this.loginForm.username = "admin";
-          break;
+            dicUrl: '/api/blade-system/role/select',
+            span: 24,
+            display: false,
+            rules: [{
+              required: true,
+              message: "请选择角色",
+              trigger: "blur"
+            }],
+          },
+        ]
+      }
+    };
+  },
+  created() {
+    // this.getTenant();
+    this.refreshCode();
+  },
+  mounted() {
+    //let domain = "http://ldt-mall.guosen-fumao.cn";
+    let domain = getTopUrl();
+    switch (domain) {
+      case "http://ldt.guosen-fumao.cn":
+        this.type = "ldt"
+        this.loginForm.tenantId = "000000";
+        this.loginForm.username = "admin";
+        break;
+      case "http://ldt-shop.guosen-fumao.cn":
+        this.type = "shop"
+        break;
+      case "http://ldt-mall.guosen-fumao.cn":
+        this.type = "shop"
+        break;
+      case "http://ldt-agent.guosen-fumao.cn":
+        this.type = "agent"
+        break;
+      default:
+        this.type = "shop"
+        this.loginForm.tenantId = "000000";
+        this.loginForm.username = "admin";
+        break;
+    }
+  },
+  watch: {
+    'loginForm.deptId'() {
+      const column = this.findObject(this.userOption.column, "deptId");
+      if (this.loginForm.deptId.includes(",")) {
+        column.dicUrl = `/api/blade-system/dept/select?deptId=${this.loginForm.deptId}`;
+        column.display = true;
+      } else {
+        column.dicUrl = '';
       }
     },
-    watch: {
-      'loginForm.deptId'() {
-        const column = this.findObject(this.userOption.column, "deptId");
-        if (this.loginForm.deptId.includes(",")) {
-          column.dicUrl = `/api/blade-system/dept/select?deptId=${this.loginForm.deptId}`;
-          column.display = true;
-        } else {
-          column.dicUrl = '';
-        }
-      },
-      'loginForm.roleId'() {
-        const column = this.findObject(this.userOption.column, "roleId");
-        if (this.loginForm.roleId.includes(",")) {
-          column.dicUrl = `/api/blade-system/role/select?roleId=${this.loginForm.roleId}`;
-          column.display = true;
-        } else {
-          column.dicUrl = '';
-        }
+    'loginForm.roleId'() {
+      const column = this.findObject(this.userOption.column, "roleId");
+      if (this.loginForm.roleId.includes(",")) {
+        column.dicUrl = `/api/blade-system/role/select?roleId=${this.loginForm.roleId}`;
+        column.display = true;
+      } else {
+        column.dicUrl = '';
+      }
+    }
+  },
+  computed: {
+    ...mapGetters(["tagWel", "userInfo"])
+  },
+  props: [],
+  methods: {
+    refreshCode() {
+      if (this.website.captchaMode) {
+        getCaptcha().then(res => {
+          const data = res.data;
+          this.loginForm.key = data.key;
+          this.loginForm.image = data.image;
+        })
       }
     },
-    computed: {
-      ...mapGetters(["tagWel", "userInfo"])
+    showPassword() {
+      this.passwordType === ""
+        ? (this.passwordType = "password")
+        : (this.passwordType = "");
     },
-    props: [],
-    methods: {
-      refreshCode() {
-        if (this.website.captchaMode) {
-          getCaptcha().then(res => {
-            const data = res.data;
-            this.loginForm.key = data.key;
-            this.loginForm.image = data.image;
-          })
-        }
-      },
-      showPassword() {
-        this.passwordType === ""
-          ? (this.passwordType = "password")
-          : (this.passwordType = "");
-      },
-      submitLogin (form, done) {
-        if (form.deptId !== '') {
-          this.loginForm.deptId = form.deptId;
+    submitLogin(form, done) {
+      if (form.deptId !== '') {
+        this.loginForm.deptId = form.deptId;
+      }
+      if (form.roleId !== '') {
+        this.loginForm.roleId = form.roleId;
+      }
+      this.handleLogin();
+      done();
+    },
+    handleLogin() {
+      this.$refs.loginForm.validate(valid => {
+        if (valid) {
+          const loading = this.$loading({
+            lock: true,
+            text: '登录中,请稍后。。。',
+            spinner: "el-icon-loading"
+          });
+          this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
+            if (this.website.switchMode) {
+              const deptId = this.userInfo.dept_id;
+              const roleId = this.userInfo.role_id;
+              if (deptId.includes(",") || roleId.includes(",")) {
+                this.loginForm.deptId = deptId;
+                this.loginForm.roleId = roleId;
+                this.userBox = true;
+                loading.close();
+                return false;
+              }
+            }
+            this.$router.push({path: this.tagWel.value});
+            loading.close();
+          }).catch(() => {
+            loading.close();
+            this.refreshCode();
+          });
         }
-        if (form.roleId !== '') {
-          this.loginForm.roleId = form.roleId;
+      });
+    },
+    getTenant() {
+      let domain = getTopUrl();
+      // 临时指定域名,方便测试
+      // domain = "https://bladex.vip";
+      info(domain).then(res => {
+        const data = res.data;
+        if (data.success && data.data.tenantId) {
+          this.tenantMode = false;
+          this.loginForm.tenantId = data.data.tenantId;
+          this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`;
         }
-        this.handleLogin();
-        done();
-      },
-      handleLogin() {
-        this.$refs.loginForm.validate(valid => {
-          if (valid) {
-            const loading = this.$loading({
-              lock: true,
-              text: '登录中,请稍后。。。',
-              spinner: "el-icon-loading"
-            });
-            this.$store.dispatch("LoginByUsername", this.loginForm).then(() => {
-              if (this.website.switchMode) {
-                const deptId = this.userInfo.dept_id;
-                const roleId = this.userInfo.role_id;
-                if (deptId.includes(",") || roleId.includes(",")) {
-                  this.loginForm.deptId = deptId;
-                  this.loginForm.roleId = roleId;
-                  this.userBox = true;
-                  loading.close();
-                  return false;
-                }
-              }
-              this.$router.push({path: this.tagWel.value});
-              loading.close();
-            }).catch(() => {
-              loading.close();
-              this.refreshCode();
-            });
-          }
-        });
-      },
-      getTenant() {
-        let domain = getTopUrl();
-        // 临时指定域名,方便测试
-        // domain = "https://bladex.vip";
-        info(domain).then(res => {
-          const data = res.data;
-          if (data.success && data.data.tenantId) {
-            this.tenantMode = false;
-            this.loginForm.tenantId = data.data.tenantId;
-            this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`;
-          }
-        })
-      }
+      })
     }
-  };
+  }
+};
 </script>
 
-<style>
+<style lang="scss">
+@import "./style/login-shop.scss";
+@import "./style/login-ldt.scss";
+@import "./style/login-agent.scss";
 </style>
+

+ 13 - 0
src/router/views/index.js

@@ -178,6 +178,19 @@ export default [{
         import( /* webpackChunkName: "views" */ '@/views/ldt_activity/handleActivityAudit')
     }]
   },
+  {
+    path: '/work/process/billtrace',
+    component: Layout,
+    children: [{
+      path: 'handle/:billId',
+      name: '账单信息',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/ldt_bills/comps/billTraceInfo')
+    }]
+  },
   {
     path: '/work/process/leave',
     component: Layout,

+ 9 - 6
src/views/ldt_bills/billtrace.vue

@@ -13,7 +13,7 @@
           <div class="avue-searchs__item"
                v-for="(item,index) in billList"
                :key="index"
-               @click="handleSelect(item)">
+               @click="handleSelect(item.id)">
             <i class="avue-searchs__item-icon"></i>
             <span class="avue-searchs__item-title">订单号:{{ item.id }}</span>
             <div class="avue-searchs__item-path">
@@ -33,8 +33,8 @@
 </template>
 
 <script>
-import {getList} from "@/api/ldt_bills/bills";
 import InfiniteLoading from 'vue-infinite-loading';
+import {getBills} from "@/api/ldt_bills/billtrace"
 
 export default {
   components: {
@@ -58,21 +58,24 @@ export default {
     },
   },
   methods: {
+    handleSelect(billId) {
+      this.$router.push(`/work/process/billtrace/handle/${billId}`)
+    },
     infiniteHandler($state) {
-      getList(this.page.currentPage, this.page.pageSize, this.value).then((res) => {
+      getBills(this.page.currentPage, this.page.pageSize, this.value).then((res) => {
         const data = res.data.data;
         if (data.records.length) {
           this.bills = this.bills.concat(data.records);
           this.billList = this.bills;
           $state.loaded();
-          if (data.length === 0) {
+          if (data.records.length === 0) {
             $state.complete();
           }
+          this.page.currentPage++;
         } else {
           $state.complete();
         }
       });
-      this.page.currentPage++;
     },
     querySearch() {
       var restaurants = this.bills;
@@ -118,7 +121,7 @@ export default {
   }
 
   &__scrollbar {
-    height: 400px;
+    height: 600px;
     overflow: auto;
   }
 

+ 94 - 0
src/views/ldt_bills/comps/billTraceInfo.vue

@@ -0,0 +1,94 @@
+<template>
+  <basic-container>
+    <avue-crud :option="option" v-model="form">
+    </avue-crud>
+  </basic-container>
+</template>
+
+<script>
+import {getDetail} from "@/api/ldt_bills/billtrace"
+
+export default {
+  data() {
+    return {
+      billId: null,
+      form: {},
+      option: {
+        group: [
+          {
+            label: "付款流水",
+            prop: "bills",
+            icon: "el-icon-info",
+            column: [
+              {
+                label: "订单号",
+                prop: "id"
+              },
+            ]
+          },
+          {
+            label: "积分流水",
+            prop: "pointBills",
+            icon: "",
+            column: [
+              {
+                label: "订单号",
+                prop: "id"
+              },
+            ]
+          },
+          {
+            label: "余额流水",
+            prop: "balanceBills",
+            icon: "",
+            column: [
+              {
+                label: "订单号",
+                prop: "id"
+              },
+            ]
+          },
+          {
+            label: "平台流水",
+            prop: "platformBills",
+            icon: "",
+            column: [
+              {
+                label: "订单号",
+                prop: "id"
+              },
+            ]
+          },
+          {
+            label: "冻结流水",
+            prop: "frozenRec",
+            icon: "",
+            column: [
+              {
+                label: "订单号",
+                prop: "id"
+              },
+            ]
+          },
+        ]
+      },
+    }
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.billId = this.$route.params.billId;
+      getDetail(this.billId).then((res) => {
+        const data = res.data.data;
+        this.form = data.bills;
+      });
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>