xm-cpm-workpaper-plsubmit-handler.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { message } from 'ant-design-vue'
  2. import { getUserInfo } from '@/common/store-mixin'
  3. import xmMultipleDataService from './xm-multiple-data-service'
  4. export default function({ button, eventScript, context: { args, dataList } }) {
  5. return new Promise((resolve) => {
  6. const selrows = dataList.selectedRows
  7. if (selrows && selrows[0]) {
  8. // 判断是否均为起草环节单据
  9. if (selrows.some((item) => item.flowStatus !== 0)) {
  10. message.warning('选择的工作底稿尚未处于起草阶段,无法批量提交,请重新提交!')
  11. resolve()
  12. return false
  13. }
  14. // 判断是否自己的工作底稿,批量提交只能提交自己的底稿
  15. const userinfo = getUserInfo()
  16. if (selrows.some((item) => item.AUTHOR !== userinfo.name)) {
  17. message.warning('只能提交自己的工作底稿,请重新选择!')
  18. resolve()
  19. return false
  20. }
  21. // 批量提交
  22. const params = []
  23. selrows.forEach((sitem) => {
  24. params.push(sitem.id)
  25. })
  26. xmMultipleDataService
  27. .multipleSubmit(params)
  28. .then((res) => {
  29. if (res.status === 200) {
  30. message.success('批量提交成功')
  31. // 刷新
  32. setTimeout(() => {
  33. dataList.clearSelection()
  34. dataList.refresh()
  35. }, 1000)
  36. } else {
  37. message.error('批量提交失败,请联系管理员')
  38. }
  39. })
  40. .catch((e) => {
  41. message.error('批量提交失败,请联系管理员')
  42. })
  43. .finally(() => {
  44. resolve()
  45. })
  46. }
  47. })
  48. }