xm-audit-cpm-checkself-setuser-handler.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div :class="$style.userDiv">
  3. <sd-user-picker ref="userPicker" :single="true" @change="change"></sd-user-picker>
  4. </div>
  5. </template>
  6. <script>
  7. import { message } from '@/common/one-ui'
  8. import axios from '@/common/services/axios-instance'
  9. import components from './_import-components/xm-audit-cpm-checkself-setuser-handler-import'
  10. export default {
  11. name: 'XmAuditCpmCheckselfSetuserHandler',
  12. components,
  13. data() {
  14. return {
  15. visible: false,
  16. button: {},
  17. initValues: [],
  18. childTable: undefined,
  19. selectedRows: [],
  20. eventScript: undefined,
  21. }
  22. },
  23. methods: {
  24. run({ button, eventScript, context: { args, dataList } }) {
  25. this.button = button
  26. this.childTable = dataList
  27. this.selectedRows = dataList.getSelectedRows()
  28. // 根据需修改的字段,获取字段信息
  29. this.eventScript = eventScript
  30. if (this.selectedRows.length === 0) {
  31. message.info('请选择需要分配的文件')
  32. return
  33. }
  34. this.$refs.userPicker.openPicker()
  35. },
  36. change(userList) {
  37. const userAccount = userList[0].code
  38. const flowOverData = this.selectedRows.filter((item) => item.CURRENT_STATE === '已反馈')
  39. if (flowOverData.length > 0) {
  40. message.warning('已反馈文件无法设置联系人,请重新选择!')
  41. return
  42. }
  43. const ids = this.selectedRows
  44. .map((item) => {
  45. return item.id
  46. })
  47. .join(',')
  48. axios({
  49. url: `api/framework/v1/cpmcheckself/cpmCheckSelfEntityIssued?userAccount=${userAccount}&ids=${ids}`,
  50. method: 'get',
  51. }).then((res) => {
  52. if (res.data.success) {
  53. message.success('分配完成')
  54. this.childTable.refresh()
  55. } else {
  56. message.warning(res.data.message, 1)
  57. }
  58. })
  59. },
  60. },
  61. }
  62. </script>
  63. <style module lang="scss">
  64. @use '@/common/design' as *;
  65. .user-div {
  66. display: none;
  67. }
  68. </style>