guhongwei 5 年之前
父節點
當前提交
e0358c1900

+ 58 - 0
src/layout/intelligentDocking/intelligentDockingFinishDetails.vue

@@ -0,0 +1,58 @@
+<template>
+  <div id="intelligentDockingFollowDetails">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24">
+          <el-form ref="form" :model="form" label-width="160px">
+            <el-form-item label="企业名称:">
+              <span>{{ form.company.company_name }}</span>
+            </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: 'intelligentDockingFollowDetails',
+  props: {
+    form: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 85 - 0
src/layout/intelligentDocking/intelligentDockingFinishList.vue

@@ -0,0 +1,85 @@
+<template>
+  <div id="intelligentDockingFinishList">
+    <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="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 fixed="right" label="操作" align="center">
+            <template slot-scope="scope">
+              <el-button
+                @click="$router.push({ path: '/intelligentDocking/intelligentDockingFinishDetail', query: { intelligentId: scope.row.intelligentId } })"
+                type="text"
+                icon="el-icon-view"
+                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: 'intelligentDockingFinishList',
+  props: {
+    debtTable: null,
+    total: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 1,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      this.$emit('pagechange', { skip: val });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.page {
+  text-align: center;
+  padding: 15px 0;
+}
+</style>

+ 23 - 8
src/layout/intelligentDocking/intelligentDockingFollowDetails.vue

@@ -45,7 +45,7 @@
     </el-row>
     <el-dialog title="审核" :visible.sync="shenheDialog" :show-close="false">
       <el-form :model="shenheForm">
-        <el-form-item label="备注">
+        <el-form-item label="备注" :label-width="formLabelWidth">
           <el-input v-model="shenheForm.senhemessage" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }"></el-input>
         </el-form-item>
       </el-form>
@@ -54,10 +54,15 @@
         <el-button type="primary" @click="shenheBtn">确 定</el-button>
       </div>
     </el-dialog>
-    <el-dialog title="授信" :visible.sync="shouxinDialog" :show-close="false">
-      <el-form :model="shouxinForm">
-        <el-form-item label="备注">
-          <el-input v-model="shouxinForm.money" type="text" placeholder="请输入授信金额"></el-input>
+    <el-dialog title="授信" :visible.sync="shouxinDialog" :show-close="false" class="demo-ruleForm">
+      <el-form :model="shouxinForm" ref="shouxinForm">
+        <el-form-item
+          label="授信金额"
+          prop="money"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '金额不能为空' }, , { type: 'number', message: '金额必须为数字值' }]"
+        >
+          <el-input v-model.number="shouxinForm.money" type="text" autocomplete="off" placeholder="请输入授信金额(万元)"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -73,39 +78,49 @@ export default {
   name: 'intelligentDockingFollowDetails',
   props: {
     form: null,
-    shenheDialog: null,
+    // shenheDialog: null,
     shenheForm: null,
-    shouxinDialog: null,
+    // shouxinDialog: null,
     shouxinForm: null,
   },
   components: {},
-  data: () => ({}),
+  data: () => ({
+    shenheDialog: false,
+    shouxinDialog: false,
+    formLabelWidth: '80px',
+  }),
   created() {},
   computed: {},
   methods: {
     // 打开审核
     shenheBtns() {
+      this.shenheDialog = true;
       this.$emit('shenheBtns');
     },
     // 取消审核
     shenheOut() {
+      this.shenheDialog = false;
       this.$emit('shenheOut');
     },
     // 提交审核
     shenheBtn() {
       this.$emit('shenheBtn', { data: this.shenheForm });
+      this.shenheDialog = false;
     },
     // 打开授信
     shouxinBtns() {
+      this.shouxinDialog = true;
       this.$emit('shouxinBtns');
     },
     // 取消授信
     shouxinOut() {
+      this.shouxinDialog = false;
       this.$emit('shouxinOut');
     },
     // 提交授信
     shouxinBtn() {
       this.$emit('shouxinBtn', { data: this.shouxinForm });
+      this.shouxinDialog = false;
     },
   },
 };

+ 6 - 0
src/router/index.js

@@ -149,6 +149,12 @@ const routes = [
     path: '/intelligentDocking/intelligentDockingFollow',
     component: () => import('../views/intelligentDocking/intelligentDockingFollow.vue'),
   },
+  // 银企对接已关注详情
+  {
+    path: '/intelligentDocking/intelligentDockingFinishDetail',
+    component: () => import('../views/intelligentDocking/intelligentDockingFinishDetail.vue'),
+  },
+
   // 详情
   {
     path: '/intelligentDocking/intelligentDockingFollowDetail',

+ 5 - 0
src/store/intelligentFollow.js

@@ -34,6 +34,11 @@ const actions = {
     const res = await this.$axios.$post(`${api.intelligentFollow}/getFollowList`, payload);
     return res;
   },
+  // 已完成列表
+  async getFinishList({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.intelligentFollow}/getFinishList`, payload);
+    return res;
+  },
 };
 export default {
   namespaced: true,

+ 42 - 6
src/views/intelligentDocking/intelligentDockingFinish.vue

@@ -1,18 +1,54 @@
 <template>
   <div id="intelligentDockingFinish">
-    <p>intelligentDockingFinish</p>
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24">
+          <topInfo :topTitle="topTitle" :display="display"></topInfo>
+        </el-col>
+        <el-col :span="24">
+          <intelligentDockingFinishList :debtTable="debtTable" :total="total" @pagechange="pagechange"></intelligentDockingFinishList>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
+import topInfo from '@/layout/common/topInfo.vue';
+import intelligentDockingFinishList from '@/layout/intelligentDocking/intelligentDockingFinishList.vue';
+import { mapState, mapMutations, createNamespacedHelpers } from 'vuex';
+const { mapActions: intelligentFollow } = createNamespacedHelpers('intelligentFollow');
 export default {
   name: 'intelligentDockingFinish',
   props: {},
-  components: {},
-  data: () => ({}),
-  created() {},
-  computed: {},
-  methods: {},
+  components: {
+    topInfo, //头部
+    intelligentDockingFinishList, //列表
+  },
+  data: () => ({
+    topTitle: '银企对接已完成列表',
+    display: 'none',
+    debtTable: [],
+    total: 0,
+  }),
+  created() {
+    this.searchInfo();
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    ...intelligentFollow(['getFinishList']),
+    async searchInfo({ skip = 1, limit = 10, uid = this.user.uid, userid = this.user.userid, creditStatus = 1 } = {}) {
+      const res = await this.getFinishList({ skip, limit, uid, userid, creditStatus });
+      this.$set(this, `debtTable`, res.data.res);
+      this.$set(this, `total`, res.data.total);
+    },
+    // 分頁
+    pagechange(skip) {
+      console.log(skip);
+    },
+  },
 };
 </script>
 

+ 83 - 0
src/views/intelligentDocking/intelligentDockingFinishDetail.vue

@@ -0,0 +1,83 @@
+<template>
+  <div id="intelligentDockingFinishDetail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24">
+          <topInfo :topTitle="topTitle" :display="display"></topInfo>
+        </el-col>
+        <el-col :span="24" class="main">
+          <el-col :span="24">
+            <detailTop @goBack="goBack"></detailTop>
+          </el-col>
+          <el-col :span="24">
+            <intelligentDockingFinishDetails :form="form"></intelligentDockingFinishDetails>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/common/topInfo.vue';
+import detailTop from '@/layout/common/detailTop.vue';
+import intelligentDockingFinishDetails from '@/layout/intelligentDocking/intelligentDockingFinishDetails.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: intelligentDocking } = createNamespacedHelpers('intelligentDocking');
+export default {
+  name: 'intelligentDockingFinishDetail',
+  props: {},
+  components: {
+    topInfo, //头部
+    detailTop, //返回
+    intelligentDockingFinishDetails, //详情
+  },
+  data: () => ({
+    topTitle: '银企对接已关注详情',
+    display: 'none',
+    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>
+.main {
+  float: left;
+  width: 100%;
+  min-height: 780px;
+  box-shadow: 0 0 5px #999;
+  border-radius: 10px;
+  padding: 20px;
+}
+</style>

+ 3 - 1
src/views/intelligentDocking/intelligentDockingFollow.vue

@@ -82,7 +82,9 @@ export default {
       data.guanzhuid = this.jujueInfo._id;
       data.intelligentId = this.jujueInfo.intelligentId;
       data.userid = this.jujueInfo.intelligent.uid;
-      data.creditStatus = 3;
+      if (this.jujueInfo.intelligent.refuse_times == '3') {
+        data.creditStatus = 3;
+      }
       const res = await this.refuseDocking(data);
       if (res.errcode === 0) {
         this.$message({

+ 32 - 9
src/views/intelligentDocking/intelligentDockingFollowDetail.vue

@@ -13,7 +13,6 @@
             <intelligentDockingFollowDetails
               :form="form"
               :shenheForm="shenheForm"
-              :shenheDialog="shenheDialog"
               @shenheBtns="shenheBtns"
               @shenheOut="shenheOut"
               @shenheBtn="shenheBtn"
@@ -36,6 +35,7 @@ import detailTop from '@/layout/common/detailTop.vue';
 import intelligentDockingFollowDetails from '@/layout/intelligentDocking/intelligentDockingFollowDetails.vue';
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: intelligentDocking } = createNamespacedHelpers('intelligentDocking');
+const { mapActions: intelligentFollow } = createNamespacedHelpers('intelligentFollow');
 export default {
   name: 'intelligentDockingFollowDetail',
   props: {},
@@ -55,7 +55,6 @@ export default {
       follow: {},
     },
     shenheForm: {},
-    shenheDialog: false,
     shouxinDialog: false,
     shouxinForm: {},
   }),
@@ -70,6 +69,7 @@ export default {
   },
   methods: {
     ...intelligentDocking(['dockingSearch']),
+    ...intelligentFollow(['credit']),
     // 查询详情
     async searchInfo() {
       if (this.intelligentId) {
@@ -81,17 +81,28 @@ export default {
     },
     // 打开审核
     shenheBtns() {
-      this.shenheDialog = true;
+      // this.shenheDialog = true;
     },
     // 取消审核
     shenheOut() {
-      this.shenheDialog = false;
+      // this.shenheDialog = false;
       this.shenheForm = {};
     },
     // 提交审核
-    shenheBtn({ data }) {
-      this.shenheDialog = false;
-      console.log(data);
+    async shenheBtn({ data }) {
+      data.id = this.form.follow._id;
+      data.creditStatus = 2;
+      const res = await this.credit(data);
+      if (res.errcode === 0) {
+        this.$message({
+          message: '审核成功',
+          type: 'success',
+        });
+        this.goBack();
+        this.searchInfo();
+      } else {
+        this.$message.error('审核失败');
+      }
     },
     // 打开授信
     shouxinBtns() {
@@ -103,8 +114,20 @@ export default {
       this.shouxinForm = {};
     },
     // 提交授信
-    shouxinBtn({ data }) {
-      console.log(data);
+    async shouxinBtn({ data }) {
+      data.id = this.form.follow._id;
+      data.creditStatus = 1;
+      const res = await this.credit(data);
+      if (res.errcode === 0) {
+        this.$message({
+          message: '授信成功',
+          type: 'success',
+        });
+        this.goBack();
+        this.searchInfo();
+      } else {
+        this.$message.error('授信失败');
+      }
     },
     // 返回
     goBack() {