financialCollectionDetail.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <div style=" display: inline-block !important;">
  3. <el-button size="mini" type="text" @click="visibleShow" :disabled="isFull">明细</el-button>
  4. <el-drawer
  5. :title="data.erpagentnum+ ' ' + data.enterprisename + '_' + unwriteoffamounttype + '未回款明细'"
  6. :visible.sync="visible"
  7. size="90%"
  8. direction="rtl"
  9. append-to-body
  10. @close="onClose"
  11. >
  12. <div class="drawer__panel_new">
  13. <div style="margin-bottom: 50px">
  14. <div style="float: left">
  15. <span class="search__label">搜索:</span>
  16. <el-input style="width:300px;" placeholder="订单号、部门、业务员、客户、产品、品号" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
  17. </el-input>
  18. <exportFile :param="param" :columns="tablecols" :fileName="data.erpagentnum+ ' ' + data.enterprisename + '_' + unwriteoffamounttype + '未回款明细'" :dataid="dataid"></exportFile>
  19. </div>
  20. <div style="float: right">
  21. <span class="search__label">分析日期:</span>
  22. <span style="font-size: 14px">{{nowDate}}</span>
  23. </div>
  24. </div>
  25. <div style="height: calc(100vh - 255px)">
  26. <tableTemplate ref="table" :layout="tablecols" :data="list" :opwidth="200" :custom="true" height="calc(100vh - 170px)">
  27. <template v-slot:customcol="scope">
  28. <p v-if="scope.column.columnname === 'price'">
  29. <span v-if="scope.column.data[scope.column.columnname]">
  30. ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
  31. </span>
  32. <span v-else>--</span>
  33. </p>
  34. <p v-else-if="scope.column.columnname === 'amount'">
  35. <span v-if="scope.column.data[scope.column.columnname]">
  36. ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
  37. </span>
  38. <span v-else>--</span>
  39. </p>
  40. <p v-else-if="scope.column.columnname === 'outOrderamount'">
  41. <span v-if="scope.column.data[scope.column.columnname]">
  42. ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
  43. </span>
  44. <span v-else>--</span>
  45. </p>
  46. <p v-else-if="scope.column.columnname === 'invoiceamount'">
  47. <span v-if="scope.column.data[scope.column.columnname]">
  48. ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
  49. </span>
  50. <span v-else>--</span>
  51. </p>
  52. <p v-else-if="scope.column.columnname === 'unwriteoffamount'">
  53. <span v-if="scope.column.data[scope.column.columnname]">
  54. ¥{{tool.formatAmount(scope.column.data[scope.column.columnname],2)}}
  55. </span>
  56. <span v-else>--</span>
  57. </p>
  58. <p v-else>{{scope.column.data[scope.column.columnname]?scope.column.data[scope.column.columnname]:'--'}}</p>
  59. </template>
  60. </tableTemplate>
  61. <div style="margin: 10px 0 10px 0">
  62. <div style="float: left">
  63. <span style="color: #333333;font-size: 16px">订单数:</span><span style="color:red;font-size: 16px;margin-right: 10px">{{orderqty}}</span>
  64. <span style="color: #333333;font-size: 16px">订单行数:</span><span style="color:red;font-size: 16px;margin-right: 10px">{{orderitemsqty}}</span>
  65. <span style="color: #333333;font-size: 16px">订单总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalamount,2)}}</span>
  66. <span style="color: #333333;font-size: 16px">出货总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totaloutOrderamount,2)}}</span>
  67. <span style="color: #333333;font-size: 16px">开票总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalinvoiceamount,2)}}</span>
  68. <span style="color: #333333;font-size: 16px">未核销总金额:</span><span style="color:red;font-size: 16px;margin-right: 10px">¥{{tool.formatAmount(totalunwriteoffamount,2)}}</span>
  69. </div>
  70. <div style="text-align:right;float: right;">
  71. <el-pagination
  72. background
  73. @size-change="handleSizeChange"
  74. @current-change="handleCurrentChange"
  75. :current-page="currentPage"
  76. :pager-count="5"
  77. :page-sizes="[100, 50,100, 200]"
  78. :page-size="100"
  79. layout="total,sizes, prev, pager, next, jumper"
  80. :total="total">
  81. </el-pagination>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </el-drawer>
  87. </div>
  88. </template>
  89. <script>
  90. import tableTemplate from '@/views/salesData/components/table';
  91. import exportFile from '@/components/export_file/index'
  92. export default {
  93. name: "financialCollectionDetail",
  94. components:{tableTemplate,exportFile},
  95. props:["type","dataid","sys_enterpriseid","data","unwriteoffamounttype","isFull"],
  96. data(){
  97. return {
  98. visible:false,
  99. list:[],
  100. tablecols:[],
  101. currentPage:0,
  102. total:0,
  103. param:{
  104. "id": 20231017110204,
  105. "content": {
  106. "type": '',
  107. "dataid": '',
  108. "unwriteoffamounttype": "",
  109. "sys_enterpriseid": '',
  110. "pageSize":100,
  111. "pageNumber":1,
  112. "where": {
  113. "condition": ""
  114. }
  115. },
  116. },
  117. nowDate:new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate(),
  118. "orderqty": 0,//订单数量
  119. "orderitemsqty": 0,//订单行数量
  120. "totalamount": 0,//总金额
  121. "totaloutOrderamount": 0,//总出货金额
  122. "totalinvoiceamount": 0,//总开票金额
  123. "totalunwriteoffamount": 0,//总未核销金额
  124. }
  125. },
  126. methods:{
  127. visibleShow(){
  128. this.visible = true
  129. this.param.content.pageNumber = 1
  130. this.listData()
  131. },
  132. async listData(){
  133. this.param.content.type = this.type
  134. this.param.content.dataid = this.dataid
  135. this.param.content.sys_enterpriseid = this.sys_enterpriseid
  136. this.param.content.unwriteoffamounttype = this.unwriteoffamounttype
  137. const res = await this.$api.requested(this.param)
  138. this.list = res.data
  139. this.total = res.total
  140. this.currentPage = res.data.pageNumber
  141. this.orderqty = res.data[0].orderqty
  142. this.orderitemsqty = res.data[0].orderitemsqty
  143. this.totalamount = res.data[0].totalamount
  144. this.totaloutOrderamount = res.data[0].totaloutOrderamount
  145. this.totalinvoiceamount = res.data[0].totalinvoiceamount
  146. this.totalunwriteoffamount = res.data[0].totalunwriteoffamount
  147. },
  148. handleSizeChange(val) {
  149. // console.log(`每页 ${val} 条`);
  150. this.param.content.pageSize = val
  151. this.listData()
  152. },
  153. handleCurrentChange(val) {
  154. // console.log(`当前页: ${val}`);
  155. this.param.content.pageNumber = val
  156. this.listData()
  157. },
  158. onClose(){}
  159. },
  160. created() {
  161. this.tablecols = this.tool.tabelCol(this.$route.name).financialCollectioDetailTable.tablecols
  162. }
  163. }
  164. </script>
  165. <style scoped>
  166. </style>