personalRealFundStat.vue 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <div class="app-container organization-index">
  3. <div class="title-container">
  4. <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
  5. </div>
  6. <y-page-list-layout :get-page-list="getPersonalStat" :page-list="personalStat" :page-para="listQuery1" :pageSizes="[10, 20, 30, 50, 100, 200, 500, 1000]">
  7. <template slot="left">
  8. <el-input v-model="listQuery1.orderId" placeholder="项目编号" clearable style="width: 150px;float: left;">
  9. </el-input>
  10. <el-date-picker clearable v-model="claimDate" type="daterange" align="center" unlink-panels
  11. range-separator="至" start-placeholder="认领日期(开始)" end-placeholder="认领日期(结束)" :picker-options="pickerOptions"
  12. value-format="yyyy-MM-dd" style="margin-left: 20px;float: left;">
  13. </el-date-picker>
  14. <el-date-picker clearable v-model="paymentDate" type="daterange" align="center" unlink-panels
  15. range-separator="至" start-placeholder="到账日期(开始)" end-placeholder="到账日期(结束)" :picker-options="pickerOptions"
  16. value-format="yyyy-MM-dd" style="margin-left: 20px;float: left;">
  17. </el-date-picker>
  18. <el-input v-model="listQuery1.claimAmount" placeholder="认领金额" clearable style="margin-left: 20px;width: 120px;float: left;">
  19. </el-input>
  20. <el-select clearable v-model="listQuery1.ifSaveFile" placeholder="归档状态" style="margin-left: 20px;width: 120px;float: left;">
  21. <el-option :value="false" label="未归档">未归档</el-option>
  22. <el-option :value="true" label="已归档">已归档</el-option>
  23. </el-select>
  24. <el-input v-model="listQuery1.claimUser" placeholder="认领人" clearable style="margin-left: 20px;width: 120px;float: left;">
  25. </el-input>
  26. <el-button class="filter-item" style="margin-left:20px;float: left;" type="primary" @click="searchList1" round>搜索
  27. </el-button>
  28. <el-button class="filter-item" style="float: left;" round type="success" @click="resetSearch1()">重置
  29. </el-button>
  30. <el-button class="filter-item" style="float: left;" round type="info" @click="exportPersonalStat()">导出
  31. </el-button>
  32. </template>
  33. <el-table
  34. size="medium"
  35. slot="table"
  36. row-key="id" border
  37. :data="personalStat.records"
  38. fit
  39. highlight-current-row
  40. :header-row-style="{color: '#333333'}"
  41. style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;">
  42. <el-table-column label="序号" align="center" type="index">
  43. </el-table-column>
  44. <el-table-column label="归档状况" align="center">
  45. <template slot-scope="{row}">
  46. <span>{{ row.ifSaveFile?'已归档':'未归档' }}</span>
  47. </template>
  48. </el-table-column>
  49. <el-table-column label="项目编号" width="150" align="center">
  50. <template slot-scope="{row}">
  51. <span>{{ row.orderId }}</span>
  52. </template>
  53. </el-table-column>
  54. <el-table-column label="项目名称" width="200" align="center">
  55. <template slot-scope="{row}">
  56. <span>{{ row.location }}</span>
  57. </template>
  58. </el-table-column>
  59. <el-table-column label="所属部门" align="center">
  60. <template slot-scope="{row}">
  61. <span>{{ row.marketDepartment }}</span>
  62. </template>
  63. </el-table-column>
  64. <el-table-column label="客户经理" align="center">
  65. <template slot-scope="{row}">
  66. <span>{{ row.clientManager }}</span>
  67. </template>
  68. </el-table-column>
  69. <el-table-column label="到账日期" width="110" align="center">
  70. <template slot-scope="{row}">
  71. <span>{{ row.payDatetime }}</span>
  72. </template>
  73. </el-table-column>
  74. <el-table-column label="认领日期" width="110" align="center">
  75. <template slot-scope="{row}">
  76. <span>{{ row.claimDatetime }}</span>
  77. </template>
  78. </el-table-column>
  79. <el-table-column label="实收金额(元)" align="center">
  80. <template slot-scope="{row}">
  81. <span style="color:red">{{ row.claimAmount }}</span>
  82. </template>
  83. </el-table-column>
  84. <el-table-column label="认领人" align="center">
  85. <template slot-scope="{row}">
  86. <span>{{ row.claimUser }}</span>
  87. </template>
  88. </el-table-column>
  89. <el-table-column label="客户名称" align="center">
  90. <template slot-scope="{row}">
  91. <span>{{ row.clientName }}</span>
  92. </template>
  93. </el-table-column>
  94. <el-table-column label="业务来源" align="center">
  95. <template slot-scope="{row}">
  96. <span>{{ row.clientSubName }}</span>
  97. </template>
  98. </el-table-column>
  99. <el-table-column label="委托人" align="center">
  100. <template slot-scope="{row}">
  101. <span>{{ row.bailorA }}</span>
  102. </template>
  103. </el-table-column>
  104. <el-table-column label="评估价值(万元)" align="center">
  105. <template slot-scope="{row}">
  106. <span>{{ row.amount }}</span>
  107. </template>
  108. </el-table-column>
  109. </el-table>
  110. </y-page-list-layout>
  111. </div>
  112. </template>
  113. <script>
  114. import Breadcrumb from '@/components/Breadcrumb'
  115. import YPageListLayout from '@/components/YPageListLayout'
  116. export default {
  117. name: 'personalRealFundStat',
  118. components: {
  119. Breadcrumb,
  120. YPageListLayout
  121. },
  122. data() {
  123. return {
  124. pickerOptions: {
  125. shortcuts: [{
  126. text: '最近一周',
  127. onClick(picker) {
  128. const end = new Date();
  129. const start = new Date();
  130. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  131. picker.$emit('pick', [start, end]);
  132. }
  133. }, {
  134. text: '最近一个月',
  135. onClick(picker) {
  136. const end = new Date();
  137. const start = new Date();
  138. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  139. picker.$emit('pick', [start, end]);
  140. }
  141. }, {
  142. text: '最近三个月',
  143. onClick(picker) {
  144. const end = new Date();
  145. const start = new Date();
  146. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  147. picker.$emit('pick', [start, end]);
  148. }
  149. }]
  150. },
  151. claimDate: '',
  152. paymentDate:'',
  153. listQuery1: {
  154. page: 1,
  155. size: 1000,
  156. descs: 'id',
  157. },
  158. personalStat:{
  159. records:[]
  160. }
  161. }
  162. },
  163. created() {
  164. this.getPersonalStat();
  165. },
  166. methods: {
  167. handleClick(tab, event) {
  168. },
  169. resetSearch1() {
  170. this.$router.push({ query: {} });
  171. this.claimDate = '';
  172. this.paymentDate= '';
  173. this.listQuery1 = {
  174. current: 1,
  175. size: 1000,
  176. descs: 'id',
  177. startTime:null,
  178. endTime:null,
  179. payStartTime:null,
  180. payEndTime:null,
  181. }
  182. this.getPersonalStat()
  183. },
  184. searchList1() {
  185. // 重置分页
  186. this.listQuery1.page = 1
  187. this.listQuery1.size = 1000
  188. if (this.claimDate){
  189. this.listQuery1.startTime = this.claimDate[0]+' 00:00:00';
  190. this.listQuery1.endTime = this.claimDate[1]+ ' 23:59:59';
  191. }
  192. if (this.paymentDate){
  193. this.listQuery1.payStartTime = this.paymentDate[0]+' 00:00:00';
  194. this.listQuery1.payEndTime = this.paymentDate[1]+ ' 23:59:59';
  195. }
  196. this.getPersonalStat()
  197. },
  198. getPersonalStat(){
  199. this.$api.financeClaim.getPersonalStat(this.listQuery1).then(res=>{
  200. if (res.code === 200){
  201. this.personalStat = res.data;
  202. }
  203. })
  204. },
  205. exportPersonalStat(){
  206. this.$utils.exportUtil(
  207. "/financeClaim/personal/stat/export", this.listQuery1,
  208. "导出"
  209. );
  210. }
  211. }
  212. }
  213. </script>
  214. <style scoped lang="scss">
  215. </style>