Shift.vue 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <!--
  2. * @Author: wanglj 471442253@qq.com
  3. * @Date: 2022-12-26 17:21:07
  4. * @LastEditors: wanglj
  5. * @LastEditTime: 2023-01-11 18:25:49
  6. * @Description: file content
  7. * @FilePath: \opms_frontend\src\views\customer\components\Shift.vue
  8. -->
  9. <template>
  10. <el-dialog title="转移客户" :visible.sync="visible" width="30%" @close="handleClose">
  11. <select-user ref="selectUser" :query-params="{ roles: ['SalesEngineer'] }" @save="selectUser" />
  12. <el-form ref="form" label-width="80px" :model="form" :rules="rules">
  13. <el-form-item label="接收对象" prop="SalesName">
  14. <el-input v-model="form.salesName" readonly>
  15. <el-button slot="append" icon="el-icon-search" @click="choose" />
  16. </el-input>
  17. </el-form-item>
  18. <el-form-item label="转移相关" prop="about">
  19. <el-checkbox-group v-model="form.about">
  20. <el-checkbox label="客户" />
  21. </el-checkbox-group>
  22. </el-form-item>
  23. <el-form-item label="转移原因" prop="remark">
  24. <el-input v-model="form.remark" maxlength="500" resize="none" :rows="5" show-word-limit type="textarea" />
  25. </el-form-item>
  26. </el-form>
  27. <span slot="footer">
  28. <el-button size="mini" @click="visible = false">取消</el-button>
  29. <el-button size="mini" type="primary" @click="handleSubmit">确定</el-button>
  30. </span>
  31. </el-dialog>
  32. </template>
  33. <script>
  34. import SelectUser from '@/components/select/SelectUser'
  35. import to from 'await-to-js'
  36. import api from '@/api/customer'
  37. export default {
  38. components: {
  39. SelectUser,
  40. },
  41. data() {
  42. return {
  43. visible: false,
  44. form: {
  45. salesName: '',
  46. about: ['客户'],
  47. remark: '',
  48. },
  49. rules: {
  50. salesName: [{ required: true, message: '请选择接收对象', trigger: 'change' }],
  51. about: [{ required: true, message: '请选择转移相关', trigger: 'change' }],
  52. remark: [{ required: true, message: '请选择转移原因', trigger: 'change' }],
  53. },
  54. userList: [],
  55. }
  56. },
  57. methods: {
  58. handleClose() {
  59. this.$refs.form.resetFields()
  60. this.form.salesName = ''
  61. this.userList = []
  62. },
  63. choose() {
  64. this.$refs.selectUser.open()
  65. },
  66. selectUser(userList) {
  67. this.userList = userList
  68. this.form.salesName = userList[0].nickName
  69. },
  70. async handleSubmit() {
  71. if (!this.userList.length) return this.$message.warning('请选择销售代表')
  72. let params = { ...this.form }
  73. params.SalesId = this.userList[0].id
  74. const [err, res] = await to(api.updateBytransfer(params))
  75. if (err) return
  76. this.$message.success(res.msg)
  77. this.visible = false
  78. this.$emit('refresh')
  79. },
  80. },
  81. }
  82. </script>
  83. <style></style>