todo.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. <template>
  2. <van-tabs v-model:active="activeName" @change="tabChange()" :ellipsis="false">
  3. <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('个贷业务')" title="个贷待办" name="personal">
  4. <van-search v-model="personalListQuery.keyword" placeholder="请输入搜索关键词" @search="onPersonalSearch()" />
  5. <van-pull-refresh v-model="loading" @refresh="onPersonalRefresh()">
  6. <van-list v-model:loading="loading" :finished="personalFinished" finished-text="没有待办了" @load="personalTodoList()">
  7. <div class="card" v-for="item in personalListData" :key="item.id" @click="toPersonalDetail(item)">
  8. <div class="businessTitle">
  9. <van-icon name="link-o" />
  10. {{ item.orderId }}
  11. </div>
  12. <div class="projectName">
  13. <div class="locaiton">
  14. <van-icon name="location-o" />
  15. {{ item.location }}
  16. </div>
  17. </div>
  18. <div class="clientInfo">
  19. <van-icon name="contact-o" />
  20. {{ item.clientName }}-{{ item.clientSubName}}
  21. </div>
  22. <div class="otherInfo">
  23. <van-tag type="primary" size="medium" class="van-tag">{{ item.nodeName }}</van-tag>
  24. <van-tag type="success" size="medium" class="van-tag">{{ item.clientManager }}</van-tag>
  25. <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
  26. </div>
  27. <div class="comments">
  28. <div>
  29. <van-icon name="notes-o" />
  30. {{ item.comments ? item.comments : '-' }}
  31. </div>
  32. </div>
  33. </div>
  34. </van-list>
  35. </van-pull-refresh>
  36. <van-back-top right="10vw" bottom="10vh" />
  37. </van-tab>
  38. <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('大中型业务')" title="大中型待办" name="major">
  39. <van-search v-model="majorListQuery.keyword" placeholder="请输入搜索关键词" @search="onMajorSearch()" />
  40. <van-pull-refresh v-model="loading" @refresh="onMajorRefresh()">
  41. <van-list v-model:loading="loading" :finished="majorFinished" finished-text="没有待办了" @load="majorTodoList()">
  42. <div class="card" v-for="item in majorListData" :key="item.id" @click="toMajorDetail(item)">
  43. <div class="businessTitle">
  44. <van-icon name="link-o" />
  45. {{ item.orderId }}
  46. </div>
  47. <div class="productionNo" v-if="item.statementNo || item.reportNo">
  48. <van-icon name="coupon-o" />
  49. {{ item.statementNo }}
  50. <!-- 产品号都不为空才显示中间的分割空格, 以保持页面间距统一 -->
  51. <span v-if="item.statementNo && item.reportNo">&nbsp;&nbsp;</span>
  52. {{ item.reportNo }}
  53. </div>
  54. <div class="projectName">
  55. <div>
  56. <van-icon name="location-o" />
  57. {{ item.productionName == null ? item.orderName : item.productionName }}
  58. </div>
  59. </div>
  60. <div class="otherInfo">
  61. <van-tag type="primary" size="medium" class="van-tag">{{ item.nodeName }}</van-tag>
  62. <van-tag type="success" size="medium" class="van-tag">{{ item.clientManager }}</van-tag>
  63. <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
  64. </div>
  65. </div>
  66. </van-list>
  67. </van-pull-refresh>
  68. <van-back-top right="10vw" bottom="10vh" />
  69. </van-tab>
  70. <van-tab v-if="menuStore.menuInfo.map((item) => item.name).includes('资产业务')" title="资产待办" name="assets">
  71. <van-search v-model="assetsListQuery.keyWord" placeholder="请输入搜索关键词" @search="onAssetsSearch()" />
  72. <van-pull-refresh v-model="loading" @refresh="onAssetsRefresh()">
  73. <van-list v-model:loading="loading" :finished="assetsFinished" finished-text="没有待办了" @load="assetsTodoList()">
  74. <div class="card" v-for="item in assetsListData" :key="item.id" @click="toAssetsDetail(item)">
  75. <div class="businessTitle">
  76. <van-icon name="link-o" />
  77. {{ item.orderId }}
  78. </div>
  79. <div class="productionNo" v-if="item.statementNo || item.reportNo">
  80. <van-icon name="coupon-o" />
  81. {{ item.statementNo }}
  82. <!-- 产品号都不为空才显示中间的分割空格, 以保持页面间距统一 -->
  83. <span v-if="item.statementNo && item.reportNo">&nbsp;&nbsp;</span>
  84. {{ item.reportNo }}
  85. </div>
  86. <div class="projectName">
  87. <div>
  88. <van-icon name="location-o" />
  89. {{ item.reportName || item.statementName || item.name }}
  90. </div>
  91. </div>
  92. <div class="otherInfo">
  93. <van-tag type="primary" size="medium" class="van-tag">{{ item.currentNodeName }}</van-tag>
  94. <van-tag type="success" size="medium" class="van-tag">{{ item.clientManagerName }}</van-tag>
  95. <van-tag color="#969799" size="medium" class="van-tag">{{ item.created }}</van-tag>
  96. </div>
  97. </div>
  98. </van-list>
  99. </van-pull-refresh>
  100. <van-back-top right="10vw" bottom="10vh" />
  101. </van-tab>
  102. <van-tab v-if="majorAdmin" title="大中型提成审批" name="majorAdmin">
  103. <van-search v-model="majorDeclListQuery.orderId" placeholder="请输入项目编号" @search="onMajorDeclSearch()" />
  104. <van-pull-refresh v-model="loading" @refresh="onMajorDeclRefresh()">
  105. <van-list v-model:loading="loading" :finished="majorDeclFinished" finished-text="没有待办了" @load="getMajorDecl()">
  106. <div class="card" v-for="item in majorDeclListData" :key="item.id" @click="toMajorDeclDetail(item)">
  107. <div class="businessTitle">
  108. <van-icon name="link-o" />
  109. {{ item.majorSimple !== null ? item.majorSimple.orderId : '-' }}
  110. </div>
  111. <div class="productionNo">
  112. <van-icon name="coupon-o" />
  113. {{ item.majorSimple !== null ? item.majorSimple.reportNo : '-' }}
  114. </div>
  115. <div class="projectName">
  116. <div>
  117. <van-icon name="location-o" />
  118. {{ item.majorSimple !== null ? item.majorSimple.orderName : '-' }}
  119. </div>
  120. </div>
  121. <div class="otherInfo">
  122. <van-tag type="primary" size="medium" class="van-tag">{{ item.businessCate }}</van-tag>
  123. <van-tag type="success" size="medium" class="van-tag">{{ item.nodeName }}</van-tag>
  124. </div>
  125. </div>
  126. </van-list>
  127. </van-pull-refresh>
  128. <van-back-top right="10vw" bottom="10vh" />
  129. </van-tab>
  130. <van-tab v-if="assetsAdmin" title="资产提成审批" name="assetsAdmin">
  131. <van-search v-model="assetsDeclListQuery.orderId" placeholder="请输入项目编号" @search="onAssetsDeclSearch()" />
  132. <van-pull-refresh v-model="loading" @refresh="onAssetsDeclRefresh()">
  133. <van-list v-model:loading="loading" :finished="assetsDeclFinished" finished-text="没有待办了" @load="getAssetsDecl()">
  134. <div class="card" v-for="item in assetsDeclListData" :key="item.id" @click="toAssetsDeclDetail(item)">
  135. <div class="businessTitle">
  136. <van-icon name="link-o" />
  137. {{ item.assetsSimple.orderId }}
  138. </div>
  139. <div class="productionNo">
  140. <van-icon name="coupon-o" />
  141. {{ item.assetsSimple.reportNo }}
  142. </div>
  143. <div class="projectName">
  144. <div>
  145. <van-icon name="location-o" />
  146. {{ item.assetsSimple.orderName}}
  147. </div>
  148. </div>
  149. <div class="otherInfo">
  150. <van-tag type="primary" size="medium" class="van-tag">{{ item.businessCate }}</van-tag>
  151. <van-tag type="success" size="medium" class="van-tag">{{ item.nodeName }}</van-tag>
  152. </div>
  153. </div>
  154. </van-list>
  155. </van-pull-refresh>
  156. <van-back-top right="10vw" bottom="10vh" />
  157. </van-tab>
  158. </van-tabs>
  159. </template>
  160. <script>
  161. import { showDialog } from 'vant';
  162. import { getPersonalTodoList } from '@/api/personal';
  163. import { getMajorTodoList } from '@/api/major';
  164. import { getAssetsTodoList } from '@/api/assets';
  165. import { checkHasBusinessHandle } from '@/api/workFlowNodeInstance';
  166. import { assetsCheckPage, majorCheckPage } from '@/api/commissonDeclare';
  167. import { mapStores } from 'pinia';
  168. import { menuStore } from '@/stores/menuStore';
  169. export default {
  170. data() {
  171. return {
  172. activeName: 'personal',
  173. personalListData: [],
  174. majorListData: [],
  175. assetsListData: [],
  176. // 加载状态
  177. loading: false,
  178. // 加载完成状态
  179. personalFinished: false,
  180. majorFinished: false,
  181. assetsFinished: false,
  182. personalListQuery: {
  183. // 当前页数
  184. current: 1,
  185. // 查询关键字
  186. keyword: null,
  187. },
  188. majorListQuery: {
  189. // 当前页数
  190. current: 1,
  191. // 查询关键字
  192. keyword: null,
  193. },
  194. assetsListQuery: {
  195. // 当前页数
  196. current: 1,
  197. // 查询关键字
  198. keyWord: null,
  199. },
  200. assetsDeclFinished: false,
  201. assetsDeclListQuery: {
  202. // 当前页数
  203. current: 1,
  204. // 项目编号
  205. orderId: null,
  206. },
  207. assetsDeclListData: [],
  208. majorDeclFinished: false,
  209. majorDeclListQuery: {
  210. // 当前页数
  211. current: 1,
  212. // 项目编号
  213. orderId: null,
  214. },
  215. majorDeclListData: [],
  216. };
  217. },
  218. computed: {
  219. ...mapStores(menuStore),
  220. majorAdmin() {
  221. const adminMeun = this.menuStore.menuInfo.filter((item) => item.name == '行政审批');
  222. if (adminMeun.length > 0) {
  223. return adminMeun[0].children.map((item) => item.name).includes('大中型提成申报审核');
  224. }
  225. return false;
  226. },
  227. assetsAdmin() {
  228. const adminMeun = this.menuStore.menuInfo.filter((item) => item.name == '行政审批');
  229. if (adminMeun.length > 0) {
  230. return adminMeun[0].children.map((item) => item.name).includes('资产提成申报审核');
  231. }
  232. return false;
  233. },
  234. },
  235. created() {
  236. },
  237. methods: {
  238. // 监听标签页改变
  239. tabChange() {
  240. switch (this.activeName) {
  241. case 'personal':
  242. break;
  243. case 'major':
  244. break;
  245. case 'assets':
  246. break;
  247. case 'majorAdmin':
  248. break;
  249. case 'assetsAdmin':
  250. break;
  251. default:
  252. break;
  253. }
  254. },
  255. // 个贷待办列表刷新
  256. onPersonalRefresh() {
  257. this.personalListQuery.current = 1;
  258. this.personalFinished = false;
  259. this.personalListData = [];
  260. this.personalTodoList();
  261. },
  262. // 个贷待办列表关键字搜索
  263. onPersonalSearch() {
  264. this.personalListQuery.current = 1;
  265. this.personalFinished = false;
  266. this.personalListData = [];
  267. this.personalTodoList();
  268. },
  269. // 获取个贷待办
  270. personalTodoList() {
  271. this.loading = true;
  272. getPersonalTodoList(this.personalListQuery).then((res) => {
  273. if (res.code == 200) {
  274. if (res.data.records) {
  275. this.personalListData = this.personalListData.concat(res.data.records);
  276. }
  277. // 判断是否还有下一页
  278. if (res.data.pages > this.personalListQuery.current) {
  279. // 服务端返回的总页数大于当前页数, 将当前页数+1
  280. this.personalListQuery.current++;
  281. } else {
  282. // 反之停止加载
  283. this.personalFinished = true;
  284. }
  285. }
  286. this.loading = false;
  287. });
  288. },
  289. // 大中型待办列表刷新
  290. onMajorRefresh() {
  291. this.majorListQuery.current = 1;
  292. this.majorFinished = false;
  293. this.majorListData = [];
  294. this.majorTodoList();
  295. },
  296. // 大中型待办列表关键字搜索
  297. onMajorSearch() {
  298. this.majorListQuery.current = 1;
  299. this.majorFinished = false;
  300. this.majorListData = [];
  301. this.majorTodoList();
  302. },
  303. // 获取大中型待办
  304. majorTodoList() {
  305. this.loading = true;
  306. getMajorTodoList(this.majorListQuery).then((res) => {
  307. if (res.code == 200) {
  308. if (res.data.records) {
  309. this.majorListData = this.majorListData.concat(res.data.records);
  310. }
  311. // 判断是否还有下一页
  312. if (res.data.pages > this.majorListQuery.current) {
  313. // 服务端返回的总页数大于当前页数, 将当前页数+1
  314. this.majorListQuery.current++;
  315. } else {
  316. // 反之停止加载
  317. this.majorFinished = true;
  318. }
  319. }
  320. this.loading = false;
  321. });
  322. },
  323. // 资产待办列表刷新
  324. onAssetsRefresh() {
  325. this.assetsListQuery.current = 1;
  326. this.assetsFinished = false;
  327. this.assetsListData = [];
  328. this.assetsTodoList();
  329. },
  330. // 资产待办列表关键字搜索
  331. onAssetsSearch() {
  332. this.assetsListQuery.current = 1;
  333. this.assetsFinished = false;
  334. this.assetsListData = [];
  335. this.assetsTodoList();
  336. },
  337. // 获取资产待办
  338. assetsTodoList() {
  339. console.log(this.activeName)
  340. this.loading = true;
  341. // 查询待办必须要设置这个参数
  342. this.assetsListQuery.handlerId = 1;
  343. getAssetsTodoList(this.assetsListQuery).then((res) => {
  344. if (res.code == 200) {
  345. if (res.data.records) {
  346. this.assetsListData = this.assetsListData.concat(res.data.records);
  347. }
  348. // 判断是否还有下一页
  349. if (res.data.pages > this.assetsListQuery.current) {
  350. // 服务端返回的总页数大于当前页数, 将当前页数+1
  351. this.assetsListQuery.current++;
  352. } else {
  353. // 反之停止加载
  354. this.assetsFinished = true;
  355. }
  356. }
  357. this.loading = false;
  358. });
  359. },
  360. // 个贷前往待办详情页
  361. toPersonalDetail(row) {
  362. const nodeCode = row.nodeCode;
  363. switch (nodeCode) {
  364. case 'DEPARTMENT_ALLOCATION':
  365. case 'DETERMINE_PRICE':
  366. // case 'QUOTATION_FEEDBACK':
  367. case 'GENERATE_STATEMENT':
  368. case 'REVIEW_STATEMENT':
  369. case 'STATEMENT_BOOKBINDING_STAMP':
  370. case 'STATEMENT_IN':
  371. case 'STATEMENT_OUT':
  372. //case 'STATEMENT_FEEDBACK':
  373. case 'WRITE_REPORT':
  374. case 'CHECK_REPORT':
  375. case 'REPORT_BOOKBINDING_STAMP':
  376. case 'REPORT_IN':
  377. case 'REPORT_OUT':
  378. case 'WRITE_LETTER':
  379. case 'CHECK_LETTER':
  380. case 'LETTER_BOOKBINDING_STAMP':
  381. case 'LETTER_IN':
  382. case 'LETTER_OUT':
  383. case 'BUSINESS_ARCHIVING':
  384. //case 'REPORT_FEEDBACK':
  385. //case 'LETTER_FEEDBACK':
  386. showDialog({
  387. message: '当前节点需要业务操作, 请在电脑端处理节点',
  388. });
  389. break;
  390. default:
  391. checkHasBusinessHandle(row.currentNodeId).then((res) => {
  392. // 跳转前判断节点是否需要业务操作
  393. if (!res.data) {
  394. this.$router.push(
  395. `/index/personal/todoDetail?id=${row.businessId}&currentNodeCode=${row.nodeCode}&orderId=${row.orderId}&doWorkflow=${true}&isOnline=${row.isOnline}&handlerName=${
  396. row.handlerName
  397. }&nodeTime=${row.nodeCreated}&lastestComments=${row.comments}`
  398. );
  399. } else {
  400. showDialog({
  401. message: '当前节点需要业务操作, 请在电脑端处理节点',
  402. });
  403. }
  404. });
  405. break;
  406. }
  407. },
  408. // 大中型前往待办详情页
  409. toMajorDetail(row) {
  410. let reportNo = row.reportNo;
  411. let statementNo = row.statementNo;
  412. const nodeCode = row.nodeCode;
  413. switch (nodeCode) {
  414. case 'REPORT_OUT_APPLY':
  415. case 'LETTER_OUT_APPLY':
  416. case 'REPORT_OUT_FINANCE_CHECK':
  417. case 'REPORT_OUT_DEPARTMENT_CHECK':
  418. case 'LETTER_OUT_FINANCE_CHECK':
  419. case 'LETTER_OUT_DEPARTMENT_CHECK':
  420. case 'BUSINESS_ARCHIVING':
  421. case 'STATEMENT_DELIVERY':
  422. case 'STATEMENT_IN':
  423. case 'STATEMENT_OUT':
  424. case 'REPORT_IN':
  425. case 'REPORT_OUT':
  426. case 'LETTER_IN':
  427. case 'LETTER_OUT':
  428. case 'LEADER_ALLOCATION':
  429. showDialog({
  430. message: '当前节点需要业务操作, 请在电脑端处理节点',
  431. }).then(() => {
  432. // on close
  433. });
  434. break;
  435. default:
  436. checkHasBusinessHandle(row.currentNodeId).then((res) => {
  437. // 跳转前判断节点是否需要业务操作
  438. if (!res.data) {
  439. if (reportNo && statementNo) {
  440. this.$router.push(
  441. `/index/major/todoDetail?id=${row.businessId}&orderId=${row.orderId}&reportNo=${reportNo}&statementNo=${row.statementNo}&doWorkflow=${true}&currentNodeId=${
  442. row.currentNodeId
  443. }&currentNodeCode=${row.nodeCode}&taskCreated=${row.taskCreated}&projectName=${row.productionName == null ? row.orderName : row.productionName}&principal=${row.principal}`
  444. );
  445. } else if (!reportNo && statementNo) {
  446. this.$router.push(
  447. `/index/major/todoDetail?id=${row.businessId}&orderId=${row.orderId}&statementNo=${row.statementNo}&doWorkflow=${true}&currentNodeId=${row.currentNodeId}&currentNodeCode=${
  448. row.nodeCode
  449. }&taskCreated=${row.taskCreated}&projectName=${row.productionName == null ? row.orderName : row.productionName}&principal=${row.principal}`
  450. );
  451. } else if (reportNo && !statementNo) {
  452. this.$router.push(
  453. `/index/major/todoDetail?id=${row.businessId}&orderId=${row.orderId}&reportNo=${reportNo}&doWorkflow=${true}&currentNodeId=${row.currentNodeId}&currentNodeCode=${
  454. row.nodeCode
  455. }&taskCreated=${row.taskCreated}&projectName=${row.productionName == null ? row.orderName : row.productionName}&principal=${row.principal}`
  456. );
  457. } else {
  458. this.$router.push(
  459. `/index/major/todoDetail?id=${row.businessId}&orderId=${row.orderId}&doWorkflow=${true}&currentNodeId=${row.currentNodeId}&currentNodeCode=${row.nodeCode}&taskCreated=${
  460. row.taskCreated
  461. }&projectName=${row.productionName == null ? row.orderName : row.productionName}&principal=${row.principal}`
  462. );
  463. }
  464. } else {
  465. showDialog({
  466. message: '当前节点需要业务操作, 请在电脑端处理节点',
  467. });
  468. }
  469. });
  470. break;
  471. }
  472. },
  473. // 资产前往待办详情页
  474. toAssetsDetail(row) {
  475. switch (row.currentNodeCode) {
  476. case 'REPORT_OUT_APPLY':
  477. case 'REPORT_OUT_DEPARTMENT_CHECK':
  478. case 'STATEMENT_IN':
  479. case 'STATEMENT_OUT':
  480. case 'REPORT_IN':
  481. case 'REPORT_OUT':
  482. case 'LETTER_IN':
  483. case 'LETTER_OUT':
  484. showDialog({
  485. message: '当前节点需要业务操作, 请在电脑端处理节点',
  486. }).then(() => {
  487. // on close
  488. });
  489. break;
  490. default:
  491. checkHasBusinessHandle(row.currentNodeId).then((res) => {
  492. // 跳转前判断节点是否需要业务操作
  493. if (!res.data) {
  494. if (row.statementNo && row.reportNo) {
  495. this.$router.push(
  496. `/index/assets/todoDetail?assetsId=${row.assetsId}&statementNo=${row.statementNo}&reportNo=${row.reportNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${
  497. row.handlerName
  498. }&projectName=${row.reportName || row.statementName || row.name}`
  499. );
  500. } else if (row.statementNo && !row.reportNo) {
  501. this.$router.push(
  502. `/index/assets/todoDetail?assetsId=${row.assetsId}&statementNo=${row.statementNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${
  503. row.reportName || row.statementName || row.name
  504. }`
  505. );
  506. } else if (!row.statementNo && row.reportNo) {
  507. this.$router.push(
  508. `/index/assets/todoDetail?assetsId=${row.assetsId}&reportNo=${row.reportNo}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${
  509. row.reportName || row.statementName || row.name
  510. }`
  511. );
  512. } else {
  513. this.$router.push(
  514. `/index/assets/todoDetail?assetsId=${row.assetsId}&currentNodeCode=${row.currentNodeCode}&handlerName=${row.handlerName}&projectName=${
  515. row.reportName || row.statementName || row.name
  516. }`
  517. );
  518. }
  519. } else {
  520. showDialog({
  521. message: '当前节点需要业务操作, 请在电脑端处理节点',
  522. });
  523. }
  524. });
  525. break;
  526. }
  527. },
  528. // 资产提成申报审批列表刷新
  529. onAssetsDeclRefresh() {
  530. this.assetsDeclListQuery.current = 1;
  531. this.assetsDeclFinished = false;
  532. this.assetsDeclListData = [];
  533. this.getAssetsDecl();
  534. },
  535. onAssetsDeclSearch() {
  536. this.assetsDeclListQuery.current = 1;
  537. this.assetsDeclFinished = false;
  538. this.assetsDeclListData = [];
  539. this.getAssetsDecl();
  540. },
  541. // 获取资产提成申报审批列表
  542. getAssetsDecl() {
  543. assetsCheckPage(this.assetsDeclListQuery).then((res) => {
  544. if (res.code == 200) {
  545. if (res.data.records) {
  546. this.assetsDeclListData = this.assetsDeclListData.concat(res.data.records);
  547. }
  548. if (res.data.pages > this.assetsDeclListQuery.current) {
  549. this.assetsDeclListQuery.current++;
  550. } else {
  551. this.assetsDeclFinished = true;
  552. }
  553. }
  554. this.loading = false;
  555. });
  556. },
  557. // 前往资产申报详情
  558. toAssetsDeclDetail(item) {
  559. this.$router.push(`/index/commissonDeclare/assets/declareDetail?businessId=${item.businessId}&businessType=${item.businessType}&couldEdit=${true}`);
  560. },
  561. // 大中型提成申报审批列表刷新
  562. onMajorDeclRefresh() {
  563. this.majorDeclListQuery.current = 1;
  564. this.majorDeclFinished = false;
  565. this.majorDeclListData = [];
  566. this.getMajorDecl();
  567. },
  568. onMajorDeclSearch() {
  569. this.majorDeclListQuery.current = 1;
  570. this.majorDeclFinished = false;
  571. this.majorDeclListData = [];
  572. this.getMajorDecl();
  573. },
  574. // 获取大中型提成申报审批列表
  575. getMajorDecl() {
  576. majorCheckPage(this.majorDeclListQuery).then((res) => {
  577. if (res.code == 200) {
  578. if (res.data.records) {
  579. this.majorDeclListData = this.majorDeclListData.concat(res.data.records);
  580. }
  581. if (res.data.pages > this.majorDeclListQuery.current) {
  582. this.majorDeclListData.current++;
  583. } else {
  584. this.majorDeclFinished = true;
  585. }
  586. }
  587. this.loading = false;
  588. });
  589. },
  590. // 前往资产申报详情
  591. toMajorDeclDetail(item) {
  592. this.$router.push(`/index/commissonDeclare/major/declareDetail?businessId=${item.businessId}&businessType=${item.businessType}&couldEdit=${true}`);
  593. },
  594. },
  595. };
  596. </script>
  597. <style scoped>
  598. .card {
  599. background-color: white;
  600. border-radius: 5px;
  601. padding: 10px;
  602. margin: 10px;
  603. }
  604. .productionNo {
  605. width: 100%;
  606. font-size: 14px;
  607. }
  608. .projectName {
  609. width: 100%;
  610. margin-bottom: 5px;
  611. display: flex;
  612. }
  613. .van-tag {
  614. margin: 2px;
  615. }
  616. .businessTitle {
  617. font-weight: bold;
  618. margin-bottom: 5px;
  619. }
  620. .comments {
  621. margin-bottom: 5px;
  622. color: darkgrey
  623. }
  624. /deep/ .van-tabs__wrap {
  625. width: 100%;
  626. }
  627. </style>