注册页面表单校验

ywj_dev
CTP 2 years ago
parent 79e1091fa8
commit d5a6fac79d

@ -2,7 +2,12 @@
<div> <div>
<!-- 部门信息相关--> <!-- 部门信息相关-->
<el-card> <el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini"> <el-form
:inline="true"
:model="filterQuery"
class="query-form"
size="mini"
>
<el-row> <el-row>
<el-form-item class="query-form-item" label="部门名称:"> <el-form-item class="query-form-item" label="部门名称:">
<el-input <el-input
@ -12,7 +17,11 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item class="query-form-item" label="状态:"> <el-form-item class="query-form-item" label="状态:">
<el-select v-model="filterQuery.status" placeholder="请选择状态:" clearable> <el-select
v-model="filterQuery.status"
placeholder="请选择状态:"
clearable
>
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option label="禁用" :value="0"></el-option> <el-option label="禁用" :value="0"></el-option>
<el-option label="正常" :value="1"></el-option> <el-option label="正常" :value="1"></el-option>
@ -20,17 +29,12 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button-group> <el-button-group>
<el-button <el-button type="primary" icon="el-icon-refresh" @click="onReset"
type="primary" >重置
icon="el-icon-refresh" </el-button>
@click="onReset" <el-button type="primary" @click="onSubmit" icon="el-icon-search"
>重置 >查询
</el-button> </el-button>
<el-button type="primary" @click="onSubmit"
icon="el-icon-search"
>查询
</el-button
>
<!-- <el-button type="primary" @click="addDeptDialog"--> <!-- <el-button type="primary" @click="addDeptDialog"-->
<!-- icon="el-icon-plus"--> <!-- icon="el-icon-plus"-->
<!-- >新增--> <!-- >新增-->
@ -40,73 +44,78 @@
type="primary" type="primary"
icon="el-icon-sort" icon="el-icon-sort"
@click="toggleExpandAll" @click="toggleExpandAll"
>展开/折叠 >展开/折叠
</el-button> </el-button>
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" <el-table
highlight-current-row v-loading="loading"
border :data="list"
v-if="refreshTable" style="width: 100%"
row-key="id" highlight-current-row
@current-change="handleDeptChange" border
:default-expand-all="isExpandAll" v-if="refreshTable"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" row-key="id"
@current-change="handleDeptChange"
:default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
> >
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column label="部门名称" prop="name"></el-table-column>
label="部门名称" <el-table-column label="部门编码" prop="code"></el-table-column>
prop="name"
></el-table-column>
<el-table-column
label="部门编码"
prop="code"
></el-table-column>
<el-table-column label="状态" prop="status"> <el-table-column label="状态" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.status | statusFilterType">{{ <el-tag :type="scope.row.status | statusFilterType"
scope.row.status | statusFilterName >{{ scope.row.status | statusFilterName }}
}}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="remark"> <el-table-column label="备注" prop="remark"> </el-table-column>
</el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click.native.stop="subAddDeptDialog(scope.row)" @click.native.stop="subAddDeptDialog(scope.row)"
>新增 >新增
</el-button </el-button>
>
<el-button <el-button
type="text" type="text"
@click.native.stop="updateDeptDialog(scope.row)" @click.native.stop="updateDeptDialog(scope.row)"
>编辑 >编辑
</el-button </el-button>
>
<el-button <el-button
type="text" type="text"
:disabled="scope.row.id === 1"
@click.native.stop="deleteDialog(scope.row)" @click.native.stop="deleteDialog(scope.row)"
>删除 >删除
</el-button </el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog :title="formMap[formName]" :visible.sync="formVisible" width="45%"> <el-dialog
:title="formMap[formName]"
:visible.sync="formVisible"
width="45%"
>
<el-form :model="formData" ref="dataForm" :rules="rules"> <el-form :model="formData" ref="dataForm" :rules="rules">
<el-row> <el-row>
<el-form-item label="上级部门:" label-width="100px" v-if="formData.pid != 0"> <el-form-item
<treeselect v-model="formData.pcode" :options="deptOptions" :normalizer="normalizer" label="上级部门:"
:disabled="isShow" label-width="100px"
style="width: 90%" v-if="formData.pid != 0"
placeholder="选择上级部门"/> >
<treeselect
v-model="formData.pcode"
:options="deptOptions"
:normalizer="normalizer"
:disabled="isShow"
style="width: 90%"
placeholder="选择上级部门"
/>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
@ -128,7 +137,11 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-form-item label="是否能被供应商使用" prop="spUse" class="query-form-item"> <el-form-item
label="是否能被供应商使用"
prop="spUse"
class="query-form-item"
>
<el-radio-group v-model="formData.spUse"> <el-radio-group v-model="formData.spUse">
<el-radio :label="true"></el-radio> <el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false"></el-radio>
@ -161,14 +174,12 @@
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
</el-row>--> </el-row>-->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click.native="formSubmit()" <el-button type="primary" size="small" @click.native="formSubmit()"
>提交 >提交
</el-button </el-button>
>
<el-button @click.native="cancelDialog" size="small">取消</el-button> <el-button @click.native="cancelDialog" size="small">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -177,7 +188,12 @@
<!-- 部门绑定用户列表--> <!-- 部门绑定用户列表-->
<el-tab-pane> <el-tab-pane>
<span slot="label">{{ currentRow.name }}-用户列表</span> <span slot="label">{{ currentRow.name }}-用户列表</span>
<el-form :inline="true" :model="userQuery" class="query-form" size="mini"> <el-form
:inline="true"
:model="userQuery"
class="query-form"
size="mini"
>
<el-form-item class="query-form-item" label="用户名称/账号:"> <el-form-item class="query-form-item" label="用户名称/账号:">
<el-input <el-input
v-model="userQuery.key" v-model="userQuery.key"
@ -192,47 +208,50 @@
type="primary" type="primary"
icon="el-icon-refresh" icon="el-icon-refresh"
@click="onUserReset" @click="onUserReset"
>重置 >重置
</el-button> </el-button>
<el-button type="primary" @click="onUserSubmit" <el-button
icon="el-icon-search" type="primary"
>查询 @click="onUserSubmit"
</el-button icon="el-icon-search"
>查询
</el-button>
<el-tooltip
content="请移步至权限管理-用户管理-编辑界面选择所属部门信息"
placement="top"
style="margin-left: 20px"
> >
<el-tooltip content="请移步至权限管理-用户管理-编辑界面选择所属部门信息" placement="top"
style="margin-left: 20px">
<i class="el-icon-question">帮助</i> <i class="el-icon-question">帮助</i>
</el-tooltip> </el-tooltip>
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="userloading" :data="userlist" style="width: 100%" border <el-table
row-key="id" v-loading="userloading"
:data="userlist"
style="width: 100%"
border
row-key="id"
> >
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="用户名称" label="用户名称"
prop="employeeName" prop="employeeName"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column label="用户账号" prop="userName"></el-table-column>
label="用户账号" <el-table-column label="备注" prop="comments"> </el-table-column>
prop="userName"
></el-table-column>
<el-table-column label="备注" prop="comments">
</el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click.native.stop="removeUserDialog(scope.row)" @click.native.stop="removeUserDialog(scope.row)"
>移除 >移除
</el-button </el-button>
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="userTotal>0" v-show="userTotal > 0"
:total="userTotal" :total="userTotal"
:page.sync="userQuery.page" :page.sync="userQuery.page"
:limit.sync="userQuery.limit" :limit.sync="userQuery.limit"
@ -240,11 +259,15 @@
/> />
</el-tab-pane> </el-tab-pane>
<!-- 部门绑定仓库信息--> <!-- 部门绑定仓库信息-->
<el-tab-pane> <el-tab-pane>
<span slot="label">{{ currentRow.name }}-仓库列表</span> <span slot="label">{{ currentRow.name }}-仓库列表</span>
<el-form :inline="true" :model="invQuery" class="query-form" size="mini"> <el-form
:inline="true"
:model="invQuery"
class="query-form"
size="mini"
>
<el-form-item class="query-form-item" label="仓库名称/编码:"> <el-form-item class="query-form-item" label="仓库名称/编码:">
<el-input <el-input
v-model="invQuery.key" v-model="invQuery.key"
@ -259,34 +282,35 @@
type="primary" type="primary"
icon="el-icon-refresh" icon="el-icon-refresh"
@click="onInvReset" @click="onInvReset"
>重置 >重置
</el-button> </el-button>
<el-button type="primary" @click="onInvSubmit" <el-button
icon="el-icon-search" type="primary"
>查询 @click="onInvSubmit"
</el-button icon="el-icon-search"
>查询
</el-button>
<el-tooltip
content="请移步至系统管理-组织管理-仓库信息管理界面绑定仓库信息"
placement="top"
style="margin-left: 20px"
> >
<el-tooltip content="请移步至系统管理-组织管理-仓库信息管理界面绑定仓库信息" placement="top"
style="margin-left: 20px">
<i class="el-icon-question">帮助</i> <i class="el-icon-question">帮助</i>
</el-tooltip> </el-tooltip>
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="invLoading" :data="invlist" style="width: 100%" border <el-table
row-key="id" v-loading="invLoading"
:data="invlist"
style="width: 100%"
border
row-key="id"
> >
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column label="仓库名称" prop="name"></el-table-column>
label="仓库名称" <el-table-column label="仓库编码" prop="code"></el-table-column>
prop="name" <el-table-column label="备注" prop="remark"> </el-table-column>
></el-table-column>
<el-table-column
label="仓库编码"
prop="code"
></el-table-column>
<el-table-column label="备注" prop="remark">
</el-table-column>
<!-- <el-table-column label="操作">--> <!-- <el-table-column label="操作">-->
<!-- <template slot-scope="scope">--> <!-- <template slot-scope="scope">-->
<!-- <el-button--> <!-- <el-button-->
@ -299,9 +323,8 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
</el-table> </el-table>
<pagination <pagination
v-show="invTotal>0" v-show="invTotal > 0"
:total="invTotal" :total="invTotal"
:page.sync="invQuery.page" :page.sync="invQuery.page"
:limit.sync="invQuery.limit" :limit.sync="invQuery.limit"
@ -309,19 +332,21 @@
/> />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>
<script> <script>
import {
filterList,
deleteWarehouse,
saveWarehouse,
} from "@/api/system/invWarehouse";
import {filterList, deleteWarehouse, saveWarehouse} from "@/api/system/invWarehouse"; import { treeList, treeSelectedList } from "@/api/system/dataStatus";
import {treeList, treeSelectedList} from "@/api/system/dataStatus";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {listDeptUser, removeUser} from "@/api/system/deptUser"; import { listDeptUser, removeUser } from "@/api/system/deptUser";
import {filterSubAll} from "@/api/system/invSubWarehouse"; import { filterSubAll } from "@/api/system/invSubWarehouse";
export default { export default {
data() { data() {
@ -351,21 +376,19 @@ export default {
deptOptions: [], deptOptions: [],
rules: { rules: {
name: [ name: [
{required: true, message: "部门名称不能为空", trigger: "blur"} { required: true, message: "部门名称不能为空", trigger: "blur" },
],
status: [
{required: true, message: "状态不能为空", trigger: "blur"}
], ],
status: [{ required: true, message: "状态不能为空", trigger: "blur" }],
}, },
menuExpand: false, menuExpand: false,
menuNodeAll: false, menuNodeAll: false,
menuOptions: [], menuOptions: [],
defaultProps: { defaultProps: {
children: "children", children: "children",
label: "label" label: "label",
}, },
currentRow: { currentRow: {
name: "部门" name: "部门",
}, },
// //
@ -384,15 +407,14 @@ export default {
selectUserQuery: { selectUserQuery: {
code: null, code: null,
page: 1, page: 1,
limit: 10 limit: 10,
}, },
// //
invQuery: { invQuery: {
key: null, key: null,
page: 1, page: 1,
limit: 10 limit: 10,
}, },
invlist: [], invlist: [],
invTotal: 0, invTotal: 0,
@ -423,12 +445,12 @@ export default {
path: "", path: "",
}); });
this.filterQuery = { this.filterQuery = {
name: "" name: "",
}; };
this.getList(); this.getList();
}, },
formSubmit() { formSubmit() {
this.$refs["dataForm"].validate(valid => { this.$refs["dataForm"].validate((valid) => {
if (valid) { if (valid) {
if (this.$isBlank(this.formData.name)) { if (this.$isBlank(this.formData.name)) {
this.$message.error("部门名称不能为空!"); this.$message.error("部门名称不能为空!");
@ -476,8 +498,6 @@ export default {
} }
} }
}); });
}, },
onSubmit() { onSubmit() {
this.getList(); this.getList();
@ -495,6 +515,8 @@ export default {
level: 1, level: 1,
}; };
}, },
/* 新增按钮点击事件 */
subAddDeptDialog(row) { subAddDeptDialog(row) {
this.formName = "add"; this.formName = "add";
this.formVisible = true; this.formVisible = true;
@ -503,10 +525,10 @@ export default {
pid: row.id, pid: row.id,
pcode: row.code, pcode: row.code,
status: 1, status: 1,
spUse:false spUse: false,
} };
// this.getStatusTreeselect(); // this.getStatusTreeselect();
filterList().then(response => { filterList().then((response) => {
let depList = response.data.list || []; let depList = response.data.list || [];
this.deptOptions = this.handleTree(depList, "code", "pcode"); this.deptOptions = this.handleTree(depList, "code", "pcode");
}); });
@ -520,6 +542,8 @@ export default {
this.$refs["dataForm"].resetFields(); this.$refs["dataForm"].resetFields();
} }
}, },
/* 编辑按钮点击事件 */
updateDeptDialog(row) { updateDeptDialog(row) {
this.resetForm(); this.resetForm();
this.formName = "edit"; this.formName = "edit";
@ -527,17 +551,19 @@ export default {
this.isShow = true; this.isShow = true;
this.formData = row; this.formData = row;
// const roleMenu = this.getDeptStatusMenuTreeselect(this.formData.id); // const roleMenu = this.getDeptStatusMenuTreeselect(this.formData.id);
filterList().then(response => { filterList().then((response) => {
let depList = response.data.list || []; let depList = response.data.list || [];
this.deptOptions = this.handleTree(depList, "code", "pcode"); this.deptOptions = this.handleTree(depList, "code", "pcode");
}); });
}, },
/* 获取列表 */
getList() { getList() {
this.loading = true; this.loading = true;
filterList(this.filterQuery) filterList(this.filterQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
let depList = response.data.list || []; let depList = response.data.list || [];
// console.log("deplist", depList);
this.list = this.handleTree(depList, "code", "pcode"); this.list = this.handleTree(depList, "code", "pcode");
}) })
.catch(() => { .catch(() => {
@ -546,11 +572,14 @@ export default {
}); });
}, },
cancelDialog() { cancelDialog() {
tQuer;
this.formVisible = false; this.formVisible = false;
// //
this.$refs["dataForm"].resetFields(); this.$refs["dataForm"].resetFields();
this.getList(); this.getList();
}, },
/* 删除按钮点击事件 */
deleteDialog(row) { deleteDialog(row) {
this.$confirm("是否删除该部门?", "提示", { this.$confirm("是否删除该部门?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
@ -567,11 +596,9 @@ export default {
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}); });
}) })
.catch(() => { .catch(() => {});
});
}, },
toggleExpandAll() { toggleExpandAll() {
this.refreshTable = false; this.refreshTable = false;
@ -588,7 +615,7 @@ export default {
return { return {
id: node.code, id: node.code,
label: node.name, label: node.name,
children: node.children children: node.children,
}; };
}, },
// / // /
@ -604,13 +631,13 @@ export default {
}, },
/** 查询菜单树结构 */ /** 查询菜单树结构 */
getStatusTreeselect() { getStatusTreeselect() {
treeList().then(response => { treeList().then((response) => {
this.menuOptions = response.data; this.menuOptions = response.data;
}); });
}, },
getDeptStatusMenuTreeselect(deptId) { getDeptStatusMenuTreeselect(deptId) {
let query = {deptId: deptId}; let query = { deptId: deptId };
return treeSelectedList(query).then(response => { return treeSelectedList(query).then((response) => {
this.menuOptions = response.data.menus; this.menuOptions = response.data.menus;
return response; return response;
}); });
@ -629,11 +656,12 @@ export default {
this.onInvSubmit(); this.onInvSubmit();
}, },
// //
handleUserSelectionChange(val) { handleUserSelectionChange(val) {
this.selectAddUser = val; this.selectAddUser = val;
}, },
/* 重置按钮点击事件 */
onUserReset() { onUserReset() {
this.userQuery = { this.userQuery = {
key: null, key: null,
@ -643,6 +671,8 @@ export default {
}; };
this.getUerList(); this.getUerList();
}, },
/* 查询按钮点击事件 */
onUserSubmit() { onUserSubmit() {
this.userQuery.deptId = this.currentRow.id; this.userQuery.deptId = this.currentRow.id;
this.userQuery.page = 1; this.userQuery.page = 1;
@ -666,7 +696,7 @@ export default {
key: "", key: "",
parentId: this.currentRow.code, parentId: this.currentRow.code,
page: 1, page: 1,
limit: 20 limit: 20,
}; };
this.onInvSubmit(); this.onInvSubmit();
}, },
@ -689,11 +719,9 @@ export default {
} }
}); });
}) })
.catch(() => { .catch(() => {});
});
}, },
// //
getInvList() { getInvList() {
filterSubAll(this.invQuery) filterSubAll(this.invQuery)
@ -712,9 +740,8 @@ export default {
this.getInvList(); this.getInvList();
}, },
}, },
components: {Treeselect}, components: { Treeselect },
mounted() { mounted() {},
},
created() { created() {
this.getList(); this.getList();
}, },

Loading…
Cancel
Save