PromptDetail.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <div class="NoiseTemplateWrapper TemplateWrapper">
  3. <crumbs title="提示信息维护--详情" class="topBack" linkTo="/admin/LT-YXSJWH-TSXXWH">
  4. </crumbs>
  5. <div class="info-container">
  6. <el-form label-width="130px"
  7. ref="groups">
  8. <el-form-item label="静态知识名称:">
  9. {{editData.name}}
  10. </el-form-item>
  11. <p class="line"></p>
  12. <div class="add-prg" v-for="prg in editData.details">
  13. <el-form-item label="是否属于诊断:">
  14. {{prg.isReason?'是':'否'}}
  15. </el-form-item>
  16. <el-form-item label="显示位置:">
  17. {{parsePosition(prg.position)}}
  18. </el-form-item>
  19. <el-form-item label="标题:">
  20. {{prg.title}}
  21. </el-form-item>
  22. <el-form-item label="内容:">
  23. <div v-html="prg.content"></div>
  24. </el-form-item>
  25. </div>
  26. <p class="line"></p>
  27. <el-form-item label="关联标签:">
  28. <span class="tag" v-for="it in editData.questionList">
  29. {{it.name}}
  30. </span>
  31. </el-form-item>
  32. </el-form>
  33. </div>
  34. </div>
  35. </template>
  36. <script>
  37. /**
  38. *
  39. */
  40. import api from '@api/icss.js';
  41. export default {
  42. name: 'PromptDetail',
  43. data() {
  44. return {
  45. editData:{},
  46. positions:[],
  47. position:''
  48. }
  49. },
  50. created:function(){
  51. const {id} = this.$route.params;
  52. const pos = localStorage.getItem("icssEnumsData");
  53. this.positions = JSON.parse(pos)&&JSON.parse(pos).introducePositionEnum;
  54. api.getPrompDetail({id}).then((res) =>{
  55. if(res.data.code === '0') {
  56. this.editData = res.data.data;
  57. }else{
  58. this.warning("数据获取失败");
  59. }
  60. })
  61. },
  62. methods: {
  63. back() { this.$router.go(-1) },
  64. parsePosition(item){
  65. const sit = item||[];
  66. let text = '';
  67. this.positions.forEach((it)=>{
  68. if(sit.split(",").includes(it.key+'')){
  69. text+=it.name+',';
  70. }
  71. });
  72. return text.replace(/,$/,'');
  73. },
  74. warning(msg, type) {
  75. this.$message({
  76. showClose: true,
  77. message: msg,
  78. type: type || 'warning'
  79. })
  80. },
  81. }
  82. }
  83. </script>
  84. <style lang="less">
  85. @import "../../less/common.less";
  86. .info-container{
  87. background: #fff;
  88. padding: 20px;
  89. margin: 20px 20px -20px 20px;
  90. .el-input__inner{
  91. width: 200px;
  92. }
  93. .el-form-item__label{
  94. text-align: left;
  95. }
  96. .add-prg .el-form-item{
  97. margin-bottom: 20px;
  98. }
  99. }
  100. .line{
  101. border-top:1px #dcdfe6 solid;
  102. margin-bottom: 25px;
  103. }
  104. .tag:before{
  105. content:'['
  106. }
  107. .tag:after{
  108. content: ']';
  109. margin-right: 10px;
  110. }
  111. </style>