田源
2025-01-16 404966637eda6881a0f17683c5aacc7c1c34aed8
Source/plt-web/plt-web-ui/src/views/system/password/index.vue
@@ -14,21 +14,30 @@
      @row-save="rowSaveHandler"
      @row-update="rowUpdateHandler"
    >
      <template slot="menuLeft" slot-scope="{ row, index }">
        <el-button v-if="permissionList.addBtn" class="button-custom-icon" size="small"
                   type="primary" @click="$refs.passWordCrud.rowAdd()">
          <icon-show :name="permissionList.addBtn.source"></icon-show>
          新 增
        </el-button>
      </template>
      <template slot="menu" slot-scope="{ row, index }">
        <el-button
          icon="el-icon-edit"
          v-if="permissionList.editBtn"
          size="small"
          type="text"
          @click="handleEdit(row, index)"
        >
          <icon-show :name="permissionList.editBtn.source"></icon-show>
          编辑
        </el-button>
        <el-button
          icon="el-icon-delete"
          v-if="permissionList.delBtn"
          size="small"
          type="text"
          @click="handleDel(row, index)"
        >
          <icon-show :name="permissionList.delBtn.source"></icon-show>
          删除
        </el-button>
      </template>
@@ -49,6 +58,7 @@
<script>
import {refDataGrid, deleteDep, addDept, updatePasswordStrateg} from "@/api/system/password/api"
import basicOption from "@/util/basic-option";
import {mapGetters} from "vuex";
export default {
  name: "index",
@@ -56,13 +66,42 @@
    return {
      form: {},
      tableData: [],
      option: {
      page: {
        currentPage: 1,
        pageSize: 10,
        total: 0,
        pageSizes: [10, 30, 50, 100],
      },
      tableLoading: false,
      checkboxlength: "", // 添加存放多选的变量,用于下拉菜单的禁用效果和必填种类是否大于组合方式然后提示用户重新选择
      selectlength: 0,    // 下拉菜单的数据变量
      checkboxlist: "",  // 用于防止change时间冒泡,出现两次弹窗定义的变量
      checkboxNumber: "", // 用于首次点击编辑,判断组合方式是否小于必填种类的变量
      selectNumber: "",   // 存放多选的变量,效果一样,只是用作在编辑模块
      checkboxedit: "",   // 用于判断是否是编辑
      editFlag: false,
      minValue: "",        // 最小长度value
      maxValue: ""         // 最大长度value
    }
  },
  computed: {
    ...mapGetters(["permission"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
      };
    },
    option() {
      return {
        ...basicOption,
        addBtn: false,
        selection: false,
        calcHeight: -60,
        menuWidth: 150,
        editBtn: false,
        delBtn: false,
        calcHeight: -60,
        column: [
          {
            label: '策略名称',
@@ -298,28 +337,13 @@
            }]
          },
        ]
      },
      page: {
        currentPage: 1,
        pageSize: 10,
        total: 0,
        pageSizes: [10, 30, 50, 100],
      },
      tableLoading: false,
      checkboxlength: "", // 添加存放多选的变量,用于下拉菜单的禁用效果和必填种类是否大于组合方式然后提示用户重新选择
      selectlength: 0,    // 下拉菜单的数据变量
      checkboxlist: "",  // 用于防止change时间冒泡,出现两次弹窗定义的变量
      checkboxNumber: "", // 用于首次点击编辑,判断组合方式是否小于必填种类的变量
      selectNumber: "",   // 存放多选的变量,效果一样,只是用作在编辑模块
      checkboxedit: "",   // 用于判断是否是编辑
      editFlag: false,
      minValue: "",        // 最小长度value
      maxValue: ""         // 最大长度value
      }
    }
  },
  methods: {
    // 表格初始化请求
    getTableList() {
      console.log(this.$route)
      this.tableLoading = true;
      refDataGrid(this.page.currentPage, this.page.pageSize).then(res => {
        this.tableData = res.data.data;
@@ -368,7 +392,7 @@
    },
    // 修改
    rowUpdateHandler(row, index, done,loading) {
    rowUpdateHandler(row, index, done, loading) {
      row.combinations = row.requireCharType;
      delete row.requireCharType;
      updatePasswordStrateg(row).then(res => {
@@ -419,7 +443,8 @@
      this.checkboxlength = val.value;
      this.checkboxedit = this.checkboxlength.toString().split(",");
      if (val.value !== undefined && val.value !== null) {
      if (val.value !== undefined && val.value !== null && val.value.length > 0) {
        this.form.requireCharCount = 1;
        if (this.checkboxlist === val.value) {
          return;
        } else {
@@ -432,6 +457,8 @@
            this.form.requireCharCount = "";
          }
        }
      } else {
        this.form.requireCharCount = "";
      }
      // 处理 必填种类选项禁用