wq 5 years ago
parent
commit
518a67028f

+ 88 - 4
src/layout/businessneed/claimForm.vue

@@ -1,13 +1,97 @@
 <template>
-    $END$
+    <div id="claimForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm"  v-if="ruleForm[0].jg_pro_id == 0 "  ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                <el-form-item label="融资金额(万元):">
+                    <span>{{ruleForm[0].money}}</span>
+                </el-form-item>
+                <el-form-item label="融资用途:" >
+                    <span>{{ruleForm[0].use}}</span>
+                </el-form-item>
+                    <el-form-item label="期望利率范围:" >
+                        <span>{{ruleForm[0].mongey_min_rate}}%~{{ruleForm[0].mongey_max_rate}}%</span>
+                    </el-form-item>
+                    <el-form-item label="期望融资期限(月):" >
+                        <span>{{ruleForm[0].claims_min_term}}~{{ruleForm[0].claims_max_term}}</span>
+                    </el-form-item>
+                    <el-form-item label="担保方式:" >
+                        <span>{{ruleForm[0].hyname}}</span>
+                    </el-form-item>
+                    <el-form-item label="项目情况:" >
+                        <span>{{ruleForm[0].project_status}}</span>
+                    </el-form-item>
+                    <el-form-item label="辅助资料(点击查看):" >
+                        <el-link :href="ruleForm[0].cdata" :underline="false">{{ruleForm[0].cdata}}</el-link>
+                    </el-form-item>
+                <el-form-item>
+                    <el-button  type="primary" size="small" @click="fallow('ruleForm[0]')">关注</el-button>
+                </el-form-item>
+            </el-form>
+                <!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+                <el-form :model="ruleForm" :rules="rules"  v-else  ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                    <el-form-item label="融资金额(万元):">
+                        <span>{{ruleForm[0].money}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资用途:" >
+                        <span>{{ruleForm[0].use}}</span>
+                    </el-form-item>
+                    <el-form-item label="期望利率范围:" >
+                        <span>{{ruleForm[0].mongey_min_rate}}%~{{ruleForm[0].mongey_max_rate}}%</span>
+                    </el-form-item>
+                    <el-form-item label="期望融资期限(月):" >
+                        <span>{{ruleForm[0].claims_min_term}}~{{ruleForm[0].claims_max_term}}</span>
+                    </el-form-item>
+                    <el-form-item label="担保方式:" >
+                        <span>{{ruleForm[0].hyname}}</span>
+                    </el-form-item>
+                    <el-form-item label="项目情况:" >
+                        <span>{{ruleForm[0].project_status}}</span>
+                    </el-form-item>
+                    <el-form-item label="辅助资料(点击查看):" >
+                        <el-link :href="ruleForm[0].cdata" :underline="false">{{ruleForm[0].cdata}}</el-link>
+                    </el-form-item>
+                    <el-form-item label="定向产品名称:" >
+                        <span>{{ruleForm[0].jgpronew.name}}</span>
+                    </el-form-item>
+                    <el-form-item label="定向产品利率范围:" >
+                        <span>{{ruleForm[0].jgpronew.mongey_min_rate}}%~{{ruleForm[0].jgpronew.mongey_max_rate}}%</span>
+                    </el-form-item>
+                     <el-form-item label="定向产品融资期限(月):" >
+                         <span>{{ruleForm[0].jgpronew.claims_min_term}}~{{ruleForm[0].jgpronew.claims_max_term}}</span>
+                     </el-form-item>
+                            <el-form-item>
+                        <el-button  type="primary" size="small" @click="fallow('ruleForm[0]')">关注</el-button>
+                    </el-form-item>
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
   export default {
-    name: "claimForm"
+    name: 'claimForm',
+    props: {
+      ruleForm: null,
+      charList: null,
+    },
+    components: {},
+    data: () => ({
+
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      fallow() {
+        this.$emit('fallow', { data: this.ruleForm[0] });
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
 </style>

+ 62 - 3
src/layout/businessneed/claimList.vue

@@ -1,13 +1,72 @@
 <template>
-    $END$
+    <div id="claimList">
+        <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="money" label="融资金额(万元)" align="center"> </el-table-column>
+                    <el-table-column property="use" label="融资用途" align="center"> </el-table-column>
+                    <el-table-column label="期望利率范围" align="center">
+                        <template slot-scope="scope">
+                            <span style="margin-left: 10px">{{ scope.row.mongey_min_rate }}%~{{ scope.row.mongey_max_rate }}%</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column fixed="right" label="操作" align="center">
+                        <template slot-scope="scope">
+                            <el-button @click="$router.push({ path: '/businessneed/claimDetail', 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: "claimList.vue"
+    name: 'claimList',
+    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});
+      },
+    },
   };
 </script>
 
-<style scoped>
+<style lang="less" scoped>
+    .page {
+        text-align: center;
+        padding: 15px 0;
+    }
 
 </style>

+ 58 - 4
src/layout/businessneed/stockForm.vue

@@ -1,13 +1,67 @@
 <template>
-    $END$
+    <div id="stockForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm" :rules="rules"   ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                    <el-form-item label="项目名称:">
+                        <span>{{ruleForm[0].title}}</span>
+                    </el-form-item>
+                    <el-form-item label="让出股权:" >
+                        <span>{{ruleForm[0].stock_give}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资金额:" >
+                        <span>{{ruleForm[0].stock_money}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资轮次:" >
+                        <span>{{ruleForm[0].rzname}}</span>
+                    </el-form-item>
+                    <el-form-item label="所属行业:" >
+                        <span>{{ruleForm[0].workname}}</span>
+                    </el-form-item>
+                    <el-form-item label="联系人姓名:" >
+                        <span>{{ruleForm[0].persion_name}}</span>
+                    </el-form-item>
+                    <el-form-item label="联系人电话:" >
+                        <span>{{ruleForm[0].persion_phone}}</span>
+                    </el-form-item>
+                    <el-form-item label="需求详情:" >
+                        <span>{{ruleForm[0].stock_news}}</span>
+                    </el-form-item>
+                    <el-form-item label="商业规划书(点击查看):" >
+                        <el-link :href="ruleForm[0].pro_book" :underline="false">{{ruleForm[0].pro_book}}</el-link>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-button  type="primary" size="small" @click="fallow('ruleForm[0]')">关注</el-button>
+                    </el-form-item>
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
   export default {
-    name: "stockForm"
+    name: 'stockForm',
+    props: {
+      ruleForm: null,
+      charList: null,
+    },
+    components: {},
+    data: () => ({
+
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      fallow() {
+        this.$emit('fallow', { data: this.ruleForm[0] });
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
 </style>

+ 84 - 4
src/layout/financeclaims/financeClaimsForm.vue

@@ -1,13 +1,93 @@
 <template>
-    $END$
+    <div id="financeClaimsForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <el-form-item label="产品名称" prop="name">
+                        <el-input v-model="ruleForm.name" placeholder="请输入产品名称"></el-input>
+                    </el-form-item>
+                    <el-form-item label="利率范围" prop="mongeyrates">
+                        <el-input class="mongeyrate" v-model="ruleForm.mongey_min_rate" placeholder="利率范围(小)"></el-input>%~
+                        <el-input class="mongeyrate" v-model="ruleForm.mongey_max_rate" placeholder="利率范围(大)"></el-input>%
+                    </el-form-item>
+                    <el-form-item label="贷款期限(月)" prop="claimserm">
+                        <el-input class="mongeyrate" v-model="ruleForm.claims_min_term" placeholder="贷款期限(小)"></el-input>~
+                        <el-input class="mongeyrate" v-model="ruleForm.claims_max_term" placeholder="贷款期限(大)"></el-input>
+                    </el-form-item>
+                    <el-form-item label="贷款额度(万元)" prop="claimsmoney">
+                        <el-input class="mongeyrate" v-model="ruleForm.claims_min_term" placeholder="贷款额度(小)"></el-input>~
+                        <el-input class="mongeyrate" v-model="ruleForm.claims_max_term" placeholder="贷款额度(大)"></el-input>
+                    </el-form-item>
+                    <el-form-item label="担保方式" prop="ensure_id">
+                        <el-select v-model="ruleForm.ensure_id" placeholder="请选择担保方式">
+                            <el-option v-for="(item, index) in dbList" :key="index" :label="item.name" :value="item.code"></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="还款方式" prop="repayment_id">
+                        <el-select v-model="ruleForm.repayment_id" placeholder="请选择还款方式">
+                            <el-option v-for="(item, index) in hkList" :key="index" :label="item.name" :value="item.code"></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="产品名称" >
+                        <el-input v-model="ruleForm.news.news_name" placeholder="请输入简介名称"></el-input>
+                    </el-form-item>
+                    <el-form-item label="简介内容" >
+                        <el-input type="textarea" v-model="ruleForm.news.news_info" placeholder="请输入简介内容"></el-input>
+                    </el-form-item>
+                    <el-form-item>
+                        <!--<el-button size="small" @click="resetForm('ruleForm')">取消</el-button>-->
+                        <!--<el-button type="primary" size="small" @click="submitForm('ruleForm')">提交</el-button>-->
+                    </el-form-item>
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
   export default {
-    name: "financeClaimsForm"
+    name: 'financeClaimsForm',
+    props: {
+      ruleForm: null,
+      hkList: null,
+      dbList:null,
+    },
+    components: {},
+    data: () => ({
+      rules: {
+        mongeyrates:[
+          { required: true, message: '请输入利率', trigger: 'blur' },
+          { pattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/, message: '请输入大于0的数字' }
+        ],
+        claimserm:[
+          { required: true, message: '请输入贷款期限', trigger: 'blur' },
+          { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' }
+        ],
+        claimsmoney:[
+          { required: true, message: '请输入贷款额度', trigger: 'blur' },
+          { pattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/, message: '请输入大于0的数字' }
+        ]
+  },
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      submitForm() {
+        this.$emit('submitForm', { data: this.ruleForm });
+      },
+      resetForm() {
+        this.$emit('resetForm');
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
+    .mongeyrate{
+        width:40%;
+    }
 </style>
+

+ 62 - 3
src/layout/financeclaims/financeclaimsList.vue

@@ -1,13 +1,72 @@
 <template>
-    $END$
+    <div id="claimList">
+        <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="money" label="融资金额(万元)" align="center"> </el-table-column>
+                    <el-table-column property="use" label="融资用途" align="center"> </el-table-column>
+                    <el-table-column label="期望利率范围" align="center">
+                        <template slot-scope="scope">
+                            <span style="margin-left: 10px">{{ scope.row.mongey_min_rate }}%~{{ scope.row.mongey_max_rate }}%</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column fixed="right" label="操作" align="center">
+                        <template slot-scope="scope">
+                            <el-button @click="$router.push({ path: '/businessneed/claimDetail', 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: "financeclaimsList"
+    name: 'claimList',
+    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});
+      },
+    },
   };
 </script>
 
-<style scoped>
+<style lang="less" scoped>
+    .page {
+        text-align: center;
+        padding: 15px 0;
+    }
 
 </style>

+ 88 - 4
src/layout/follow/followForm.vue

@@ -1,13 +1,97 @@
 <template>
-    $END$
+    <div id="followForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm"  v-if="ruleForm[0].jg_pro_id == 0 "  ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                    <el-form-item label="融资金额(万元):">
+                        <span>{{ruleForm[0].money}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资用途:" >
+                        <span>{{ruleForm[0].use}}</span>
+                    </el-form-item>
+                    <el-form-item label="期望利率范围:" >
+                        <span>{{ruleForm[0].mongey_min_rate}}%~{{ruleForm[0].mongey_max_rate}}%</span>
+                    </el-form-item>
+                    <el-form-item label="期望融资期限(月):" >
+                        <span>{{ruleForm[0].claims_min_term}}~{{ruleForm[0].claims_max_term}}</span>
+                    </el-form-item>
+                    <el-form-item label="担保方式:" >
+                        <span>{{ruleForm[0].hyname}}</span>
+                    </el-form-item>
+                    <el-form-item label="项目情况:" >
+                        <span>{{ruleForm[0].project_status}}</span>
+                    </el-form-item>
+                    <el-form-item label="辅助资料(点击查看):" >
+                        <el-link :href="ruleForm[0].cdata" :underline="false">{{ruleForm[0].cdata}}</el-link>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-button  type="primary" size="small" @click="shouxin()">授信</el-button>
+                    </el-form-item>
+                </el-form>
+                <!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+                <el-form :model="ruleForm" :rules="rules"  v-else  ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                    <el-form-item label="融资金额(万元):">
+                        <span>{{ruleForm[0].money}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资用途:" >
+                        <span>{{ruleForm[0].use}}</span>
+                    </el-form-item>
+                    <el-form-item label="期望利率范围:" >
+                        <span>{{ruleForm[0].mongey_min_rate}}%~{{ruleForm[0].mongey_max_rate}}%</span>
+                    </el-form-item>
+                    <el-form-item label="期望融资期限(月):" >
+                        <span>{{ruleForm[0].claims_min_term}}~{{ruleForm[0].claims_max_term}}</span>
+                    </el-form-item>
+                    <el-form-item label="担保方式:" >
+                        <span>{{ruleForm[0].hyname}}</span>
+                    </el-form-item>
+                    <el-form-item label="项目情况:" >
+                        <span>{{ruleForm[0].project_status}}</span>
+                    </el-form-item>
+                    <el-form-item label="辅助资料(点击查看):" >
+                        <el-link :href="ruleForm[0].cdata" :underline="false">{{ruleForm[0].cdata}}</el-link>
+                    </el-form-item>
+                    <el-form-item label="定向产品名称:" >
+                        <span>{{ruleForm[0].jgpronew.name}}</span>
+                    </el-form-item>
+                    <el-form-item label="定向产品利率范围:" >
+                        <span>{{ruleForm[0].jgpronew.mongey_min_rate}}%~{{ruleForm[0].jgpronew.mongey_max_rate}}%</span>
+                    </el-form-item>
+                    <el-form-item label="定向产品融资期限(月):" >
+                        <span>{{ruleForm[0].jgpronew.claims_min_term}}~{{ruleForm[0].jgpronew.claims_max_term}}</span>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-button  type="primary" size="small" @click="shouxin()">授信</el-button>
+                    </el-form-item>
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
   export default {
-    name: "followForm"
+    name: 'followForm',
+    props: {
+      ruleForm: null,
+      charList: null,
+    },
+    components: {},
+    data: () => ({
+
+    }),
+    created() {},
+    computed: {},
+    methods: {
+      shouxin() {
+        this.$emit('shouxin');
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
 </style>

+ 63 - 3
src/layout/follow/followList.vue

@@ -1,13 +1,73 @@
 <template>
-    $END$
+    <div id="followList">
+        <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="clamnew.money" label="融资金额(万元)" align="center"> </el-table-column>
+                    <el-table-column property="clamnew.use" label="融资用途" align="center"> </el-table-column>
+                    <el-table-column label="期望利率范围" align="center">
+                        <template slot-scope="scope">
+                            <span style="margin-left: 10px">{{ scope.row.clamnew.mongey_min_rate }}%~{{ scope.row.clamnew.mongey_max_rate }}%</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column fixed="right" label="操作" align="center">
+                        <template slot-scope="scope">
+                            <el-button @click="$router.push({ path: '/follow/followDetail', query: { id: scope.row.clamnew._id ,sxid:scope.row._id} })" type="text" icon="el-icon-search" title="查看详情"></el-button>
+                            <el-button @click.prevent="deleteRow(scope.row._id)" type="text" icon="el-icon-star-on" 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: "followList"
+    name: 'followList',
+    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});
+      },
+    },
   };
 </script>
 
-<style scoped>
+<style lang="less" scoped>
+    .page {
+        text-align: center;
+        padding: 15px 0;
+    }
 
 </style>

+ 60 - 3
src/layout/follow/followStcokList.vue

@@ -1,13 +1,70 @@
 <template>
-    $END$
+    <div id="followStcokList">
+        <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="stockmnew.title" label="项目名称" align="center"> </el-table-column>
+                    <el-table-column property="stockmnew.stock_money" label="融资金额(万元)" align="center"> </el-table-column>
+                    <el-table-column property="stockmnew.persion_name" label="联系人姓名" align="center"> </el-table-column>
+                    <el-table-column property="stockmnew.persion_phone" label="联系人电话" align="center"> </el-table-column>
+                    <el-table-column fixed="right" label="操作" align="center">
+                        <template slot-scope="scope">
+                            <el-button @click="$router.push({ path: '/follow/followStockDetail', query: { id: scope.row.stockmnew._id } })" type="text" icon="el-icon-search" title="查看详情"></el-button>
+                            <el-button @click.prevent="deleteRow(scope.row._id)" type="text" icon="el-icon-star-on" 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: "followStcokList"
+    name: 'followStcokList',
+    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});
+      },
+    },
   };
 </script>
 
-<style scoped>
+<style lang="less" scoped>
+    .page {
+        text-align: center;
+        padding: 15px 0;
+    }
 
 </style>

+ 54 - 4
src/layout/follow/followStockForm.vue

@@ -1,13 +1,63 @@
 <template>
-    $END$
+    <div id="followStockForm">
+        <el-row>
+            <el-col :span="24" class="form">
+                <el-form :model="ruleForm" :rules="rules"   ref="ruleForm" label-width="200px" class="demo-ruleForm">
+                    <el-form-item label="项目名称:">
+                        <span>{{ruleForm[0].title}}</span>
+                    </el-form-item>
+                    <el-form-item label="让出股权:" >
+                        <span>{{ruleForm[0].stock_give}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资金额:" >
+                        <span>{{ruleForm[0].stock_money}}</span>
+                    </el-form-item>
+                    <el-form-item label="融资轮次:" >
+                        <span>{{ruleForm[0].rzname}}</span>
+                    </el-form-item>
+                    <el-form-item label="所属行业:" >
+                        <span>{{ruleForm[0].workname}}</span>
+                    </el-form-item>
+                    <el-form-item label="联系人姓名:" >
+                        <span>{{ruleForm[0].persion_name}}</span>
+                    </el-form-item>
+                    <el-form-item label="联系人电话:" >
+                        <span>{{ruleForm[0].persion_phone}}</span>
+                    </el-form-item>
+                    <el-form-item label="需求详情:" >
+                        <span>{{ruleForm[0].stock_news}}</span>
+                    </el-form-item>
+                    <el-form-item label="商业规划书(点击查看):" >
+                        <el-link :href="ruleForm[0].pro_book" :underline="false">{{ruleForm[0].pro_book}}</el-link>
+                    </el-form-item>
+
+                </el-form>
+            </el-col>
+        </el-row>
+    </div>
 </template>
 
 <script>
   export default {
-    name: "followStockForm"
+    name: 'followStockForm',
+    props: {
+      ruleForm: null,
+      charList: null,
+    },
+    components: {},
+    data: () => ({
+
+    }),
+    created() {},
+    computed: {},
+    methods: {
+
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .form {
+        padding: 0 200px 0 0;
+    }
 </style>

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

@@ -2,6 +2,7 @@
   <div id="menus">
     <el-menu :default-active="thisRouter()" class="el-menu-vertical-demo" :router="false" :default-openeds="defalutMenu" @select="to">
       <el-menu-item index="/"> <i class="el-icon-s-home"></i>首页 </el-menu-item>
+
       <el-submenu index="1">
         <template v-slot:title>
           <i class="el-icon-s-home"></i>
@@ -11,6 +12,49 @@
           <el-menu-item index="/test/index">二级菜单</el-menu-item>
         </el-menu-item-group>
       </el-submenu>
+
+      <el-submenu index="2">
+      <template v-slot:title>
+        <i class="el-icon-s-grid"></i>
+        <span>企业需求</span>
+      </template>
+      <el-menu-item-group>
+        <el-menu-item index="/businessneed/claim">债权需求</el-menu-item>
+        <el-menu-item index="/businessneed/stock">股权需求</el-menu-item>
+      </el-menu-item-group>
+    </el-submenu>
+
+      <el-submenu index="3">
+        <template v-slot:title>
+          <i class="el-icon-s-grid"></i>
+          <span>授信管理</span>
+        </template>
+        <el-menu-item-group>
+          <el-menu-item index="/follow/followindex">授信债权需求</el-menu-item>
+          <el-menu-item index="/follow/followstock">关注股权需求</el-menu-item>
+        </el-menu-item-group>
+      </el-submenu>
+
+      <el-submenu index="4">
+        <template v-slot:title>
+          <i class="el-icon-s-grid"></i>
+          <span>已完成</span>
+        </template>
+        <el-menu-item-group>
+          <el-menu-item index="/done/doneclaim">已完成债权需求</el-menu-item>
+        </el-menu-item-group>
+      </el-submenu>
+
+      <el-submenu index="5">
+        <template v-slot:title>
+          <i class="el-icon-s-grid"></i>
+          <span>金融产品管理</span>
+        </template>
+        <el-menu-item-group>
+          <el-menu-item index="/financeclaims/financeClaimIndex">债权产品管理</el-menu-item>
+        </el-menu-item-group>
+      </el-submenu>
+
     </el-menu>
   </div>
 </template>

+ 2 - 4
src/plugins/check-res.js

@@ -22,16 +22,14 @@ const Plugin = {
           return _okText();
         }
         if (_okText) {
-          // Message.success(_okText);
-          Notify({ type: 'success', message: _okText });
+          Message.success(_okText);
         }
         return true;
       }
       if (_.isFunction(_errText)) {
         return _errText();
       }
-      // Message.error(_errText || errmsg);
-      Notify({ type: 'danger', message: _okText });
+      Message.error(_errText || errmsg);
       // Message({ message: _errText || errmsg, duration: 60000 });
       return false;
     };

+ 77 - 13
src/router/index.js

@@ -24,24 +24,88 @@ const routes = [
     name: 'login',
     component: () => import('../views/login.vue'),
   },
+  // 债权需求
+  {
+    path: '/businessneed/claim',
+    component: () => import('../views/businessneed/claim.vue'),
+  },
+  // 债权需求详情
+  {
+    path: '/businessneed/claimDetail',
+    component: () => import('../views/businessneed/claimDetail.vue'),
+  },
+  // 股权需求
+  {
+    path: '/businessneed/stock',
+    component: () => import('../views/businessneed/stock.vue'),
+  },
+  // 股权需求详情
+  {
+    path: '/businessneed/stockDetail',
+    component: () => import('../views/businessneed/stockDetail.vue'),
+  },
+  //授信债权管理
+  {
+    path:'/follow/followindex',
+    component: () => import('../views/follow/followindex.vue'),
+  },
+  // 授信债权管理详情
+  {
+    path: '/follow/followDetail',
+    component: () => import('../views/follow/followDetail.vue'),
+  },
+  //授信股权管理
+  {
+    path:'/follow/followstock',
+    component: () => import('../views/follow/followstock.vue'),
+  },
+  // 授信股权管理详情
+  {
+    path: '/follow/followStockDetail',
+    component: () => import('../views/follow/followStockDetail.vue'),
+  },
+  // 已经完成债权需求
+  {
+    path: '/done/doneclaim',
+    component: () => import('../views/done/doneclaim.vue'),
+  },
+  // 已经完成债权需求详情
+  {
+    path: '/done/followHistoryDetail',
+    component: () => import('../views/done/followHistoryDetail.vue'),
+  },
+  // 债权产品列表
+  {
+    path: '/financeclaims/financeClaimIndex',
+    component: () => import('../views/financeclaims/financeClaimIndex.vue'),
+  },
+  // 债权产品信息详情(添加)
+  {
+    path: '/financeclaims/financeClaimDetail',
+    component: () => import('../views/financeclaims/financeClaimDetail.vue'),
+  },
+
 ];
 const router = new VueRouter({
   mode: 'history',
   base: process.env.NODE_ENV === 'development' ? '' : '',
   routes,
 });
-router.beforeEach((to, form, next) => {
-  store.commit('setUser');
-  if (to.name === 'login') {
-    next();
-    return;
-  }
-  let user = store.state.user;
-  if (user) {
-    next();
-  }
-  //下面是没登录的情况,需要跳转页面到用户未登录页
-  else next({ name: 'login' });
-});
+// router.beforeEach((to, form, next) => {
+//   store.commit('setUser');
+//   if (to.name === 'login') {
+//     next();
+//     return;
+//   }
+//   let user = store.state.user;
+//   if (user) {
+//     next();
+//   }
+//   //下面是没登录的情况,需要跳转页面到用户未登录页
+//   else next({ name: 'login' });
+// });
 
 export default router;
+
+
+

+ 35 - 0
src/store/claimneed.js

@@ -0,0 +1,35 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  claimInfo: `/api/financial/claimneed`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async followclaim({ commit }, payload) {// 金融机构关注债权需求
+    const res = await this.$axios.$post(`${api.claimInfo}/followclaim`, payload);
+    return res;
+  },
+  async fclaim({ commit }, payload) {// 根据金融机构查询债权需求(列表)--分为指向(传金融机构ID)和非指向(不用传)
+    const res = await this.$axios.$post(`${api.claimInfo}/fclaim`,payload);
+    return res;
+  },
+  async one({ commit }, payload) {// 详情
+    const res = await this.$axios.$post(`${api.claimInfo}/one`,payload);
+    return res;
+  },
+  async beforFollow({ commit }, payload) {// 关注前请求的接口
+    const res = await this.$axios.$post(`${api.claimInfo}/beforFollow`,payload);
+    return res;
+  }
+
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 39 - 0
src/store/financeclaim.js

@@ -0,0 +1,39 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  financeclaimInfo: `/api/financial/financeclaims`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.financeclaimInfo}`, payload);
+    return res;
+  },
+  async fclaimsList({ commit }, payload) {// 债券产品列表
+    const res = await this.$axios.$post(`${api.financeclaimInfo}/claimsList`, payload);
+    return res;
+  },
+  async orUpdate({ commit }, payload) {// 修改前要请求的接口
+    const res = await this.$axios.$post(`${api.financeclaimInfo}/orUpdate`,payload);
+    return res;
+  },
+  async one({ commit }, payload) {// 详情
+    const res = await this.$axios.$post(`${api.financeclaimInfo}/one`,payload);
+    return res;
+  },
+  async dupdate({ commit }, { id, ...data }) {//逻辑删除
+    const res = await this.$axios.$post(`${api.financeclaimInfo}/update/${id}`, data);
+    return res;
+  },
+
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 39 - 0
src/store/follow.js

@@ -0,0 +1,39 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  followInfo: `/api/financial/financefollow`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async credit({ commit }, payload) {// 授信接口
+    const res = await this.$axios.$post(`${api.followInfo}/credit`, payload);
+    return res;
+  },
+  async followlist({ commit }, payload) {// 授信关注债权列表
+    const res = await this.$axios.$post(`${api.followInfo}/followlist`,payload);
+    return res;
+  },
+  async delete({ commit }, payload) {//取消关注
+    const res = await this.$axios.$delete(`${api.followInfo}/${payload}`);
+    return res;
+  },
+  async followstock({ commit }, payload) {// 授信关注股权列表
+    const res = await this.$axios.$post(`${api.followInfo}/followstock`,payload);
+    return res;
+  },
+  async followClaimHistory({ commit }, payload) {// 完成债权历史表
+    const res = await this.$axios.$post(`${api.followInfo}/followClaimHistory`,payload);
+    return res;
+  },
+
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 8 - 0
src/store/index.js

@@ -1,6 +1,10 @@
 import Vue from 'vue';
 import Vuex from 'vuex';
 import login from './login';
+import claimneed from './claimneed';
+import stockneed from './stockneed';
+import follow from './follow';
+import financeclaim from './financeclaim';
 import * as muta from './user/mutations';
 import * as states from './user/state';
 
@@ -9,6 +13,10 @@ Vue.use(Vuex);
 export default new Vuex.Store({
   modules: {
     login,
+    claimneed,
+    stockneed,
+    follow,
+    financeclaim,
   },
   state: { ...states },
   mutations: { ...muta },

+ 30 - 0
src/store/stockneed.js

@@ -0,0 +1,30 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  stockInfo: `/api/financial/stockneed`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async followstock({ commit }, payload) {// 金融机构关注股权需求
+    const res = await this.$axios.$post(`${api.stockInfo}/followstock`, payload);
+    return res;
+  },
+  async stockList({ commit }, payload) {// 股权列表
+    const res = await this.$axios.$post(`${api.stockInfo}/stockList`,payload);
+    return res;
+  },
+  async one({ commit }, payload) {// 股权详情
+    const res = await this.$axios.$post(`${api.stockInfo}/one`,payload);
+    return res;
+  }
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 41 - 33
src/views/businessneed/claim.vue

@@ -1,14 +1,14 @@
 <template>
-  <div id="index">
+  <div id="claim">
     <el-col :span="24" class="debt">
       <el-col :span="24" class="top">
-        <topInfo :topTitle="topTitle" :display="display" @clickBtn="clickBtn"></topInfo>
+        <topInfo :topTitle="topTitle" :display="display" ></topInfo>
       </el-col>
       <el-col :span="24" class="search">
-        <searchInfo></searchInfo>
+        <searchInfo @clickBtn="clickBtn"></searchInfo>
       </el-col>
       <el-col :span="24" class="main">
-        <claimList :debtTable="debtTable" :total="total" @deleteRow="deleteRow" @clickRest="clickRest"></claimList>
+        <claimList :debtTable="debtTable" :total="total" @pagechange="pagechange" ></claimList>
       </el-col>
     </el-col>
   </div>
@@ -16,55 +16,63 @@
 
 <script>
 import topInfo from '@/layout/common/topInfo.vue';
-import searchInfo from '@/layout/common/searchInfo.vue';
+import searchInfo from '@/layout/common/needSearchInfo.vue';
 import claimList from '@/layout/businessneed/claimList.vue';
 import { createNamespacedHelpers, mapGetters } from 'vuex';
-const { mapActions: otheruser } = createNamespacedHelpers('otheruser');
-const { mapActions: character } = createNamespacedHelpers('character');
+const { mapActions: claimneed } = createNamespacedHelpers('claimneed');
 export default {
-  name: 'index',
+  name: 'claim',
   props: {},
   components: {
     topInfo, //头部导航
     searchInfo, //搜素
-    otheruserList, //其他用户列表
+    claimList, //债权需求列表
   },
   data: () => ({
-    topTitle: '其他用户',
+    topTitle: '债权需求',
     display: 'none',
     debtTable: [],
     total: '',
+    jgpro: '0'
   }),
   created() {
-    this.searchInfo();
+    this.claimList();
   },
   computed: {},
   methods: {
-    ...otheruser(['query', 'delete']),
-    ...character({ userquery: 'query' }),
-
-    ...otheruser(['query', 'delete', 'update']),
-    async searchInfo({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
-      this.$set(this, `debtTable`, res.data);
+    ...claimneed(['followclaim', 'fclaim']),
+    async claimList({ skip = 1, limit = 10,jg_id = '5e79672d0217a7336048b4c5'} = {}) {
+      const res = await this.fclaim({ skip, limit,jg_id });
+      this.$set(this, `debtTable`, res.res);
       this.$set(this, `total`, res.total);
     },
-    // 删除
-    async deleteRow(id) {
-      const res = await this.delete(id);
-      this.$checkRes(res, '删除成功', '删除失败');
-      this.searchInfo();
+    async pagechange(data) {
+      var skip = data.skip;
+      var limit = 10;
+      var jg_id ;
+      if(this.jgpro =='0'){
+        jg_id='0';
+      }else{
+        jg_id = '5e79672d0217a7336048b4c5';
+      }
+      const res = await this.fclaim({ skip, limit,jg_id });
+      this.$set(this, `debtTable`, res.res);
+      this.$set(this, `total`, res.total);
     },
-    async clickRest(id) {
-      let data = {};
-      data.id = id;
-      data.passwd = '123456';
-      const res = await this.update(data);
-      if (res.errcode === 0) {
-        this.$message({
-          message: '密码重置成功',
-          type: 'success',
-        });
+    async clickBtn(message) {//查询
+      this.jgpro = message;
+      var skip = 0;
+      var limit =10;
+      if(message==1){
+        var jg_id = '0';
+        const res = await this.fclaim({ skip, limit,jg_id});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      }else{
+        var jg_id = '5e79672d0217a7336048b4c5';
+        const res = await this.fclaim({ skip, limit,jg_id});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
       }
     },
   },

+ 123 - 4
src/views/businessneed/claimDetail.vue

@@ -1,13 +1,132 @@
 <template>
-    $END$
+    <div id="claimDetail">
+        <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">
+                        <!--<claimForm :ruleForm="ruleForm"  @submitForm="submitForm" @resetForm="resetForm"></claimForm>-->
+                        <claimForm :ruleForm="claimForm" @fallow = "fallow"></claimForm>
+                    </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 claimForm from '@/layout/businessneed/claimForm.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: claimneed } = createNamespacedHelpers('claimneed');
   export default {
-    name: "claimDetail"
+    name: 'claimDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      claimForm, //债权需求详情
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '债权信息详情',
+      claimForm: {},
+      charList: {
+        name: '10',
+      },
+    }),
+    created() {
+      this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+    },
+    methods: {
+      ...claimneed(['followclaim', 'fclaim','one','beforFollow']),
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.one({id:this.id});
+          this.$set(this, `claimForm`, res.data);
+        }
+      },
+      // 提交
+      // async submitForm({ data }) {
+      //   let res;
+      //   if (this.id) {
+      //     res = await this.update(data);
+      //     if (res.errcode === 0) {
+      //       this.$message({
+      //         message: '信息修改成功',
+      //         type: 'success',
+      //       });
+      //     }
+      //   } else {
+      //     res = await this.create(data);
+      //     if (res.errcode === 0) {
+      //       this.$message({
+      //         message: '信息创建成功',
+      //         type: 'success',
+      //       });
+      //     }
+      //   }
+      //   if (this.$checkRes(res)) this.resetForm();
+      //
+      //   console.log(res.data);
+      // },
+      // 关注
+      async fallow({ data }) {
+        var finceId=data._id;
+        var userid = '5e79672d0217a7336048b4c5';
+        const res = await this.beforFollow({finceId:finceId,userid:userid});
+       if(res.data.finstatus=='SUCCESS'){
+         this.$message({
+           message: '您已经关注成功',
+           type: 'success',
+         });
+       }else{
+         const followres = await this.followclaim({finceId:finceId,userid:userid});
+         if(followres.errcode===0){
+           this.$message({
+             message: '关注成功',
+             type: 'success',
+           });
+         }else{
+          this.$message({
+             message: '关注失败',
+             type: 'error',
+           });
+         }
+       }
+      },
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<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>

+ 67 - 4
src/views/businessneed/stock.vue

@@ -1,13 +1,76 @@
 <template>
-    $END$
+    <div id="stock">
+        <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">
+                <searchInfo @clickBtn="clickBtn"></searchInfo>
+            </el-col>
+            <el-col :span="24" class="main">
+                <stockList :debtTable="debtTable" :total="total" @deleteRow="deleteRow" @clickRest="clickRest"></stockList>
+            </el-col>
+        </el-col>
+    </div>
 </template>
 
 <script>
+  import topInfo from '@/layout/common/topInfo.vue';
+  import searchInfo from '@/layout/common/needSearchInfo.vue';
+  import stockList from '@/layout/businessneed/stockList.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: stockneed } = createNamespacedHelpers('stockneed');
   export default {
-    name: "stock"
+    name: 'stock',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      searchInfo, //搜素
+      stockList, //股权需求列表
+    },
+    data: () => ({
+      topTitle: '股权需求',
+      display: 'none',
+      debtTable: [],
+      total: '',
+      jgpro: '0'
+    }),
+    created() {
+      this.getStockList();
+    },
+    computed: {},
+    methods: {
+      ...stockneed(['stockList']),
+      async getStockList({ skip = 1, limit = 10,jg_id = '5e79672d0217a7336048b4c5'} = {}) {
+        const res = await this.stockList({ skip, limit,jg_id });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      async clickBtn(message) {//查询
+        this.jgpro = message;
+        var skip = 0;
+        var limit =10;
+        if(message==1){
+          var jg_id = '0';
+          const res = await this.stockList({ skip, limit,jg_id});
+          this.$set(this, `debtTable`, res.res);
+          this.$set(this, `total`, res.total);
+        }else{
+          var jg_id = '5e79672d0217a7336048b4c5';
+          const res = await this.stockList({ skip, limit,jg_id});
+          this.$set(this, `debtTable`, res.res);
+          this.$set(this, `total`, res.total);
+        }
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
 </style>

+ 100 - 4
src/views/businessneed/stockDetail.vue

@@ -1,13 +1,109 @@
 <template>
-    $END$
+    <div id="stockDetail">
+        <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">
+                        <stockForm :ruleForm="stockForm" @fallow = "fallow"></stockForm>
+                    </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 stockForm from '@/layout/businessneed/stockForm.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: stockneed } = createNamespacedHelpers('stockneed');
+  const { mapActions: claimneed } = createNamespacedHelpers('claimneed');
   export default {
-    name: "stockDetail"
+    name: 'stockDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      stockForm, //股权需求详情
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '股权信息详情',
+      stockForm: {},
+      charList: {
+        name: '10',
+      },
+    }),
+    created() {
+      this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+    },
+    methods: {
+      ...stockneed(['followstock','one']),
+      ...claimneed(['beforFollow']),
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.one({id:this.id});
+          this.$set(this, `stockForm`, res.data);
+        }
+      },
+      // 关注
+      async fallow({ data }) {
+        var finceId=data._id;
+        var userid = '5e79672d0217a7336048b4c5';
+        const res = await this.beforFollow({finceId:finceId,userid:userid});
+        if(res.data.finstatus=='SUCCESS'){
+          this.$message({
+            message: '您已经关注成功',
+            type: 'success',
+          });
+        }else{
+          const followres = await this.followstock({finceId:finceId,userid:userid});
+          if(followres.errcode===0){
+            this.$message({
+              message: '关注成功',
+              type: 'success',
+            });
+          }else{
+            this.$message({
+              message: '关注失败',
+              type: 'error',
+            });
+          }
+        }
+      },
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<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>

+ 56 - 4
src/views/done/doneclaim.vue

@@ -1,13 +1,65 @@
 <template>
-    $END$
+    <div id="doneclaim">
+        <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">
+                <followHistoryList :debtTable="debtTable" :total="total" @pagechange="pagechange" ></followHistoryList>
+            </el-col>
+        </el-col>
+    </div>
 </template>
 
 <script>
+  import topInfo from '@/layout/common/topInfo.vue';
+  import followHistoryList from '@/layout/done/followHistoryList.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: financefollow } = createNamespacedHelpers('follow');
   export default {
-    name: "doneclaim"
+    name: 'doneclaim',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      followHistoryList, //债权需求列表
+    },
+    data: () => ({
+      topTitle: '授信债权需求历史',
+      display: 'none',
+      debtTable: [],
+      total: '',
+    }),
+    created() {
+      this.followHistoryList();
+    },
+    computed: {},
+    methods: {
+      ...financefollow(['credit','followClaimHistory','delete']),
+      async followHistoryList({ skip = 1, limit = 10,userid = '5e79672d0217a7336048b4c5'} = {}) {
+        const res = await this.followClaimHistory({ skip, limit,userid});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+
+      async pagechange(data) {
+        var skip = data.skip;
+        var limit = 10;
+        var userid = '5e79672d0217a7336048b4c5';
+        const res = await this.followClaimHistory({ skip, limit,userid });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
 </style>
+

+ 85 - 4
src/views/done/followHistoryDetail.vue

@@ -1,13 +1,94 @@
 <template>
-    $END$
+    <div id="followHistoryDetail">
+        <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">
+                        <followHistoryForm :ruleForm="followForm" ></followHistoryForm>
+                    </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 followHistoryForm from '@/layout/done/followHistoryForm.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: claimneed } = createNamespacedHelpers('claimneed');
+  const { mapActions: financefollow } = createNamespacedHelpers('follow');
   export default {
-    name: "followHistoryDetail"
+    name: 'followHistoryDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      followHistoryForm, //关注债权需求详情
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '完成债权需求详情',
+      followForm: {},
+    }),
+    created() {
+      this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+      money(){
+        return this.$route.query.money;
+      },
+      finaltime(){
+        return this.$route.query.finaltime;
+      },
+    },
+    methods: {
+      ...claimneed(['one']),
+      ...financefollow(['credit','followlist','delete']),
+      getLocalTime(nS) {
+        return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/,' ');
+        },
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.one({id:this.id});
+          const finaldata = res.data;
+          finaldata[0].finmoney=this.money;
+          finaldata[0].historytime = this.getLocalTime(this.finaltime);
+          this.$set(this, `followForm`, finaldata);
+        }
+      },
+
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<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>

+ 106 - 4
src/views/financeclaims/financeClaimDetail.vue

@@ -1,13 +1,115 @@
 <template>
-    $END$
+    <div id="financeClaimDetail">
+        <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">
+                        <financeClaimsForm :ruleForm="ruleForm" :dbList="dbList"  :hkList="hkList" @submitForm="submitForm" @resetForm="resetForm"></financeClaimsForm>
+                    </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 financeClaimsForm from '@/layout/financeclaims/financeClaimsForm.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: financeclaims } = createNamespacedHelpers('financeclaim');
   export default {
-    name: "financeClaimDetail"
+    name: 'financeClaimDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      financeClaimsForm, //添加债权产品
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '债权产品信息',
+      ruleForm: {
+        news:[]
+      },
+      dbList: [
+        {name:'担保1',code:'0101'},{name:'担保2',code:'0102'},{name:'担保3',code:'0103'}
+      ],
+      hkList: [
+        {name:'还款1',code:'0201'},{name:'还款2',code:'0202'},{name:'还款3',code:'0203'}
+      ],
+    }),
+    created() {
+     // this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+    },
+    methods: {
+      ...financeclaims(['fclaimsList', 'orUpdate','one','dupdate','create']),
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.one(this.id);
+          this.$set(this, `ruleForm`, res.data);
+        }
+      },
+      // 提交
+      async submitForm({ data }) {
+        let res;
+        if (this.id) {
+          res = await this.update(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息修改成功',
+              type: 'success',
+            });
+          }
+        } else {
+          res = await this.create(data);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '信息创建成功',
+              type: 'success',
+            });
+          }
+        }
+        if (this.$checkRes(res)) this.resetForm();
+
+        console.log(res.data);
+      },
+      // 取消
+      resetForm() {
+        this.$router.push({ path: '/otheruser/index' });
+      },
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<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>

+ 85 - 4
src/views/financeclaims/financeClaimIndex.vue

@@ -1,13 +1,94 @@
 <template>
-    $END$
+    <div id="financeClaimIndex">
+        <el-col :span="24" class="debt">
+            <el-col :span="24" class="top">
+                <topInfo :topTitle="topTitle" :display="display" @addfinclaim='addfinclaim'></topInfo>
+            </el-col>
+            <el-col :span="24" class="search">
+                <financeClaimIndexInfo @clickBtn="clickBtn"></financeClaimIndexInfo>
+            </el-col>
+            <el-col :span="24" class="main">
+                <financeclaimsList :debtTable="debtTable" :total="total" @pagechange="pagechange" ></financeclaimsList>
+            </el-col>
+        </el-col>
+    </div>
 </template>
 
 <script>
+  import topInfo from '@/layout/common/topInfo.vue';
+  import financeClaimIndexInfo from '@/layout/financeclaims/financeClaimInfo.vue';
+  import financeclaimsList from '@/layout/financeclaims/financeclaimsList.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: financeclaims } = createNamespacedHelpers('financeclaim');
   export default {
-    name: "financeClaimIndex"
+    name: 'financeClaimIndex',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      financeClaimIndexInfo, //搜素
+      financeclaimsList, //债权产品列表
+    },
+    data: () => ({
+      topTitle: '债权需求',
+      display: 'block',
+      debtTable: [],
+      total: '',
+      jgpro: '0'
+    }),
+    created() {
+      this.financeclaimsList();
+    },
+    computed: {},
+    methods: {
+      ...financeclaims(['fclaimsList', 'orUpdate','one','dupdate']),
+      async financeclaimsList({ skip = 1, limit = 10,uid = '5e79672d0217a7336048b4c5'} = {}) {
+        const res = await this.fclaim({ skip, limit,uid });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      //添加
+      addfinclaim(){
+        this.$router.push({ path: '/financeclaims/financeClaimDetail' });
+      },
+      async pagechange(data) {
+        var skip = data.skip;
+        var limit = 10;
+        var jg_id ;
+        if(this.jgpro =='0'){
+          jg_id='0';
+        }else{
+          jg_id = '5e79672d0217a7336048b4c5';
+        }
+        const res = await this.fclaim({ skip, limit,jg_id });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      //查询
+      async clickBtn(message) {
+        this.jgpro = message;
+        var skip = 0;
+        var limit =10;
+        if(message==1){
+          var jg_id = '0';
+          const res = await this.fclaim({ skip, limit,jg_id});
+          this.$set(this, `debtTable`, res.res);
+          this.$set(this, `total`, res.total);
+        }else{
+          var jg_id = '5e79672d0217a7336048b4c5';
+          const res = await this.fclaim({ skip, limit,jg_id});
+          this.$set(this, `debtTable`, res.res);
+          this.$set(this, `total`, res.total);
+        }
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
 </style>

+ 22 - 27
src/views/follow/followDetail.vue

@@ -24,6 +24,7 @@
   import followForm from '@/layout/follow/followForm.vue';
   import { createNamespacedHelpers, mapGetters } from 'vuex';
   const { mapActions: claimneed } = createNamespacedHelpers('claimneed');
+  const { mapActions: financefollow } = createNamespacedHelpers('follow');
   export default {
     name: 'followDetail',
     props: {},
@@ -53,39 +54,33 @@
     },
     methods: {
       ...claimneed(['one']),
+      ...financefollow(['credit','followlist','delete']),
       async searchInfo() {
         if (this.id) {
           const res = await this.one({id:this.id});
           this.$set(this, `followForm`, res.data);
         }
       },
-      // 提交
-      // async submitForm({ data }) {
-      //   let res;
-      //   if (this.id) {
-      //     res = await this.update(data);
-      //     if (res.errcode === 0) {
-      //       this.$message({
-      //         message: '信息修改成功',
-      //         type: 'success',
-      //       });
-      //     }
-      //   } else {
-      //     res = await this.create(data);
-      //     if (res.errcode === 0) {
-      //       this.$message({
-      //         message: '信息创建成功',
-      //         type: 'success',
-      //       });
-      //     }
-      //   }
-      //   if (this.$checkRes(res)) this.resetForm();
-      //
-      //   console.log(res.data);
-      // },
-      // 关注
-      async shouxin({ data }) {
-
+      // 授信
+      async shouxin() {
+          this.$prompt('请输入授信额度(万元)', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            inputPattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/,
+            inputErrorMessage: '请输入正确金额'
+          })
+            .then(({ value }) => {
+           this.finalSx(value);
+          }).catch(() => {
+            this.$message({
+              type: 'info',
+              message: '取消输入'
+            });
+          });
+      },
+      async finalSx(value){
+        const res = await this.credit({id:this.sxid,money:value});
+        this.$checkRes(res, '授信成功', '授信失败');
       },
       // 返回
       goBack() {

+ 73 - 4
src/views/follow/followStockDetail.vue

@@ -1,13 +1,82 @@
 <template>
-    $END$
+    <div id="followStockDetail">
+        <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">
+                        <followStockForm :ruleForm="followStockFormNew" ></followStockForm>
+                    </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 followStockForm from '@/layout/follow/followStockForm.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: stockneed } = createNamespacedHelpers('stockneed');
   export default {
-    name: "followStockDetail"
+    name: 'followStockDetail',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      detailTop, //头部返回
+      followStockForm, //股权需求详情
+    },
+    data: () => ({
+      display: 'none',
+      topTitle: '股权信息详情',
+      followStockFormNew: {},
+      charList: {
+        name: '10',
+      },
+    }),
+    created() {
+      this.searchInfo();
+    },
+    computed: {
+      id() {
+        return this.$route.query.id;
+      },
+    },
+    methods: {
+      ...stockneed(['followstock','one']),
+      async searchInfo() {
+        if (this.id) {
+          const res = await this.one({id:this.id});
+          this.$set(this, `followStockFormNew`, res.data);
+        }
+      },
+      // 返回
+      goBack() {
+        this.$router.go(-1);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<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>

+ 73 - 4
src/views/follow/followindex.vue

@@ -1,13 +1,82 @@
 <template>
-    $END$
+    <div id="followindex">
+        <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">
+                <followList :debtTable="debtTable" :total="total" @pagechange="pagechange" @deleteRow="deleteRow"></followList>
+            </el-col>
+        </el-col>
+    </div>
 </template>
 
 <script>
+  import topInfo from '@/layout/common/topInfo.vue';
+  import followList from '@/layout/follow/followList.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: financefollow } = createNamespacedHelpers('follow');
   export default {
-    name: "followindex"
+    name: 'followindex',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      followList, //债权需求列表
+    },
+    data: () => ({
+      topTitle: '授信债权需求',
+      display: 'none',
+      debtTable: [],
+      total: '',
+      jgpro: '0'
+    }),
+    created() {
+      this.followList();
+    },
+    computed: {},
+    methods: {
+      ...financefollow(['credit','followlist','delete']),
+      async followList({ skip = 1, limit = 10,userid = '5e79672d0217a7336048b4c5',finceType=this.jgpro} = {}) {
+        const res = await this.followlist({ skip, limit,userid, finceType});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      // 删除
+      async deleteRow(id) {
+        const res = await this.delete(id);
+        this.$checkRes(res, '取消关注成功', '取消关注失败');
+       this.followList();
+
+      },
+      async pagechange(data) {
+        var skip = data.skip;
+        var limit = 10;
+        var userid = '5e79672d0217a7336048b4c5';
+        var finceType = this.jgpro;
+        const res = await this.followlist({ skip, limit,userid,finceType });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      async clickBtn(message) {//查询
+        this.jgpro = message;
+        var skip = 0;
+        var limit =10;
+        var userid = '5e79672d0217a7336048b4c5';
+        var finceType =message;
+        const res = await this.followlist({ skip, limit,userid,finceType });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
 </style>
+

+ 63 - 4
src/views/follow/followstock.vue

@@ -1,13 +1,72 @@
 <template>
-    $END$
+    <div id="followstick">
+        <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">
+                <followStcokList :debtTable="debtTable" :total="total" @pagechange="pagechange" @deleteRow="deleteRow"></followStcokList>
+            </el-col>
+        </el-col>
+    </div>
 </template>
 
 <script>
+  import topInfo from '@/layout/common/topInfo.vue';
+  import followStcokList from '@/layout/follow/followStcokList.vue';
+  import { createNamespacedHelpers, mapGetters } from 'vuex';
+  const { mapActions: financefollow } = createNamespacedHelpers('follow');
   export default {
-    name: "followstock"
+    name: 'followstick',
+    props: {},
+    components: {
+      topInfo, //头部导航
+      followStcokList, //债权需求列表
+    },
+    data: () => ({
+      topTitle: '授信债权需求',
+      display: 'none',
+      debtTable: [],
+      total: '',
+      jgpro: '1'
+    }),
+    created() {
+      this.followstockList();
+    },
+    computed: {},
+    methods: {
+      ...financefollow(['credit','followstock','delete']),
+      async followstockList({ skip = 1, limit = 10,userid = '5e79672d0217a7336048b4c5',finceType=this.jgpro} = {}) {
+        const res = await this.followstock({ skip, limit,userid, finceType});
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+      // 删除
+      async deleteRow(id) {
+        const res = await this.delete(id);
+        this.$checkRes(res, '取消关注成功', '取消关注失败');
+        this.followstockList();
+
+      },
+      async pagechange(data) {
+        var skip = data.skip;
+        var limit = 10;
+        var userid = '5e79672d0217a7336048b4c5';
+        var finceType = this.jgpro;
+        const res = await this.followstock({ skip, limit,userid,finceType });
+        this.$set(this, `debtTable`, res.res);
+        this.$set(this, `total`, res.total);
+      },
+    },
   };
 </script>
 
-<style scoped>
-
+<style lang="less" scoped>
+    .debt {
+        padding: 20px;
+    }
+    .top {
+        border-bottom: 1px solid #ccc;
+    }
 </style>
+