assetsRealFundStat.vue 15 KB

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