SalesList.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <el-dialog
  3. append-to-body
  4. title="选择售票员"
  5. :visible.sync="visible"
  6. width="400px"
  7. @close="handleClose">
  8. <el-form
  9. :model="form"
  10. ref="form"
  11. label-width="80px"
  12. style="padding:20px">
  13. <el-form-item
  14. verify
  15. label="售票员"
  16. prop="cancel_manager">
  17. <el-select
  18. value-key="id"
  19. v-model="form.cancel_manager">
  20. <el-option
  21. v-for="item in salesList"
  22. :key="item.id"
  23. :value="item"
  24. :label="item.nickName"
  25. ></el-option>
  26. </el-select>
  27. </el-form-item>
  28. </el-form>
  29. <span slot="footer">
  30. <el-button @click="visible = false">取 消</el-button>
  31. <el-button
  32. type="primary"
  33. @click="submit">确 定</el-button>
  34. </span>
  35. </el-dialog>
  36. </template>
  37. <script>
  38. export default {
  39. computed: {
  40. salesList () {
  41. return this.$store.state.user.salesList
  42. }
  43. },
  44. data () {
  45. return {
  46. visible: false,
  47. form: {
  48. cancel_manager: ''
  49. }
  50. }
  51. },
  52. methods: {
  53. show (id) {
  54. this.visible = true
  55. this.$nextTick(() => {
  56. this.form.cancel_manager = this.salesList.find(i => i.id === id)
  57. })
  58. },
  59. handleClose () {
  60. this.visible = false
  61. },
  62. submit () {
  63. this.$emit('change', this.form.cancel_manager)
  64. this.handleClose()
  65. }
  66. }
  67. }
  68. </script>
  69. <style lang="scss" scoped>
  70. ::v-deep .el-dialog .el-form-item {
  71. display: inline-block;
  72. }
  73. ::v-deep .el-form-item__content{
  74. width: 200px;
  75. }
  76. </style>