mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 20:42:55 +08:00
feat: 操作日志 详情筛选 修改密码优化 日期组件优化
This commit is contained in:
parent
4c33c1fe6b
commit
969866d445
@ -12,7 +12,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
handlerConfirm(options) {
|
handlerConfirm(options) {
|
||||||
let { title, content, type = 'danger', cb, confirmButtonText = this.$t('commons.delete'), showCancelButton = true, cancelButtonText = this.$t("commons.cancel") } = options;
|
let { title, content, type = 'danger', cb, confirmButtonText = this.$t('commons.delete'), showCancelButton = true, cancelButtonText = this.$t("commons.cancel"), cancelCb = () => {} } = options;
|
||||||
let text = content ? `<span>${ this.$t(title) }</span><br><span class="use-html">${ this.$t(content) }</span>` : this.$t(title);
|
let text = content ? `<span>${ this.$t(title) }</span><br><span class="use-html">${ this.$t(content) }</span>` : this.$t(title);
|
||||||
const dangerouslyUseHTMLString = Boolean(content);
|
const dangerouslyUseHTMLString = Boolean(content);
|
||||||
let customClass = `de-confirm de-confirm-fail ${ dangerouslyUseHTMLString && 'de-use-html'}`
|
let customClass = `de-confirm de-confirm-fail ${ dangerouslyUseHTMLString && 'de-use-html'}`
|
||||||
@ -34,7 +34,9 @@ export default {
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
cb();
|
cb();
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {
|
||||||
|
cancelCb()
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
16
frontend/src/components/msgCfm/keyEnter.js
Normal file
16
frontend/src/components/msgCfm/keyEnter.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
export default {
|
||||||
|
mounted() {
|
||||||
|
document.addEventListener('keypress', this.entryKey)
|
||||||
|
},
|
||||||
|
destroyed() {
|
||||||
|
document.removeEventListener('keypress', this.entryKey)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
entryKey(event) {
|
||||||
|
const keyCode = event.keyCode
|
||||||
|
if (keyCode === 13) {
|
||||||
|
this.$refs.search.blur()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
@ -305,6 +305,31 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-date-range-picker__time-header,
|
||||||
|
.el-date-picker__time-header {
|
||||||
|
border-bottom: 1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-picker-panel__footer {
|
||||||
|
border-top: 1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||||
|
background: var(--BgDateColor, #FFFFFF) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-date-range-picker__time-picker-wrap,
|
||||||
|
.el-date-picker__time-header {
|
||||||
|
.el-input__inner {
|
||||||
|
border:1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||||
|
color: var(--DateColor, #606266);
|
||||||
|
background: var(--BgDateColor, #FFFFFF) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-picker-panel__link-btn:nth-child(2) {
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: var(--BgDateColor, #FFFFFF) !important;
|
||||||
|
border:1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.popper__arrow,
|
.popper__arrow,
|
||||||
.popper__arrow::after {
|
.popper__arrow::after {
|
||||||
|
@ -835,7 +835,9 @@ export default {
|
|||||||
delete_this_category: 'Are you sure to delete this category?',
|
delete_this_category: 'Are you sure to delete this category?',
|
||||||
edit_template: 'Edit template',
|
edit_template: 'Edit template',
|
||||||
edit_classification: 'Edit classification',
|
edit_classification: 'Edit classification',
|
||||||
classification_name: 'Classification Name:'
|
classification_name: 'Classification Name:',
|
||||||
|
by_event_details: 'Search by event details',
|
||||||
|
password_input_error: 'Original password input error'
|
||||||
},
|
},
|
||||||
chart: {
|
chart: {
|
||||||
rich_text_view_result_tips: 'The rich text view selects only the first result',
|
rich_text_view_result_tips: 'The rich text view selects only the first result',
|
||||||
|
@ -836,7 +836,9 @@ export default {
|
|||||||
delete_this_category: '確定删除該分類嗎?',
|
delete_this_category: '確定删除該分類嗎?',
|
||||||
edit_template: '編輯模版',
|
edit_template: '編輯模版',
|
||||||
edit_classification: '編輯分類',
|
edit_classification: '編輯分類',
|
||||||
classification_name: '分類名稱'
|
classification_name: '分類名稱',
|
||||||
|
by_event_details: '通過事件詳情蒐索',
|
||||||
|
password_input_error: '原始密碼輸入錯誤'
|
||||||
},
|
},
|
||||||
chart: {
|
chart: {
|
||||||
rich_text_view_result_tips: '富文本只选取第一条结果',
|
rich_text_view_result_tips: '富文本只选取第一条结果',
|
||||||
|
@ -836,7 +836,9 @@ export default {
|
|||||||
delete_this_category: '确定删除该分类吗?',
|
delete_this_category: '确定删除该分类吗?',
|
||||||
edit_template: '编辑模版',
|
edit_template: '编辑模版',
|
||||||
edit_classification: '编辑分类',
|
edit_classification: '编辑分类',
|
||||||
classification_name: '分类名称'
|
classification_name: '分类名称',
|
||||||
|
by_event_details: '通过事件详情搜索',
|
||||||
|
password_input_error: '原始密码输入错误'
|
||||||
},
|
},
|
||||||
chart: {
|
chart: {
|
||||||
rich_text_view_result_tips: '富文本只选取第一条结果',
|
rich_text_view_result_tips: '富文本只选取第一条结果',
|
||||||
|
@ -627,28 +627,6 @@ div:focus {
|
|||||||
background-color: var(--ContentBG);
|
background-color: var(--ContentBG);
|
||||||
}
|
}
|
||||||
|
|
||||||
.blackTheme .el-select-dropdown__item.hover {
|
|
||||||
background-color: #171B22 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blackTheme .el-select-dropdown__item:hover {
|
|
||||||
background-color: #171B22 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blackTheme .el-dropdown-menu__item:not(.is-disabled):hover {
|
|
||||||
background-color: #171B22 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blackTheme .el-dropdown-menu__item:focus {
|
|
||||||
background-color: #171B22 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.blackTheme .el-dropdown-menu__item--divided:before {
|
|
||||||
background-color: #000000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.blackTheme .el-card__header {
|
.blackTheme .el-card__header {
|
||||||
border-color: var(--TableBorderColor) !important;
|
border-color: var(--TableBorderColor) !important;
|
||||||
}
|
}
|
||||||
@ -685,20 +663,6 @@ div:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.blackTheme .el-message-box__btns {
|
|
||||||
.el-button--default:not(.el-button--primary) {
|
|
||||||
background-color: #171b22;
|
|
||||||
color: #2681ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-button--primary {
|
|
||||||
color: #21333b;
|
|
||||||
background-color: #2681ff;
|
|
||||||
border-color: #2681ff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.blackTheme .vue-treeselect__menu {
|
.blackTheme .vue-treeselect__menu {
|
||||||
border: 1px solid var(--TableBorderColor, #cfcfcf);
|
border: 1px solid var(--TableBorderColor, #cfcfcf);
|
||||||
background: var(--MainBG, #fff);
|
background: var(--MainBG, #fff);
|
||||||
|
@ -96,7 +96,7 @@ export default {
|
|||||||
const param = this.user ? { password: this.form.password, resourceId: this.resourceId, user: this.user } : { password: this.form.password, resourceId: this.resourceId }
|
const param = this.user ? { password: this.form.password, resourceId: this.resourceId, user: this.user } : { password: this.form.password, resourceId: this.resourceId }
|
||||||
validatePwd(param).then(res => {
|
validatePwd(param).then(res => {
|
||||||
if (!res.data) {
|
if (!res.data) {
|
||||||
this.msg = this.$t('pblink.pwd_error')
|
this.msg = this.$t('system_parameter_setting.password_input_error')
|
||||||
} else {
|
} else {
|
||||||
this.$emit('fresh-token')
|
this.$emit('fresh-token')
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="邮箱服务器配置">
|
<el-form-item label="邮箱服务器配置">
|
||||||
<el-checkbox v-model="formInline.ssl"
|
<el-checkbox v-model="formInline.ssl"
|
||||||
>开启SSL
|
>{{ $t('chart.open') }}SSL
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
class="item"
|
class="item"
|
||||||
effect="dark"
|
effect="dark"
|
||||||
@ -104,7 +104,7 @@
|
|||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
|
|
||||||
<el-checkbox v-model="formInline.tls">
|
<el-checkbox v-model="formInline.tls">
|
||||||
开启TSL
|
{{ $t('chart.open') }}TSL
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
class="item"
|
class="item"
|
||||||
effect="dark"
|
effect="dark"
|
||||||
|
@ -377,7 +377,7 @@ export default {
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: #ffffff;
|
background-color: var(--MainBG, #fff);
|
||||||
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" class="right-user">
|
<el-col :span="12" class="right-user">
|
||||||
<el-input
|
<el-input
|
||||||
:placeholder="$t('通过事件详情搜索')"
|
:placeholder="$t('system_parameter_setting.by_event_details')"
|
||||||
prefix-icon="el-icon-search"
|
prefix-icon="el-icon-search"
|
||||||
class="name-email-search"
|
class="name-email-search"
|
||||||
size="small"
|
size="small"
|
||||||
@ -118,15 +118,15 @@ import DeLayoutContent from "@/components/business/DeLayoutContent";
|
|||||||
import GridTable from "@/components/gridTable/index.vue";
|
import GridTable from "@/components/gridTable/index.vue";
|
||||||
import filterUser from './filterUser';
|
import filterUser from './filterUser';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
|
import keyEnter from '@/components/msgCfm/keyEnter.js'
|
||||||
import {
|
import {
|
||||||
formatCondition,
|
|
||||||
formatQuickCondition,
|
|
||||||
addOrder,
|
addOrder,
|
||||||
formatOrders,
|
formatOrders,
|
||||||
} from "@/utils/index";
|
} from "@/utils/index";
|
||||||
import { logGrid, exportExcel } from "@/api/system/log";
|
import { logGrid, exportExcel } from "@/api/system/log";
|
||||||
export default {
|
export default {
|
||||||
components: { GridTable, DeLayoutContent, filterUser },
|
components: { GridTable, DeLayoutContent, filterUser },
|
||||||
|
mixins: [keyEnter],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
columns: [],
|
columns: [],
|
||||||
@ -170,11 +170,13 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
exportData() {
|
exportData() {
|
||||||
let condition = this.last_condition;
|
const param = {
|
||||||
condition = formatQuickCondition(condition, "key");
|
orders: formatOrders(this.orderConditions),
|
||||||
const temp = formatCondition(condition);
|
conditions: [...this.cacheCondition],
|
||||||
const param = temp || {};
|
};
|
||||||
param["orders"] = formatOrders(this.orderConditions);
|
if (this.nikeName) {
|
||||||
|
param.keyWord = this.nikeName;
|
||||||
|
}
|
||||||
|
|
||||||
exportExcel(param).then((res) => {
|
exportExcel(param).then((res) => {
|
||||||
const blob = new Blob([res], { type: "application/vnd.ms-excel" });
|
const blob = new Blob([res], { type: "application/vnd.ms-excel" });
|
||||||
@ -265,11 +267,7 @@ export default {
|
|||||||
conditions: [...this.cacheCondition],
|
conditions: [...this.cacheCondition],
|
||||||
};
|
};
|
||||||
if (this.nikeName) {
|
if (this.nikeName) {
|
||||||
param.conditions.push({
|
param.keyWord = this.nikeName;
|
||||||
field: `nick_name`,
|
|
||||||
operator: "like",
|
|
||||||
value: this.nikeName,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
const { currentPage, pageSize } = this.paginationConfig;
|
const { currentPage, pageSize } = this.paginationConfig;
|
||||||
logGrid(currentPage, pageSize, param).then((response) => {
|
logGrid(currentPage, pageSize, param).then((response) => {
|
||||||
|
@ -325,11 +325,12 @@ import GridTable from "@/components/gridTable/index.vue";
|
|||||||
import filterUser from "./filterUser.vue";
|
import filterUser from "./filterUser.vue";
|
||||||
import msgCfm from "@/components/msgCfm/index";
|
import msgCfm from "@/components/msgCfm/index";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
import keyEnter from '@/components/msgCfm/keyEnter.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "DatasetTaskList",
|
name: "DatasetTaskList",
|
||||||
components: { GridTable, cron, filterUser, TableSelector },
|
components: { GridTable, cron, filterUser, TableSelector },
|
||||||
mixins: [msgCfm],
|
mixins: [msgCfm, keyEnter],
|
||||||
props: {
|
props: {
|
||||||
transCondition: {
|
transCondition: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -137,10 +137,12 @@ import { exportExcel, post } from "@/api/dataset/dataset";
|
|||||||
import GridTable from "@/components/gridTable/index.vue";
|
import GridTable from "@/components/gridTable/index.vue";
|
||||||
import filterUser from "./filterUserRecord.vue";
|
import filterUser from "./filterUserRecord.vue";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
import keyEnter from '@/components/msgCfm/keyEnter.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TaskRecord",
|
name: "TaskRecord",
|
||||||
components: { GridTable, filterUser },
|
components: { GridTable, filterUser },
|
||||||
|
mixins: [keyEnter],
|
||||||
props: {
|
props: {
|
||||||
param: {
|
param: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -455,7 +455,7 @@ export default {
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: #FFFFFF;
|
background-color: var(--MainBG, #fff);
|
||||||
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,7 @@ export default {
|
|||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: #ffffff;
|
background-color: var(--MainBG, #fff);
|
||||||
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,6 @@ import "codemirror/addon/hint/show-hint.css";
|
|||||||
import "codemirror/addon/hint/sql-hint";
|
import "codemirror/addon/hint/sql-hint";
|
||||||
import "codemirror/addon/hint/show-hint";
|
import "codemirror/addon/hint/show-hint";
|
||||||
import TableSelector from "./TableSelector";
|
import TableSelector from "./TableSelector";
|
||||||
import { log } from "@antv/g2plot/lib/utils";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { cron, codemirror, TableSelector, DeLayoutContent },
|
components: { cron, codemirror, TableSelector, DeLayoutContent },
|
||||||
@ -590,11 +589,11 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #f5f6f7;
|
background-color: var(--MainBG, #f5f6f7);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
||||||
.el-input__inner {
|
.el-input__inner {
|
||||||
background: #ffffff !important;
|
background: var(--ContentBG, #ffffff) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-date-editor {
|
.el-date-editor {
|
||||||
@ -607,7 +606,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
background: #f5f6f7;
|
background-color: var(--MainBG, #f5f6f7);
|
||||||
|
|
||||||
.param-title {
|
.param-title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -641,7 +640,7 @@ export default {
|
|||||||
height: 80px;
|
height: 80px;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 24px;
|
right: 24px;
|
||||||
background: #ffffff;
|
background-color: var(--MainBG, #fff);
|
||||||
box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.08);
|
box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.08);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -7,15 +7,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-form ref="createUserForm" :model="form" :rules="rule" size="small" label-width="auto" label-position="right">
|
<el-form ref="createUserForm" :model="form" :rules="rule" size="small" label-width="auto" label-position="right">
|
||||||
<el-form-item :label="$t('user.origin_passwd')" prop="oldPwd">
|
<el-form-item :label="$t('user.origin_passwd')" prop="oldPwd">
|
||||||
<el-input v-model="form.oldPwd" type="password" />
|
<dePwd
|
||||||
|
v-model="form.oldPwd"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('user.new_passwd')" prop="newPwd">
|
<el-form-item :label="$t('user.new_passwd')" prop="newPwd">
|
||||||
<el-input v-model="form.newPwd" type="password" />
|
<dePwd
|
||||||
|
v-model="form.newPwd"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('user.confirm_passwd')" prop="repeatPwd">
|
<el-form-item :label="$t('user.confirm_passwd')" prop="repeatPwd">
|
||||||
<el-input v-model="form.repeatPwd" type="password" />
|
<dePwd
|
||||||
|
v-model="form.repeatPwd"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="save">{{ $t('commons.confirm') }}</el-button>
|
<el-button type="primary" @click="save">{{ $t('commons.confirm') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -28,9 +33,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import LayoutContent from '@/components/business/LayoutContent'
|
import LayoutContent from '@/components/business/LayoutContent'
|
||||||
import { updatePersonPwd } from '@/api/system/user'
|
import { updatePersonPwd } from '@/api/system/user'
|
||||||
|
import dePwd from '@/components/deCustomCm/dePwd.vue'
|
||||||
export default {
|
export default {
|
||||||
|
|
||||||
components: { LayoutContent },
|
components: { LayoutContent, dePwd },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
|
Loading…
Reference in New Issue
Block a user