更新
This commit is contained in:
parent
a35395a8f3
commit
e9492797e3
@ -2,7 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-29 16:49:28
|
* @Date: 2020-12-29 16:49:28
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-01-05 15:49:17
|
* @LastEditTime: 2023-04-21 16:54:50
|
||||||
* @FilePath: \basic-admin\src\filters\basicData\index.js
|
* @FilePath: \basic-admin\src\filters\basicData\index.js
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@ -29,6 +29,10 @@ const table = {
|
|||||||
'0': i18n.t('logLogin.status0'),
|
'0': i18n.t('logLogin.status0'),
|
||||||
'1': i18n.t('logLogin.status1')
|
'1': i18n.t('logLogin.status1')
|
||||||
},
|
},
|
||||||
|
scheduleStatus: {
|
||||||
|
'0': i18n.t('schedule.status0'),
|
||||||
|
'1': i18n.t('schedule.status1')
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function(dictTable) {
|
export default function(dictTable) {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false">
|
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||||
<el-form-item prop="beanName" :label="$t('schedule.beanName')">
|
<el-form-item prop="beanName" :label="$t('schedule.beanName')">
|
||||||
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanNameTips')"></el-input>
|
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanNameTips')"></el-input>
|
||||||
@ -17,20 +16,21 @@
|
|||||||
<el-input v-model="dataForm.remark" :placeholder="$t('schedule.remark')"></el-input>
|
<el-input v-model="dataForm.remark" :placeholder="$t('schedule.remark')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template slot="footer">
|
|
||||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
|
||||||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import basicAdd from '@/mixins/basic-add'
|
||||||
import debounce from 'lodash/debounce'
|
import debounce from 'lodash/debounce'
|
||||||
import { cron } from 'vue-cron'
|
import { cron } from 'vue-cron'
|
||||||
export default {
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: '/sys/schedule/',
|
||||||
|
infoURL: '/sys/schedule'
|
||||||
|
},
|
||||||
dataForm: {
|
dataForm: {
|
||||||
id: '',
|
id: '',
|
||||||
beanName: '',
|
beanName: '',
|
||||||
@ -58,7 +58,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init () {
|
init (id) {
|
||||||
|
this.dataForm.id = id || "";
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs['dataForm'].resetFields()
|
this.$refs['dataForm'].resetFields()
|
||||||
|
@ -1,71 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div class="mod-job__schedule">
|
<div class="mod-job__schedule">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
<el-form-item>
|
|
||||||
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanName')" clearable></el-input>
|
<base-table
|
||||||
</el-form-item>
|
:table-props="tableProps"
|
||||||
<el-form-item>
|
:page="listQuery.page"
|
||||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
:limit="listQuery.limit"
|
||||||
</el-form-item>
|
:table-data="tableData"
|
||||||
<el-form-item>
|
>
|
||||||
<el-button v-if="$hasPermission('sys:schedule:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<method-btn
|
||||||
</el-form-item>
|
v-if="tableBtn.length"
|
||||||
<el-form-item>
|
slot="handleBtn"
|
||||||
<el-button v-if="$hasPermission('sys:schedule:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
:width="200"
|
||||||
</el-form-item>
|
label="操作"
|
||||||
<el-form-item>
|
:method-list="tableBtn"
|
||||||
<el-button v-if="$hasPermission('sys:schedule:pause')" type="danger" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button>
|
@clickBtn="handleClick"
|
||||||
</el-form-item>
|
/>
|
||||||
<el-form-item>
|
</base-table>
|
||||||
<el-button v-if="$hasPermission('sys:schedule:resume')" type="danger" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button>
|
<pagination
|
||||||
</el-form-item>
|
:limit.sync="listQuery.limit"
|
||||||
<el-form-item>
|
:page.sync="listQuery.page"
|
||||||
<el-button v-if="$hasPermission('sys:schedule:run')" type="danger" @click="runHandle()">{{ $t('schedule.runBatch') }}</el-button>
|
:total="listQuery.total"
|
||||||
</el-form-item>
|
@pagination="getDataList"
|
||||||
<el-form-item>
|
/>
|
||||||
<el-button v-if="$hasPermission('sys:schedule:log')" type="success" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<el-table
|
|
||||||
v-loading="dataListLoading"
|
|
||||||
:data="dataList"
|
|
||||||
border
|
|
||||||
@selection-change="dataListSelectionChangeHandle"
|
|
||||||
@sort-change="dataListSortChangeHandle"
|
|
||||||
style="width: 100%;">
|
|
||||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
|
||||||
<el-table-column prop="beanName" :label="$t('schedule.beanName')" header-align="center" align="center"></el-table-column>
|
|
||||||
<el-table-column prop="params" :label="$t('schedule.params')" header-align="center" align="center"></el-table-column>
|
|
||||||
<el-table-column prop="cronExpression" :label="$t('schedule.cronExpression')" header-align="center" align="center"></el-table-column>
|
|
||||||
<el-table-column prop="remark" :label="$t('schedule.remark')" header-align="center" align="center"></el-table-column>
|
|
||||||
<el-table-column prop="status" :label="$t('schedule.status')" sortable="custom" header-align="center" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-tag v-if="scope.row.status === 1" size="small">{{ $t('schedule.status1') }}</el-tag>
|
|
||||||
<el-tag v-else size="small" type="danger">{{ $t('schedule.status0') }}</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button v-if="$hasPermission('sys:schedule:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
|
|
||||||
<el-button v-if="$hasPermission('sys:schedule:pause')" type="text" size="small" @click="pauseHandle(scope.row.id)">{{ $t('schedule.pause') }}</el-button>
|
|
||||||
<el-button v-if="$hasPermission('sys:schedule:resume')" type="text" size="small" @click="resumeHandle(scope.row.id)">{{ $t('schedule.resume') }}</el-button>
|
|
||||||
<el-button v-if="$hasPermission('sys:schedule:run')" type="text" size="small" @click="runHandle(scope.row.id)">{{ $t('schedule.run') }}</el-button>
|
|
||||||
<el-button v-if="$hasPermission('sys:schedule:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<el-pagination
|
|
||||||
:current-page="page"
|
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
|
||||||
:page-size="limit"
|
|
||||||
:total="total"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
|
||||||
@size-change="pageSizeChangeHandle"
|
|
||||||
@current-change="pageCurrentChangeHandle">
|
|
||||||
</el-pagination>
|
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @successSubmit="getDataList"></add-or-update>
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @successSubmit="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
<!-- 弹窗, 日志列表 -->
|
<!-- 弹窗, 日志列表 -->
|
||||||
<log v-if="logVisible" ref="log"></log>
|
<log v-if="logVisible" ref="log"></log>
|
||||||
</div>
|
</div>
|
||||||
@ -73,124 +41,255 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import mixinViewModule from '@/mixins/view-module'
|
import basicPage from "@/mixins/basic-page";
|
||||||
import AddOrUpdate from './schedule-add-or-update'
|
import AddOrUpdate from "./schedule-add-or-update";
|
||||||
import Log from './schedule-log'
|
import Log from "./schedule-log";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
import sysFilter from "@/filters/sys-filter";
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "beanName",
|
||||||
|
label: i18n.t("schedule.beanName"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "params",
|
||||||
|
label: i18n.t("schedule.params"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "cronExpression",
|
||||||
|
label: i18n.t("schedule.cronExpression"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "remark",
|
||||||
|
label: i18n.t("schedule.remark"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "status",
|
||||||
|
label: i18n.t("schedule.status"),
|
||||||
|
filter: sysFilter("scheduleStatus"),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: "edit",
|
||||||
|
btnName: "编辑",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "pause",
|
||||||
|
btnName: "暂停",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "restore",
|
||||||
|
btnName: "恢复",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "run",
|
||||||
|
btnName: "执行",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "delete",
|
||||||
|
btnName: "删除",
|
||||||
|
},
|
||||||
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [mixinViewModule],
|
mixins: [basicPage],
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
mixinViewModuleOptions: {
|
urlOptions: {
|
||||||
getDataListURL: '/sys/schedule/page',
|
getDataListURL: "/sys/schedule/page",
|
||||||
getDataListIsPage: true,
|
deleteURL: "/sys/schedule",
|
||||||
deleteURL: '/sys/schedule',
|
|
||||||
deleteIsBatch: true
|
|
||||||
},
|
},
|
||||||
dataForm: {
|
dataForm: {
|
||||||
beanName: ''
|
beanName: "",
|
||||||
},
|
},
|
||||||
logVisible: false
|
tableProps,
|
||||||
}
|
tableBtn,
|
||||||
|
addDeleteURL: true,
|
||||||
|
logVisible: false,
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: i18n.t("schedule.beanName"),
|
||||||
|
placeholder: i18n.t("schedule.beanName"),
|
||||||
|
param: "beanName",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "查询",
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "新增",
|
||||||
|
name: "add",
|
||||||
|
color: "primary",
|
||||||
|
plain: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "日志",
|
||||||
|
name: "log",
|
||||||
|
color: "success",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
AddOrUpdate,
|
AddOrUpdate,
|
||||||
Log
|
Log,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//search-bar点击
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
this.listQuery.beanName = val.beanName;
|
||||||
|
this.listQuery.page = 1;
|
||||||
|
this.getDataList();
|
||||||
|
break;
|
||||||
|
case "add":
|
||||||
|
this.addOrEditTitle = '新增'
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.addOrUpdateHandle()
|
||||||
|
break;
|
||||||
|
case "log":
|
||||||
|
this.logHandle()
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
btnFun(val) {
|
||||||
|
if (val.type === "pause") {
|
||||||
|
this.pauseHandle(val.data.id);
|
||||||
|
} else if (val.type === "restore") {
|
||||||
|
this.resumeHandle(val.data.id);
|
||||||
|
} else {
|
||||||
|
this.runHandle(val.data.id);
|
||||||
|
}
|
||||||
|
},
|
||||||
// 暂停
|
// 暂停
|
||||||
pauseHandle (id) {
|
pauseHandle(id) {
|
||||||
if (!id && this.dataListSelections.length <= 0) {
|
if (!id && this.dataListSelections.length <= 0) {
|
||||||
return this.$message({
|
return this.$message({
|
||||||
message: this.$t('prompt.deleteBatch'),
|
message: this.$t("prompt.deleteBatch"),
|
||||||
type: 'warning',
|
type: "warning",
|
||||||
duration: 500
|
duration: 500,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('schedule.pause') }), this.$t('prompt.title'), {
|
this.$confirm(
|
||||||
confirmButtonText: this.$t('confirm'),
|
this.$t("prompt.info", { handle: this.$t("schedule.pause") }),
|
||||||
cancelButtonText: this.$t('cancel'),
|
this.$t("prompt.title"),
|
||||||
type: 'warning'
|
{
|
||||||
}).then(() => {
|
confirmButtonText: this.$t("confirm"),
|
||||||
this.$http.put('/sys/schedule/pause', id ? [id] : this.dataListSelections.map(item => item.id)).then(({ data: res }) => {
|
cancelButtonText: this.$t("cancel"),
|
||||||
if (res.code !== 0) {
|
type: "warning",
|
||||||
return this.$message.error(res.msg)
|
}
|
||||||
}
|
)
|
||||||
this.$message({
|
.then(() => {
|
||||||
message: this.$t('prompt.success'),
|
this.$http
|
||||||
type: 'success',
|
.put("/sys/schedule/pause", id ? [id] : this.dataListSelections.map((item) => item.id))
|
||||||
duration: 500,
|
.then(({ data: res }) => {
|
||||||
onClose: () => {
|
if (res.code !== 0) {
|
||||||
this.getDataList()
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
this.$message({
|
||||||
}).catch(() => {})
|
message: this.$t("prompt.success"),
|
||||||
}).catch(() => {})
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
// 恢复
|
// 恢复
|
||||||
resumeHandle (id) {
|
resumeHandle(id) {
|
||||||
if (!id && this.dataListSelections.length <= 0) {
|
if (!id && this.dataListSelections.length <= 0) {
|
||||||
return this.$message({
|
return this.$message({
|
||||||
message: this.$t('prompt.deleteBatch'),
|
message: this.$t("prompt.deleteBatch"),
|
||||||
type: 'warning',
|
type: "warning",
|
||||||
duration: 500
|
duration: 500,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('schedule.resume') }), this.$t('prompt.title'), {
|
this.$confirm(
|
||||||
confirmButtonText: this.$t('confirm'),
|
this.$t("prompt.info", { handle: this.$t("schedule.resume") }),
|
||||||
cancelButtonText: this.$t('cancel'),
|
this.$t("prompt.title"),
|
||||||
type: 'warning'
|
{
|
||||||
}).then(() => {
|
confirmButtonText: this.$t("confirm"),
|
||||||
this.$http.put('/sys/schedule/resume', id ? [id] : this.dataListSelections.map(item => item.id)).then(({ data: res }) => {
|
cancelButtonText: this.$t("cancel"),
|
||||||
if (res.code !== 0) {
|
type: "warning",
|
||||||
return this.$message.error(res.msg)
|
}
|
||||||
}
|
)
|
||||||
this.$message({
|
.then(() => {
|
||||||
message: this.$t('prompt.success'),
|
this.$http
|
||||||
type: 'success',
|
.put("/sys/schedule/resume", id ? [id] : this.dataListSelections.map((item) => item.id))
|
||||||
duration: 500,
|
.then(({ data: res }) => {
|
||||||
onClose: () => {
|
if (res.code !== 0) {
|
||||||
this.getDataList()
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
this.$message({
|
||||||
}).catch(() => {})
|
message: this.$t("prompt.success"),
|
||||||
}).catch(() => {})
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
// 执行
|
// 执行
|
||||||
runHandle (id) {
|
runHandle(id) {
|
||||||
if (!id && this.dataListSelections.length <= 0) {
|
if (!id && this.dataListSelections.length <= 0) {
|
||||||
return this.$message({
|
return this.$message({
|
||||||
message: this.$t('prompt.deleteBatch'),
|
message: this.$t("prompt.deleteBatch"),
|
||||||
type: 'warning',
|
type: "warning",
|
||||||
duration: 500
|
duration: 500,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('schedule.run') }), this.$t('prompt.title'), {
|
this.$confirm(
|
||||||
confirmButtonText: this.$t('confirm'),
|
this.$t("prompt.info", { handle: this.$t("schedule.run") }),
|
||||||
cancelButtonText: this.$t('cancel'),
|
this.$t("prompt.title"),
|
||||||
type: 'warning'
|
{
|
||||||
}).then(() => {
|
confirmButtonText: this.$t("confirm"),
|
||||||
this.$http.put('/sys/schedule/run', id ? [id] : this.dataListSelections.map(item => item.id)).then(({ data: res }) => {
|
cancelButtonText: this.$t("cancel"),
|
||||||
if (res.code !== 0) {
|
type: "warning",
|
||||||
return this.$message.error(res.msg)
|
}
|
||||||
}
|
)
|
||||||
this.$message({
|
.then(() => {
|
||||||
message: this.$t('prompt.success'),
|
this.$http
|
||||||
type: 'success',
|
.put("/sys/schedule/run", id ? [id] : this.dataListSelections.map((item) => item.id))
|
||||||
duration: 500,
|
.then(({ data: res }) => {
|
||||||
onClose: () => {
|
if (res.code !== 0) {
|
||||||
this.getDataList()
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
this.$message({
|
||||||
}).catch(() => {})
|
message: this.$t("prompt.success"),
|
||||||
}).catch(() => {})
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
// 日志列表
|
// 日志列表
|
||||||
logHandle () {
|
logHandle() {
|
||||||
this.logVisible = true
|
this.logVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.log.init()
|
this.$refs.log.init();
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="120px">
|
||||||
<el-form-item prop="name" :label="$t('role.name')">
|
<el-form-item prop="name" :label="$t('role.name')">
|
||||||
<el-input v-model="dataForm.name" :placeholder="$t('role.name')"></el-input>
|
<el-input v-model="dataForm.name" :placeholder="$t('role.name')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -117,7 +117,7 @@ export default {
|
|||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmitHandle: debounce(function () {
|
dataFormSubmit: debounce(function () {
|
||||||
this.$refs['dataForm'].validate((valid) => {
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
return false
|
return false
|
||||||
|
Loading…
Reference in New Issue
Block a user