Browse Source

融资管理

peixh 3 years ago
parent
commit
450958dc28

+ 11 - 3
front-vue/src/api/service/financeRecord/record.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询融资记录列表
 export function listRecord(query) {
   return request({
-    url: '/sc-service/financeRecord/list',
+    url: '/sc-service_pxh/financeRecord/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listRecord(query) {
 // 查询融资记录详细
 export function getRecord(zfrId) {
   return request({
-    url: '/sc-service/financeRecord/' + zfrId,
+    url: '/sc-service_pxh/financeRecord/' + zfrId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getRecord(zfrId) {
 // 新增融资记录
 export function addRecord(data) {
   return request({
-    url: '/sc-service/financeRecord',
+    url: '/sc-service_pxh/financeRecord',
     method: 'post',
     data: data
   })
@@ -42,3 +42,11 @@ export function delRecord(zfrId) {
     method: 'delete'
   })
 }
+
+// 删除融资记录
+export function listBillInf(zfiId) {
+  return request({
+    url: '/sc-service/financeRecord/listBillInf/' + zfiId,
+    method: 'get'
+  })
+}

+ 205 - 19
front-vue/src/views/service/financeRecord/addFinanceRecord.vue

@@ -6,7 +6,7 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="融信编号" prop="zfrFinanceId">
-              <el-select v-model="form.zfrFinanceId" style="width : 284px" clearable>
+              <el-select v-model="form.zfrFinanceId" style="width : 284px" clearable @clear="clearBoth">
                   <el-option
                     v-for="(item,index) in financeInfList"
                     :key="index"
@@ -45,11 +45,78 @@
             </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>
+        <!-- <el-button @click="cancel">取 消</el-button> -->
       </div>
   </div>
 </template>
@@ -57,6 +124,7 @@
 <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: {
@@ -81,6 +149,12 @@ export default {
       financeInfList: [],
       //应收账款
       billInfList: [],
+      //合同附件
+      contractFileList:[],
+      //发票附件
+      invoiceFileList:[],
+      //其他文件
+      otherFileList:[],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -101,6 +175,8 @@ export default {
         zfrApplyType: null,
         zfrStatus: null,
         zfrApproveStt: null,
+        zfpcrLoantype: null,
+        zfiProductId: null
       },
       // 表单参数
       form: {},
@@ -186,33 +262,143 @@ export default {
       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){
-        listBillInf().then(response => {
-        debugger
-        this.financeInfList = response.data;
+        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) {
-          if (this.form.zfrId != null) {
-            updateRecord(this.form).then(response => {
-              this.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
+          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 {
-            addRecord(this.form).then(response => {
-              this.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
+            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() {