فهرست منبع

Merge branch 'master' of http://git.cc-lotus.info/financial_platform/admin-cms

reloaded 5 سال پیش
والد
کامیت
bdaf0207bb

+ 88 - 0
src/layout/financeclaims/manageLookMoneyForm.vue

@@ -0,0 +1,88 @@
+
+<template>
+    <div id="manageLookMoneyForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
+                    <el-col :span="24">
+                        <el-form-item label="产品名称" prop="title">
+                            <el-input disabled v-model="ruleForm.title" placeholder="请输入产品名称"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="收益率" prop="rate"> <el-input class="mongeyrate" disabled v-model="ruleForm.rate" placeholder="收益率"></el-input>% </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="产品期限(个月)" prop="min_time">
+                            <el-input class="mongeyrates" disabled v-model="ruleForm.min_time" placeholder="产品期限(小)"></el-input>~
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item prop="max_time" class="formItem">
+                            <el-input class="mongeyrates" disabled v-model="ruleForm.max_time" placeholder="产品期限(大)"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="起购价格(元)" prop="buymin">
+                            <el-input class="mongeyrate" disabled v-model="ruleForm.buymin" placeholder="起购价格"></el-input>元
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="产品介绍">
+                            <el-input type="textarea" disabled v-model="ruleForm.news" placeholder="请输入产品介绍"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24" class="btn">
+                        <!--<el-button size="small" v-if="ruleForm.top==0" @click="toTop('ruleForm')" >推荐</el-button>-->
+                        <!--<el-button size="small" v-if="ruleForm.top==1" @click="toTop('ruleForm')" >取消推荐</el-button>-->
+                        <el-button type="primary" v-if="ruleForm.status=='0'" size="small" @click="changStatus('ruleForm')">审核</el-button>
+                        <el-button type="primary" v-if="ruleForm.status=='1'" size="small" @click="changStatus('ruleForm')">取消审核</el-button>
+                    </el-col>
+
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
+    <!--:disabled="isAble"-->
+</template>
+
+<script>
+  export default {
+    name: 'manageMoneyForm',
+    props: {
+      ruleForm: null,
+      hkList: null,
+      dbList: null,
+    },
+    components: {},
+    data: () => ({
+
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      changStatus() {
+        this.$emit('changStatus', { data: this.ruleForm });
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
+    .mongeyrate {
+        width: 30%;
+    }
+    .mongeyrates {
+        width: 98%;
+    }
+    /deep/.formItem .el-form-item__content {
+        margin-left: 0 !important;
+    }
+    .btn {
+        text-align: center;
+        padding: 30px 0;
+    }
+</style>

+ 71 - 0
src/layout/financeclaims/manageMoneyList.vue

@@ -0,0 +1,71 @@
+<template>
+    <div id="manageMoneyList">
+        <el-row>
+            <el-col :span="24">
+                <el-table ref="debtTable" :data="debtTable" style="width: 100%" border>
+                    <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
+                    <el-table-column property="title" label="产品名称" align="center"> </el-table-column>
+                    <el-table-column property="innewname" label="机构名称" align="center"> </el-table-column>
+                    <el-table-column property="buymin" label="起购价格(元)" align="center"> </el-table-column>
+                    <el-table-column fixed="right" label="操作" align="center">
+                        <template slot-scope="scope">
+                            <el-button @click="$router.push({ path: '/financeclaims/manageMoneyLookDetail', query: { id: scope.row._id } })" type="text" icon="el-icon-search" title="查看详情"></el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-row class="page">
+                    <el-pagination
+                            @size-change="handleSizeChange"
+                            @current-change="handleCurrentChange"
+                            :current-page="currentPage"
+                            :page-size="10"
+                            layout="total, prev, pager, next, jumper"
+                            :total="total"
+                    >
+                    </el-pagination>
+                </el-row>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+  export default {
+    name: 'manageMoneyList',
+    props: {
+      debtTable: null,
+      total: null,
+    },
+    components: {},
+    data: () => ({
+      currentPage: 1,
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      deleteRow(id) {
+        this.$emit('deleteRow', id);
+      },
+      clickRest(id) {
+        this.$emit('clickRest', id);
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+      },
+      handleCurrentChange(val) {
+        this.$emit('pagechange', { skip: val});
+      },
+      ljdelete(val) {
+        this.$emit('ljdelete',{ delid: val});
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+    .page {
+        text-align: center;
+        padding: 15px 0;
+    }
+
+</style>

+ 1 - 0
src/layout/layout-part/menus.vue

@@ -81,6 +81,7 @@
         </template>
         <el-menu-item-group>
           <el-menu-item index="/financeclaims/financeClaimIndex">债权产品管理</el-menu-item>
+          <el-menu-item index="/financeclaims/manageMoneyIndex">理财产品管理</el-menu-item>
           <el-menu-item index="/financeclaims/loanProIndex">小微数贷管理</el-menu-item>
           <el-menu-item index="/financeclaims/loanFollowndex">小微数贷授信管理</el-menu-item>
           <!--<el-menu-item index="/institution/index/1">股权信息</el-menu-item>-->

+ 10 - 0
src/router/index.js

@@ -261,6 +261,16 @@ const routes = [
     name: 'login',
     component: () => import('../views/login.vue'),
   },
+  // 理财产品列表
+  {
+    path: '/financeclaims/manageMoneyIndex',
+    component: () => import('../views/financeclaims/manageMoneyIndex.vue'),
+  },
+  //  理财产品信息详情
+  {
+    path: '/financeclaims/manageMoneyLookDetail',
+    component: () => import('../views/financeclaims/manageMoneyLookDetail.vue'),
+  },
   // 首页轮播管理-列表
   {
     path: '/banner/index',

+ 2 - 0
src/store/index.js

@@ -25,6 +25,7 @@ import * as muta from './user/mutations';
 import * as states from './user/state';
 import banner from './banner';
 import loanfollow from './loanfollow';
+import managemoney from './managemoney';
 
 Vue.use(Vuex);
 
@@ -53,6 +54,7 @@ export default new Vuex.Store({
     banner,
     loanpro,
     loanfollow,
+    managemoney,
   },
   state: { ...states },
   mutations: { ...muta },

+ 38 - 0
src/store/managemoney.js

@@ -0,0 +1,38 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  managemoneyInfo: `/api/financial/managemoney`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.managemoneyInfo}`, payload);
+    return res;
+  },
+  async fetch({ commit }, payload) {
+    const res = await this.$axios.$get(`${api.managemoneyInfo}/${payload}`);
+    return res;
+  },
+  async update({ commit }, { id, ...data }) {
+    const res = await this.$axios.$post(`${api.managemoneyInfo}/update/${id}`, data);
+    return res;
+  },
+  async orUpdate({ commit }, payload) {// 修改前要请求的接口
+    const res = await this.$axios.$post(`${api.managemoneyInfo}/orUpdate`,payload);
+    return res;
+  },
+  async mmoneyList({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.managemoneyInfo}/mmoneyList`,payload);
+    return res;
+  },
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 4 - 3
src/views/financeclaims/financeLookClaimDetail.vue

@@ -22,7 +22,7 @@
   import topInfo from '@/layout/common/detailTopInfo.vue';
   import detailTop from '@/layout/common/detailTop.vue';
   import financeClaimsForm from '@/layout/financeclaims/financeLookClaimsForm.vue';
-  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  import { createNamespacedHelpers, mapGetters,mapState } from 'vuex';
   const { mapActions: financeclaims } = createNamespacedHelpers('financeclaim');
   export default {
     name: 'financeLookClaimDetail',
@@ -61,6 +61,7 @@
       id() {
         return this.$route.query.id;
       },
+      ...mapState(['user']),
     },
     methods: {
       ...financeclaims(['fclaimsList', 'orUpdate', 'dupdate', 'create','fetch','update','publish']),
@@ -110,14 +111,14 @@
             let finaldata={};
             let res;
             finaldata.finid = data.id;
-            finaldata.userid='测试ID852784956285296352';
+            finaldata.userid=this.user.userid;
             if(data.status=='0'){
               finaldata.publish='1';
             }else{
               finaldata.publish='0';
             }
             res = await this.publish(finaldata);
-            if(res.status='SUCCESS'){
+            if(res.status=='SUCCESS'){
               this.$message({
                 message: '审核相关操作成功',
                 type: 'success',

+ 96 - 0
src/views/financeclaims/manageMoneyIndex.vue

@@ -0,0 +1,96 @@
+<template>
+    <div id="manageMoneyIndex">
+        <el-col :span="24" class="debt">
+            <el-col :span="24" class="top">
+                <topInfo :topTitle="topTitle" :display="display" ></topInfo>
+            </el-col>
+            <el-col :span="24" class="search">
+                <manageMoneyIndexInfo @clickBtn="clickBtn"></manageMoneyIndexInfo>
+            </el-col>
+            <el-col :span="24" class="main">
+                <manageMoneyList :debtTable="debtTable" :total="total" @pagechange="pagechange" @ljdelete="ljdelete"></manageMoneyList>
+            </el-col>
+        </el-col>
+    </div>
+</template>
+
+<script>
+  import topInfo from '@/layout/common/topInfoloan.vue';
+  import manageMoneyIndexInfo from '@/layout/financeclaims/financeClaimInfo.vue';
+  import manageMoneyList from '@/layout/financeclaims/manageMoneyList.vue';
+  import { createNamespacedHelpers, mapGetters ,mapState} from 'vuex';
+  const { mapActions: managemoney } = createNamespacedHelpers('managemoney');
+  export default {
+    name: 'manageMoneyIndex',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      manageMoneyIndexInfo, //搜素
+      manageMoneyList, //理财列表
+    },
+    data: () => ({
+      topTitle: '理财产品列表',
+      display: 'none',
+      debtTable: [],
+      total: '',
+      cpname: '',
+      jgname:''
+
+    }),
+    created() {
+      this.managmoneyList();
+    },
+    computed: {
+      ...mapState(['user']),
+    },
+    methods: {
+      ...managemoney([ 'update','fetch','mmoneyList','orUpdate']),
+      async managmoneyList({ skip = 1, limit = 10, uid = this.user.userid,type=0} = {}) {
+        const res = await this.mmoneyList({ skip, limit, uid ,type});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+
+      async pagechange(data) {
+        var skip = data.skip;
+        var limit = 10;
+        var innewname=this.jgname;
+        var title = this.cpname ;
+        var  uid = this.user.userid ;
+        var type=0;
+        const res = await this.mmoneyList({ skip, limit, uid ,type,innewname,title});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      //查询
+      async clickBtn(data) {
+        var innewname=data.innewname;//机构名称
+        var title = data.name;//产品名称
+        this.cpname = data.name;
+        this.jgname = data.innewname;
+        var skip = 0;
+        var limit = 10;
+        var  uid = this.user.userid;
+        var type=0;
+        const res = await this.mmoneyList({ skip, limit, uid ,type,innewname,title});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      }
+
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
+    .search {
+        width: 97%;
+        height: 35px;
+        margin: 20px;
+    }
+</style>

+ 101 - 0
src/views/financeclaims/manageMoneyLookDetail.vue

@@ -0,0 +1,101 @@
+
+<template>
+    <div id="manageMoneyLookDetail">
+        <el-row>
+            <el-col :span="24" class="debt">
+                <el-col :span="24" class="top">
+                    <topInfo :topTitle="topTitle" :display="display"></topInfo>
+                </el-col>
+                <el-col :span="24" class="main">
+                    <el-col :span="24" class="back">
+                        <detailTop @goBack="goBack"></detailTop>
+                    </el-col>
+                    <el-col :span="24" class="info">
+                        <manageMoneyForm :ruleForm="ruleForm" @changStatus="changStatus"></manageMoneyForm>
+                    </el-col>
+                </el-col>
+            </el-col>
+        </el-row>
+    </div>
+</template>
+
+<script>
+  import topInfo from '@/layout/common/topInfoloan.vue';
+  import detailTop from '@/layout/common/detailTop.vue';
+  import manageMoneyForm from '@/layout/financeclaims/manageLookMoneyForm.vue';
+  import { createNamespacedHelpers, mapGetters ,mapState} from 'vuex';
+  const { mapActions: managemoney } = createNamespacedHelpers('managemoney');
+  export default {
+    name: 'manageMoneyDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      manageMoneyForm, //添加理财产品
+      ...mapState(['user']),
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '债权产品信息',
+      ruleForm: {},
+    }),
+    created() {
+      this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+    },
+    methods: {
+      ...managemoney([ 'create','fetch','update','orUpdate']),
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.fetch(this.id);
+          this.$set(this, `ruleForm`, res.data);
+        }
+      },
+      async changStatus({data}) {
+        let finaldata = data;
+        if(data.status=='0'){
+          finaldata.status = '1';
+        }else{
+          finaldata.status = '0';
+        }
+        const res = await this.update(finaldata);
+        if(res.errcode==0){
+          this.$message({
+            message: '审核相关操作成功',
+            type: 'success',
+          });
+        }else{
+          this.$message({
+            message: '审核相关操作失败',
+            type: 'error',
+          });
+        }
+      },
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
+  };
+</script>
+
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
+    .main {
+        border-radius: 10px;
+        margin: 20px 0 0 0;
+        box-shadow: 0 0 3px #666;
+    }
+    .main .back {
+        padding: 10px 0 10px 15px;
+    }
+</style>