Browse Source

融资管理

peixh 4 years ago
parent
commit
0da4688c2c

+ 7 - 7
front-vue/src/router/index.js

@@ -340,14 +340,14 @@ export const constantRoutes = [
         path: 'addFinanceRecord',
         component: (resolve) => require(['@/views/service/financeRecord/addFinanceRecord'], resolve),
         name: 'addFinanceRecord',
-        meta: { title: '新增融资薪资',noCache: true }
+        meta: { title: '新增融资信息',noCache: true }
+      },
+      {
+        path: 'detailFinanceRecord/:zfrId',
+        component: (resolve) => require(['@/views/service/financeRecord/detailFinanceRecord'], resolve),
+        name: 'detailFinanceRecord',
+        meta: { title: '融资信息详情',noCache: true }
       },
-      // {
-      //   path: 'detailCreditLine/:zfpcrId/:zfiAmount/:usableAmount',
-      //   component: (resolve) => require(['@/views/service/creditLine/detailCreditLine'], resolve),
-      //   name: 'detailCreditLine',
-      //   meta: { title: '授信信息详情',noCache: true }
-      // },
     ]
   },
   {

+ 7 - 7
front-vue/src/views/service/creditLine/editCreditLine.vue

@@ -614,13 +614,13 @@ export default {
     /* -------------------------------------------------------------------------------- */
     /** 提交按钮 */
     submitForm() {
-      // if(this.ticketList == undefined || this.ticketList.length == 0){
-      //   this.$message({
-      //       message: '请选择合同',
-      //       type: 'warning'
-      //     });
-      //     return;
-      // }
+      if(this.ticketList == undefined || this.ticketList.length == 0){
+        this.$message({
+            message: '请选择合同',
+            type: 'warning'
+          });
+          return;
+      }
       this.$refs["form"].validate(valid => {
         this.form.ticketList = this.ticketList;
         this.form.zfpcrOldAmount = this.amount;

+ 6 - 5
front-vue/src/views/service/financeRecord/addFinanceRecord.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="app-container">
     <!-- 添加或修改融资记录对话框 -->
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-divider content-position="left">授信信息</el-divider>
+      <el-form ref="form" :label-position="labelPosition" :model="form" :rules="rules" label-width="80px">
+        <el-divider content-position="left">融资信息</el-divider>
         <el-row>
           <el-col :span="8">
-            <el-form-item label="融信编号" prop="zfrFinanceId">
+            <el-form-item label="融信编号:" prop="zfrFinanceId">
               <el-select v-model="form.zfrFinanceId" style="width : 284px" clearable @clear="clearBoth">
                   <el-option
                     v-for="(item,index) in financeInfList"
@@ -18,12 +18,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="融资金额" prop="zfrAmount">
+            <el-form-item label="融资金额:" prop="zfrAmount">
               <el-input v-model="form.zfrAmount" placeholder="请输入融资金额"  style="width: 284px;"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="融资账户" prop="zfrCollectionAccount" v-if="this.form.zfpcrLoantype != '0'">
+            <el-form-item label="融资账户:" prop="zfrCollectionAccount" v-if="this.form.zfpcrLoantype != '0'">
               <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;"/>
             </el-form-item>
           </el-col>
@@ -131,6 +131,7 @@ export default {
   },
   data() {
     return {
+      labelPosition: 'top',
       // 遮罩层
       loading: true,
       // 选中数组

+ 415 - 0
front-vue/src/views/service/financeRecord/detailFinanceRecord.vue

@@ -0,0 +1,415 @@
+<template>
+  <div class="app-container">
+    <!-- 添加或修改融资记录对话框 -->
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-divider content-position="left">融资信息</el-divider>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="融信编号" prop="zfrFinanceId">
+              <el-select v-model="form.zfrFinanceId" style="width : 284px" clearable @clear="clearBoth">
+                  <el-option
+                    v-for="(item,index) in financeInfList"
+                    :key="index"
+                    :label="item.zfiNumber"
+                    :value="item.zfiId"
+                    @click.native="amount(item)"
+                  ></el-option>
+                </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="融资金额" prop="zfrAmount">
+              <el-input v-model="form.zfrAmount" placeholder="请输入融资金额"  style="width: 284px;"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="融资账户" prop="zfrCollectionAccount" v-if="this.form.zfpcrLoantype != '0'">
+              <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="承诺还款日" prop="zfrRepaymentDate" v-if="false">
+              <el-input v-model="form.zfrRepaymentDate" placeholder="请输入承诺还款日" style="width: 284px;"/> 
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="融资利率" prop="zfrRate" v-if="false">
+              <el-input v-model="form.zfrRate" placeholder="请输入融资利率" style="width: 284px;"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="融资放款方式" prop="zfpcrLoantype" label-width="90px" v-if="false">
+              <el-input v-model="form.zfpcrLoantype" placeholder="请输入融资账户" style="width: 284px;"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="融资产品" prop="zfiProductId" v-if="false">
+              <el-input v-model="form.zfiProductId" placeholder="请输入融资产品" style="width: 284px;"/> 
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <el-divider content-position="left">应收账款</el-divider>
+        <span style="float: right; margin-right: 125px;">金额大写:{{ smallToBig(allAmount()) }}</span>
+        <span style="float: right; margin-right: 125px;">消费金额:{{ allAmount() }}  元</span>
+        <el-table :data="billInfList" >
+          <el-table-column label="序号" type="index" width="50" align="center">
+            <template slot-scope="scope">
+              <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="编号" align="center" prop="zbiNumber" />
+          <el-table-column label="账款名称" align="center" prop="zbiName" />
+          <el-table-column label="应收企业" align="center" prop="payee" />
+          <el-table-column label="应付企业" align="center" prop="payer" />
+          <el-table-column label="还款时间" align="center" prop="zbiPayDate" />
+          <el-table-column label="金额" align="center" prop="zbiAmount" />
+        </el-table>
+        <!-- 发票附件 -->
+        <el-divider content-position="left">发票附件</el-divider>
+          <el-table :data="invoiceFileList" border style="width: 100%">
+            <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
+                <template slot-scope="scope">
+                    <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-view"
+                        @click="handleDetail(scope.row)"
+                    >下载</el-button>
+                </template>
+            </el-table-column>
+          </el-table>
+        <!-- 合同附件 -->
+        <el-divider content-position="left">合同附件</el-divider>
+          <el-table :data="contractFileList" border style="width: 100%">
+            <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
+                <template slot-scope="scope">
+                    <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-view"
+                        @click="handleDetail(scope.row)"
+                    >下载</el-button>
+                </template>
+            </el-table-column>
+          </el-table>
+        <!-- 其他附件 -->
+        <el-divider content-position="left">其他附件</el-divider>
+          <el-table :data="otherFileList" border style="width: 100%">
+            <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
+                <template slot-scope="scope">
+                    <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-view"
+                        @click="handleDetail(scope.row)"
+                    >下载</el-button>
+                </template>
+            </el-table-column>
+          </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <!-- <el-button @click="cancel">取 消</el-button> -->
+      </div>
+  </div>
+</template>
+
+<script>
+import { listRecord, getRecord, delRecord, addRecord, updateRecord ,listBillInf} from "@/api/service/financeRecord/record";
+import { listFinanceInf } from "@/api/common/financeInf";
+import { getFile } from "@/api/service/credit/credit";
+export default {
+  name: "financeRecord",
+  components: {
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 全部融资记录表格数据
+      recordList: [],
+      //融信编号数据
+      financeInfList: [],
+      //应收账款
+      billInfList: [],
+      //合同附件
+      contractFileList:[],
+      //发票附件
+      invoiceFileList:[],
+      //其他文件
+      otherFileList:[],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        zfrFinanceId: null,
+        zfrNumber: null,
+        zfrAmount: null,
+        zfrRate: null,
+        zfrHandler: null,
+        zfrRepaymentDate: null,
+        zfrApplyDate: null,
+        zfrLoanDate: null,
+        zfrApplyAmount: null,
+        zfrApplyType: null,
+        zfrStatus: null,
+        zfrApproveStt: null,
+        zfpcrLoantype: null,
+        zfiProductId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        zfrFinanceId: [
+          { required: true, message: "融信编号不能为空", trigger: "blur" }
+        ],
+        zfrAmount: [
+          { required: true, message: "融资金额不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    const zfrId = this.$route.params && this.$route.params.zfrId;
+    getRecord(zfrId).then((response) => {
+      debugger
+    });
+    // this.getFinanceInf();
+  },
+  methods: {
+     /** 查询融信编号 */
+    getFinanceInf(){
+      this.loading = true;
+      listFinanceInf().then(response => {
+        this.financeInfList = response.data;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        zfrId: null,
+        zfrFinanceId: null,
+        zfrNumber: null,
+        zfrAmount: null,
+        zfrRate: null,
+        zfrHandler: null,
+        zfrRepaymentDate: null,
+        zfrApplyDate: null,
+        zfrLoanDate: null,
+        zfrApplyAmount: null,
+        zfrApplyType: null,
+        zfrStatus: "00",
+        zfrApproveStt: null,
+        zfrProfitSpare1: null,
+        zfrProfitSpare2: null,
+        zfrProfitSpare3: null,
+        zfrProfitSpare4: null,
+        zfrProfitSpare5: null,
+        zfrProfitSpare6: null,
+        zfrProfitSpare7: null,
+        zfrProfitSpare8: null,
+        zfrProfitSpare9: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 全部搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 全部重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    //全部 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.zfrId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /* 融信编号赋值融资金额 */
+    amount(item) {
+      this.$set(this.form, "zfrAmount", item.zfiAmount);
+      this.$set(this.form, "zfrRepaymentDate", item.zfiExpireDate);
+      this.$set(this.form, "zfrRate", item.zfpcrRate);
+      this.$set(this.form, "zfpcrLoantype", item.zfpcrLoantype);
+      this.$set(this.form, "zfiProductId", item.zfiProductId);
+      if(item.zfiId){
+        this.loading = true;
+        listBillInf(item.zfiId).then(response => {
+        this.billInfList = response.data;
+        this.loading = false;
+      }).then(() =>{
+        var queryParamsFile = {};
+            queryParamsFile.ticketList = this.billInfList;
+            getFile(queryParamsFile).then((response) => {
+                if(response.data){
+                    //获取发票文件
+                     this.invoiceFileList = response.data.invoiceFileList;
+                    //获取合同文件
+                     this.contractFileList = response.data.contractFileList;
+                    //获取其他文件
+                    this.otherFileList = response.data.otherFileList;
+                }
+            });
+      })
+      }
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          const loading = this.$loading({
+            lock: true,
+            text: "Loading",
+            spinner: "el-icon-loading",
+            background: "rgba(0, 0, 0, 0.7)",
+          });
+          addRecord(this.form).then(response => {
+            this.msgSuccess("新增成功");
+            loading.close();
+            this.$store.dispatch("tagsView/delView", this.$route);
+            this.$router.go(-1);
+          }).catch((response) => {
+              loading.close();
+          });
+          
+        }
+      });
+    },
+    /* 清空 */
+    clearBoth() {
+      this.form.zfrAmount = '';
+      this.form,zfrRepaymentDate = '';
+      this.form.zfrRate = '';
+      this.form.zfpcrLoantype = '';
+      this.billInfList = [];
+      this.contractFileList = [];
+      this.invoiceFileList = [];
+      this.otherFileList = [];
+    },
+    //应收账款合计
+    allAmount() {
+      var strarr = [0.00];
+      for (let i in this.billInfList) {
+        strarr.push(this.billInfList[i]["zbiAmount"]);
+      }
+      return Math.floor(eval(strarr.join("+")) * 100) / 100; //结果
+    },
+    /* //  将数字金额转换为大写金额 */
+    smallToBig(money) {
+      //  将数字金额转换为大写金额
+      var cnNums = new Array(
+        "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" ); //汉字的数字
+      var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
+      var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
+      var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
+      var cnInteger = "整"; //整数金额时后面跟的字符
+      var cnIntLast = "元"; //整数完以后的单位
+      //最大处理的数字
+      var maxNum = 999999999999999.9999;
+      var integerNum; //金额整数部分
+      var decimalNum; //金额小数部分
+      //输出的中文金额字符串
+      var chineseStr = "";
+      var parts; //分离金额后用的数组,预定义
+      if (money == "" || money == null || money == undefined) {
+        return "零元零角零分";
+      }
+      money = parseFloat(money);
+      if (money >= maxNum) {
+        //超出最大处理数字
+        return "超出最大处理数字";
+      }
+      if (money == 0) {
+        chineseStr = cnNums[0] + cnIntLast + cnInteger;
+        return chineseStr;
+      }
+      //四舍五入保留两位小数,转换为字符串
+      money = Math.round(money * 100).toString();
+      integerNum = money.substr(0, money.length - 2);
+      decimalNum = money.substr(money.length - 2);
+      //获取整型部分转换
+      if (parseInt(integerNum, 10) > 0) {
+        var zeroCount = 0;
+        var IntLen = integerNum.length;
+        for (var i = 0; i < IntLen; i++) {
+          var n = integerNum.substr(i, 1);
+          var p = IntLen - i - 1;
+          var q = p / 4;
+          var m = p % 4;
+          if (n == "0") {
+            zeroCount++;
+          } else {
+            if (zeroCount > 0) {
+              chineseStr += cnNums[0];
+            }
+            //归零
+            zeroCount = 0;
+            chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+          }
+          if (m == 0 && zeroCount < 4) {
+            chineseStr += cnIntUnits[q];
+          }
+        }
+        chineseStr += cnIntLast;
+      }
+      //小数部分
+      if (decimalNum != "") {
+        var decLen = decimalNum.length;
+        for (var i = 0; i < decLen; i++) {
+          var n = decimalNum.substr(i, 1);
+          if (n != "0") {
+            chineseStr += cnNums[Number(n)] + cnDecUnits[i];
+          }
+        }
+      }
+      if (chineseStr == "") {
+        chineseStr += cnNums[0] + cnIntLast + cnInteger;
+      } else if (decimalNum == "" || /^0*$/.test(decimalNum)) {
+        chineseStr += cnInteger;
+      }
+      return chineseStr;
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('sc-service/record/export', {
+        ...this.queryParams
+      }, `sc-service_record.xlsx`)
+    }
+  }
+};
+</script>

+ 29 - 22
front-vue/src/views/service/financeRecord/financeRecord.vue

@@ -33,7 +33,7 @@
           >申请融资</el-button>
         </el-col>
       </el-row>
-      <el-table v-loading="loading" :data="recordIngList" @selection-change="handleSelectionChange">
+      <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange">
         <el-table-column label="序号" type="index" width="50" align="center">
           <template slot-scope="scope">
             <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
@@ -55,9 +55,9 @@
               size="mini"
               type="text"
               icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['sc-service:record:edit']"
-            >修改</el-button>
+              @click="handleDetail(scope.row)"
+              v-hasPermi="['finance:record:query']"
+            >详情</el-button>
             <el-button
               size="mini"
               type="text"
@@ -110,7 +110,7 @@
           >申请融资</el-button>
         </el-col>
       </el-row>
-      <el-table v-loading="loadingIng" :data="recordList" @selection-change="handleSelectionChangeIng">
+      <el-table v-loading="loadingIng" :data="recordIngList" @selection-change="handleSelectionChangeIng">
         <el-table-column label="序号" type="index" width="50" align="center">
           <template slot-scope="scope">
             <span>{{(queryParamsIng.pageNum - 1) * queryParamsIng.pageSize + scope.$index + 1}}</span>
@@ -286,9 +286,9 @@
               size="mini"
               type="text"
               icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['sc-service:record:edit']"
-            >修改</el-button>
+              @click="handleDetail(scope.row)"
+              v-hasPermi="['finance:record:query']"
+            >详情</el-button>
             <el-button
               size="mini"
               type="text"
@@ -512,39 +512,40 @@ export default {
     getList() {
       this.loading = true;
       listRecord(this.queryParams).then(response => {
-        this.recordList = response.rows;
-        this.total = response.total;
+        debugger
+        this.recordList = response.data.records;
+        this.total = response.data.total;
         this.loading = false;
       });
     },
     /** 查询融资中融资记录列表 */
     getIngList() {
-      this.loading = true;
+      this.loadingIng = true;
       this.queryParamsIng.zfrStatus = '00';
       listRecord(this.queryParamsIng).then(response => {
-        this.recordIngList = response.rows;
-        this.totalIng = response.total;
-        this.loading = false;
+        this.recordIngList = response.data.records;
+        this.totalIng = response.data.total;
+        this.loadingIng = false;
       });
     },
     /** 查询已放款融资记录列表 */
     getEndList() {
-      this.loading = true;
+      this.loadingEnd = true;
       this.queryParamsEnd.zfrStatus = '01';
       listRecord(this.queryParamsEnd).then(response => {
-        this.recordEndList = response.rows;
-        this.totalIng = response.total;
-        this.loading = false;
+        this.recordEndList = response.data.records;
+        this.totalIng = response.data.total;
+        this.loadingEnd = false;
       });
     },
     /** 查询融资失败融资记录列表 */
     getLoseList() {
-      this.loading = true;
+      this.loadingLose = true;
       this.queryParamsLose.zfrStatus = '02';
       listRecord(this.queryParamsLose).then(response => {
-        this.recordLoseList = response.rows;
-        this.totalEnd = response.total;
-        this.loading = false;
+        this.recordLoseList = response.data.records;
+        this.totalEnd = response.data.total;
+        this.loadingLose = false;
       });
     },
     // 取消按钮
@@ -654,6 +655,12 @@ export default {
         this.title = "修改融资记录";
       });
     },
+    handleDetail(row){
+      this.reset();
+      const zfrId = row.zfrId || this.ids
+      Cookies.set("/financeRecord/detailFinanceRecord/" + zfrId, this.$route.fullPath)
+      this.$router.push("/financeRecord/detailFinanceRecord/" + zfrId);
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {