wangting
2024-12-17 b9686c7739bf131922005e86128ba9232c0313ac
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/statusPool/index.vue
@@ -13,32 +13,27 @@
      @current-change="currentChange"
    >
      <template slot="menuLeft">
        <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
        <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
        </el-button>
        <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
        </el-button>
        <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出
        <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">导入
        </el-button>
        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">导入
        <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出
        </el-button>
        <el-button icon="el-icon-view" plain size="small" type="primary"  @click="checkViewClickHandler">查看使用范围
        <el-button v-if="permissionList.viewTheScopeBtn" icon="el-icon-view" plain size="small" type="primary"  @click="checkViewClickHandler">查看使用范围
        </el-button>
      </template>
      <template slot="menu" slot-scope="{row,index}">
        <el-button icon="el-icon-edit" plain size="small" type="text" @click="editClickHandler(row)">修改
        <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="text" @click="editClickHandler(row)">修改
        </el-button>
        <el-button icon="el-icon-delete" plain size="small" type="text" @click="delRowClickHandler(row)">删除
        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="text" @click="delRowClickHandler(row)">删除
        </el-button>
      </template>
      <template #icon="{ row }">
          <span class="avue-icon avue-icon--small">
            <svg v-if="row.icon && row.icon.indexOf('#')==-1" aria-hidden="true">
              <use :xlink:href="row.icon"></use>
            </svg>
            <i v-else :class="row.icon"></i>
          </span>
        <span v-html="svgHtml(row.imagePath )"></span>
      </template>
    </avue-crud>
@@ -65,9 +60,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="图标:" prop="icon">
              <avue-input-icon v-model="form.icon" :icon-list="iconList" placeholder="请选择图标">
              </avue-input-icon>
            <el-form-item label="图标:" prop="imagePath">
              <input-icon v-model="form.imagePath" placeholder="请选择图标">
              </input-icon>
            </el-form-item>
          </el-col>
          <el-col :span="24">
@@ -78,8 +73,8 @@
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="addSaveHandler">确 定</el-button>
         <el-button @click="visibleCloseHandler">取 消</el-button>
         <el-button size="small" type="primary" @click="addSaveHandler">确 定</el-button>
         <el-button size="small" @click="visibleCloseHandler">取 消</el-button>
        </span>
    </el-dialog>
@@ -114,6 +109,7 @@
import func from "@/util/func";
import basicOption from "@/util/basic-option";
import iconList from "@/config/iconList";
import {mapGetters} from "vuex";
export default {
  name: "index",
@@ -206,18 +202,32 @@
      },
    }
  },
  computed:{
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
        viewTheScopeBtn: this.vaildData(this.permission[this.$route.query.id].viewTheScope, false),
      };
    },
  },
  created() {
    this.getList();
  },
  methods: {
    svgHtml(svgName){
      return func.getSVGByName(svgName);
    },
    getList() {
      gridStatus(this.page.currentPage, this.page.pageSize).then(res => {
        const data = res.data.data;
        this.data = data;
        this.page.total = res.data.total;
        this.loading = false;
      }).catch(err => {
        this.$message.error(err);
      });
    },