wuyouming666
2023-09-01 5313d8736c40de0693f89dce77cb93e9983b5ace
CanadaMes-ui/src/views/user/index.vue
@@ -11,11 +11,11 @@
      <el-row :gutter="20">
        <!--搜索与添加区域-->
        <el-col :span="6">
          <el-input  v-model="queryInfo.username" clearable @clear="getUserList">
          <el-input placeholder="请输入用户名称"  v-model="queryInfo.username" clearable @clear="getUserList">
          </el-input>
        </el-col>
        <el-col :span="6">
          <el-input  v-model="queryInfo.email" clearable @clear="getUserList">
          <el-input  placeholder="请输入邮箱" v-model="queryInfo.email" clearable @clear="getUserList">
          </el-input>
        </el-col>
        <!--搜索按钮-->
@@ -43,6 +43,14 @@
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column label="操作">
  <template slot-scope="scope">
    <el-button  type="primary" icon="el-icon-refresh" @click="resetPassword(scope.row)">
      {{ $t('resetPassword') }}
    </el-button>
  </template>
</el-table-column>
        <el-table-column :label="$t('langAction')">
          <template slot-scope="scope">
            <!--修改-->
@@ -59,15 +67,19 @@
        </el-table-column>
      </el-table>
      <!--分页区域-->
      <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="queryInfo.pageNum"
          :page-sizes="[10, 20, 30, 40]"
          :page-size="queryInfo.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="userList.total">
      </el-pagination>
       <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="queryInfo.pageNum"
      :page-sizes="[6, 12, 18, 24]"
      :page-size="queryInfo.pageSize"
      :total="userList.total"
      :prev-text="$t('pagination.prev')"
      :next-text="$t('pagination.next')"
      :pager-count="7"
      :layout="layout"
    >
    </el-pagination>
    </el-card>
    <!--添加用户的对话框-->
    <el-dialog
@@ -76,22 +88,34 @@
        width="50%"
        @close="addDialogClosed">
      <!--内容主体区域-->
      <el-form :model="addUserForm" :rules="addUserRules" ref="addUserRef" label-width="70px">
        <el-form-item :label="$t('langUsername')" prop="username">
          <el-input v-model="addUserForm.username"></el-input>
      <el-form :model="addUserForm" :rules="addUserRules" ref="addUserRef" label-width="100px">
        <el-form-item :label="$t('langUsername')" prop="username" >
          <el-input v-model="addUserForm.username" ></el-input>
        </el-form-item>
        <el-form-item :label="$t('langPassword')" prop="password">
        <el-form-item :label="$t('langPassword')" prop="password" >
          <el-input v-model="addUserForm.password" type="password"></el-input>
        </el-form-item>
        <el-form-item :label="$t('langEmail')" prop="email">
          <el-input v-model="addUserForm.email"></el-input>
        </el-form-item>
        <el-form-item :label="$t('langState')" prop="state">
          <el-select v-model="addUserForm.state" >
            <el-option v-for="(item,index) in options"
                       :key="index"
                       :value="item.value"
                       :label="item.label">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="角色" prop="roleId">
          <el-select filterable v-model="addUserForm.roleId" placeholder="请选择">
            <el-option v-for="item in roleList"
                       :key="item.id"
                       :value="item.id"
                       :label="item.name">
            </el-option>
          </el-select>
        </el-form-item>
@@ -107,11 +131,11 @@
        :visible.sync="editDialogVisible"
        width="50%">
      <!--内容主体区域-->
      <el-form :model="editUserForm" :rules="addUserRules" ref="addCategoryRef" label-width="70px">
      <el-form :model="editUserForm" :rules="addUserRules" ref="addCategoryRef" label-width="100px">
        <el-form-item :label="$t('langUsername')" prop="username">
          <el-input v-model="editUserForm.username" disabled></el-input>
        </el-form-item>
        <el-form-item label="角色" prop="roleId">
        <el-form-item :label="$t('role')" prop="roleId">
          <el-select filterable v-model="editUserForm.roleId" placeholder="请选择">
            <el-option v-for="item in roleList"
                       :key="item.id"
@@ -143,18 +167,20 @@
<script>
import {getById, removeById, saveOrUpdate, selectPage} from "../../api/user";
import {getById, removeById, saveOrUpdate, selectPage,resetPass} from "../../api/user";
import {select} from "../../api/role";
import LanguageMixin from '../../lang/LanguageMixin'
export default {
  name: "User",
  mixins: [LanguageMixin],
  data() {
    return {
      layout: 'total, sizes, prev, pager, next, jumper',
      queryInfo: {
        pageNum: 1,
        pageSize: 10
        pageSize: 6
      },
      userList: {
        records: [],
@@ -207,21 +233,68 @@
        this.userList.records = res.data.records;
        this.userList.total = res.data.total
      });
//       test().then(res => {
//         console.log(res.data)
//       });
//       const data6 = [
//   { id: 32, deviceName: 'Device 7', address: 'Address 1' },
//   { id: 33, deviceName: 'Device 8', address: 'Address 2' },
// ];
//       testup(data6).then(res => {
//         console.log(res.data);
//       });
//       call({
//   id: 1,
//   name: 12345
// }).then(res => {
//         console.log(res.data);
//       });
    },
    showAddDialog() {
      this.addDialogVisible = true;
       select().then(res => {
  this.roleList = res.data;
});
    },
    // stateChange(info) {
    //   saveOrUpdate(info).then(() => {
    //     this.$message.success("更新状态成功")
    //   });
    // },
    stateChange(info) {
      saveOrUpdate(info).then(() => {
        this.$message.success("更新状态成功")
  saveOrUpdate(info).then(() => {
    const successMessage = this.$t('updateSuccessMessage');
    this.$message.success(successMessage);
  });
},
    resetPassword(info) {
  this.$confirm('确认重置密码为默认值吗?', '重置密码', {
    confirmButtonText: '确定',
    cancelButtonText: '取消',
    type: 'warning',
  })
    .then(() => {
      resetPass(info).then(() => {
        this.$message.success('密码已重置为默认值');
      });
    },
    })
    .catch(() => {
      // 用户取消重置密码操作
    });
},
    showEditDialog(id) {
      getById({id: id}).then(res => {
        this.editUserForm = res.data;
        this.editDialogVisible = true;
      });
      select().then(res => {
  this.roleList = res.data;
});