text-display2.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <drag-tool :unique="data.unique" @delete="deleteModule" :is-edit="isEdit" @copy="copyModule" @active="activeModule">
  3. <div :style="moduleComputedStyle" class="flex">
  4. <div :style="titleComputedStyle" v-if="data.moduleConfig.showTitle" class="titlewrap"> <div class="titleStyle">{{titleText}}</div>
  5. </div>
  6. <div class="flex-sub" :style="textComputedStyle"> <div class="contentStyle">{{displayText}}</div>
  7. </div>
  8. </div>
  9. </drag-tool>
  10. </template>
  11. <script>
  12. import DragTool from "../DragTool";
  13. import mixin from '../../mixinnew'
  14. export default {
  15. name: "text-display2",
  16. mixins:[mixin],
  17. components: {DragTool},
  18. title:'自定义看板项显示',
  19. computed:{
  20. displayText(){
  21. if(this.data.moduleConfig.dataConfig&&this.data.moduleConfig.dataConfig.displayCustomerItem!==null){ //看板项内容
  22. let customItem = this.$store.state.boardCustomerItems.filter(p=>p.his_keyval===this.data.moduleConfig.dataConfig.displayCustomerItem)[0]
  23. if(customItem){
  24. return customItem.area_content
  25. }
  26. }
  27. return ''
  28. },
  29. titleText(){
  30. //重写自定看板项标题
  31. if(this.data.moduleConfig.dataConfig&&this.data.moduleConfig.dataConfig.titleText!=='') {
  32. return this.data.moduleConfig.dataConfig.titleText
  33. }
  34. if(this.data.moduleConfig.dataConfig&&this.data.moduleConfig.dataConfig.displayCustomerItem!==null){ //看板项内容
  35. let customItem = this.$store.state.boardCustomerItems.filter(p=>p.his_keyval===this.data.moduleConfig.dataConfig.displayCustomerItem)[0]
  36. if(customItem){
  37. return customItem.area_label
  38. }
  39. }
  40. return '标题'
  41. }
  42. },
  43. dataTpl:{
  44. tpl_id: 8,
  45. tpl_type: 'BOARD_ITEM',
  46. templateName:'text-display2',
  47. isEdit:true,
  48. unique:'',
  49. moduleIconClass:'icon-Text',
  50. moduleConfig:{
  51. moduleStyle: {
  52. borderColor: '',
  53. borderRadius:'0px',
  54. borderStyle:'solid',
  55. backgroundColor:'',
  56. borderTopWidth:'0px',
  57. borderRightWidth:'0px',
  58. borderBottomWidth:'0px',
  59. borderLeftWidth:'0px',
  60. margin:'0px',
  61. padding:'0px',
  62. height:'40px'
  63. },
  64. styleConfig:{
  65. },
  66. titleStyle:{ //标题样式
  67. fontSize:'14px',
  68. color:'',
  69. fontWeight:'normal',
  70. marginLeft:'0px',
  71. marginRight:'0px',
  72. },
  73. textStyle:{ //内容样式
  74. fontSize:'14px',
  75. color:'',
  76. fontWeight:'normal',
  77. marginLeft:'0px',
  78. marginRight:'0px',
  79. },
  80. dataConfig:{
  81. displayCustomerItem:'',
  82. titleText:''
  83. },
  84. showTitle:true, //显示标题,
  85. },
  86. children:([])
  87. },
  88. }
  89. </script>
  90. <style scoped>
  91. .contentStyle{
  92. margin-left: 10px;
  93. display: flex;
  94. align-items: center;
  95. height: 100%;
  96. overflow: hidden;
  97. overflow-wrap: break-word;
  98. word-break: break-all;
  99. }
  100. .titlewrap{
  101. align-items: center;
  102. display: flex;
  103. flex-direction: column;
  104. overflow: hidden;
  105. overflow-wrap: break-word;
  106. }
  107. .titleStyle{
  108. height: 100%;
  109. display: inline-flex;
  110. align-items: center;
  111. flex-direction: row-reverse;
  112. width: 100%;
  113. overflow-wrap: break-word;
  114. word-break: break-all;
  115. }
  116. </style>