Browse Source

Merge branch 'dev1.0' of http://192.168.0.200:3000/suf/factoring-trade-front-end-v2 into chang

changjiaming 7 months ago
parent
commit
19387ca589

+ 2 - 1
src/router/index.js

@@ -63,8 +63,9 @@ export const constantRoutes = [
   exemptionFollow,
   financialManagement,
   divideAccountsManage,
-  systemManage,
   refundManage,
+  systemManage,
+
   // 404 page must be placed at the end !!!
   { path: '*', redirect: '/404', hidden: true }
 ]

+ 48 - 1
src/views/divideAccountsManage/edit.vue

@@ -54,6 +54,18 @@
           :data="loanTableData"
           :count="0"
         />
+        <div class="calc-box">
+          <span>逾期利息合计:{{ handlerMoneyEmpty(getloanCalc.financingOverdueInterest) }}</span>
+          <span>融资利息合计:{{ handlerMoneyEmpty(getloanCalc.financingInterest) }}</span>
+          <span>融资管理费合计:{{ handlerMoneyEmpty(getloanCalc.financingManagementFee) }}</span>
+          <span>融资本金合计:{{ handlerMoneyEmpty(getloanCalc.financingPrincipal) }}</span>
+          <span>计提金额合计:{{ handlerMoneyEmpty(getloanCalc.accrualAmount) }}</span>
+          <span>平台利润合计:{{ handlerMoneyEmpty(getloanCalc.platformProfit) }}</span>
+          <span>质保金合计:{{ handlerMoneyEmpty(getloanCalc.guarantee) }}</span>
+          <span>实退金额合计:{{ handlerMoneyEmpty(getloanCalc.discountAmount) }}</span>
+          <span>应退利息合计:{{ handlerMoneyEmpty(getloanCalc.refundInterest) }}</span>
+          <span>应退管理费合计:{{ handlerMoneyEmpty(getloanCalc.refundManagementFee) }}</span>
+        </div>
       </el-form-item>
 
       <cy-info-title>
@@ -164,6 +176,33 @@ export default {
         return total * 1 + item.currentAssignAmount * 1
       }, 0) : '0.00'
     },
+    getloanCalc() {
+      const obj = {
+        financingOverdueInterest: 0,
+        financingInterest: 0,
+        financingManagementFee: 0,
+        financingPrincipal: 0,
+        accrualAmount: 0,
+        platformProfit: 0,
+        guarantee: 0,
+        discountAmount: 0,
+        refundInterest: 0,
+        refundManagementFee: 0
+      }
+      this.loanTableData.forEach(item => {
+        obj.financingOverdueInterest += Number(item.financingOverdueInterest)
+        obj.financingInterest += Number(item.financingInterest)
+        obj.financingManagementFee += Number(item.financingManagementFee)
+        obj.financingPrincipal += Number(item.financingPrincipal)
+        obj.accrualAmount += Number(item.accrualAmount)
+        obj.platformProfit += Number(item.platformProfit)
+        obj.guarantee += Number(item.guarantee)
+        obj.discountAmount += Number(item.discountAmount)
+        obj.refundInterest += Number(item.refundInterest)
+        obj.refundManagementFee += Number(item.refundManagementFee)
+      })
+      return obj
+    },
     loanColumns() {
       return [
         {
@@ -608,7 +647,15 @@ export default {
     color: red;
     margin-left: 10px;
   }
-
+  .calc-box {
+    width: 100%;
+    padding: 5px 10px;
+    background: #F5F6F6;
+    // margin-top: 20px;
+    & > span {
+      margin-right: 10px;
+    }
+  }
 }
 </style>
 

+ 3 - 3
src/views/divideAccountsManage/index.vue

@@ -199,14 +199,14 @@ export default {
               {
                 msg: '处理',
                 icon: 'iconfont icon-xiugai',
-                power: 'projectNumber:delete',
+                power: 'editLedger',
                 rowPower: ['待处理'],
                 category: 'edit'
               },
               {
                 msg: '查看',
                 icon: 'iconfont icon-Magnifier',
-                power: 'projectNumber:delete',
+                power: 'viewLedger',
                 rowPower: ['已完成'],
                 category: 'see'
               }
@@ -214,7 +214,7 @@ export default {
             const options = btnList.map(item => {
               return (
                 this.tablePower({ item, row }) && <el-tooltip class='item' effect='dark' content={item.msg} placement='top' >
-                  <span class='table-icon-box'>
+                  <span class='table-icon-box' v-power={item.power}>
                     <i class={item.icon} onClick={() => { this.handlerOperate(item.category, row) }}></i>
                   </span>
                 </el-tooltip>

+ 30 - 3
src/views/financialManagement/addAccounts.vue

@@ -7,8 +7,11 @@
     </div> -->
     <div slot="bottom">
       <div class="tempalte-content" style="min-height: auto; padding: 0px 20px ">
-        <add-accounts-content ref="addAccountsContent" />
-        <div class="submit-btn">
+        <!-- 入账 -->
+        <add-accounts-content v-if="settleType === '1'" ref="addAccountsContent" :disabled="disabled" />
+        <!-- 出账 -->
+        <edit-exit-account v-if="settleType === '2'" ref="exitAccountsContent" :disabled="disabled"></edit-exit-account>
+        <div v-if="!disabled" class="submit-btn">
           <el-button style="width: 150px;" @click="() => { $router.go(-1) }">取消</el-button>
           <el-button style="width: 150px;" type="primary" @click="onSubmit">确定</el-button>
         </div>
@@ -19,19 +22,38 @@
 
 <script>
 import AddAccountsContent from './components/AddAccountsContent.vue'
+import EditExitAccount from './components/EditExitAccount'
 import { onSubmit } from '@/api/financialManagement/financialManagement'
 export default {
   name: 'BiddingManagementTemplateReview',
   components: {
-    AddAccountsContent
+    AddAccountsContent,
+    EditExitAccount
   },
   data() {
     return {
 
     }
   },
+  computed: {
+    settleType() {
+      return this.$route.query.entryOutType
+    },
+    disabled() {
+      return this.$route.query.type === 'see'
+    }
+  },
   methods: {
     onSubmit() {
+      if (this.settleType === '1') {
+        this.submitEntryFinance()
+      }
+      // if (this.settleType === '2') {
+      //   this.submitExitFinance()
+      // }
+    },
+    // 提交入账
+    submitEntryFinance() {
       this.$refs.addAccountsContent.getParams().then(data => {
         const params = {
           ...data
@@ -42,6 +64,11 @@ export default {
         })
       })
     }
+    // 提交出账
+    // submitExitFinance() {
+    //   console.log('出账提交')
+    //   console.log('submitExitFinance-----')
+    // }
   }
 }
 </script>

+ 26 - 22
src/views/financialManagement/components/AddAccountsContent.vue

@@ -3,12 +3,12 @@
     <el-form ref="ruleForm" :key="key" :model="ruleForm" :rules="rules" label-width="150px" label-position="top" class="rule-form-orange">
       <cy-info-title>基础信息</cy-info-title>
       <el-form-item label="出入账类型" prop="billType">
-        <el-radio-group v-model="ruleForm.billType">
+        <el-radio-group v-model="ruleForm.billType" :disabled="disabled">
           <el-radio :label="0">入账</el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item label="企业名称" prop="companyId">
-        <el-select v-model="ruleForm.companyId" filterable placeholder="请选择企业名称">
+        <el-select v-model="ruleForm.companyId" filterable placeholder="请选择企业名称" :disabled="disabled">
           <el-option
             v-for="item in corporateNameList"
             :key="item.id"
@@ -19,7 +19,7 @@
       </el-form-item>
       <cy-info-title style="margin-top: 10px">出入账信息</cy-info-title>
       <el-form-item label="账户归属" prop="attributionOfAccountId">
-        <el-radio-group v-model="ruleForm.attributionOfAccountId" @change="attributionOfAccountChange(ruleForm.companyOwnershipId)">
+        <el-radio-group v-model="ruleForm.attributionOfAccountId" :disabled="disabled" @change="attributionOfAccountChange(ruleForm.companyOwnershipId)">
           <el-radio v-for="item in attributionOfAccountList" :key="item.id" :label="item.id">{{ item.name }}</el-radio>
         </el-radio-group>
       </el-form-item>
@@ -29,6 +29,7 @@
           v-model="ruleForm.companyOwnershipId"
           filterable
           placeholder="请选择公司归属"
+          :disabled="disabled"
           @change="companyOwnershipChange(ruleForm.companyOwnershipId)"
         >
           <el-option
@@ -43,6 +44,7 @@
           v-model="ruleForm.refinancingManagementId"
           filterable
           placeholder="请选择公司归属"
+          :disabled="disabled"
           @change="refinancingManagementChange(ruleForm.refinancingManagementId)"
         >
           <el-option
@@ -58,6 +60,7 @@
           v-model="ruleForm.businessTypeId"
           filterable
           placeholder="请选择业务类型"
+          :disabled="disabled"
           @change="businessTypeChange"
         >
           <el-option
@@ -74,6 +77,7 @@
           v-model="ruleForm.bankName"
           filterable
           placeholder="请选择开户银行名称"
+          :disabled="disabled"
           @change="bankChange"
         >
           <el-option
@@ -88,6 +92,7 @@
           v-model="ruleForm.bankName"
           filterable
           placeholder="请选择开户银行名称"
+          :disabled="disabled"
           @change="bankChange"
         >
           <el-option
@@ -102,12 +107,12 @@
         <el-input
           v-model="ruleForm.bankCardNo"
           placeholder="请输入账号"
-          disabled
+          :disabled="disabled"
         >
         </el-input>
       </el-form-item>
       <el-form-item label="类型" prop="type">
-        <el-radio-group v-model="ruleForm.type">
+        <el-radio-group v-model="ruleForm.type" :disabled="disabled">
           <el-radio
             v-for="item in constant.cashFlowEntryType"
             :key="item.code"
@@ -123,7 +128,7 @@
         prop="incomeAmount"
         class="form-required"
       >
-        <cy-amount-input v-model="ruleForm.incomeAmount" class="one-form-item" />
+        <cy-amount-input v-model="ruleForm.incomeAmount" class="one-form-item" :disabled="disabled" />
       </el-form-item>
       <el-form-item
         v-if="ruleForm.type === 'entryType_bills_discounted'"
@@ -131,7 +136,7 @@
         prop="invoiceAmount"
         class="one-form-item form-required"
       >
-        <cy-amount-input v-model="ruleForm.invoiceAmount" class="one-form-item" />
+        <cy-amount-input v-model="ruleForm.invoiceAmount" class="one-form-item" :disabled="disabled" />
       </el-form-item>
       <el-form-item
         v-if="ruleForm.type === 'entryType_bills_discounted'"
@@ -139,7 +144,7 @@
         prop="realAmount"
         class="one-form-item form-required"
       >
-        <cy-amount-input v-model="ruleForm.realAmount" class="one-form-item" />
+        <cy-amount-input v-model="ruleForm.realAmount" class="one-form-item" :disabled="disabled" />
       </el-form-item>
       <el-form-item label="入账日期" prop="incomeDate" :class="{'one-form-item':ruleForm.type === 0}" style="width: 100%">
         <el-date-picker
@@ -150,6 +155,7 @@
           style="width: 100%"
           :picker-options="pickerOptions"
           value-format="yyyy-MM-dd"
+          :disabled="disabled"
         >
         </el-date-picker>
       </el-form-item>
@@ -157,20 +163,14 @@
         label="附件:"
         style="width:100%"
       >
-        <unified-editor :content.sync="ruleForm.lifeFeedback" />
-        <cy-upload
-          ref="fileStorage"
-          :upload-params="{}"
-          :file-data="lifeFile"
-          :upload-from-orange-status="true"
-          placeholder="请上传附件"
-        />
+        <unified-editor :content.sync="ruleForm.content" :disabled="disabled" />
 
       </el-form-item>
       <el-form-item label="备注" style="width: 100%">
         <el-input
           v-model="ruleForm.remark"
           placeholder="请输入备注"
+          :disabled="disabled"
         />
       </el-form-item>
     </el-form>
@@ -186,10 +186,10 @@ export default {
     UnifiedEditor: () => import('@/components/UnifiedEditor/index.vue')
   },
   props: {
-    // disabled: {
-    //   type: Boolean,
-    //   default: false
-    // },
+    disabled: {
+      type: Boolean,
+      default: false
+    }
     // deatailsInfo: {
     //   type: Object,
     //   default: () => {}
@@ -220,6 +220,7 @@ export default {
         incomeAmount: '',
         invoiceAmount: '',
         realAmount: '',
+        content: '',
         remark: ''
       },
       rules: {
@@ -325,7 +326,8 @@ export default {
             incomeAmount: cashFlowManageEntryInfo.incomeAmount,
             invoiceAmount: cashFlowManageEntryInfo.invoiceAmount,
             realAmount: cashFlowManageEntryInfo.realAmount,
-            remark: cashFlowManageEntryInfo.remark
+            remark: cashFlowManageEntryInfo.remark,
+            content: cashFlowManageEntryInfo.content
           }
           const attributionOfAccountCode = codeChangeName(this.attributionOfAccountList, this.ruleForm.attributionOfAccountId, 'id', 'code')
           if (attributionOfAccountCode === 'capital') {
@@ -390,6 +392,7 @@ export default {
         this.corporateNameList = response.data
       })
     },
+    // 获取账户归属 longSilver--长银系 noLongSilver--非长银系  capital--资方
     getAttributionOfAccount() {
       getAttributionOfAccount({ parentCode: 'attributionOfAccount' }).then(response => {
         this.attributionOfAccountList = response.data
@@ -483,7 +486,7 @@ export default {
     },
     getParams() {
       return new Promise((resolve, reject) => {
-        const { companyId, attributionOfAccountId, companyOwnershipId, refinancingManagementId, bankCardNoId, businessTypeId, businessNumberId, type, incomeDate, incomeAmount, invoiceAmount, realAmount, remark, bankName, bankCardNo, id } = this.ruleForm
+        const { companyId, attributionOfAccountId, companyOwnershipId, refinancingManagementId, bankCardNoId, businessTypeId, businessNumberId, type, incomeDate, incomeAmount, invoiceAmount, realAmount, remark, bankName, bankCardNo, id, content } = this.ruleForm
 
         // 账户归属选择为资方的时候校验公司归属和业务类型
         if (this.isCapital(attributionOfAccountId)) {
@@ -534,6 +537,7 @@ export default {
           incomeDate,
           remark,
           bankName,
+          content,
           bankAccount: bankCardNo
         }
         if (type === 'entryType_cash') {

+ 445 - 0
src/views/financialManagement/components/EditExitAccount.vue

@@ -0,0 +1,445 @@
+<template>
+  <div class="add-accounts-content">
+    <el-form ref="ruleForm" :key="key" :model="ruleForm" :rules="rules" label-width="150px" label-position="top" class="rule-form-orange">
+      <cy-info-title>出账信息</cy-info-title>
+      <el-form-item label="核心企业名称" prop="customerName">
+        <el-input
+          v-model="ruleForm.customerName"
+          placeholder="请输入核心企业名称"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="业务名称" prop="businessName">
+        <el-input
+          v-model="ruleForm.businessName"
+          placeholder="请输入业务名称"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="业务编号" prop="businessNumber">
+        <el-input
+          v-model="ruleForm.businessNumber"
+          placeholder="请输入业务编号"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="供应商名称" prop="supplierName">
+        <el-input
+          v-model="ruleForm.supplierName"
+          placeholder="请输入供应商名称"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="采购合同编号" prop="contractNumber">
+        <el-input
+          v-model="ruleForm.contractNumber"
+          placeholder="请输入采购合同编号"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="类型" prop="type">
+        <el-input
+          v-model="ruleForm.type"
+          placeholder="请输入采购合同编号"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="金额" prop="amount">
+        <el-input
+          v-model="ruleForm.amount"
+          placeholder="请输入金额"
+          :disabled="disabled"
+        >
+        </el-input>
+      </el-form-item>
+      <el-form-item label="日期" prop="cashDate">
+        <el-date-picker
+          v-model="ruleForm.cashDate"
+          type="date"
+          clearable
+          placeholder="请选择日期"
+          style="width: 100%"
+          :picker-options="pickerOptions"
+          value-format="yyyy-MM-dd"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item style="width: 100%;">
+        <el-table
+          :data="exitFinanceData"
+          :span-method="spanMethod"
+          :default-expand-all="true"
+          @expand-change="entryTableExpandChange"
+        >
+          <!-- <el-table-column type="expand">
+            <template slot-scope="props">
+              <template v-if="disabled">
+                <div class="entry-table-expand">
+                  {{ (!props.row.xxs || props.row.xxs == '') ? '无附件' : '' }}
+                </div>
+              </template>
+              <template v-else>
+                <div style="width: 100%">
+                  <unified-editor :content.sync="props.row.lifeFeedback" />
+                </div>
+              </template>
+            </template>
+          </el-table-column> -->
+          <el-table-column
+            label="序号"
+            type="index"
+            width="50"
+          >
+          </el-table-column>
+          <el-table-column
+            property="date"
+            label="此次放款日期"
+            width="120"
+            :show-overflow-tooltip="true"
+          >
+          </el-table-column>
+          <el-table-column
+            property="date"
+            label="此次放款金额"
+            width="120"
+            :show-overflow-tooltip="true"
+          >
+          </el-table-column>
+          <el-table-column label="打款账户">
+            <el-table-column label="公司归属" :show-overflow-tooltip="true">
+              <template slot-scope="scope">
+                <el-select v-model="scope.row.companyOwnerId" placeholder="请选择归属公司">
+                  <el-option
+                    v-for="item in companyOwnershipCapitalList"
+                    :key="item.id"
+                    :label="item.institutionName"
+                    :value="item.id"
+                  />
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column label="银行名称" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column label="银行卡号" :show-overflow-tooltip="true"></el-table-column>
+          </el-table-column>
+          <el-table-column label="收款账户">
+            <el-table-column label="银行名称" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column label="银行卡号" :show-overflow-tooltip="true"></el-table-column>
+          </el-table-column>
+          <el-table-column
+            property="date"
+            label="当前执行人"
+            width="120"
+          >
+          </el-table-column>
+          <el-table-column label="操作">
+            <template slot-scope="scope">
+              <el-button type="text" @click="addExitFinanceRow">增加</el-button>
+              <el-button v-if="scope.$index !== 0 && exitFinanceData.length >= 2" type="text" @click="delExitFinanceRow(scope.$index, scope.row)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-form-item>
+      <el-form-item label="备注" style="width: 100%">
+        <el-input
+          v-model="ruleForm.remark"
+          placeholder="请输入备注"
+        />
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+<script>
+import { mapGetters } from 'vuex'
+import { getEnterprises, getAttributionOfAccount, getCompanyOwnership, getInstitutionName, getNocapitalBankName, getBankCardNo, getBusinessType, getCpitalBankName, cashFlowGetExitDetail } from '@/api/financialManagement/financialManagement'
+import { codeChangeName, filterListData } from '@/utils/index'
+export default {
+  components: {
+    UnifiedEditor: () => import('@/components/UnifiedEditor/index.vue')
+  },
+  props: {
+    disabled: {
+      type: Boolean,
+      default: false
+    }
+  },
+  data() {
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now()
+        }
+      },
+      key: 0,
+      ruleForm: {
+        id: '',
+        customerName: '',
+        businessName: '',
+        businessNumber: '',
+        supplierName: '',
+        contractNumber: '',
+        amount: '',
+        cashDate: '',
+        type: '',
+        remark: ''
+      },
+      rules: {
+        customerName: [
+          { required: true, message: '请输入核心企业名称', trigger: 'change' }
+        ],
+        businessName: [
+          { required: true, message: '请输入业务名称', trigger: 'change' }
+        ],
+        businessNumber: [
+          { required: true, message: '请输入业务编号', trigger: 'change' }
+        ],
+        supplierName: [
+          { required: true, message: '请输入供应商名称', trigger: 'blur' }
+        ],
+        contractNumber: [
+          { required: true, message: '请输入采购合同编号', trigger: 'blur' }
+        ],
+        amount: [
+          { required: true, message: '请输入金额', trigger: 'blur' }
+        ],
+        type: [
+          { required: true, message: '请选择类型', trigger: 'blur' }
+        ],
+        cashDate: [
+          { required: true, message: '请选择出账日期', trigger: 'blur' }
+        ]
+      },
+      exitFinanceData: [
+        {
+          date: '2024-03-22'
+        }
+      ],
+      companyOwnershipCapitalList: [] // 归属公司列表
+    }
+  },
+  computed: {
+    ...mapGetters([
+      'name',
+      'constant'
+    ]),
+    getCompanyOwnershipList() {
+      return (attributionOfAccountId) => {
+        const attributionOfAccountCode = codeChangeName(this.attributionOfAccountList, attributionOfAccountId, 'id', 'code')
+        let list = []
+        if (attributionOfAccountCode === 'longSilver') {
+          list = filterListData(this.companyOwnershipList, ['shang_hai_ao_hong', 'xi_an_ao_hong', 'shan_xi_ka_fubao', 'shen_zhen_chang_yin_bao', 'shang_hai_ke_fubao'])
+        } else if (attributionOfAccountCode === 'noLongSilver') {
+          list = filterListData(this.companyOwnershipList, ['zi_guan', 'factoring', 'investment', 'shen_zhen_chang_yin', 'shang_hai_yin_guo'])
+        }
+        return list
+      }
+    },
+    isCapital() {
+      return (attributionOfAccountId) => {
+        const attributionOfAccountCode = codeChangeName(this.attributionOfAccountList, attributionOfAccountId, 'id', 'code')
+        if (attributionOfAccountCode === 'longSilver') {
+          return false
+        } else if (attributionOfAccountCode === 'noLongSilver') {
+          return false
+        } else if (attributionOfAccountCode === 'capital') {
+          return true
+        } else if (attributionOfAccountCode === 'undefined') {
+          return false
+        }
+      }
+    }
+  },
+  created() {
+    this.$store.dispatch('getConstant', ['cashFlowEntryType'])
+    this.getEnterprises()
+    this.getAttributionOfAccount()
+    this.getCompanyOwnership()
+    this.getInstitutionName()
+
+    this.getCashFlowGetExitDetail()
+  },
+  methods: {
+    spanMethod({ row, column, rowIndex, columnIndex }) {
+      if (columnIndex === 10) {
+        console.log(column)
+        return { rowspan: 1, colspan: 10 }
+      }
+    },
+    addExitFinanceRow() {
+      this.exitFinanceData.push({ date: '2024-03-23' })
+    },
+    delExitFinanceRow(index) {
+      this.exitFinanceData.splice(index, 1)
+    },
+    // 获取出账详情
+    getCashFlowGetExitDetail() {
+      const { id } = this.$route.query
+      if (id) {
+        cashFlowGetExitDetail(id).then(data => {
+          console.log(data)
+        })
+      }
+    },
+    getEnterprises() {
+      getEnterprises().then(response => {
+        this.corporateNameList = response.data
+      })
+    },
+    getAttributionOfAccount() {
+      getAttributionOfAccount({ parentCode: 'attributionOfAccount' }).then(response => {
+        this.attributionOfAccountList = response.data
+      })
+    },
+    getCompanyOwnership() {
+      getCompanyOwnership({ parentCode: 'companyOwnership' }).then(response => {
+        this.companyOwnershipList = response.data
+      })
+    },
+    // 获取归属公司列表
+    getInstitutionName() {
+      getInstitutionName().then(response => {
+        this.companyOwnershipCapitalList = response.data.data
+      })
+    },
+    // 归属公司方法chang
+    refinancingManagementChange(companyOwnership) {
+      const params = {
+        refinancingManagementId: companyOwnership
+      }
+      getBusinessType(params).then(({ data }) => {
+        // this.businessTypeList = data.data
+        console.log('businessTypeList -----------')
+        console.log(data.data)
+      })
+    },
+    attributionOfAccountChange() {
+      this.ruleForm.companyOwnershipId = ''
+      this.ruleForm.refinancingManagementId = ''
+      this.ruleForm.bankName = ''
+      this.ruleForm.bankCardNo = ''
+      this.ruleForm.bankCardNoId = ''
+      this.ruleForm.businessTypeId = ''
+      this.ruleForm.businessNumberId = ''
+    },
+    companyOwnershipChange(companyOwnership) {
+      this.ruleForm.bankName = ''
+      this.ruleForm.bankCardNo = ''
+      this.ruleForm.bankCardNoId = ''
+      this.ruleForm.businessTypeId = ''
+      this.ruleForm.businessNumberId = ''
+      const params = {
+        companyOwnershipId: companyOwnership
+      }
+      getNocapitalBankName(params).then(({ data }) => {
+        this.bankList = data
+        this.nanCapitalDataList = data
+      })
+    },
+    // 获取银行列表
+    getBankList() {
+      getCpitalBankName(params).then(({ data }) => {
+        console.log('getCpitalBankName -------------')
+        console.log(data)
+        this.bankList = data
+      })
+    },
+    bankChange() {
+      this.ruleForm.bankCardNo = ''
+      this.ruleForm.bankCardNoId = ''
+      const { bankName, companyOwnershipId, attributionOfAccountId, refinancingManagementId, businessTypeId } = this.ruleForm
+      const attributionOfAccountCode = codeChangeName(this.attributionOfAccountList, attributionOfAccountId, 'id', 'code')
+      let params = {}
+      if (attributionOfAccountCode === 'capital') {
+        params = {
+          refinancingManagementId,
+          bankName,
+          businessType: businessTypeId
+        }
+      } else {
+        params = {
+          companyOwnershipId,
+          bankName
+        }
+      }
+      getBankCardNo(params).then(response => {
+        this.ruleForm.bankCardNo = response.data[0].bankCardNo
+        this.ruleForm.bankCardNoId = response.data[0].id
+      })
+    },
+    getParams() {
+      return new Promise((resolve, reject) => {
+        const { companyId, attributionOfAccountId, companyOwnershipId, refinancingManagementId, bankCardNoId, businessTypeId, businessNumberId, type, incomeDate, incomeAmount, invoiceAmount, realAmount, remark, bankName, bankCardNo, id } = this.ruleForm
+
+        // 账户归属选择为资方的时候校验公司归属和业务类型
+        if (this.isCapital(attributionOfAccountId)) {
+          if (!refinancingManagementId) {
+            this.$message.warning('请选择公司归属')
+            return
+          }
+          if (!businessTypeId) {
+            this.$message.warning('请选择业务类型')
+            return
+          }
+        }
+        if (!this.isCapital(attributionOfAccountId)) {
+          if (!companyOwnershipId) {
+            this.$message.warning('请选择公司归属')
+            return
+          }
+        }
+        // 当类型为现金时校验入账金额
+        if (type === 'entryType_cash') {
+          if (!incomeAmount) {
+            this.$message.warning('请输入账金额')
+            return
+          }
+        }
+        // 当类型为票据贴现时校验票据金额和实际金额
+        if (type === 'entryType_bills_discounted') {
+          if (!invoiceAmount) {
+            this.$message.warning('请输入票据金额')
+            return
+          }
+          if (!realAmount) {
+            this.$message.warning('请输入实际金额')
+            return
+          }
+        }
+
+        const param = {
+          Loading: true,
+          id,
+          companyId,
+          accountBelong: attributionOfAccountId,
+          companyBelong: companyOwnershipId || refinancingManagementId,
+          bankAccountId: bankCardNoId,
+          businessType: businessTypeId,
+          businessTypeNumber: businessNumberId,
+          type,
+          incomeDate,
+          remark,
+          bankName,
+          bankAccount: bankCardNo
+        }
+        this.$refs.ruleForm.validate((valid) => {
+          if (valid) {
+            resolve(param)
+          }
+        })
+      })
+    },
+    entryTableExpandChange() {
+      return
+    }
+  }
+}
+</script>
+
+<style  scoped>
+
+</style>

+ 10 - 10
src/views/financialManagement/index.vue

@@ -139,16 +139,16 @@ export default {
           params: { id: 'children' }
         })
       } else {
-        // this.$router.push({
-        //   name: 'FinancialManagementView',
-        //   params: { id: 'children' },
-        //   query: {
-        //     taskName: row.taskName,
-        //     type,
-        //     id: row.id,
-        //     entryOutType: row.entryOutType // 出入账类型 1--入账 2--出账
-        //   }
-        // })
+        this.$router.push({
+          name: 'FinancialManagementView',
+          params: { id: 'children' },
+          query: {
+            taskName: row.taskName,
+            type,
+            id: row.id,
+            entryOutType: row.entryOutType // 出入账类型 1--入账 2--出账
+          }
+        })
       }
     }
   }

+ 11 - 6
src/views/refundManage/components/refundApplyContent.vue

@@ -44,7 +44,7 @@
         />
       </div>
       <div v-for="(item, index) in ruleForm.refundsApplyDetails" :key="index + 1" style="width: 100%; display: flex; flex-wrap: wrap;">
-        <cy-info-title style="margin-top: 20px">{{ getApplyDetailsDesc(index) }}</cy-info-title>
+        <cy-info-title style="margin-top: 20px">{{ getApplyDetailsDesc(item) }}</cy-info-title>
         <el-form-item label="申请类型" class="form-required">
           <el-radio-group v-model="item.applyType">
             <el-radio :label="1" :disabled="disabled">退款</el-radio>
@@ -160,7 +160,12 @@ export default {
         {
           label: '入账标签',
           prop: 'label',
-          showTooltip: true
+          render: (h, row) => {
+            if (row.label === '' || row.label === null) {
+              return (h('div', ''))
+            }
+            return row.label === 1 ? (h('div', '上游回购')) : (h('div', '下游回款'))
+          }
         },
         {
           label: '金额类型',
@@ -336,11 +341,11 @@ export default {
       // }
     },
     // 获取申请内容标题文案
-    getApplyDetailsDesc(index) {
-      if (index === 0) {
-        return '申请内容(第一组:履约保证金+质保金+收放款执行)'
+    getApplyDetailsDesc(row) {
+      if (row.paymentMatter === 'oaRefundMatter') {
+        return `申请内容(履约保证金+质保金+收放款执行)`
       }
-      return '申请内容(第二组:实退金额)'
+      return `申请内容(实退金额)`
     },
     // 重组基础信息数据
     groupBaseInfoData(targetData) {

+ 6 - 6
src/views/refundManage/components/refundViewContent.vue

@@ -3,9 +3,9 @@
     <div v-if="advanceViewList.length" class="view-steps-box">
       <cy-steps :steps-data="advanceViewList"></cy-steps>
     </div>
-    <div v-loading="loading" class="tempalte-content">
+    <div v-loading="loading">
       <el-collapse v-if="advanceViewList.length" v-model="activeNames" @change="handleChange">
-        <el-collapse-item v-for="(item, index) in advanceViewList" :key="index" :name="index">
+        <el-collapse-item v-for="(item, index) in advanceViewList" :id="index" :key="index" :name="index">
           <template slot="title">
             <cy-view-bar
               :view-bar-data="{ ...item.businessProcessingLogVo, formBusinessName: item.formBusinessName, index: index + 1 }"
@@ -17,18 +17,21 @@
           <!-- <supplier-enterprise v-if="item.formBusinessName === '供应商C端录入' && !item.obj.constructionIndustry" :deatails-info="item.obj" :disabled="true"></supplier-enterprise> -->
         </el-collapse-item>
       </el-collapse>
-      <!-- <el-empty v-else style="height: calc(100vh - 0.85rem - 90px)"></el-empty> -->
+      <el-empty v-else></el-empty>
     </div>
   </div>
 </template>
 
 <script>
 import { doBusinessHistoryView } from '@/api/dictionary'
+import collapseMix from '@/mixins/collapseSeeMix'
+
 export default {
   components: {
     refundApplyContent: () => import('./refundApplyContent'),
     refundApproveContent: () => import('./reFundApproveContent')
   },
+  mixins: [collapseMix],
   provide() {
     return {
       disabled: true
@@ -46,9 +49,6 @@ export default {
     this.featchData()
   },
   methods: {
-    handleChange(val) {
-      // console.log(val);
-    },
     featchData() {
       this.loading = true
       const { id } = this.$route.params

File diff suppressed because it is too large
+ 1744 - 1678
yarn.lock