浏览代码

银企对接已完成列表

guhongwei 5 年之前
父节点
当前提交
c59bf4051f

+ 94 - 0
src/layout/intelligentDocking/detail.vue

@@ -0,0 +1,94 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <span class="shu"></span><span class="title">{{ formTitle }}</span>
+        </el-col>
+        <el-col :span="24">
+          <el-form ref="form" :model="form" label-width="180px">
+            <el-form-item label="企业名称:">
+              <span>{{ form.company.company_name }}</span>
+              <!-- <el-input v-model="form.company.company_name" disabled></el-input> -->
+            </el-form-item>
+            <el-form-item label="联系人:">
+              <span>{{ form.person }}</span>
+            </el-form-item>
+            <el-form-item label="融资金额(万元):">
+              <span>{{ form.money }}</span>
+            </el-form-item>
+            <el-form-item label="授信金融(万元):">
+              <span>{{ form.follow.credit_money }}</span>
+            </el-form-item>
+            <el-form-item label="融资期限(个月):">
+              <span>{{ form.claims_min_term }}个月~{{ form.claims_max_term }}个月</span>
+            </el-form-item>
+            <el-form-item label="融资利率:">
+              <span>{{ form.mongey_min_rate }}%~{{ form.mongey_max_rate }}%</span>
+            </el-form-item>
+            <el-form-item label="担保方式:">
+              <span>{{ form.dictionary.name }}</span>
+            </el-form-item>
+            <el-form-item label="预计何时有融资需求:">
+              <span>{{ form.when.name }}</span>
+            </el-form-item>
+            <el-form-item label="补充信息:">
+              <span>{{ form.additional_information }}</span>
+            </el-form-item>
+            <el-form-item label="对接产品:">
+              <span>{{ form.finance_claims.name }}</span>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'detail',
+  props: {
+    formTitle: null,
+    form: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  padding: 20px;
+}
+p {
+  padding: 0;
+  margin: 0;
+}
+.top .shu {
+  float: left;
+  width: 4px;
+  height: 20px;
+  background: rgba(233, 2, 29, 1);
+}
+.top .title {
+  float: left;
+  padding: 0 10px;
+  font-size: 16px;
+  font-family: Source Han Sans SC;
+  font-weight: bold;
+  color: rgba(40, 40, 40, 1);
+}
+/deep/.el-form-item__label {
+  color: #000;
+  font-size: 15px;
+}
+/deep/.el-form-item__content {
+  color: #000;
+  font-weight: bold;
+  font-size: 15px;
+}
+</style>

+ 116 - 0
src/layout/intelligentDocking/list.vue

@@ -0,0 +1,116 @@
+<template>
+  <div id="list">
+    <el-row>
+      <el-col :span="24" class="list">
+        <el-table ref="debtTable" :data="debtTable" style="width: 100%">
+          <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
+          <el-table-column property="intelligent.company_name" label="企业名称" align="center"> </el-table-column>
+          <el-table-column property="intelligent.money" label="融资金额(万元)" align="center"> </el-table-column>
+          <el-table-column label="利率范围" align="center">
+            <template slot-scope="scope">
+              <span style="margin-left: 10px">{{ scope.row.intelligent.mongey_min_rate }}%~{{ scope.row.intelligent.mongey_max_rate }}%</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="当前状态" align="center">
+            <template slot-scope="scope">
+              <span style="margin-left: 10px">{{
+                scope.row.creditStatus == '0'
+                  ? '接单'
+                  : scope.row.creditStatus == '1'
+                  ? '已完成'
+                  : scope.row.creditStatus == '2'
+                  ? '已审批'
+                  : scope.row.creditStatus == '3'
+                  ? '已拒绝'
+                  : ' '
+              }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" align="center" width="300px">
+            <template slot-scope="scope">
+              <el-button @click="$router.push({ path: '/intelligentDocking/detail', query: { intelligentId: scope.row.intelligentId } })" type="text">
+                <i class="el-icon-view"></i>
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-row>
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            background
+            layout="total,  prev, pager, next, jumper"
+            :total="total"
+            :page-size="pageSize"
+          >
+          </el-pagination>
+        </el-row>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'list',
+  props: {
+    debtTable: null,
+    total: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 0,
+    pageSize: 10,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(currentPage) {
+      this.$emit('handleCurrentChange', { skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.list {
+  padding: 20px;
+}
+/deep/.el-checkbox__input.is-checked .el-checkbox__inner {
+  background-color: red;
+  border-color: red;
+}
+/deep/.el-checkbox__input.is-indeterminate .el-checkbox__inner {
+  background-color: red;
+  border-color: red;
+}
+/deep/.el-table th {
+  background-color: #f5f6fa;
+  padding: 8px 0;
+}
+/deep/.el-table td {
+  padding: 11px 0;
+}
+.other {
+  color: #f36302;
+}
+.view {
+  color: #f36302;
+}
+.edit {
+  color: #2ccc02;
+}
+.delete {
+  color: #e9021d;
+}
+/deep/.el-pagination {
+  padding: 26px 20px;
+}
+/deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
+  background-color: red;
+}
+</style>

+ 2 - 3
src/layout/layout-part/menus.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="menus">
-    <el-menu :default-active="thisRouter()" class="el-menu-vertical-demo" :router="false" :default-openeds="defalutMenu" @select="to">
+    <el-menu :default-active="thisRouter()" class="el-menu-vertical-demo" style="height:867px" :router="false" :default-openeds="defalutMenu" @select="to">
       <el-menu-item index="/"> <i class="el-icon-s-grid"></i>首页 </el-menu-item>
       <el-submenu index="1">
         <template v-slot:title>
@@ -23,7 +23,6 @@
         </el-menu-item-group>
       </el-submenu> -->
       <!-- <el-menu-item index="/finance/index"> <i class="el-icon-s-grid"></i>项目融资超市</el-menu-item> -->
-
       <el-submenu index="2">
         <template v-slot:title>
           <i class="el-icon-s-grid"></i>
@@ -120,7 +119,7 @@
           <el-menu-item index="/financingTUrgeHandle/seeIndex">催办查看</el-menu-item>
         </el-menu-item-group>
       </el-submenu>
-
+      <el-menu-item index="/intelligentDocking/index"> <i class="el-icon-s-grid"></i>银企对接成功列表</el-menu-item>
     </el-menu>
   </div>
 </template>

+ 10 - 0
src/router/index.js

@@ -349,6 +349,16 @@ const routes = [
     path: '/financingTNewAssign/detail',
     component: () => import('../views/financingTNewAssign/detail.vue'),
   },
+  // 银企对接已成功列表
+  {
+    path: '/intelligentDocking/index',
+    component: () => import('../views/intelligentDocking/index.vue'),
+  },
+  // 详情
+  {
+    path: '/intelligentDocking/detail',
+    component: () => import('../views/intelligentDocking/detail.vue'),
+  },
 ];
 const router = new VueRouter({
   mode: 'history',

+ 0 - 6
src/store/intelligentDocking.js

@@ -4,7 +4,6 @@ import _ from 'lodash';
 Vue.use(Vuex);
 const api = {
   intelligentDockingInfo: `/api/financial/intelligentDocking`,
-  dockingSearchInfo: `/api/financial/intelligentDocking/intelligentDocking`,
 };
 const state = () => ({});
 const mutations = {};
@@ -35,11 +34,6 @@ const actions = {
     const res = await this.$axios.$post(`${api.intelligentDockingInfo}/refuseDocking`, payload);
     return res;
   },
-  // 已完成
-  async dockingSearchs({ commit }, payload) {
-    const res = await this.$axios.$post(`${api.dockingSearchInfo}/dockingSearch`, payload);
-    return res;
-  },
 };
 export default {
   namespaced: true,

+ 10 - 1
src/store/intelligentFollow.js

@@ -10,7 +10,11 @@ const mutations = {};
 
 const actions = {
   async query({ commit }, { skip = 0, limit, ...info } = {}) {
-    const res = await this.$axios.$get(`${api.intelligentFollow}`, { skip, limit, ...info });
+    const res = await this.$axios.$get(`${api.intelligentFollow}`, {
+      skip,
+      limit,
+      ...info,
+    });
     return res;
   },
 
@@ -34,6 +38,11 @@ const actions = {
     const res = await this.$axios.$post(`${api.intelligentFollow}/followIntelligent`, payload);
     return res;
   },
+  // 已完成列表
+  async getFinishList({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.intelligentFollow}/getFinishList`, payload);
+    return res;
+  },
 };
 export default {
   namespaced: true,

+ 77 - 0
src/views/intelligentDocking/detail.vue

@@ -0,0 +1,77 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <detailTopInfo :topTitle="topTitle" :display="display" @goBack="goBack"></detailTopInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <detailInfo :formTitle="formTitle" :form="form"></detailInfo>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import detailTopInfo from '@/layout/custom/detailTopInfo.vue';
+import detailInfo from '@/layout/intelligentDocking/detail.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: intelligentDocking } = createNamespacedHelpers('intelligentDocking');
+export default {
+  name: 'detail',
+  props: {},
+  components: {
+    detailTopInfo, //头部
+    detailInfo, //详情
+  },
+  data: () => ({
+    display: 'block',
+    topTitle: '银企对接已成功信息管理',
+    formTitle: '详细信息',
+    form: {
+      company: {},
+      dictionary: {},
+      finance_claims: {},
+      when: {},
+      follow: {},
+    },
+  }),
+  created() {
+    this.searchInfo();
+  },
+  computed: {
+    ...mapState(['user']),
+    intelligentId() {
+      return this.$route.query.intelligentId;
+    },
+  },
+  methods: {
+    ...intelligentDocking(['dockingSearch']),
+    // 查询详情
+    async searchInfo() {
+      if (this.intelligentId) {
+        const res = await this.dockingSearch({ id: this.intelligentId });
+        for (const val of res.result) {
+          this.$set(this, `form`, val);
+        }
+      }
+    },
+    // 返回
+    goBack() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  height: 50px;
+  margin: 0 0 10px 0;
+}
+.main {
+  height: 765px;
+  background: #ffffff;
+}
+</style>

+ 67 - 0
src/views/intelligentDocking/index.vue

@@ -0,0 +1,67 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <topInfo :topTitle="topTitle" :display="display"></topInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <list :debtTable="debtTable" :total="total" @handleCurrentChange="handleCurrentChange"></list>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/common/topInfo.vue';
+import list from '@/layout/intelligentDocking/list.vue';
+import { mapState, mapMutations, createNamespacedHelpers } from 'vuex';
+const { mapActions: intelligentFollow } = createNamespacedHelpers('intelligentFollow');
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    topInfo, //头部
+    list, //列表
+  },
+  data: () => ({
+    topTitle: '银企对接已完成列表',
+    display: 'block',
+    debtTable: [],
+    total: 0,
+  }),
+  created() {
+    this.searchInfo();
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    ...intelligentFollow(['getFinishList']),
+    // 查询列表
+    async searchInfo({ skip = 1, limit = 10, ...info } = {}) {
+      const res = await this.getFinishList({ skip, limit, ...info });
+      this.$set(this, `debtTable`, res.data.res);
+      this.$set(this, `total`, res.data.total);
+    },
+    // 分页
+    async handleCurrentChange({ skip, limit, currentPage }) {
+      const res = await this.getFinishList({ skip, limit });
+      this.$set(this, `debtTable`, res.data.res);
+      this.$set(this, `total`, res.data.total);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  height: 50px;
+  margin: 0 0 10px 0;
+}
+.main {
+  height: 765px;
+  background: #ffffff;
+}
+</style>

+ 81 - 81
src/views/tUrgeHandle/detail.vue

@@ -14,80 +14,80 @@
 </template>
 
 <script>
-  import detailTopInfo from '@/layout/custom/detailTopInfo.vue';
-  import tUrgeHandleForm from '@/layout/tUrgeHandle/tUrgeHandleForm.vue';
-  import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
-  const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
-  const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
+import detailTopInfo from '@/layout/custom/detailTopInfo.vue';
+import tUrgeHandleForm from '@/layout/tUrgeHandle/tUrgeHandleForm.vue';
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
+const { mapActions: tUrgeHandle } = createNamespacedHelpers('tUrgeHandle');
+const { mapActions: dictionary } = createNamespacedHelpers('dictionary');
 
-  export default {
-    name: 'detail',
-    props: {},
-    components: {
-      detailTopInfo, //头部导航
-      tUrgeHandleForm,
+export default {
+  name: 'detail',
+  props: {},
+  components: {
+    detailTopInfo, //头部导航
+    tUrgeHandleForm,
+  },
+  data: () => ({
+    display: 'block',
+    topTitle: '催办操作',
+    ruleForm: {},
+    loading: true,
+    subject_classification_list: [],
+    subject_headings_list: [],
+    company_description_list: [],
+  }),
+  created() {
+    console.log(this.demand_id);
+    this.select();
+    /*this.selectDict(['subject_classification','subject_headings','company_description']);*/
+  },
+  computed: {
+    demand_id() {
+      return this.$route.query.demand_id;
     },
-    data: () => ({
-      display: 'block',
-      topTitle: '催办操作',
-      ruleForm: {},
-      loading: true,
-      subject_classification_list: [],
-      subject_headings_list: [],
-      company_description_list: [],
-    }),
-    created() {
-      console.log(this.demand_id);
-      this.select();
-      /*this.selectDict(['subject_classification','subject_headings','company_description']);*/
+    ...mapState(['user']),
+  },
+  methods: {
+    ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'query']),
+    ...dictionary({ dictQuery: 'query' }),
+    // 返回
+    goBack() {
+      this.$router.go(-1);
     },
-    computed: {
-      demand_id() {
-        return this.$route.query.demand_id;
-      },
-      ...mapState(['user']),
+    async select() {
+      if (this.demand_id) {
+        const res = await this.query({ skip: 0, limit: 1, demand_id: this.demand_id });
+        this.$set(this, `ruleForm`, res.data[0]);
+      }
     },
-    methods: {
-      ...tUrgeHandle(['create', 'delete', 'update', 'fetch', 'query']),
-      ...dictionary({dictQuery:'query'}),
-      // 返回
-      goBack() {
-        this.$router.go(-1);
-      },
-      async select() {
-        if (this.demand_id) {
-          const res = await this.query({ skip:0, limit:1, demand_id: this.demand_id});
-          this.$set(this, `ruleForm`, res.data[0]);
-        }
-      },
-      filterDict(dict){
-        return dict.filter((val) => {
-          return val.name !== '不限';
-        });
-      },
-      async selectDict(arr) {
-        for (let value of arr) {
-          let res = await this.dictQuery({skip:0,limit:100,type:value});
-          this.$set(this, `${value}_list`, this.filterDict(res.data));
-        }
-      },
-      // 提交
-      async submitForm({ data }) {
-        console.log(this.user);
-        data.type = '1';
-        data.government_id = this.user.uid;
-        data.government_name = this.user.name;
-        data.company_type = '2';
-        //console.log(data);
-        let res = await this.create(data);
-        this.$checkRes(res, '催办成功', '催办失败');
-        this.resetForm();
+    filterDict(dict) {
+      return dict.filter(val => {
+        return val.name !== '不限';
+      });
+    },
+    async selectDict(arr) {
+      for (let value of arr) {
+        let res = await this.dictQuery({ skip: 0, limit: 100, type: value });
+        this.$set(this, `${value}_list`, this.filterDict(res.data));
+      }
+    },
+    // 提交
+    async submitForm({ data }) {
+      console.log(this.user);
+      data.type = '1';
+      data.government_id = this.user.uid;
+      data.government_name = this.user.name;
+      data.company_type = '2';
+      //console.log(data);
+      let res = await this.create(data);
+      this.$checkRes(res, '催办成功', '催办失败');
+      this.resetForm();
 
-        /*if(!data.image){
+      /*if(!data.image){
           this.$message.error('请上传图片');
           return ;
         }*/
-       /* let res;
+      /* let res;
         if (this.id) {
           if(data.current_state !== '0'){
             this.$message.error('只有"未审核"的政策允许修改');
@@ -111,23 +111,23 @@
           }
         }
         if (this.$checkRes(res)) this.resetForm();*/
-      },
-      // 取消
-      resetForm() {
-        this.$router.push({ path: '/tUrgeHandle/index' });
-      },
     },
-  };
+    // 取消
+    resetForm() {
+      this.$router.push({ path: '/tUrgeHandle/index' });
+    },
+  },
+};
 </script>
 
 <style lang="less" scoped>
-  .top {
-    height: 50px;
-    margin: 0 0 10px 0;
-  }
-  .main {
-    min-height: 765px;
-    background: #ffffff;
-    padding: 20px;
-  }
+.top {
+  height: 50px;
+  margin: 0 0 10px 0;
+}
+.main {
+  min-height: 765px;
+  background: #ffffff;
+  padding: 20px;
+}
 </style>