headers.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <template>
  2. <div>
  3. <div class="titleWrap">
  4. <div class="box">
  5. <span class="shape"></span>
  6. <span>{{ title }}</span>
  7. </div>
  8. <div class="right">
  9. <el-select
  10. v-if="!hidenOrgan"
  11. size="mini"
  12. class="multiple"
  13. v-model.trim="organId"
  14. filterable
  15. clearable
  16. placeholder="请选择分部"
  17. @change="changeOrgan"
  18. >
  19. <el-option
  20. v-for="(item, index) in special?specialList:selects.branchs"
  21. :key="index"
  22. :label="item.name"
  23. :value="item.id"
  24. ></el-option>
  25. </el-select>
  26. </div>
  27. </div>
  28. <el-divider></el-divider>
  29. </div>
  30. </template>
  31. <script>
  32. export default {
  33. props: ["title", "hidenOrgan",'special'],
  34. data() {
  35. return {
  36. organId: "",
  37. specialList: [],
  38. };
  39. },
  40. async mounted() {
  41. await this.$store.dispatch("setBranchs");
  42. const arr = [36,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56]
  43. this.specialList = this.selects.branchs.filter((item) => {
  44. return arr.indexOf(item.id) == -1;
  45. });
  46. },
  47. methods: {
  48. changeOrgan(val) {
  49. this.organId = val;
  50. this.$emit("changeOrgan", val);
  51. },
  52. },
  53. };
  54. </script>
  55. <style lang="scss" scoped>
  56. .el-divider--horizontal {
  57. margin-top: 0 !important;
  58. }
  59. .titleWrap {
  60. display: flex;
  61. flex-direction: row;
  62. justify-content: space-between;
  63. align-items: center;
  64. height: 55px;
  65. }
  66. </style>