repertoryList.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <template>
  2. <div class="app-container">
  3. <div class="title-container">
  4. <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
  5. </div>
  6. <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="selectRepertoryPage">
  7. <template slot="left">
  8. <el-input style="margin-left: 20px;width: 300px;float: left;" class="filter-item"
  9. v-model="listQuery.keyWord" placeholder="项目编号/报告号/项目名称" clearable>
  10. </el-input>
  11. <el-date-picker style="margin-left: 20px;float: left;" v-model="selectDate" type="daterange"
  12. :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" range-separator="至"
  13. start-placeholder="开始日期" end-placeholder="结束日期" align="right">
  14. </el-date-picker>
  15. <el-select v-model="listQuery.departmentId" filterable placeholder="接单部门"
  16. style=" width: 200px;margin-left: 10px;float: left;">
  17. <el-option v-for="(d, id) in allotDepartment" :label="d.name" :value="d.id"></el-option>
  18. </el-select>
  19. <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList"
  20. round>搜索
  21. </el-button>
  22. <el-button class="filter-item" style="float: left;" round type="success" @click="resetParams()">重置
  23. </el-button>
  24. </template>
  25. <template slot="right">
  26. <el-button class="filter-item" style="float: right;" round type="primary" :disabled="exportStatus"
  27. @click="repertoryExport()">导出
  28. </el-button>
  29. </template>
  30. <parentTable ref="table" v-loading="listLoading" :data="pageData.records" slot="table" style="width: 100%;">
  31. <el-table-column label="项目编号" align="center" width="150">
  32. <template slot-scope="{row}">
  33. <span>{{ row.orderId }}</span>
  34. </template>
  35. </el-table-column>
  36. <el-table-column label="项目名称" align="center" width="300">
  37. <template slot-scope="{row}">
  38. <span>{{ row.reportName || row.statementName || row.orderName }}</span>
  39. </template>
  40. </el-table-column>
  41. <el-table-column label="报告号" align="center" width="250">
  42. <template slot-scope="{row}">
  43. <span>{{ row.reportNo == null ? '-' : row.reportNo }}</span>
  44. </template>
  45. </el-table-column>
  46. <el-table-column label="评估目的" align="center" width="150">
  47. <template slot-scope="{row}">
  48. <span>{{ row.purposeName }}</span>
  49. </template>
  50. </el-table-column>
  51. <el-table-column label="评估方法" align="center" width="150">
  52. <template slot-scope="{row}">
  53. <span>{{ row.methodName }}</span>
  54. </template>
  55. </el-table-column>
  56. <el-table-column label="评估作业开始日" align="center" width="200">
  57. <template slot-scope="{row}">
  58. <span>{{ row.startTime }}</span>
  59. </template>
  60. </el-table-column>
  61. <el-table-column label="估价作业结束日" align="center" width="200">
  62. <template slot-scope="{row}">
  63. <span>{{ row.endTime }}</span>
  64. </template>
  65. </el-table-column>
  66. <el-table-column label="估价时点" align="center" width="200">
  67. <template slot-scope="{row}">
  68. <span>{{ row.valuationBasisDate }}</span>
  69. </template>
  70. </el-table-column>
  71. <el-table-column label="评估总值(万元)" align="center" width="150">
  72. <template slot-scope="{row}">
  73. <span>{{ row.evaluateAmount }}</span>
  74. </template>
  75. </el-table-column>
  76. <el-table-column label="评估单价(元)" align="center" width="150">
  77. <template slot-scope="{row}">
  78. <span>{{ row.evaluatePrice }}</span>
  79. </template>
  80. </el-table-column>
  81. <el-table-column label="委托人" align="center" width="150">
  82. <template slot-scope="{row}">
  83. <span>{{ row.bailor }}</span>
  84. </template>
  85. </el-table-column>
  86. <el-table-column label="委托人电话" align="center" width="150">
  87. <template slot-scope="{row}">
  88. <span>{{ row.bailorContactTel }}</span>
  89. </template>
  90. </el-table-column>
  91. <el-table-column label="第一报告人" align="center" width="150">
  92. <template slot-scope="{row}">
  93. <span>{{ row.firstReporter }}</span>
  94. </template>
  95. </el-table-column>
  96. <el-table-column label="第一报告人注册号" align="center" width="150">
  97. <template slot-scope="{row}">
  98. <span>{{ row.firstReporterRegistrationNo }}</span>
  99. </template>
  100. </el-table-column>
  101. <el-table-column label="参与报告人" align="center" width="150">
  102. <template slot-scope="{row}">
  103. <span>待开发</span>
  104. </template>
  105. </el-table-column>
  106. <el-table-column label="参与报告人注册号" align="center" width="150">
  107. <template slot-scope="{row}">
  108. <span>待开发</span>
  109. </template>
  110. </el-table-column>
  111. <el-table-column label="客户名称" align="center" width="150">
  112. <template slot-scope="{row}">
  113. <span>{{ row.customerName }}</span>
  114. </template>
  115. </el-table-column>
  116. <el-table-column label="业务来源" align="center" width="150">
  117. <template slot-scope="{row}">
  118. <span>{{ row.customerSubName }}</span>
  119. </template>
  120. </el-table-column>
  121. <el-table-column label="项目经理" align="center" width="150">
  122. <template slot-scope="{row}">
  123. <span>{{ row.managerName }}</span>
  124. </template>
  125. </el-table-column>
  126. <el-table-column label="项目负责人" align="center" width="150">
  127. <template slot-scope="{row}">
  128. <span>{{ row.principalName }}</span>
  129. </template>
  130. </el-table-column>
  131. <el-table-column label="入库时间" align="center" width="200">
  132. <template slot-scope="{row}">
  133. <span>{{ row.repertoryInTime }}</span>
  134. </template>
  135. </el-table-column>
  136. <el-table-column label="出库时间" align="center" width="200">
  137. <template slot-scope="{row}">
  138. <span>{{ row.repertoryOutTime }}</span>
  139. </template>
  140. </el-table-column>
  141. <el-table-column label="归档时间" align="center" width="200">
  142. <template slot-scope="{row}">
  143. <span>{{ row.archivedTime }}</span>
  144. </template>
  145. </el-table-column>
  146. <el-table-column label="市场部门" align="center" width="150">
  147. <template slot-scope="{row}">
  148. <span>{{ row.marketDepartment }}</span>
  149. </template>
  150. </el-table-column>
  151. <el-table-column label="评估部门" align="center" width="150">
  152. <template slot-scope="{row}">
  153. <span>{{ row.evaluateDepartment }}</span>
  154. </template>
  155. </el-table-column>
  156. <el-table-column label="产品实收金额" align="center" width="150">
  157. <template slot-scope="{row}">
  158. <span>{{ row.productionRealAmount }}</span>
  159. </template>
  160. </el-table-column>
  161. </parentTable>
  162. </y-page-list-layout>
  163. </div>
  164. </template>
  165. <script>
  166. import YPageListLayout from '@/components/YPageListLayout'
  167. import Breadcrumb from '@/components/Breadcrumb'
  168. export default {
  169. name: 'AssetsRepertoryList',
  170. components: {
  171. Breadcrumb,
  172. YPageListLayout,
  173. },
  174. data() {
  175. return {
  176. pageData: { records: [] },
  177. listLoading: false,
  178. // 时间
  179. selectDate: '',
  180. listQuery: {
  181. page: 1,
  182. size: 10,
  183. current: 1,
  184. // 关键字
  185. keyWord: null,
  186. // 开始时间
  187. startTime: null,
  188. // 结束时间
  189. endTime: null,
  190. departmentId: null
  191. },
  192. // 接单部门
  193. allotDepartment: [],
  194. // 用户下拉列表
  195. allUsers: [],
  196. // 业务类型下拉列表
  197. assetsBusinessGeners: [
  198. {
  199. value: '单项资产',
  200. label: '单项资产'
  201. }, {
  202. value: '整体资产',
  203. label: '整体资产'
  204. }, {
  205. value: '无形资产',
  206. label: '无形资产'
  207. }, {
  208. value: '债权',
  209. label: '债权'
  210. }, {
  211. value: '其他',
  212. label: '其他'
  213. }
  214. ],
  215. pickerOptions: {
  216. shortcuts: [{
  217. text: '最近一周',
  218. onClick(picker) {
  219. const end = new Date();
  220. const start = new Date();
  221. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  222. picker.$emit('pick', [start, end]);
  223. }
  224. }, {
  225. text: '最近一个月',
  226. onClick(picker) {
  227. const end = new Date();
  228. const start = new Date();
  229. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  230. picker.$emit('pick', [start, end]);
  231. }
  232. }, {
  233. text: '最近三个月',
  234. onClick(picker) {
  235. const end = new Date();
  236. const start = new Date();
  237. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  238. picker.$emit('pick', [start, end]);
  239. }
  240. }]
  241. },
  242. exportStatus: true
  243. }
  244. },
  245. created() {
  246. // 获取分单部门
  247. this.getAllotDepartment();
  248. // 获取资产业务订单
  249. this.selectRepertoryPage();
  250. },
  251. methods: {
  252. // 无条件分页查询
  253. selectRepertoryPage() {
  254. if (this.selectDate) {
  255. this.listQuery.startTime = this.selectDate[0] + ' 00:00:00';
  256. this.listQuery.endTime = this.selectDate[1] + ' 23:59:59';
  257. }
  258. this.$api.assets.selectRepertoryPage(this.listQuery).then(res => {
  259. if (res.code === 200) {
  260. this.pageData = res.data;
  261. if (this.listQuery.startTime !== null && this.listQuery.endTime !== null && res.data.records.length > 0) {
  262. this.exportStatus = false;
  263. }else {
  264. this.exportStatus = true;
  265. }
  266. }
  267. })
  268. },
  269. // 条件查询
  270. searchList() {
  271. // 重置分页
  272. this.listQuery.page = 1
  273. this.listQuery.size = 10
  274. this.selectRepertoryPage()
  275. },
  276. // 重置搜索条件
  277. resetParams() {
  278. this.exportStatus = true;
  279. this.selectDate = '';
  280. this.$router.push({ query: {} });
  281. this.listQuery = {
  282. current: 1,
  283. size: 10,
  284. }
  285. this.selectRepertoryPage();
  286. },
  287. // 资产入库数据导出
  288. repertoryExport() {
  289. this.$utils.exportUtil(
  290. "/assets/repertoryExport", this.listQuery,
  291. "导出"
  292. );
  293. },
  294. // 获取部门下拉列表
  295. getAllotDepartment() {
  296. this.$api.department.allot('ASSETS_BUSINESS').then(res => {
  297. if (res.code === 200) {
  298. this.allotDepartment = res.data;
  299. }
  300. })
  301. }
  302. }
  303. }
  304. </script>
  305. <style lang="scss" scoped></style>