前端国际化2

This commit is contained in:
ls
2026-01-07 19:43:06 +08:00
parent 92f4b27aeb
commit d287a3bfd3
8 changed files with 235 additions and 229 deletions

View File

@@ -8,7 +8,7 @@
v-model="query.name" v-model="query.name"
clearable clearable
size="mini" size="mini"
placeholder="输入部门名称搜索" :placeholder="$t('sys_dept.name')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
@@ -17,12 +17,12 @@
v-model="query.is_used" v-model="query.is_used"
clearable clearable
size="mini" size="mini"
placeholder="状态" :placeholder="$t('common.status')"
class="filter-item" class="filter-item"
style="width: 90px" style="width: 90px"
@change="crud.toQuery" @change="crud.toQuery"
> >
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" /> <el-option v-for="item in enabledTypeOptions" :key="item.key" :label="$t('sys_dept.' + item.display_name.toLowerCase())" :value="item.key" />
</el-select> </el-select>
<rrOperation /> <rrOperation />
</div> </div>
@@ -37,13 +37,13 @@
width="500px" width="500px"
> >
<el-form ref="form" inline :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" inline :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="部门编码" prop="code"> <el-form-item :label="$t('sys_dept.code')" prop="code">
<el-input v-model="form.code" :disabled="crud.status.edit" style="width: 370px;" /> <el-input v-model="form.code" :disabled="crud.status.edit" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="部门名称" prop="name"> <el-form-item :label="$t('sys_dept.name')" prop="name">
<el-input v-model="form.name" style="width: 370px;" /> <el-input v-model="form.name" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="部门排序" prop="dept_sort"> <el-form-item :label="$t('sys_dept.dept_sort')" prop="dept_sort">
<el-input-number <el-input-number
v-model.number="form.dept_sort" v-model.number="form.dept_sort"
:min="0" :min="0"
@@ -52,16 +52,16 @@
style="width: 370px;" style="width: 370px;"
/> />
</el-form-item> </el-form-item>
<el-form-item label="外部标识" prop="ext_id"> <el-form-item :label="$t('sys_dept.ext_id')" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 370px;" /> <el-input v-model="form.ext_id" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="顶级部门"> <el-form-item :label="$t('sys_dept.top_dept')">
<el-radio-group v-model="form.isTop" style="width: 140px"> <el-radio-group v-model="form.isTop" style="width: 140px">
<el-radio label="1"></el-radio> <el-radio label="1">{{$t('common.Yes')}}</el-radio>
<el-radio label="0"></el-radio> <el-radio label="0">{{$t('common.No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="is_used"> <el-form-item :label="$t('common.status')" prop="is_used">
<el-switch <el-switch
v-model="form.is_used" v-model="form.is_used"
active-color="#409EFF" active-color="#409EFF"
@@ -70,20 +70,20 @@
inactive-valu="false" inactive-valu="false"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" label="上级部门" prop="pid"> <el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" :label="$t('sys_dept.parent_dept')" prop="pid">
<treeselect <treeselect
v-model="form.pid" v-model="form.pid"
:load-options="loadDepts" :load-options="loadDepts"
:options="depts" :options="depts"
style="width: 370px;" style="width: 370px;"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="选择部门类目" :placeholder="$t('sys_dept.select_dept_category')"
/> />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染 :load="getDeptDatas" 点击事件 row-key需要指定唯一的数据id--> <!--表格渲染 :load="getDeptDatas" 点击事件 row-key需要指定唯一的数据id-->
@@ -102,9 +102,9 @@
> >
<el-table-column :selectable="checkboxT" type="selection" width="55" /> <el-table-column :selectable="checkboxT" type="selection" width="55" />
<!-- <el-table-column label="编码" prop="code" />--> <!-- <el-table-column label="编码" prop="code" />-->
<el-table-column label="名称" prop="name" /> <el-table-column :label="$t('sys_dept.name')" prop="name" />
<el-table-column label="排序" prop="dept_sort" /> <el-table-column :label="$t('sys_dept.dept_sort')" prop="dept_sort" />
<el-table-column label="状态" align="center" prop="is_used"> <el-table-column :label="$t('common.status')" align="center" prop="is_used">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
v-model="scope.row.is_used" v-model="scope.row.is_used"
@@ -115,10 +115,10 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建日期" /> <el-table-column prop="create_time" :label="$t('common.create_time')" />
<el-table-column <el-table-column
v-permission="['admin','dept:edit','dept:del']" v-permission="['admin','dept:edit','dept:del']"
label="操作" :label="$t('common.Operate')"
width="130px" width="130px"
align="center" align="center"
fixed="right" fixed="right"
@@ -128,7 +128,7 @@
:data="scope.row" :data="scope.row"
:permission="permission" :permission="permission"
:disabled-dle="scope.row.id === 1" :disabled-dle="scope.row.id === 1"
msg="确定删除吗,如果存在下级节点则一并删除此操作不能撤销" :msg="$t('sys_dept.confirm_delete_msg')"
/> />
</template> </template>
</el-table-column> </el-table-column>

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div v-if="query.code === ''"> <div v-if="query.code === ''">
<div class="my-code">点击字典查看详情</div> <div class="my-code">{{$t('sys_dict.click_dict_detail')}}</div>
</div> </div>
<div v-else> <div v-else>
<!--工具栏--> <!--工具栏-->
@@ -12,7 +12,7 @@
v-model="query.label" v-model="query.label"
clearable clearable
size="mini" size="mini"
placeholder="输入字典标签查询" :placeholder="$t('sys_dict.search_by_label')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="toQuery" @keyup.enter.native="toQuery"
@@ -30,13 +30,13 @@
width="500px" width="500px"
> >
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="字典标签" prop="label"> <el-form-item :label="$t('sys_dict.label')" prop="label">
<el-input v-model="form.label" style="width: 370px;" /> <el-input v-model="form.label" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="字典值" prop="value"> <el-form-item :label="$t('sys_dict.value')" prop="value">
<el-input v-model="form.value" style="width: 370px;" /> <el-input v-model="form.value" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="dict_sort"> <el-form-item :label="$t('sys_dict.dict_sort')" prop="dict_sort">
<el-input-number <el-input-number
v-model.number="form.dict_sort" v-model.number="form.dict_sort"
:min="0" :min="0"
@@ -45,19 +45,19 @@
style="width: 370px;" style="width: 370px;"
/> />
</el-form-item> </el-form-item>
<el-form-item label="参数1" prop="para1"> <el-form-item :label="$t('sys_dict.para1')" prop="para1">
<el-input v-model="form.para1" style="width: 370px;" /> <el-input v-model="form.para1" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="参数2" prop="para2"> <el-form-item :label="$t('sys_dict.para2')" prop="para2">
<el-input v-model="form.para2" style="width: 370px;" /> <el-input v-model="form.para2" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="参数3" prop="para3"> <el-form-item :label="$t('sys_dict.para3')" prop="para3">
<el-input v-model="form.para3" style="width: 370px;" /> <el-input v-model="form.para3" style="width: 370px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
@@ -69,18 +69,18 @@
style="width: 100%;" style="width: 100%;"
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column label="所属字典" min-width="150" show-overflow-tooltip> <el-table-column :label="$t('sys_dict.belong_dict')" min-width="150" show-overflow-tooltip>
{{ query.code }} {{ query.code }}
</el-table-column> </el-table-column>
<el-table-column prop="label" label="字典标签" align="center" width="120" show-overflow-tooltip /> <el-table-column prop="label" :label="$t('sys_dict.label')" align="center" width="120" show-overflow-tooltip />
<el-table-column prop="value" label="字典值" align="center" width="60" /> <el-table-column prop="value" :label="$t('sys_dict.value')" align="center" width="60" />
<el-table-column prop="dict_sort" label="排序" align="center" width="65" /> <el-table-column prop="dict_sort" :label="$t('sys_dict.dict_sort')" align="center" width="65" />
<el-table-column prop="para1" label="参数1" align="center" width="65" /> <el-table-column prop="para1" :label="$t('sys_dict.para1')" align="center" width="65" />
<el-table-column prop="para2" label="参数2" align="center" width="65" /> <el-table-column prop="para2" :label="$t('sys_dict.para2')" align="center" width="65" />
<el-table-column prop="para3" label="参数3" align="center" width="65" /> <el-table-column prop="para3" :label="$t('sys_dict.para3')" align="center" width="65" />
<el-table-column <el-table-column
v-permission="['admin','dict:edit','dict:del']" v-permission="['admin','dict:edit','dict:del']"
label="操作" :label="$t('common.Operate')"
align="center" align="center"
width="115px" width="115px"
fixed="right" fixed="right"
@@ -99,6 +99,8 @@
</div> </div>
</template> </template>
<script> <script>
import crudDictDetail from '@/views/system/dict/dictDetail' import crudDictDetail from '@/views/system/dict/dictDetail'
import CRUD, { form, header, presenter } from '@crud/crud' import CRUD, { form, header, presenter } from '@crud/crud'

View File

@@ -10,16 +10,16 @@
width="500px" width="500px"
> >
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="字典编码" prop="code"> <el-form-item :label="$t('sys_dict.code')" prop="code">
<el-input v-model="form.code" style="width: 370px;" /> <el-input v-model="form.code" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="名称"> <el-form-item :label="$t('sys_dict.name')">
<el-input v-model="form.name" style="width: 370px;" /> <el-input v-model="form.name" style="width: 370px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 字典列表 --> <!-- 字典列表 -->
@@ -34,7 +34,7 @@
v-model="query.blurry" v-model="query.blurry"
clearable clearable
size="mini" size="mini"
placeholder="输入名称或者描述搜索" :placeholder="$t('common.inputCodeOrName')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
@@ -54,11 +54,11 @@
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="code" label="编码" /> <el-table-column show-overflow-tooltip prop="code" :label="$t('sys_dict.code')" />
<el-table-column show-overflow-tooltip prop="name" label="名称" /> <el-table-column show-overflow-tooltip prop="name" :label="$t('sys_dict.name')" />
<el-table-column <el-table-column
v-permission="['admin','dict:edit','dict:del']" v-permission="['admin','dict:edit','dict:del']"
label="操作" :label="$t('common.Operate')"
width="130px" width="130px"
align="center" align="center"
fixed="right" fixed="right"
@@ -79,7 +79,7 @@
<el-col :xs="11" :sm="11" :md="11" :lg="11" :xl="11"> <el-col :xs="11" :sm="11" :md="11" :lg="11" :xl="11">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>字典详情</span> <span>{{$t('sys_dict.dict_detail')}}</span>
<el-button <el-button
v-if="checkPermission(['admin','dict:add']) && this.$refs.dictDetail && this.$refs.dictDetail.query.code" v-if="checkPermission(['admin','dict:add']) && this.$refs.dictDetail && this.$refs.dictDetail.query.code"
class="filter-item" class="filter-item"
@@ -88,7 +88,7 @@
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@click="$refs.dictDetail && $refs.dictDetail.crud.toAdd()" @click="$refs.dictDetail && $refs.dictDetail.crud.toAdd()"
>新增 >{{$t('common.Create')}}
</el-button> </el-button>
</div> </div>
<dictDetail ref="dictDetail" :permission="permission" /> <dictDetail ref="dictDetail" :permission="permission" />
@@ -98,6 +98,7 @@
</div> </div>
</template> </template>
<script> <script>
import checkPermission from '@/utils/permission' import checkPermission from '@/utils/permission'
import dictDetail from './dictDetail.vue' import dictDetail from './dictDetail.vue'

View File

@@ -8,7 +8,7 @@
v-model="query.blurry" v-model="query.blurry"
clearable clearable
size="mini" size="mini"
placeholder="模糊搜索" :placeholder="$t('common.fuzzy_search')"
style="width: 200px;margin-bottom: 10px" style="width: 200px;margin-bottom: 10px"
class="filter-item" class="filter-item"
@keyup.enter.native="queryBlurry" @keyup.enter.native="queryBlurry"
@@ -16,7 +16,7 @@
<el-select <el-select
v-model="query.system_type" v-model="query.system_type"
style="width: 100px; height: 35px;top: -5px;" style="width: 100px; height: 35px;top: -5px;"
placeholder="所属系统" :placeholder="$t('sys_menu.owned_system')"
@change="changetype" @change="changetype"
> >
<el-option <el-option
@@ -39,15 +39,15 @@
width="650px" width="650px"
> >
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="菜单类型" prop="type"> <el-form-item :label="$t('sys_menu.type')" prop="type">
<el-radio-group v-model="form.type" size="mini"> <el-radio-group v-model="form.type" size="mini">
<el-radio-button label="1">系统</el-radio-button> <el-radio-button label="1">{{$t('sys_menu.type_system')}}</el-radio-button>
<el-radio-button label="2">目录</el-radio-button> <el-radio-button label="2">{{$t('sys_menu.type_directory')}}</el-radio-button>
<el-radio-button label="3">菜单</el-radio-button> <el-radio-button label="3">{{$t('sys_menu.type_menu')}}</el-radio-button>
<el-radio-button label="4">按钮</el-radio-button> <el-radio-button label="4">{{$t('sys_menu.type_button')}}</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " label="菜单图标" prop="icon"> <el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " :label="$t('sys_menu.icon')" prop="icon">
<el-popover <el-popover
placement="bottom-start" placement="bottom-start"
width="450" width="450"
@@ -55,7 +55,7 @@
@show="$refs['iconSelect'].reset()" @show="$refs['iconSelect'].reset()"
> >
<IconSelect ref="iconSelect" @selected="selected" /> <IconSelect ref="iconSelect" @selected="selected" />
<el-input slot="reference" v-model="form.icon" style="width: 450px;" placeholder="点击选择图标" readonly> <el-input slot="reference" v-model="form.icon" style="width: 450px;" :placeholder="$t('sys_menu.click_select_icon')" readonly>
<svg-icon <svg-icon
v-if="form.icon" v-if="form.icon"
slot="prefix" slot="prefix"
@@ -67,41 +67,41 @@
</el-input> </el-input>
</el-popover> </el-popover>
</el-form-item> </el-form-item>
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" label="外链菜单" prop="iframe"> <el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" :label="$t('sys_menu.iframe')" prop="iframe">
<el-radio-group v-model="form.iframe" size="mini"> <el-radio-group v-model="form.iframe" size="mini">
<el-radio-button label="true"></el-radio-button> <el-radio-button label="true">{{$t('common.Yes')}}</el-radio-button>
<el-radio-button label="false"></el-radio-button> <el-radio-button label="false">{{$t('common.No')}}</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-show="form.type.toString() === '3'" label="菜单缓存" prop="cache"> <el-form-item v-show="form.type.toString() === '3'" :label="$t('sys_menu.cache')" prop="cache">
<el-radio-group v-model="form.cache" size="mini"> <el-radio-group v-model="form.cache" size="mini">
<el-radio-button label="true"></el-radio-button> <el-radio-button label="true">{{$t('common.Yes')}}</el-radio-button>
<el-radio-button label="false"></el-radio-button> <el-radio-button label="false">{{$t('common.No')}}</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " label="菜单可见" prop="hidden"> <el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " :label="$t('sys_menu.hidden')" prop="hidden">
<el-radio-group v-model="form.hidden" size="mini"> <el-radio-group v-model="form.hidden" size="mini">
<el-radio-button label="false"></el-radio-button> <el-radio-button label="false">{{$t('common.Yes')}}</el-radio-button>
<el-radio-button label="true"></el-radio-button> <el-radio-button label="true">{{$t('common.No')}}</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" label="菜单标题" prop="title"> <el-form-item v-if="form.type.toString() !== '2'" :label="$t('sys_menu.title')" prop="title">
<el-input <el-input
v-model="form.title" v-model="form.title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'" :style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
placeholder="菜单标题" :placeholder="$t('sys_menu.title')"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.type.toString() === '2'" label="按钮名称" prop="title"> <el-form-item v-if="form.type.toString() === '2'" :label="$t('sys_menu.button_name')" prop="title">
<el-input v-model="form.title" placeholder="按钮名称" style="width: 190px;" /> <el-input v-model="form.title" :placeholder="$t('sys_menu.button_name')" style="width: 190px;" />
</el-form-item> </el-form-item>
<el-form-item v-show="form.type.toString() !== '1' " label="权限标识" prop="permission"> <el-form-item v-show="form.type.toString() !== '1' " :label="$t('sys_menu.permission')" prop="permission">
<el-input v-model="form.permission" :disabled="form.iframe" placeholder="权限标识" style="width: 190px;" /> <el-input v-model="form.permission" :disabled="form.iframe" :placeholder="$t('sys_menu.permission')" style="width: 190px;" />
</el-form-item> </el-form-item>
<el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" label="路由地址" prop="path"> <el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" :label="$t('sys_menu.path')" prop="path">
<el-input v-model="form.path" placeholder="路由地址" style="width: 190px;" /> <el-input v-model="form.path" :placeholder="$t('sys_menu.path')" style="width: 190px;" />
</el-form-item> </el-form-item>
<el-form-item label="菜单排序" prop="menu_sort"> <el-form-item :label="$t('sys_menu.menu_sort')" prop="menu_sort">
<el-input-number <el-input-number
v-model.number="form.menu_sort" v-model.number="form.menu_sort"
:min="0" :min="0"
@@ -110,13 +110,13 @@
style="width: 190px;" style="width: 190px;"
/> />
</el-form-item> </el-form-item>
<el-form-item v-show="!form.iframe && form.type.toString() === '3' " label="组件名称" prop="component_name"> <el-form-item v-show="!form.iframe && form.type.toString() === '3' " :label="$t('sys_menu.component_name')" prop="component_name">
<el-input v-model="form.component_name" style="width: 190px;" placeholder="匹配组件内Name字段" /> <el-input v-model="form.component_name" style="width: 190px;" :placeholder="$t('sys_menu.match_component_name')" />
</el-form-item> </el-form-item>
<el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " label="组件路径" prop="component"> <el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " :label="$t('sys_menu.component')" prop="component">
<el-input v-model="form.component" style="width: 190px;" placeholder="组件路径" /> <el-input v-model="form.component" style="width: 190px;" :placeholder="$t('sys_menu.component')" />
</el-form-item> </el-form-item>
<el-form-item label="上级类目" prop="pid"> <el-form-item :label="$t('sys_menu.parent_category')" prop="pid">
<!-- normalizer转换- loadMenus 点击扩展的时候会调用该方法--> <!-- normalizer转换- loadMenus 点击扩展的时候会调用该方法-->
<treeselect <treeselect
v-model="form.pid" v-model="form.pid"
@@ -124,13 +124,13 @@
:load-options="loadMenus" :load-options="loadMenus"
:normalizer="normalizer" :normalizer="normalizer"
style="width: 450px;" style="width: 450px;"
placeholder="选择上级类目" :placeholder="$t('sys_menu.select_parent_category')"
/> />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
@@ -149,46 +149,46 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="菜单标题" prop="title" :min-width="100" /> <el-table-column :label="$t('sys_menu.title')" prop="title" :min-width="100" />
<el-table-column label="所属系统" prop="system_type" :min-width="flexWidth('system_type',crud.data,'所属系统')"> <el-table-column :label="$t('sys_menu.system_type')" prop="system_type" :min-width="flexWidth('system_type',crud.data,$t('sys_menu.system_type'))">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.system_type[scope.row.system_type] }} : {{scope.row.system_type}} {{ dict.label.system_type[scope.row.system_type] }} : {{scope.row.system_type}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="icon" label="图标" align="center" :min-width="flexWidth('icon',crud.data,'图标')"> <el-table-column prop="icon" :label="$t('sys_menu.icon')" align="center" :min-width="flexWidth('icon',crud.data,$t('sys_menu.icon'))">
<template slot-scope="scope"> <template slot-scope="scope">
<svg-icon :icon-class="scope.row.icon ? scope.row.icon : ''" /> <svg-icon :icon-class="scope.row.icon ? scope.row.icon : ''" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="menu_sort" align="center" label="排序" :min-width="flexWidth('menu_sort',crud.data,'排序')"> <el-table-column prop="menu_sort" align="center" :label="$t('sys_menu.menu_sort')" :min-width="flexWidth('menu_sort',crud.data,$t('sys_menu.menu_sort'))">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.menu_sort }} {{ scope.row.menu_sort }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="permission" label="权限标识" :min-width="flexWidth('permission',crud.data,'权限标识')" /> <el-table-column prop="permission" :label="$t('sys_menu.permission')" :min-width="flexWidth('permission',crud.data,$t('sys_menu.permission'))" />
<el-table-column prop="component" label="组件路径" min-width="120" /> <el-table-column prop="component" :label="$t('sys_menu.component')" min-width="120" />
<el-table-column prop="iframe" label="外链" :formatter="crud.formatIsOrNot" :min-width="flexWidth('iframe',crud.data,'外链')"> <el-table-column prop="iframe" :label="$t('sys_menu.iframe')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('iframe',crud.data,$t('sys_menu.iframe'))">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.iframe"></span> <span v-if="scope.row.iframe">{{$t('common.Yes')}}</span>
<span v-else></span> <span v-else>{{$t('common.No')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="cache" label="缓存" :formatter="crud.formatIsOrNot" :min-width="flexWidth('cache',crud.data,'缓存')"> <el-table-column prop="cache" :label="$t('sys_menu.cache')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('cache',crud.data,$t('sys_menu.cache'))">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.cache"></span> <span v-if="scope.row.cache">{{$t('common.Yes')}}</span>
<span v-else></span> <span v-else>{{$t('common.No')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="hidden" label="可见" :formatter="crud.formatIsOrNot" :min-width="flexWidth('hidden',crud.data,'可见')"> <el-table-column prop="hidden" :label="$t('sys_menu.hidden')" :formatter="crud.formatIsOrNot" :min-width="flexWidth('hidden',crud.data,$t('sys_menu.hidden'))">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.hidden"></span> <span v-if="scope.row.hidden">{{$t('common.No')}}</span>
<span v-else></span> <span v-else>{{$t('common.Yes')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" /> <el-table-column prop="create_time" :label="$t('common.create_time')" :min-width="flexWidth('create_time',crud.data,$t('common.create_time'))" />
<el-table-column <el-table-column
v-permission="['admin','menu:edit','menu:del']" v-permission="['admin','menu:edit','menu:del']"
label="操作" :label="$t('common.Operate')"
width="130px" width="130px"
align="center" align="center"
fixed="right" fixed="right"
@@ -197,7 +197,7 @@
<udOperation <udOperation
:data="scope.row" :data="scope.row"
:permission="permission" :permission="permission"
msg="确定删除吗,如果存在下级节点则一并删除此操作不能撤销" :msg="$t('sys_menu.confirm_delete_msg')"
/> />
</template> </template>
</el-table-column> </el-table-column>

View File

@@ -10,12 +10,12 @@
label-width="80px" label-width="80px"
label-suffix=":" label-suffix=":"
> >
<el-form-item label="模糊查询"> <el-form-item :label="$t('sys_param.fuzzy_query')">
<el-input <el-input
v-model="query.code" v-model="query.code"
clearable clearable
style="width: 240px" style="width: 240px"
placeholder="编码/名称" :placeholder="$t('sys_param.code_name')"
/> />
</el-form-item> </el-form-item>
<rrOperation /> <rrOperation />
@@ -32,22 +32,22 @@
width="500px" width="500px"
> >
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="编码" prop="code"> <el-form-item :label="$t('sys_param.code')" prop="code">
<el-input v-model="form.code" style="width: 370px;" /> <el-input v-model="form.code" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="名字" prop="name"> <el-form-item :label="$t('sys_param.name')" prop="name">
<el-input v-model="form.name" style="width: 370px;" /> <el-input v-model="form.name" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="" prop="value"> <el-form-item :label="$t('sys_param.value')" prop="value">
<el-input v-model="form.value" style="width: 370px;" /> <el-input v-model="form.value" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="description"> <el-form-item :label="$t('common.remark')" prop="description">
<el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea" /> <el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
@@ -61,11 +61,11 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="id" label="id" /> <el-table-column v-if="false" prop="id" label="id" />
<el-table-column prop="code" label="编码" min-width="130" show-overflow-tooltip /> <el-table-column prop="code" :label="$t('sys_param.code')" min-width="130" show-overflow-tooltip />
<el-table-column prop="name" label="名称" min-width="120" show-overflow-tooltip /> <el-table-column prop="name" :label="$t('sys_param.name')" min-width="120" show-overflow-tooltip />
<el-table-column prop="value" label="" min-width="270" show-overflow-tooltip /> <el-table-column prop="value" :label="$t('sys_param.value')" min-width="270" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" /> <el-table-column prop="remark" :label="$t('common.remark')" />
<el-table-column v-permission="['admin','param:edit','param:del']" label="操作" width="150px" align="center"> <el-table-column v-permission="['admin','param:edit','param:del']" :label="$t('common.Operate')" width="150px" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation
:data="scope.row" :data="scope.row"
@@ -80,6 +80,7 @@
</div> </div>
</template> </template>
<script> <script>
import crudParam from '@/views/system/param/param' import crudParam from '@/views/system/param/param'
import CRUD, { presenter, header, form, crud } from '@crud/crud' import CRUD, { presenter, header, form, crud } from '@crud/crud'

View File

@@ -8,7 +8,7 @@
v-model="query.blurry" v-model="query.blurry"
size="mini" size="mini"
clearable clearable
placeholder="输入名称" :placeholder="$t('common.name')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
@@ -27,16 +27,16 @@
width="520px" width="520px"
> >
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="角色名称" prop="name"> <el-form-item :label="$t('sys_role.name')" prop="name">
<el-input v-model="form.name" style="width: 380px;"/> <el-input v-model="form.name" style="width: 380px;"/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="description"> <el-form-item :label="$t('common.remark')" prop="remark">
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea"/> <el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-row :gutter="15"> <el-row :gutter="15">
@@ -44,7 +44,7 @@
<el-col :span="12" style="margin-bottom: 10px"> <el-col :span="12" style="margin-bottom: 10px">
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="role-span">角色列表</span> <span class="role-span">{{$t('sys_role.role_list')}}</span>
</div> </div>
<el-table <el-table
ref="table" ref="table"
@@ -56,16 +56,16 @@
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip/> <el-table-column prop="name" :label="$t('common.name')" min-width="100" show-overflow-tooltip/>
<el-table-column show-overflow-tooltip prop="remark" label="描述"/> <el-table-column show-overflow-tooltip prop="remark" :label="$t('common.remark')"/>
<el-table-column show-overflow-tooltip width="135px" prop="create_time" label="创建日期"> <el-table-column show-overflow-tooltip width="135px" prop="create_time" :label="$t('common.create_time')">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.create_time) }}</span> <span>{{ parseTime(scope.row.create_time) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-permission="['admin','roles:edit','roles:del']" v-permission="['admin','roles:edit','roles:del']"
label="操作" :label="$t('common.Operate')"
width="130px" width="130px"
align="center" align="center"
fixed="right" fixed="right"
@@ -86,8 +86,8 @@
<el-col :span="12"> <el-col :span="12">
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<el-tooltip class="item" effect="dark" content="选择指定角色分配菜单" placement="top"> <el-tooltip class="item" effect="dark" :content="$t('system.select_role_assign_menu')" placement="top">
<span class="role-span">菜单分配</span> <span class="role-span">{{$t('sys_menu.menu_assignment')}}</span>
</el-tooltip> </el-tooltip>
<el-button <el-button
v-permission="['admin','roles:edit']" v-permission="['admin','roles:edit']"
@@ -98,7 +98,7 @@
style="float: right; padding: 6px 10px" style="float: right; padding: 6px 10px"
type="primary" type="primary"
@click="saveMenu" @click="saveMenu"
>保存 >{{$t('common.save')}}
</el-button> </el-button>
</div> </div>
@@ -121,6 +121,7 @@
</div> </div>
</template> </template>
<script> <script>
import crudRoles from './role' import crudRoles from './role'
import crudMenu from '../menu/menu' import crudMenu from '../menu/menu'

View File

@@ -8,7 +8,7 @@
v-model="query.job_name" v-model="query.job_name"
clearable clearable
size="mini" size="mini"
placeholder="输入任务名称搜索" :placeholder="$t('sys_quartz_job.search_by_job_name')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="toQuery" @keyup.enter.native="toQuery"
@@ -24,7 +24,7 @@
type="info" type="info"
icon="el-icon-tickets" icon="el-icon-tickets"
@click="doLog" @click="doLog"
>日志 >{{$t('sys_quartz_job.log')}}
</el-button> </el-button>
</crudOperation> </crudOperation>
<Log ref="log" /> <Log ref="log" />
@@ -39,60 +39,60 @@
width="730px" width="730px"
> >
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px"> <el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="任务名称" prop="job_name"> <el-form-item :label="$t('sys_quartz_job.job_name')" prop="job_name">
<el-input v-model="form.job_name" style="width: 220px;" /> <el-input v-model="form.job_name" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="任务描述" prop="description"> <el-form-item :label="$t('sys_quartz_job.description')" prop="description">
<el-input v-model="form.description" style="width: 220px;" /> <el-input v-model="form.description" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="Bean名称" prop="bean_name"> <el-form-item :label="$t('sys_quartz_job.bean_name')" prop="bean_name">
<el-input v-model="form.bean_name" style="width: 220px;" /> <el-input v-model="form.bean_name" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="执行方法" prop="method_name"> <el-form-item :label="$t('sys_quartz_job.method_name')" prop="method_name">
<el-input v-model="form.method_name" style="width: 220px;" /> <el-input v-model="form.method_name" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="Cron表达式" prop="cron_expression"> <el-form-item :label="$t('sys_quartz_job.cron_expression')" prop="cron_expression">
<!-- <el-input v-model="form.cron_expression" style="width: 220px;" />--> <!-- <el-input v-model="form.cron_expression" style="width: 220px;" />-->
<el-input v-model="form.cron_expression" placeholder="请输入CRON 表达式" style="width: 220px;"> <el-input v-model="form.cron_expression" :placeholder="$t('sys_quartz_job.enter_cron_expression')" style="width: 220px;">
<template slot="append"> <template slot="append">
<el-button type="primary" @click="handleShowCron"> <el-button type="primary" @click="handleShowCron">
生成表达式 {{$t('sys_quartz_job.generate_expression')}}
<i class="el-icon-time el-icon--right" /> <i class="el-icon-time el-icon--right" />
</el-button> </el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="子任务ID"> <el-form-item :label="$t('sys_quartz_job.sub_task')">
<el-input v-model="form.sub_task" placeholder="多个用逗号隔开按顺序执行" style="width: 220px;" /> <el-input v-model="form.sub_task" :placeholder="$t('sys_quartz_job.multiple_comma_separated')" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="任务负责人" prop="person_in_charge"> <el-form-item :label="$t('sys_quartz_job.person_in_charge')" prop="person_in_charge">
<el-input v-model="form.person_in_charge" style="width: 220px;" /> <el-input v-model="form.person_in_charge" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="告警邮箱" prop="email"> <el-form-item :label="$t('sys_quartz_job.email')" prop="email">
<el-input v-model="form.email" placeholder="多个邮箱用逗号隔开" style="width: 220px;" /> <el-input v-model="form.email" :placeholder="$t('sys_quartz_job.multiple_email_comma_separated')" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="调度IP" prop="email"> <el-form-item :label="$t('sys_quartz_job.job_ip')" prop="email">
<el-input v-model="form.job_ip" placeholder="执行定时器的ip地址" style="width: 220px;" /> <el-input v-model="form.job_ip" :placeholder="$t('sys_quartz_job.execute_timer_ip')" style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="失败后暂停"> <el-form-item :label="$t('sys_quartz_job.pause_after_failure')">
<el-radio-group v-model="form.pause_after_failure" style="width: 220px"> <el-radio-group v-model="form.pause_after_failure" style="width: 220px">
<el-radio :label="true"></el-radio> <el-radio :label="true">{{$t('common.Yes')}}</el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false">{{$t('common.No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="任务状态"> <el-form-item :label="$t('sys_quartz_job.status')">
<el-radio-group v-model="form.is_pause" style="width: 220px"> <el-radio-group v-model="form.is_pause" style="width: 220px">
<el-radio :label="false">启用</el-radio> <el-radio :label="false">{{$t('sys_quartz_job.enable')}}</el-radio>
<el-radio :label="true">暂停</el-radio> <el-radio :label="true">{{$t('sys_quartz_job.pause')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="参数内容"> <el-form-item :label="$t('sys_quartz_job.params')">
<el-input v-model="form.params" style="width: 556px;" rows="4" type="textarea" /> <el-input v-model="form.params" style="width: 556px;" rows="4" type="textarea" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
@@ -104,36 +104,36 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column :selectable="checkboxT" type="selection" width="55" /> <el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="job_id" label="任务ID" /> <el-table-column show-overflow-tooltip prop="job_id" :label="$t('sys_quartz_job.job_id')" />
<el-table-column show-overflow-tooltip prop="job_name" label="任务名称" min-width="120" /> <el-table-column show-overflow-tooltip prop="job_name" :label="$t('sys_quartz_job.job_name')" min-width="120" />
<el-table-column show-overflow-tooltip prop="bean_name" label="Bean名称" /> <el-table-column show-overflow-tooltip prop="bean_name" :label="$t('sys_quartz_job.bean_name')" />
<el-table-column show-overflow-tooltip prop="job_ip" label="调度IP" /> <el-table-column show-overflow-tooltip prop="job_ip" :label="$t('sys_quartz_job.job_ip')" />
<el-table-column show-overflow-tooltip prop="method_name" label="执行方法" /> <el-table-column show-overflow-tooltip prop="method_name" :label="$t('sys_quartz_job.method_name')" />
<el-table-column show-overflow-tooltip prop="params" label="参数" /> <el-table-column show-overflow-tooltip prop="params" :label="$t('sys_quartz_job.params')" />
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="cron_expression" prop="cron_expression"
label="cron表达式" :label="$t('sys_quartz_job.cron_expression')"
min-width="100" min-width="100"
show-tooltip-when-overflow show-tooltip-when-overflow
/> />
<el-table-column show-overflow-tooltip prop="is_pause" width="90px" label="状态"> <el-table-column show-overflow-tooltip prop="is_pause" width="90px" :label="$t('sys_quartz_job.status')">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.is_pause ? 'warning' : 'success'">{{ <el-tag :type="scope.row.is_pause ? 'warning' : 'success'">{{
scope.row.is_pause ? '已暂停' : '运行中' scope.row.is_pause ? $t('sys_quartz_job.paused') : $t('sys_quartz_job.running')
}} }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip prop="description" width="150px" label="描述" /> <el-table-column show-overflow-tooltip prop="description" width="150px" :label="$t('sys_quartz_job.description')" />
<el-table-column show-overflow-tooltip prop="create_time" width="136px" label="创建日期"> <el-table-column show-overflow-tooltip prop="create_time" width="136px" :label="$t('common.create_time')">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.create_time) }}</span> <span>{{ parseTime(scope.row.create_time) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-permission="['admin','timing:edit','timing:del']" v-permission="['admin','timing:edit','timing:del']"
label="操作" :label="$t('common.Operate')"
width="170px" width="170px"
align="center" align="center"
fixed="right" fixed="right"
@@ -145,7 +145,7 @@
style="margin-right: 3px;" style="margin-right: 3px;"
type="text" type="text"
@click="crud.toEdit(scope.row)" @click="crud.toEdit(scope.row)"
>编辑 >{{$t('common.Update')}}
</el-button> </el-button>
<el-button <el-button
v-permission="['admin','timing:edit']" v-permission="['admin','timing:edit']"
@@ -153,16 +153,16 @@
type="text" type="text"
size="mini" size="mini"
@click="execute(scope.row.job_id)" @click="execute(scope.row.job_id)"
>执行 >{{$t('sys_quartz_job.execute')}}
</el-button> </el-button>
<el-button <el-button
v-permission="['admin','timing:edit']" v-permission="['admin','timing:edit']"
style="margin-left: 3px" style="margin-left: 3px"
type="text" type="text"
size="mini" size="mini"
@click="updateStatus(scope.row.job_id,scope.row.is_pause ? '恢复' : '暂停')" @click="updateStatus(scope.row.job_id,scope.row.is_pause ? $t('sys_quartz_job.resume') : $t('sys_quartz_job.pause'))"
> >
{{ scope.row.is_pause ? '恢复' : '暂停' }} {{ scope.row.is_pause ? $t('sys_quartz_job.resume') : $t('sys_quartz_job.pause') }}
</el-button> </el-button>
<el-popover <el-popover
:ref="scope.row.job_id" :ref="scope.row.job_id"
@@ -170,25 +170,26 @@
placement="top" placement="top"
width="200" width="200"
> >
<p>确定停止并删除该任务吗?</p> <p>{{$t('sys_quartz_job.confirm_stop_delete_task')}}</p>
<div style="text-align: right; margin: 0"> <div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="$refs[scope.row.job_id].doClose()">取消</el-button> <el-button size="mini" type="text" @click="$refs[scope.row.job_id].doClose()">{{$t('common.Cancel')}}</el-button>
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.job_id)">确定 <el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.job_id)">{{$t('common.Confirm')}}
</el-button> </el-button>
</div> </div>
<el-button slot="reference" type="text" size="mini">删除</el-button> <el-button slot="reference" type="text" size="mini">{{$t('common.Delete')}}</el-button>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
<el-dialog title="Cron表达式生成器" :visible.sync="openCron" append-to-body class="scrollbar" destroy-on-close> <el-dialog :title="$t('sys_quartz_job.cron_expression_generator')" :visible.sync="openCron" append-to-body class="scrollbar" destroy-on-close>
<crontab :expression="expression" @hide="openCron=false" @fill="crontabFill" /> <crontab :expression="expression" @hide="openCron=false" @fill="crontabFill" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import crudJob from '@/views/system/timing/timing' import crudJob from '@/views/system/timing/timing'
import Log from './log' import Log from './log'

View File

@@ -8,7 +8,7 @@
v-model="deptName" v-model="deptName"
clearable clearable
size="mini" size="mini"
placeholder="请输入部门名称" :placeholder="$t('sys_dept.name')"
prefix-icon="el-icon-search" prefix-icon="el-icon-search"
class="filter-item" class="filter-item"
@input="getDeptDatas" @input="getDeptDatas"
@@ -30,7 +30,7 @@
v-model="query.blurry" v-model="query.blurry"
clearable clearable
size="mini" size="mini"
placeholder="输入账号或者名称" :placeholder="$t('common.inputCodeOrName')"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
@@ -39,7 +39,7 @@
v-model="query.is_used" v-model="query.is_used"
clearable clearable
size="mini" size="mini"
placeholder="状态" :placeholder="$t('common.status')"
class="filter-item" class="filter-item"
style="width: 90px" style="width: 90px"
@change="crud.toQuery" @change="crud.toQuery"
@@ -65,20 +65,20 @@
width="700px" width="700px"
> >
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px"> <el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="用户名" prop="username"> <el-form-item :label="$t('sys_interface_log.username')" prop="username">
<el-input v-model="form.username" style="width: 200px;" /> <el-input v-model="form.username" style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="电话" prop="phone"> <el-form-item :label="$t('common.phone')" prop="phone">
<el-input v-model.number="form.phone" style="width: 200px;" /> <el-input v-model.number="form.phone" style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="preson_name"> <el-form-item :label="$t('sys_user.person_name')" prop="person_name">
<el-input v-model="form.person_name" style="width: 200px;" /> <el-input v-model="form.person_name" style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="邮箱" prop="email"> <el-form-item :label="$t('common.email')" prop="email">
<el-input v-model="form.email" style="width: 200px;" /> <el-input v-model="form.email" style="width: 200px;" />
</el-form-item> </el-form-item>
<br v-if="!crud.status.edit"> <br v-if="!crud.status.edit">
<el-form-item v-if="crud.status.add" label="部门" prop="depts" :rules="[{ required: true, message: '请选择部门', trigger: 'change' }]"> <el-form-item v-if="crud.status.add" :label="$t('sys_dept.name')" prop="depts" :rules="[{ required: true, message: $t('common.Please_select') + $t('sys_dept.name'), trigger: 'change' }]">
<treeselect <treeselect
v-model="form.depts" v-model="form.depts"
:load-options="loadDepts" :load-options="loadDepts"
@@ -87,20 +87,20 @@
:multiple="true" :multiple="true"
:flat="true" :flat="true"
:normalizer="normalizer" :normalizer="normalizer"
placeholder="选择部门类目" :placeholder="$t('common.Please_select') + $t('sys_dept.name')"
/> />
</el-form-item> </el-form-item>
<br v-if="!crud.status.add"> <br v-if="!crud.status.add">
<el-form-item v-if="crud.status.add" label="密码" prop="password"> <el-form-item v-if="crud.status.add" :label="$t('sys_user.password')" prop="password">
<el-input v-model="form.password" style="width: 200px;" show-password auto-complete="new-password" /> <el-input v-model="form.password" style="width: 200px;" show-password auto-complete="new-password" />
</el-form-item> </el-form-item>
<el-form-item label="性别"> <el-form-item :label="$t('common.sex')">
<el-radio-group v-model="form.gender" style="width: 178px"> <el-radio-group v-model="form.gender" style="width: 178px">
<el-radio label=""></el-radio> <el-radio label="">{{$t('common.sex_male')}}</el-radio>
<el-radio label=""></el-radio> <el-radio label="">{{$t('common.sex_female')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="is_uesd"> <el-form-item :label="$t('common.status')" prop="is_used">
<el-switch <el-switch
v-model="form.is_used" v-model="form.is_used"
active-color="#409EFF" active-color="#409EFF"
@@ -108,18 +108,17 @@
/> />
</el-form-item> </el-form-item>
<br v-if="!crud.status.edit"> <br v-if="!crud.status.edit">
<el-form-item v-if="crud.status.add" style="margin-bottom: 0;" label="角色" prop="roles"> <el-form-item v-if="crud.status.add" style="margin-bottom: 0;" :label="$t('sys_role.name')" prop="roles">
<el-select <el-select
v-model="roleDatas" v-model="roleDatas"
style="width: 512px" style="width: 512px"
multiple multiple
active-value="1" active-value="1"
inactive-value="0" inactive-value="0"
placeholder="请选择" :placeholder="$t('common.Please_select')"
@remove-tag="deleteTag" @remove-tag="deleteTag"
@change="changeRole" @change="changeRole"
> >
<!--:disabled="level !== 1 && item.level <= level"-->
<el-option <el-option
v-for="item in roles" v-for="item in roles"
:key="item.role_id" :key="item.role_id"
@@ -130,8 +129,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button> <el-button type="text" @click="crud.cancelCU">{{$t('common.Cancel')}}</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
@@ -143,50 +142,50 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="username" label="用户名" :min-width="flexWidth('username',crud.data,'用户名')" /> <el-table-column prop="username" :label="$t('sys_interface_log.username')" :min-width="flexWidth('username',crud.data,$t('system.username'))" />
<el-table-column <el-table-column
prop="person_name" prop="person_name"
label="姓名" :label="$t('sys_user.person_name')"
:min-width="flexWidth('person_name',crud.data,'姓名')" :min-width="flexWidth('person_name',crud.data,$t('sys_user.person_name'))"
/> />
<el-table-column prop="gender" label="性别" :min-width="flexWidth('gender',crud.data,'性别')" /> <el-table-column prop="gender" :label="$t('common.sex')" :min-width="flexWidth('gender',crud.data,$t('common.sex'))" />
<el-table-column prop="phone" label="电话" :min-width="flexWidth('phone',crud.data,'电话')" /> <el-table-column prop="phone" :label="$t('common.phone')" :min-width="flexWidth('phone',crud.data,$t('common.phone'))" />
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" /> <el-table-column prop="email" :label="$t('common.email')" :min-width="flexWidth('email',crud.data,$t('common.email'))" />
<el-table-column show-overflow-tooltip prop="depts" label="部门" :min-width="flexWidth('depts',crud.data,'邮箱')"> <el-table-column show-overflow-tooltip prop="depts" :label="$t('sys_dept.name')" :min-width="flexWidth('depts',crud.data,$t('sys_dept.name'))">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-for="(item, index) in scope.row.depts" :key="index"> <span v-for="(item, index) in scope.row.depts" :key="index">
{{ item.name }}<span v-if="index !== scope.row.depts.length - 1">、</span> {{ item.name }}<span v-if="index !== scope.row.depts.length - 1">、</span>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" align="center" prop="enabled"> <el-table-column :label="$t('common.status')" align="center" prop="enabled">
<template slot-scope="scope"> <template slot-scope="scope">
<span :style="{'color': caseStatusColorFilter(scope.row.is_used)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.is_used}).display_name }}</span> <span :style="{'color': caseStatusColorFilter(scope.row.is_used)}">{{$t('system.' + enabledTypeOptions.find(item => {return item.key == scope.row.is_used}).display_name.toLowerCase())}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" /> <el-table-column prop="create_time" :label="$t('common.create_time')" :min-width="flexWidth('create_time',crud.data,$t('common.create_time'))" />
<el-table-column <el-table-column
label="操作" :label="$t('common.Operate')"
fixed="right" fixed="right"
align="center" align="center"
width="200" width="200"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">修改</el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">{{$t('common.Update')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">删除</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">{{$t('common.Delete')}}</el-button>
<el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini"> <el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> <el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{$t('common.More')}}</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">重置密码</span></el-dropdown-item> <el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">{{$t('system.reset_password')}}</span></el-dropdown-item>
<el-dropdown-item icon="el-icon-key"> <el-dropdown-item icon="el-icon-key">
<span @click="openDeptDrawer(scope.row)">部门权限</span> <span @click="openDeptDrawer(scope.row)">{{$t('system.dept_permission')}}</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item icon="el-icon-key"> <el-dropdown-item icon="el-icon-key">
<span @click="openDataDialog(scope.row)">数据权限</span> <span @click="openDataDialog(scope.row)">{{$t('system.data_permission')}}</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{ enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name }}账号</span></el-dropdown-item> <el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{$t('system.' + enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name.toLowerCase())}}{{$t('system.account')}}</span></el-dropdown-item>
<el-dropdown-item icon="el-icon-circle-check"> <el-dropdown-item icon="el-icon-circle-check">
<span @click="openRoleDrawer(scope.row)">分配角色</span> <span @click="openRoleDrawer(scope.row)">{{$t('system.assign_role')}}</span>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
@@ -232,12 +231,12 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="name" label="角色名称" min-width="100" show-overflow-tooltip /> <el-table-column prop="name" :label="$t('system.role_name')" min-width="100" show-overflow-tooltip />
</el-table> </el-table>
</div> </div>
<div style="height: 10%"> <div style="height: 10%">
<el-button @click="cancelForm">取 消</el-button> <el-button @click="cancelForm">{{$t('common.Cancel')}}</el-button>
<el-button type="primary" @click="saveChecked">保 存</el-button> <el-button type="primary" @click="saveChecked">{{$t('common.Save')}}</el-button>
</div> </div>
</div> </div>
</el-drawer> </el-drawer>
@@ -248,10 +247,10 @@
width="700px" width="700px"
> >
<el-form ref="form" :inline="true" :model="dataDialog" :rules="rules" size="mini" label-width="100px"> <el-form ref="form" :inline="true" :model="dataDialog" :rules="rules" size="mini" label-width="100px">
<el-form-item label="用户名" prop="username"> <el-form-item :label="$t('system.username')" prop="username">
<el-input v-model="dataDialog.username" disabled style="width: 200px;" /> <el-input v-model="dataDialog.username" disabled style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="person_name"> <el-form-item :label="$t('sys_user.person_name')" prop="person_name">
<el-input v-model="dataDialog.person_name" disabled style="width: 200px;" /> <el-input v-model="dataDialog.person_name" disabled style="width: 200px;" />
</el-form-item> </el-form-item>
<el-table <el-table
@@ -261,12 +260,12 @@
@selection-change="getRows" @selection-change="getRows"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="label" label="权限范围" /> <el-table-column prop="label" :label="$t('system.permission_scope')" />
<el-table-column label="数据权限"> <el-table-column :label="$t('system.data_permission')">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select <el-select
v-model="scope.row.permission_id" v-model="scope.row.permission_id"
placeholder="请选择" :placeholder="$t('common.Please_select')"
@change="openRelevance(scope.row, scope.$index)" @change="openRelevance(scope.row, scope.$index)"
> >
<el-option <el-option
@@ -279,20 +278,20 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" :label="$t('common.Operate')"
fixed="right" fixed="right"
align="center" align="center"
width="100" width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="showDatas(scope.row)">查看明细</el-button> <el-button type="text" @click="showDatas(scope.row)">{{$t('system.view_details')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelDataPerm">取消</el-button> <el-button @click="cancelDataPerm">{{$t('common.Cancel')}}</el-button>
<el-button type="primary" @click="savePermise()">确认</el-button> <el-button type="primary" @click="savePermise()">{{$t('common.Confirm')}}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
@@ -306,14 +305,14 @@
:data="dataPermissions" :data="dataPermissions"
style="width: 100%; max-height: 500px" style="width: 100%; max-height: 500px"
> >
<el-table-column prop="permission_scope_type" label="权限类型" min-width="100" show-overflow-tooltip> <el-table-column prop="permission_scope_type" :label="$t('system.permission_type')" min-width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.permission_scope_type[scope.row.permission_scope_type] }} {{ dict.label.permission_scope_type[scope.row.permission_scope_type] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="permissionName" label="权限范围" min-width="100" show-overflow-tooltip /> <el-table-column prop="permissionName" :label="$t('system.permission_scope')" min-width="100" show-overflow-tooltip />
<el-table-column prop="deptName" label="部门名称" min-width="100" show-overflow-tooltip /> <el-table-column prop="deptName" :label="$t('system.dept_name')" min-width="100" show-overflow-tooltip />
<el-table-column prop="person_name" label="用户名称" min-width="100" show-overflow-tooltip /> <el-table-column prop="person_name" :label="$t('system.user_name')" min-width="100" show-overflow-tooltip />
</el-table> </el-table>
</el-dialog> </el-dialog>
<relevance-user-dialog :dialog-show.sync="relevanceUser" :is-single="false" :users="userIds" @selectUsers="selectUsers" /> <relevance-user-dialog :dialog-show.sync="relevanceUser" :is-single="false" :users="userIds" @selectUsers="selectUsers" />
@@ -321,6 +320,7 @@
</div> </div>
</template> </template>
<script> <script>
import crudUser from '@/views/system/user/user' import crudUser from '@/views/system/user/user'
import crudDept from '../dept/dept' import crudDept from '../dept/dept'