liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
1
{"remainingRequest":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\build\\IconsDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\build\\IconsDialog.vue","mtime":1675221397135},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\babel.config.js","mtime":1675221397043},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1678842089772}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi9Xb3Jrc3BhY2VzL2FyZC9SdW9ZaS1WdWUtbWFzdGVyL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiKTsKdmFyIF9pY29uID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL3V0aWxzL2dlbmVyYXRvci9pY29uLmpzb24iKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgp2YXIgb3JpZ2luTGlzdCA9IF9pY29uLmRlZmF1bHQubWFwKGZ1bmN0aW9uIChuYW1lKSB7CiAgcmV0dXJuICJlbC1pY29uLSIuY29uY2F0KG5hbWUpOwp9KTsKdmFyIF9kZWZhdWx0ID0gewogIGluaGVyaXRBdHRyczogZmFsc2UsCiAgcHJvcHM6IFsnY3VycmVudCddLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBpY29uTGlzdDogb3JpZ2luTGlzdCwKICAgICAgYWN0aXZlOiBudWxsLAogICAgICBrZXk6ICcnCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGtleTogZnVuY3Rpb24ga2V5KHZhbCkgewogICAgICBpZiAodmFsKSB7CiAgICAgICAgdGhpcy5pY29uTGlzdCA9IG9yaWdpbkxpc3QuZmlsdGVyKGZ1bmN0aW9uIChuYW1lKSB7CiAgICAgICAgICByZXR1cm4gbmFtZS5pbmRleE9mKHZhbCkgPiAtMTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmljb25MaXN0ID0gb3JpZ2luTGlzdDsKICAgICAgfQogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgb25PcGVuOiBmdW5jdGlvbiBvbk9wZW4oKSB7CiAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5jdXJyZW50OwogICAgICB0aGlzLmtleSA9ICcnOwogICAgfSwKICAgIG9uQ2xvc2U6IGZ1bmN0aW9uIG9uQ2xvc2UoKSB7fSwKICAgIG9uU2VsZWN0OiBmdW5jdGlvbiBvblNlbGVjdChpY29uKSB7CiAgICAgIHRoaXMuYWN0aXZlID0gaWNvbjsKICAgICAgdGhpcy4kZW1pdCgnc2VsZWN0JywgaWNvbik7CiAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZTp2aXNpYmxlJywgZmFsc2UpOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7"},{"version":3,"mappings":";;;;;;;;;;AAoCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;AAAA;AAAA,eAEA;EACAA;EACAC;EACAC;IACA;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACAD;MACA;QACA;UAAA;QAAA;MACA;QACA;MACA;IACA;EACA;EACAE;IACAC;MACA;MACA;IACA;IACAC;IACAC;MACA;MACA;MACA;IACA;EACA;AACA;AAAA","names":["inheritAttrs","props","data","iconList","active","key","watch","methods","onOpen","onClose","onSelect"],"sourceRoot":"src/views/tool/build","sources":["IconsDialog.vue"],"sourcesContent":["<template>\r\n  <div class=\"icon-dialog\">\r\n    <el-dialog\r\n      v-bind=\"$attrs\"\r\n      width=\"980px\"\r\n      :modal-append-to-body=\"false\"\r\n      v-on=\"$listeners\"\r\n      @open=\"onOpen\"\r\n      @close=\"onClose\"\r\n    >\r\n      <div slot=\"title\">\r\n        选择图标\r\n        <el-input\r\n          v-model=\"key\"\r\n          size=\"mini\"\r\n          :style=\"{width: '260px'}\"\r\n          placeholder=\"请输入图标名称\"\r\n          prefix-icon=\"el-icon-search\"\r\n          clearable\r\n        />\r\n      </div>\r\n      <ul class=\"icon-ul\">\r\n        <li\r\n          v-for=\"icon in iconList\"\r\n          :key=\"icon\"\r\n          :class=\"active===icon?'active-item':''\"\r\n          @click=\"onSelect(icon)\"\r\n        >\r\n          <i :class=\"icon\" />\r\n          <div>{{ icon }}</div>\r\n        </li>\r\n      </ul>\r\n    </el-dialog>\r\n  </div>\r\n</template>\r\n<script>\r\nimport iconList from '@/utils/generator/icon.json'\r\n\r\nconst originList = iconList.map(name => `el-icon-${name}`)\r\n\r\nexport default {\r\n  inheritAttrs: false,\r\n  props: ['current'],\r\n  data() {\r\n    return {\r\n      iconList: originList,\r\n      active: null,\r\n      key: ''\r\n    }\r\n  },\r\n  watch: {\r\n    key(val) {\r\n      if (val) {\r\n        this.iconList = originList.filter(name => name.indexOf(val) > -1)\r\n      } else {\r\n        this.iconList = originList\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    onOpen() {\r\n      this.active = this.current\r\n      this.key = ''\r\n    },\r\n    onClose() {},\r\n    onSelect(icon) {\r\n      this.active = icon\r\n      this.$emit('select', icon)\r\n      this.$emit('update:visible', false)\r\n    }\r\n  }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.icon-ul {\r\n  margin: 0;\r\n  padding: 0;\r\n  font-size: 0;\r\n  li {\r\n    list-style-type: none;\r\n    text-align: center;\r\n    font-size: 14px;\r\n    display: inline-block;\r\n    width: 16.66%;\r\n    box-sizing: border-box;\r\n    height: 108px;\r\n    padding: 15px 6px 6px 6px;\r\n    cursor: pointer;\r\n    overflow: hidden;\r\n    &:hover {\r\n      background: #f2f2f2;\r\n    }\r\n    &.active-item{\r\n      background: #e1f3fb;\r\n      color: #7a6df0\r\n    }\r\n    > i {\r\n      font-size: 30px;\r\n      line-height: 50px;\r\n    }\r\n  }\r\n}\r\n.icon-dialog {\r\n  ::v-deep .el-dialog {\r\n    border-radius: 8px;\r\n    margin-bottom: 0;\r\n    margin-top: 4vh !important;\r\n    display: flex;\r\n    flex-direction: column;\r\n    max-height: 92vh;\r\n    overflow: hidden;\r\n    box-sizing: border-box;\r\n    .el-dialog__header {\r\n      padding-top: 14px;\r\n    }\r\n    .el-dialog__body {\r\n      margin: 0 20px 20px 20px;\r\n      padding: 0;\r\n      overflow: auto;\r\n    }\r\n  }\r\n}\r\n</style>\r\n"]}]}