MultItemModal.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <template>
  2. <el-dialog
  3. :title="title"
  4. :visible.sync="modal"
  5. :close-on-click-modal="false"
  6. width="960px"
  7. @close="
  8. res => {
  9. $emit('cancel');
  10. }
  11. "
  12. >
  13. <el-form ref="form" :model="form" :rules="rules" label-width="100px">
  14. <!-- <el-steps class="mrow-40 pb-40" :space="200" :active="step">
  15. <el-step title="关联信息"></el-step>
  16. <el-step title="批量上传"></el-step>
  17. </el-steps> -->
  18. <!-- <div v-if="step === 0"> -->
  19. <el-form-item label="关联场景" prop="kindergartenId">
  20. <SceneSelect v-model="form.kindergartenId" :clearable="false" />
  21. </el-form-item>
  22. <el-form-item label="关联活动">
  23. <ActivitySelect
  24. v-model="form.activityId"
  25. :kindergartenId="form.kindergartenId"
  26. :firstLoad="false"
  27. :disabled="form.kindergartenId === null"
  28. />
  29. </el-form-item>
  30. <!-- <div class="f-fe-fs" :style="{ width: '50%' }">
  31. <el-button
  32. type="primary"
  33. round
  34. :disabled="!form.kindergartenId"
  35. @click="step++"
  36. >下一步</el-button
  37. >
  38. </div> -->
  39. <!-- </div> -->
  40. <el-form-item label="图片" prop="urls" required>
  41. <mult-upload
  42. v-model="form.urls"
  43. :api="multUpload"
  44. :limit="999"
  45. :error="errorMsg"
  46. :paramsData="uploadParams"
  47. @finish="handleFinish"
  48. />
  49. </el-form-item>
  50. </el-form>
  51. </el-dialog>
  52. </template>
  53. <script>
  54. import { saveItem, multUpload } from '@/api/photoWarehouse';
  55. export default {
  56. name: 'PhotoUploadModal',
  57. data() {
  58. return {
  59. title: '上传图片',
  60. modal: true,
  61. multUpload: multUpload,
  62. form: {
  63. kindergartenId: null,
  64. activityId: '',
  65. urls: []
  66. },
  67. rules: {
  68. kindergartenId: [
  69. { required: true, message: '请选择关联场景', trigger: 'blur' }
  70. ],
  71. urls: [{ required: true, message: '请上传图片', trigger: 'change' }]
  72. },
  73. step: 0
  74. };
  75. },
  76. watch: {
  77. 'form.activityId': {
  78. handler(str) {
  79. if (str) {
  80. this.step = 1;
  81. }
  82. },
  83. immediate: true
  84. }
  85. },
  86. computed: {
  87. uploadParams() {
  88. const { kindergartenId, activityId } = this.form;
  89. return { kindergartenId, activityId };
  90. },
  91. errorMsg() {
  92. const { kindergartenId } = this.form;
  93. if (kindergartenId) {
  94. return null;
  95. } else {
  96. return '请先选择关联场景';
  97. }
  98. }
  99. },
  100. watch: {
  101. 'form.kindergartenId': {
  102. handler(val) {
  103. this.form.activityId = '';
  104. },
  105. immediate: true
  106. }
  107. },
  108. mounted() {},
  109. methods: {
  110. handleFinish() {
  111. this.$success('保存成功!');
  112. this.modal = false;
  113. this.$g_emit('photo_reload');
  114. }
  115. }
  116. };
  117. </script>
  118. <style lang="scss" scoped></style>