applyLog.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <el-dialog title="提示" :visible.sync="dialogVisible" width="40%" id="applyRules">
  3. <p>按对应规则配置动态参数,已完成!</p>
  4. <p>请检查并关注以下实例及相关动态参数,自动配置结果是否正确</p>
  5. <div ref="message" style="max-height:400px;overflow-x:hidden;overflow-y:auto;">
  6. <div v-for="item in ContentList" :key="item.code" v-show="item.children.length">
  7. <p>【{{item.name}}】</p>
  8. <div v-for="t in item.children" :key="t.ObjectID+t.Id">
  9. <p v-if="t.TypeCode=='Eq'">
  10. {{`${t.ObjectLocalName?t.ObjectLocalName:'--'}/${t.ObjectID?t.ObjectID:'--'}/${t.TypeName?t.TypeName:'--'}/${t.BuildLocalName?t.BuildLocalName:'--' }/${t.FloorLocalName?t.FloorLocalName:'--'}/${t.RoomLocalName?t.RoomLocalName:'--'}`}}
  11. </p>
  12. <p v-if="t.TypeCode=='Ec'">
  13. {{`${t.ObjectLocalName?t.ObjectLocalName:'--'}/${t.ObjectID?t.ObjectID:'--'}/${t.TypeName?t.TypeName:'--'}/${t.CascadeEquipLocalName}/${t.BuildLocalName?t.BuildLocalName:'--' }/${t.FloorLocalName?t.FloorLocalName:'--'}/${t.RoomLocalName?t.RoomLocalName:'--'}`}}
  14. </p>
  15. <p v-if="t.TypeCode=='Sp'">
  16. {{`${t.ObjectLocalName?t.ObjectLocalName:'--'}/${t.ObjectID?t.ObjectID:'--'}/${t.TypeName?t.TypeName:'--'}/${t.BuildLocalName?t.BuildLocalName:'--' }/${t.FloorLocalName?t.FloorLocalName:'--'}`}}
  17. </p>
  18. <p v-if="t.TypeCode=='Sy'">{{`${t.ObjectLocalName?t.ObjectLocalName:'--'}/${t.ObjectID?t.ObjectID:'--'}/${t.TypeName?t.TypeName:'--'}`}}</p>
  19. <p>{{`${t.InfomationPoint}/${t.Old}/${t.New}`}}</p>
  20. <hr style="margin:10px 0;width:50%;">
  21. </div>
  22. </div>
  23. </div>
  24. <span slot="footer" class="dialog-footer">
  25. <el-button size="small" @click="copy">复制信息</el-button>
  26. <el-button size="small" type="primary" @click="dialogVisible=false">关闭</el-button>
  27. </span>
  28. </el-dialog>
  29. </template>
  30. <script>
  31. import {
  32. dynamicExecuteDetail // 查询执行日志
  33. } from "@/api/scan/request";
  34. export default {
  35. data() {
  36. return {
  37. dialogVisible: false, //弹窗显示与隐藏
  38. ContentList: [
  39. { name: '人工维护过值的信息点', children: [], code: 'MeterDiff' },
  40. { name: '多个表号功能号对应一个信息点,无法执行对应规则,请检查', children: [], code: 'Multiple' },
  41. ],
  42. typeList: ["MeterDiff", "Multiple"], //此分类索引需与上list保持一致
  43. };
  44. },
  45. methods: {
  46. showDialog(Id) {
  47. this.dialogVisible = true
  48. this.getApplyLog(Id)
  49. },
  50. handleClose() {
  51. this.dialogVisible = false;
  52. },
  53. //复制信息
  54. copy() {
  55. let text = this.$refs.message.innerText;
  56. let copyUrl = $('<input type="text" />').val(text);//创建一个input框获取需要复制的文本内容
  57. copyUrl.appendTo('body');
  58. copyUrl.select();
  59. document.execCommand("Copy");
  60. copyUrl.remove()
  61. this.$message.success('复制成功')
  62. },
  63. //查询执行日志
  64. getApplyLog(Id) {
  65. let param = {
  66. Filters: `Type='Multiple' or Type='MeterDiff';Id='${Id}'`,
  67. PageNumber: 1,
  68. PageSize: 50
  69. }
  70. dynamicExecuteDetail(param, res => {
  71. res.Content.map(t => {
  72. this.ContentList[this.typeList.indexOf(t.Type)].children.push(t)
  73. })
  74. this.ContentList[1].children = this.unique(this.ContentList[1].children)
  75. })
  76. },
  77. //数组去重
  78. unique(arr) {
  79. let hash = [];
  80. if (arr.length) {
  81. for (var i = 0; i < arr.length; i++) {
  82. for (var j = i + 1; j < arr.length; j++) {
  83. if (arr[i].ObjectID === arr[j].ObjectID && arr[i].InfomationPointCode === arr[j].InfomationPointCode) {
  84. ++i;
  85. arr[i].New += '/' + arr[j].New
  86. }
  87. }
  88. hash.push(arr[i]);
  89. }
  90. }
  91. return hash;
  92. }
  93. }
  94. };
  95. </script>