WeekReport.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <div class="reportCard">
  3. <el-form-item label="推送时间:" required>
  4. <el-form-item prop="dayOfWeek">
  5. <el-col :span="22">
  6. <el-select
  7. v-model="form.dayOfWeek"
  8. placeholder="每周一"
  9. style="width: 146.5px; height: 32px"
  10. :disabled="disableType.contentDisable"
  11. prop="dayOfWeek"
  12. >
  13. <el-option label="周一" :value="1" />
  14. <el-option label="周二" :value="2" />
  15. <el-option label="周三" :value="3" />
  16. <el-option label="周四" :value="4" />
  17. <el-option label="周五" :value="5" />
  18. <el-option label="周六" :value="6" />
  19. <el-option label="周日" :value="7" />
  20. </el-select>
  21. </el-col>
  22. </el-form-item>
  23. <el-col class="text-center" :span="2" style="padding-bottom: 10px;">
  24. <span class="text-gray-500">—</span>
  25. </el-col>
  26. <el-form-item
  27. prop="pushTimeList[0]"
  28. :rules="{ required: true, message: '请选择时间', trigger: 'blur' }"
  29. >
  30. <el-col :span="22">
  31. <el-time-picker
  32. v-model="form.pushTimeList[0]"
  33. placeholder="09:00"
  34. value-format="HH:mm:ss"
  35. style="width: 146.5px; height: 32px"
  36. :disabled="disableType.contentDisable"
  37. />
  38. </el-col>
  39. </el-form-item>
  40. </el-form-item>
  41. <el-form-item label="推送对象:" required prop="recipientType">
  42. <el-radio-group v-model="form.recipientType" :disabled="disableType.contentDisable">
  43. <el-radio :value="1">全员</el-radio>
  44. <el-radio :value="2">分组</el-radio>
  45. <el-radio :value="3">自定义</el-radio>
  46. </el-radio-group>
  47. </el-form-item>
  48. <el-form-item v-if="form.recipientType === 2" label="选择分组:" required prop="userGroupList" style=" margin-top: 10px;">
  49. <el-col :span="10">
  50. <el-select
  51. v-model="form.userGroupList"
  52. multiple
  53. placeholder="请选择分组"
  54. style="width: 326px;"
  55. :disabled="disableType.contentDisable"
  56. >
  57. <el-option
  58. v-for="item in options"
  59. :key="item.userGroupId"
  60. :label="item.name"
  61. :value="item.userGroupId"
  62. />
  63. </el-select>
  64. </el-col>
  65. </el-form-item>
  66. <el-form-item
  67. v-if="form.recipientType === 3"
  68. label="选择人员:"
  69. required
  70. prop="customUserList.value"
  71. style="width: 526px; margin-top: 10px;"
  72. :rules="{ required: true, message: '请选择推送人员', trigger: ['change'] }"
  73. >
  74. <el-col :span="18">
  75. <SelectTree :form="form" :disableType="disableType" />
  76. </el-col>
  77. </el-form-item>
  78. </div>
  79. </template>
  80. <script lang="ts" setup>
  81. import { ref, onMounted } from 'vue';
  82. import { searchGroup } from '@/api/sendMessage/sendMessage';
  83. import SelectTree from '../SelectTree.vue';
  84. const prop = defineProps(['form', 'disableType']);
  85. const options = ref();
  86. onMounted(() => {
  87. searchGroup()
  88. .then((res) => {
  89. options.value = res.groupVOList;
  90. })
  91. .catch((error) => {});
  92. });
  93. </script>
  94. <style scoped>
  95. .reportCard {
  96. margin-left: 87px;
  97. padding: 12px 0px 0px 12px;
  98. margin-bottom: 16px;
  99. background-color: #fafafa;
  100. width: 530px;
  101. box-sizing: border-box;
  102. }
  103. .el-form-item--default {
  104. /* margin-bottom: 8px; */
  105. margin-bottom: 0px;
  106. padding-bottom: 10px;
  107. }
  108. .reportCard > .el-form-item:last-child{
  109. /* background:#ff0000; */
  110. padding-bottom: 16px;
  111. }
  112. ::v-deep .el-select__selection{
  113. min-height: 25px;
  114. }
  115. </style>