assetsRealFundStat.vue 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  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. <div>
  7. <y-page-list-layout :get-page-list="getAssetsSate" :page-list="pageData" :page-para="listQuery">
  8. <template slot="left">
  9. <el-input v-model="listQuery.keyword" placeholder="项目编号、产品号" clearable
  10. style="width: 300px;float: left;">
  11. </el-input>
  12. <el-date-picker style="margin-left: 20px;float: left;" v-model="selectDate" type="daterange"
  13. :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd"
  14. range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right">
  15. </el-date-picker>
  16. <el-date-picker clearable v-model="paymentDate" type="daterange" align="center" unlink-panels
  17. range-separator="至" start-placeholder="到账日期(开始)" end-placeholder="到账日期(结束)" :picker-options="pickerOptions"
  18. value-format="yyyy-MM-dd" style="margin-left: 20px;float: left;">
  19. </el-date-picker>
  20. <!-- <el-input v-model="listQuery.orderId" placeholder="项目编号" clearable style="width: 200px;margin-right: 20px;float: left;">
  21. </el-input>
  22. <el-input v-model="listQuery.reportNo" placeholder="报告号" clearable style="width: 200px;margin-right: 20px;float: left;">
  23. </el-input>
  24. <el-select v-model="listQuery.principalId" placeholder="项目负责人" clearable
  25. style="width: 200px;margin-right: 20px;float: left;">
  26. <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
  27. </el-select>
  28. <el-select v-model="listQuery.claimUserId" placeholder="认领人" clearable
  29. style="width: 200px;margin-right: 20px;float: left;">
  30. <el-option v-for="(u, id) in allUsers" :label="u.name" :value="u.id"></el-option>
  31. </el-select>
  32. <el-input v-model="listQuery.claimAmount" placeholder="认领金额" clearable
  33. style="width: 200px;margin-right: 20px;float: left;">
  34. </el-input> -->
  35. <el-select v-model="listQuery.assetsBusinessGener" placeholder="资产业务类型" clearable
  36. style="width: 100px;margin-left: 20px;float: left;">
  37. <el-option v-for="(s, value) in assetsBusinessGeners" :label="s.label" :value="s.value"></el-option>
  38. </el-select>
  39. <el-select v-model="listQuery.ifSaveFile" placeholder="是否归档" clearable style="width: 100px;margin-left: 20px;float: left;">
  40. <el-option label="已归档" value="true"></el-option>
  41. <el-option label="未归档" value="false"></el-option>
  42. </el-select>
  43. <el-button class="filter-item" type="primary" @click="searchList()" round style="margin-left: 20px;">搜索
  44. </el-button>
  45. <el-button class="filter-item" round type="success" @click="resetParams()">重置
  46. </el-button>
  47. <el-button class="filter-item" round type="info" @click="exportAssetsStat()" :disabled="exportStatus">导出
  48. </el-button>
  49. </template>
  50. <el-table size="medium" slot="table" row-key="id" :data="pageData.records" fit highlight-current-row
  51. :header-row-style="{ color: '#333333' }"
  52. style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;">
  53. <el-table-column label="是否归档" width="80" align="center">
  54. <template slot-scope="{row}">
  55. <span>{{ row.saveFileDate }}</span>
  56. </template>
  57. </el-table-column>
  58. <el-table-column label="报告号" width="200" align="center">
  59. <template slot-scope="{row}">
  60. <span>{{ row.reportNo }}</span>
  61. </template>
  62. </el-table-column>
  63. <el-table-column label="项目编号" width="120" align="center">
  64. <template slot-scope="{row}">
  65. <span>{{ row.orderId }}</span>
  66. </template>
  67. </el-table-column>
  68. <el-table-column label="项目名称" width="200" align="center">
  69. <template slot-scope="{row}">
  70. <span>{{ row.orderName }}</span>
  71. </template>
  72. </el-table-column>
  73. <el-table-column label="市场部门" width="100" align="center">
  74. <template slot-scope="{row}">
  75. <span>{{ row.marketDepartment }}</span>
  76. </template>
  77. </el-table-column>
  78. <el-table-column label="评估部门" width="120" align="center">
  79. <template slot-scope="{row}">
  80. <span>{{ row.evaluateDepartment }}</span>
  81. </template>
  82. </el-table-column>
  83. <el-table-column label="客户经理" width="100" align="center">
  84. <template slot-scope="{row}">
  85. <span>{{ row.clientManagerName }}</span>
  86. </template>
  87. </el-table-column>
  88. <el-table-column label="项目负责人" width="100" align="center">
  89. <template slot-scope="{row}">
  90. <span>{{ row.principalName }}</span>
  91. </template>
  92. </el-table-column>
  93. <el-table-column label="付款方" width="150" align="center">
  94. <template slot-scope="{row}">
  95. <span>{{ row.payer }}</span>
  96. </template>
  97. </el-table-column>
  98. <el-table-column label="到账时间" width="120" align="center">
  99. <template slot-scope="{row}">
  100. <span>{{ row.payDateTime }}</span>
  101. </template>
  102. </el-table-column>
  103. <el-table-column label="认领时间" width="120" align="center">
  104. <template slot-scope="{row}">
  105. <span>{{ row.claimDatetime }}</span>
  106. </template>
  107. </el-table-column>
  108. <el-table-column label="订单应收款(元)" width="120" align="center">
  109. <template slot-scope="{row}">
  110. <span>{{ row.orderShouldAmount }}</span>
  111. </template>
  112. </el-table-column>
  113. <el-table-column label="产品应收款(元)" width="120" align="center">
  114. <template slot-scope="{row}">
  115. <span>{{ row.prodShouldAmount }}</span>
  116. </template>
  117. </el-table-column>
  118. <el-table-column label="认领金额(元)" width="120" align="center">
  119. <template slot-scope="{row}">
  120. <span>{{ row.claimAmount }}</span>
  121. </template>
  122. </el-table-column>
  123. <el-table-column label="认领人" width="100" align="center">
  124. <template slot-scope="{row}">
  125. <span>{{ row.claimUser }}</span>
  126. </template>
  127. </el-table-column>
  128. <el-table-column label="资产业务类型" width="120" align="center">
  129. <template slot-scope="{row}">
  130. <span>{{ row.assetsBusinessGener }}</span>
  131. </template>
  132. </el-table-column>
  133. <el-table-column label="客户名称" width="100" align="center">
  134. <template slot-scope="{row}">
  135. <span>{{ row.clientName }}</span>
  136. </template>
  137. </el-table-column>
  138. <el-table-column label="业务来源" width="100" align="center">
  139. <template slot-scope="{row}">
  140. <span>{{ row.clientSubName }}</span>
  141. </template>
  142. </el-table-column>
  143. <el-table-column label="委托人" width="100" align="center">
  144. <template slot-scope="{row}">
  145. <span>{{ row.bailor }}</span>
  146. </template>
  147. </el-table-column>
  148. <el-table-column label="评估价值(万元)" width="120" align="center">
  149. <template slot-scope="{row}">
  150. <span>{{ row.evaluateAmount }}</span>
  151. </template>
  152. </el-table-column>
  153. <el-table-column label="产品类型" width="100" align="center">
  154. <template slot-scope="{row}">
  155. <span>{{ row.saveFileDate }}</span>
  156. </template>
  157. </el-table-column>
  158. <el-table-column label="分类" width="100" align="center">
  159. <template slot-scope="{row}">
  160. <span>{{ row.productionType }}</span>
  161. </template>
  162. </el-table-column>
  163. </el-table>
  164. </y-page-list-layout>
  165. </div>
  166. </div>
  167. </template>
  168. <script>
  169. import Breadcrumb from '@/components/Breadcrumb'
  170. import YPageListLayout from '@/components/YPageListLayout'
  171. export default {
  172. name: 'realFundStat',
  173. components: {
  174. Breadcrumb,
  175. YPageListLayout
  176. },
  177. data() {
  178. return {
  179. pageData: { records: [] },
  180. listLoading: false,
  181. // 时间
  182. selectDate: '',
  183. paymentDate: '',
  184. listQuery: {
  185. page: 1,
  186. size: 10,
  187. current: 1,
  188. // 开始时间
  189. startTime: null,
  190. // 结束时间
  191. endTime: null,
  192. orderId: null,
  193. reportNo: null,
  194. principalId: null,
  195. claimUserId: null,
  196. claimAmount: null,
  197. assetsBusinessGener: null,
  198. ifSaveFile: null,
  199. keyword:null,
  200. payStartTime:null,
  201. payEndTime:null
  202. },
  203. // 用户下拉列表
  204. allUsers: [],
  205. // 业务类型下拉列表
  206. assetsBusinessGeners: [
  207. {
  208. value: '单项资产',
  209. label: '单项资产'
  210. }, {
  211. value: '整体资产',
  212. label: '整体资产'
  213. }, {
  214. value: '无形资产',
  215. label: '无形资产'
  216. }, {
  217. value: '债权',
  218. label: '债权'
  219. }, {
  220. value: '其他',
  221. label: '其他'
  222. }
  223. ],
  224. pickerOptions: {
  225. shortcuts: [{
  226. text: '最近一周',
  227. onClick(picker) {
  228. const end = new Date();
  229. const start = new Date();
  230. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  231. picker.$emit('pick', [start, end]);
  232. }
  233. }, {
  234. text: '最近一个月',
  235. onClick(picker) {
  236. const end = new Date();
  237. const start = new Date();
  238. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  239. picker.$emit('pick', [start, end]);
  240. }
  241. }, {
  242. text: '最近三个月',
  243. onClick(picker) {
  244. const end = new Date();
  245. const start = new Date();
  246. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  247. picker.$emit('pick', [start, end]);
  248. }
  249. }]
  250. },
  251. exportStatus: true
  252. }
  253. },
  254. created() {
  255. this.getAllUser();
  256. this.getAssetsSate();
  257. },
  258. methods: {
  259. handleClick(tab, event) {
  260. },
  261. // 获取所有用户下拉列表
  262. getAllUser() {
  263. this.$api.user.simpleAll().then(res => {
  264. if (res.code === 200) {
  265. this.allUsers = res.data;
  266. }
  267. })
  268. },
  269. // 条件查询
  270. searchList() {
  271. // 重置分页
  272. this.listQuery.page = 1
  273. this.listQuery.size = 10
  274. this.getAssetsSate()
  275. },
  276. // 重置搜索条件
  277. resetParams() {
  278. this.exportStatus = true;
  279. this.selectDate = '';
  280. this.paymentDate = '' ;
  281. this.$router.push({ query: {} });
  282. this.listQuery = {
  283. current: 1,
  284. size: 10,
  285. }
  286. this.getAssetsSate();
  287. },
  288. getAssetsSate() {
  289. if (this.selectDate) {
  290. this.listQuery.startTime = this.selectDate[0] + ' 00:00:00';
  291. this.listQuery.endTime = this.selectDate[1] + ' 23:59:59';
  292. }
  293. if (this.paymentDate) {
  294. this.listQuery.payStartTime = this.paymentDate[0] + ' 00:00:00';
  295. this.listQuery.payEndTime = this.paymentDate[1] + ' 23:59:59';
  296. }
  297. this.$api.financeClaim.getAssetsSate(this.listQuery).then(res => {
  298. if (res.code === 200) {
  299. this.pageData = res.data;
  300. if (this.listQuery.startTime !== null && this.listQuery.endTime !== null && res.data.records.length > 0) {
  301. this.exportStatus = false;
  302. }else {
  303. this.exportStatus = true;
  304. }
  305. }
  306. })
  307. },
  308. exportAssetsStat() {
  309. this.$utils.exportUtil(
  310. "/financeClaim/assets/stat/export", this.listQuery,
  311. "导出"
  312. );
  313. }
  314. }
  315. }
  316. </script>
  317. <style scoped lang="scss"></style>