Преглед на файлове

多语言 删除和批量删除

david преди 2 години
родител
ревизия
56b059aaf6
променени са 5 файла, в които са добавени 184 реда и са изтрити 66 реда
  1. 9 0
      src/api/filter.js
  2. 35 35
      src/components/FilterUser.vue
  3. 49 1
      src/lang/en.js
  4. 51 1
      src/lang/zh.js
  5. 40 29
      src/views/admin/role.vue

+ 9 - 0
src/api/filter.js

@@ -18,6 +18,15 @@ export function deleteRole(id) {
   })
 }
 
+// 批量删除角色
+export function batchDeleteRole(query) {
+  return request({
+    url: '/v1/admin/role-delete',
+    method: 'post',
+    params: query
+  })
+}
+
 // 列表
 export function adminRole(query) {
   return request({

+ 35 - 35
src/components/FilterUser.vue

@@ -4,7 +4,7 @@
       <el-select
         v-model="filterType"
         class="filter-item"
-        placeholder="筛选类型"
+        :placeholder="$t('common.selectType')"
         @change="handleFilterTypeChange"
       >
         <el-option v-for="(item,key) in allFilterTypes" :key="key" :label="item.name" :value="key" />
@@ -12,7 +12,7 @@
       <el-select
         v-model="filterSymbol"
         class="filter-item"
-        placeholder="筛选方式"
+        :placeholder="$t('common.selectFunction')"
       >
         <el-option v-for="(item,key) in filterSymbols" :key="key" :label="item" :value="key" />
       </el-select>
@@ -24,7 +24,7 @@
           class="filter-item"
           value-format="yyyy-MM-dd HH:mm:ss"
           type="datetime"
-          placeholder="选择日期"
+          :placeholder="$t('common.selectDate')"
         />
       </template>
       <template
@@ -35,7 +35,7 @@
           class="filter-item"
           value-format="yyyyMM"
           type="month"
-          placeholder="选择月份"
+          :placeholder="$t('common.selectMonth')"
         />
       </template>
       <template
@@ -72,18 +72,18 @@
         </el-select>
       </template>
       <template v-else>
-        <el-input v-model="filterValue" class="filter-item filter-value" placeholder="请输入内容" />
+        <el-input v-model="filterValue" class="filter-item filter-value" :placeholder="$t('common.pleaseInputContent')" />
       </template>
       <el-select
         v-model="filterRelation"
         class="filter-item filter-relation"
-        placeholder="关系"
+        :placeholder="$t('common.relation')"
       >
         <el-option v-for="(item,key) in filterRelations" :key="key" :label="item" :value="key" />
       </el-select>
       <el-button class="filter-item" icon="el-icon-plus" @click="handleOptionPlus" />
       <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleFilterUser">{{ filterBtnName }}</el-button>
-      <el-button class="filter-item" type="" @click="handleFilterClear">重置</el-button>
+      <el-button class="filter-item" type="" @click="handleFilterClear">{{ $t('common.reset') }}</el-button>
       <el-button class="down-button" type="text"><i class="el-icon-arrow-down" /></el-button>
     </div>
     <div v-show="filterSelected.length > 0" class="filter-selected">
@@ -96,7 +96,7 @@
       >{{ item.filterTypeName }} {{ item.filterSymbolName }} {{ item.filterName }}
       </el-tag>
     </div>
-    <el-dialog title="会员筛选" :visible.sync="filterUserDialogShow" width="80%">
+    <el-dialog :title="$t('filter.memberSelect')" :visible.sync="filterUserDialogShow" width="80%">
       <el-table
         v-loading="loading"
         :data="tableData"
@@ -105,39 +105,39 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55" />
-        <el-table-column label="会员编号">
+        <el-table-column :label="$t('filter.memberNumber')">
           <template slot-scope="scope">
             {{ scope.row.USER_NAME }}
           </template>
         </el-table-column>
-        <el-table-column label="姓名">
+        <el-table-column :label="$t('filter.name')">
           <template slot-scope="scope">
             {{ scope.row.REAL_NAME }}
           </template>
         </el-table-column>
-        <el-table-column label="证件号码" width="180">
+        <el-table-column :label="$t('filter.idNumber')" width="180">
           <template slot-scope="scope">
             {{ scope.row.ID_CARD }}
           </template>
         </el-table-column>
-        <el-table-column label="手机号码">
+        <el-table-column :label="$t('filter.phoneNumber')">
           <template slot-scope="scope">
             {{ scope.row.MOBILE }}
           </template>
         </el-table-column>
-        <el-table-column label="会员级别">
+        <el-table-column :label="$t('filter.memberLevel')">
           <template slot-scope="scope">
             {{ scope.row.DEC_LV ? filterCustomType.decLevel.values[scope.row.DEC_LV]['LEVEL_NAME'] : '' }}
           </template>
         </el-table-column>
-        <el-table-column label="聘级">
+        <el-table-column :label="$t('filter.level')">
           <template slot-scope="scope">
             {{ scope.row.EMP_LV ? filterCustomType.empLevel.values[scope.row.EMP_LV]['LEVEL_NAME'] : '' }}
           </template>
         </el-table-column>
       </el-table>
       <div class="white-box-footer">
-        <el-button type="primary" size="small" :disabled="multipleSelectionUserId == undefined || multipleSelectionUserId.length <= 0?true:false" @click="handleSelectValue(false)">确认筛选</el-button>
+        <el-button type="primary" size="small" :disabled="multipleSelectionUserId == undefined || multipleSelectionUserId.length <= 0?true:false" @click="handleSelectValue(false)">{{ $t('filter.confirmSelect') }}</el-button>
         <pagination :total="totalCount" :page_size="pageSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
       </div>
     </el-dialog>
@@ -159,18 +159,18 @@ export default {
       type: Object,
       default() {
         return {
-          'USER_NAME': { isUserTable: true, name: '会员编号' },
-          'REAL_NAME': { isUserTable: true, name: '会员姓名' },
-          'ID_CARD': { isUserTable: true, name: '身份证' },
-          'MOBILE': { isUserTable: true, name: '手机号' },
-          'CREATED_AT': { isUserTable: true, name: '加入时间', other: 'date' }
+          'USER_NAME': { isUserTable: true, name: this.$t('filter.memberNumber') },
+          'REAL_NAME': { isUserTable: true, name: this.$t('filter.memberName') },
+          'ID_CARD': { isUserTable: true, name: this.$t('filter.ID') },
+          'MOBILE': { isUserTable: true, name: this.$t('filter.phoneNumber') },
+          'CREATED_AT': { isUserTable: true, name: this.$t('filter.addAt'), other: 'date' }
         }
       }
     },
     filterBtnName: {
       type: String,
       default() {
-        return '筛选会员'
+        return this.$t('filter.memberSelect')
       }
     }
   },
@@ -185,13 +185,13 @@ export default {
       pageSize: 20,
       filterCustomType: {
         decLevel: {
-          placeholder: '请选择报单级别',
+          placeholder: this.$t('filter.pleaseSelectDecLevel'),
           labelField: 'LEVEL_NAME',
           valueField: 'ID',
           values: baseInfo.decLevels()
         },
         empLevel: {
-          placeholder: '请选择聘级',
+          placeholder: this.$t('filter.pleaseSelectEmpLevel'),
           labelField: 'LEVEL_NAME',
           valueField: 'ID',
           values: baseInfo.empLevels()
@@ -276,19 +276,19 @@ export default {
       filterType: '',
       filterSymbol: '',
       filterSymbols: {
-        '=': '等于',
-        'like': '包含',
-        '<>': '不等于',
-        'notLike': '不包含',
-        '>': '大于',
-        '>=': '大于等于',
-        '<': '小于',
-        '<=': '小于等于'
+        '=': this.$t('filter.eq'),
+        'like': this.$t('filter.like'),
+        '<>': this.$t('filter.noeq'),
+        'notLike': this.$t('filter.nolike'),
+        '>': this.$t('filter.moreThan'),
+        '>=': this.$t('filter.moreThanEq'),
+        '<': this.$t('filter.less'),
+        '<=': this.$t('filter.lessThan')
       },
       filterRelation: 'and',
       filterRelations: {
-        'and': '并且',
-        'or': '或者'
+        'and': this.$t('filter.and'),
+        'or': this.$t('filter.or')
       },
       filterValue: '',
       filterName: '',
@@ -337,7 +337,7 @@ export default {
     handleOptionPlus() {
       if (this.filterType === '' || this.filterSymbol === '' || (this.filterValue === '' && this.filterAreaValue === [])) {
         this.$message({
-          message: '请填写完整筛选内容',
+          message: this.$t('filter.selectContentNotice'),
           type: 'warning'
         })
         return false
@@ -359,7 +359,7 @@ export default {
         } else if (this.allFilterTypes[this.filterType].other === 'area') {
           if (this.filterSymbol !== '=') {
             this.$message({
-              message: '地区仅限于"等于"的筛选方式',
+              message: this.$t('filter.areaSelectNotice'),
               type: 'warning'
             })
             return false

+ 49 - 1
src/lang/en.js

@@ -199,7 +199,43 @@ export default {
     canNotBeBlank: ' cannot be blank',
     require: 'is required',
     createdAt: '创建时间',
-    updatedAt: '更新时间'
+    updatedAt: '更新时间',
+    actionThisData: '操作该数据',
+    selectType:"筛选类型",
+    selectFunction:'筛选方式',
+    selectDate:'选择日期',
+    selectMonth:'选择月份',
+    pleaseInputContent:'请输入内容',
+    relation:'关系',
+    reset:'重置',
+  },
+
+  filter:{
+    memberSelect:'会员筛选',
+    memberNumber:'会员编号',
+    name:'姓名',
+    idNumber:'证件号码',
+    phoneNumber:'手机号码',
+    memberLevel:'会员级别',
+    level:'级别',
+    confirmSelect:'确认筛选',
+    memberName:'会员姓名',
+    ID:'身份证',
+    addAt:'加入时间',
+    pleaseSelectDecLevel:'请选择报单级别',
+    pleaseSelectEmpLevel:'请选择级别',
+    eq:'等于',
+    like:'包含',
+    noeq:'不等于',
+    nolike:'不包含',
+    moreThan:'大于',
+    moreThanEq:'大于等于',
+    less:'小于',
+    lessThan:'小于等于',
+    and:'并且',
+    or:'或者',
+    selectContentNotice:'请填写完整筛选内容',
+    areaSelectNotice:'地区仅限于"等于"的筛选方式',
   },
 
   menu: {
@@ -293,5 +329,17 @@ export default {
   // 财务
   financial: {
     serviceCharge: '服务费(%)'
+  },
+
+  // 管理员管理
+  Administrator:{
+    role: '角色',
+    remark:'备注',
+    creatUser:'创建人',
+    creatAt:'创建时间',
+    updateUser:'修改人',
+    updateAt:'修改时间',
+    addRole:'添加角色',
+    selectData:'所选数据',
   }
 }

+ 51 - 1
src/lang/zh.js

@@ -84,6 +84,7 @@ export default {
     github: 'Github 地址'
   },
   permission: {
+    permission:'权限',
     addRole: '新增角色',
     editPermission: '编辑权限',
     roles: '你的权限',
@@ -172,6 +173,7 @@ export default {
   },
 
   common: {
+    screen:'筛选',
     save: '保存',
     modify: '修改',
     submit: '提交',
@@ -199,7 +201,43 @@ export default {
     canNotBeBlank: '不能为空',
     require: '必须填写',
     createdAt: '创建时间',
-    updatedAt: '更新时间'
+    updatedAt: '更新时间',
+    actionThisData: '操作该数据',
+    selectType:"筛选类型",
+    selectFunction:'筛选方式',
+    selectDate:'选择日期',
+    selectMonth:'选择月份',
+    pleaseInputContent:'请输入内容',
+    relation:'关系',
+    reset:'重置',
+  },
+
+  filter:{
+    memberSelect:'会员筛选',
+    memberNumber:'会员编号',
+    name:'姓名',
+    idNumber:'证件号码',
+    phoneNumber:'手机号码',
+    memberLevel:'会员级别',
+    level:'级别',
+    confirmSelect:'确认筛选',
+    memberName:'会员姓名',
+    ID:'身份证',
+    addAt:'加入时间',
+    pleaseSelectDecLevel:'请选择报单级别',
+    pleaseSelectEmpLevel:'请选择级别',
+    eq:'等于',
+    like:'包含',
+    noeq:'不等于',
+    nolike:'不包含',
+    moreThan:'大于',
+    moreThanEq:'大于等于',
+    less:'小于',
+    lessThan:'小于等于',
+    and:'并且',
+    or:'或者',
+    selectContentNotice:'请填写完整筛选内容',
+    areaSelectNotice:'地区仅限于"等于"的筛选方式',
   },
 
   // 菜单
@@ -294,6 +332,18 @@ export default {
   // 财务
   financial: {
     serviceCharge: '服务费(%)'
+  },
+
+  // 管理员管理
+  Administrator:{
+    role: '角色',
+    remark:'备注',
+    creatUser:'创建人',
+    creatAt:'创建时间',
+    updateUser:'修改人',
+    updateAt:'修改时间',
+    addRole:'添加角色',
+    selectData:'所选数据',
   }
 
 }

+ 40 - 29
src/views/admin/role.vue

@@ -4,49 +4,49 @@
       <div class="filter-box">
         <filter-user
           :filter-types.sync="filterTypes"
-          filter-btn-name="筛选"
+          :filter-btn-name="$t('common.screen')"
           @select-value="handleFilterUser"
         />
       </div>
       <el-table :data="tableData" stripe style="width: 100%;" :height="tool.getTableHeight()" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" />
-        <el-table-column prop="ROLE_NAME" label="角色">
+        <el-table-column prop="ROLE_NAME" :label="$t('Administrator.role')">
           <template slot-scope="scope">
             <el-tag type="warning" size="small" class="no-border">{{ scope.row.ROLE_NAME }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="REMARK" label="备注" />
-        <el-table-column label="创建人">
+        <el-table-column prop="REMARK" :label="$t('Administrator.remark')" />
+        <el-table-column :label="$t('Administrator.creatUser')">
           <template slot-scope="scope">
             {{ scope.row.CREATE_ADMIN_NAME }}
           </template>
         </el-table-column>
-        <el-table-column label="创建时间">
+        <el-table-column :label="$t('Administrator.creatAt')">
           <template slot-scope="scope">
             {{ tool.formatDate(scope.row.CREATED_AT) }}
           </template>
         </el-table-column>
-        <el-table-column label="修改人">
+        <el-table-column :label="$t('Administrator.updateUser')">
           <template slot-scope="scope">
             {{ scope.row.UPDATE_ADMIN_NAME }}
           </template>
         </el-table-column>
-        <el-table-column label="修改时间">
+        <el-table-column :label="$t('Administrator.updateAt')">
           <template slot-scope="scope">
             {{ tool.formatDate(scope.row.UPDATED_AT) }}
           </template>
         </el-table-column>
-        <el-table-column fixed="right" label="操作" width="180">
+        <el-table-column fixed="right" :label="$t('table.actions')" width="180">
           <template slot-scope="scope">
             <el-dropdown v-if="scope.row.DONT_DEL==='0'&&(permission.hasPermission(`admin/role-permission`)||permission.hasPermission(`admin/role-edit`)||permission.hasPermission(`admin/role-delete`))" size="small" trigger="click" @command="handleRow" @click.stop="">
               <el-button type="primary" size="small">
-                操作该数据<i class="el-icon-arrow-down el-icon--right" />
+                {{ $t('common.actionThisData') }}<i class="el-icon-arrow-down el-icon--right" />
               </el-button>
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item v-if="permission.hasPermission(`admin/role-permission`)" :command="`permission|${scope.row.ID}`">权限</el-dropdown-item>
+                <el-dropdown-item v-if="permission.hasPermission(`admin/role-permission`)" :command="`permission|${scope.row.ID}`">{{ $t('permission.permission') }}</el-dropdown-item>
                 <!--                <el-dropdown-item :command="`column|${scope.row.ID}`" v-if="permission.hasPermission(`admin/role-column`)">列表字段权限</el-dropdown-item>-->
-                <el-dropdown-item v-if="permission.hasPermission(`admin/role-edit`)" :command="`edit|${scope.row.ID}`">编辑</el-dropdown-item>
-                <el-dropdown-item v-if="permission.hasPermission(`admin/role-delete`)" :command="`delete|${scope.row.ID}`">删除</el-dropdown-item>
+                <el-dropdown-item v-if="permission.hasPermission(`admin/role-edit`)" :command="`edit|${scope.row.ID}`">{{ $t('table.edit') }}</el-dropdown-item>
+                <el-dropdown-item v-if="permission.hasPermission(`admin/role-delete`)" :command="`delete|${scope.row.ID}`">{{ $t('table.delete') }}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </template>
@@ -55,13 +55,13 @@
       <div class="white-box-footer">
         <el-dropdown v-if="permission.hasPermission(`admin/role-delete`)" size="small" trigger="click" @command="muliDelHandle">
           <el-button type="primary" size="small">
-            所选数据<i class="el-icon-arrow-down el-icon--right" />
+            {{ $t('Administrator.selectData') }}<i class="el-icon-arrow-down el-icon--right" />
           </el-button>
           <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item command="delete">删除</el-dropdown-item>
+            <el-dropdown-item command="delete">{{ $t('table.delete') }}</el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
-        <el-button v-if="permission.hasPermission(`admin/role-add`)" type="primary" size="small" icon="el-icon-plus" @click="onAdd">添加角色</el-button>
+        <el-button v-if="permission.hasPermission(`admin/role-add`)" type="primary" size="small" icon="el-icon-plus" @click="onAdd">{{ $t('Administrator.addRole') }}</el-button>
         <pagination :total="totalCount" :page_size="pageSize" @size-change="handleSizeChange" @current-change="handleCurrentChange"></pagination>
       </div>
     </div>
@@ -69,7 +69,7 @@
 </template>
 
 <script>
-import { deleteRole, adminRole } from '@/api/filter'
+import { deleteRole, adminRole, batchDeleteRole } from '@/api/filter'
 import tool from '@/utils/tool'
 import FilterUser from '@/components/FilterUser'
 import permission from '@/utils/permission'
@@ -92,12 +92,12 @@ export default {
       permission: permission,
       filterData: null,
       filterTypes: {
-        'ROLE_NAME': { isUserTable: false, name: '角色' },
-        'REMARK': { isUserTable: false, name: '备注' },
-        'CREATE_ADMIN_NAME': { isUserTable: false, name: '创建人' },
-        'CREATED_AT': { isUserTable: false, name: '创建时间', other: 'date' },
-        'UPDATE_ADMIN_NAME': { isUserTable: false, name: '修改人' },
-        'UPDATED_AT': { isUserTable: false, name: '修改时间', other: 'date' }
+        'ROLE_NAME': { isUserTable: false, name: this.$t('Administrator.role') },
+        'REMARK': { isUserTable: false, name: this.$t('Administrator.remark') },
+        'CREATE_ADMIN_NAME': { isUserTable: false, name: this.$t('Administrator.creatUser') },
+        'CREATED_AT': { isUserTable: false, name: this.$t('Administrator.creatAt'), other: 'date' },
+        'UPDATE_ADMIN_NAME': { isUserTable: false, name: this.$t('Administrator.updateUser') },
+        'UPDATED_AT': { isUserTable: false, name: this.$t('Administrator.updateAt'), other: 'date' }
       },
       filterModel: {}
     }
@@ -137,14 +137,14 @@ export default {
       this.$router.push({ path: `/admin/role-add` })
     },
     delHandle(obj, id) {
-      obj.$confirm('确定删除选定的数据?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      obj.$confirm(this.$t('common.deleteTips'), this.$t('common.hint'), {
+        confirmButtonText: this.$t('common.confirm'),
+        cancelButtonText: this.$t('common.cancel'),
         type: 'warning'
       }).then(() => {
         deleteRole(id).then(response => {
           this.$message({
-            message: response,
+            message: response.data,
             type: 'success'
           })
           this.getData()
@@ -163,15 +163,26 @@ export default {
     },
     muliDelHandle(command) {
       if (command === 'delete') {
-        this.$confirm('确定删除选定的数据?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
+        this.$confirm(this.$t('common.deleteTips'), this.$t('common.hint'), {
+          confirmButtonText: this.$t('common.confirm'),
+          cancelButtonText: this.$t('common.cancel'),
           type: 'warning'
         }).then(() => {
           const selectedIds = []
           for (const val of this.multipleSelection) {
             selectedIds.push(val.ID)
           }
+          batchDeleteRole({
+            selected: selectedIds
+          }).then(response => {
+            this.$message({
+              message: response.data,
+              type: 'success'
+            })
+            this.getData()
+          }).catch(err => {
+            console.log('err---------'+err)
+          })
           //   network.postData(`admin/role-delete`, {
           //     selected: selectedIds
           //   }).then(response => {