| 
					
				 | 
			
			
				@@ -1,8 +1,211 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="financialCollectionAddwrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <a-spin :spinning="spinning" tip="Loading..."> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-page-header :ghost="false" :backIcon="false" class="financialCollectionAddcont" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 自定义的二级文字标题 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template slot="subTitle"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a id="purchaseOrderEdit-back-btn" href="javascript:;" @click="handleBack(0)"><a-icon type="left" /> 返回列表</a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-collapse :activeKey="['1']" class="financialCollectionAddcont" v-if="detailData"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-collapse-panel key="1" header="基础信息"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <a-descriptions :column="{ xs: 2, sm: 3, md: 3}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="创建时间">{{ detailData&&detailData.createDate || '--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="申请人">{{ detailData&&detailData.applyPersonName || '--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="审核时间">{{ detailData&&detailData.auditDate || '--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item span="2" label="收款事由">{{ detailData&&detailData.bookReason || '--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="状态">{{ detailData&&detailData.statusDictValue || '--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="备注" :span="3">{{ detailData&&detailData.remarks||'--' }}</a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <a-descriptions-item label="附件" :span="3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a target="_blank" style="color: #00aaff;text-decoration: underline;margin-right: 15px;" :href="item.filePath" v-for="item in detailData.attachmentList" :key="item.id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ item.fileName }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </a-descriptions-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </a-descriptions> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-collapse-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-collapse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 财务明细 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-card :bordered="false" size="small" class="financialCollectionAddcont" v-if="$route.params.sn"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div slot="title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div style="display: flex;justify-content: space-between;align-items: center;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div>财务明细</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <a-alert type="info" style="margin-bottom:10px" v-if="detailData"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div slot="message"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            共 {{ total }} 条, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            订单金额合计¥{{ detailData.orderTotalAmount }}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            收款金额合计¥{{ detailData.receiptTotalAmount }}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            使用授信合计¥{{ detailData.useTotalAmount }}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            授信还款合计¥{{ detailData.payTotalAmount }}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            余款抵扣合计¥{{ detailData.balanceTotalAmount }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </a-alert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 列表 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <s-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class="sTable fixPagination" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ref="table" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :rowKey="(record) => record.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :columns="columns" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :data="loadData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :defaultLoadData="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :showPagination="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bordered> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template slot="expandedRowRender" slot-scope="record"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="display:flex;justify-content: space-around;padding:10px;" v-if="record.detailItemUseList.length || record.detailItemPayList.length"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width:45%;background:#fff;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :bordered="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :pagination="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :columns="useCol" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :data-source="record.detailItemUseList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :bordered="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width:45%;background:#fff;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :pagination="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :columns="payCol" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :data-source="record.detailItemPayList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="padding:10px;text-align:center;" v-else>暂无数据</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </s-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </a-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </a-spin> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { commonMixin } from '@/utils/mixin' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { VSelect, STable } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { financeBookFindBySn, financeBookDetailQueryList } from '@/api/financeBook.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'FinancialCollectionEdit', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mixins: [commonMixin], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { VSelect, STable }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spinning: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      detailData: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openDepartUserModal: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loadData: parameter => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const params = Object.assign(parameter, { bookSn: this.$route.params.sn }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return financeBookDetailQueryList(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const no = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (var i = 0; i < data.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data[i].no = no + i + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // 计算使用授信和授信还款的合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data[i].useTotalAmount = this.getTotal(data[i].detailItemUseList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              data[i].payTotalAmount = this.getTotal(data[i].detailItemPayList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.total = data.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      columns: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '序号', dataIndex: 'no', width: '5%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '收款日期', dataIndex: 'receiptDate', align: 'center', width: '8%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '客户名称', dataIndex: 'dealerEntity.dealerName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '客户编码', dataIndex: 'dealerEntity.dealerCode', align: 'center', width: '8%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '营业执照名称', dataIndex: 'dealerEntity.licenseName', align: 'center', width: '8%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '订单金额', dataIndex: 'orderAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '收款金额', dataIndex: 'receiptAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '使用授信', dataIndex: 'useTotalAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '授信还款', dataIndex: 'payTotalAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '跨月打款', dataIndex: 'nextMonthAmount', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '户名', dataIndex: 'bankAccount', align: 'center', width: '10%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '汇入银行', dataIndex: 'bankName', align: 'center', width: '10%', customRender: function (text) { return text || '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '足额打款', dataIndex: 'fullPaymentFlagDictValue', align: 'center', width: '5%', customRender: function (text) { return (text == 0 || text) ? text : '--' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '备注', dataIndex: 'remarks', align: 'center', width: '13%', customRender: function (text) { return text || '--' } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      useCol: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '使用授信项目', dataIndex: 'itemName', width: '50%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '使用授信金额', dataIndex: 'itemAmount', width: '50%', align: 'center' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      payCol: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '授信还款项目', dataIndex: 'itemName', width: '50%', align: 'center' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: '授信还款金额', dataIndex: 'itemAmount', width: '50%', align: 'center' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getTotal (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let ret = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ret = ret + item.itemAmount 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return ret.toFixed(2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  财务单基础详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getDetail (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.spinning = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      financeBookFindBySn({ bookSn: this.$route.params.sn }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.detailData = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (!type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 刷新明细列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$refs.table.refresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.spinning = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 返回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleBack (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$router.push({ name: 'financialCollectionList' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageInit () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.$route.params.sn) { //  编辑页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.getDetail() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  activated () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeRouteEnter (to, from, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    next(vm => {}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="less"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .financialCollectionAddwrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding-bottom: 51px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    >.ant-spin-nested-loading{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overflow-y: scroll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .financialCollectionAddcont{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .affix{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .ant-affix{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        z-index: 101; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |