| | |
| | | <el-form-item label="创建时间" style="width: 308px"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | value-format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | <template #dropdown> |
| | | <el-dropdown-menu> |
| | | <el-dropdown-item icon="Download" @click="importTemplate">下载模板</el-dropdown-item> |
| | | <el-dropdown-item icon="Top" @click="handleImport"> 导入数据</el-dropdown-item> |
| | | <el-dropdown-item icon="Top" @click="handleImport">导入数据</el-dropdown-item> |
| | | <el-dropdown-item icon="Download" @click="handleExport"> 导出数据</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | </el-col> |
| | | <right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @query-table="getList"></right-toolbar> |
| | | <right-toolbar v-model:show-search="showSearch" :columns="columns" :search="true" @query-table="getList"></right-toolbar> |
| | | </el-row> |
| | | </template> |
| | | |
| | |
| | | value-key="id" |
| | | placeholder="请选择归属部门" |
| | | check-strictly |
| | | @change="handleDeptChange" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; |
| | | import { DeptVO } from '@/api/system/dept/types'; |
| | | import { RoleVO } from '@/api/system/role/types'; |
| | | import { PostVO } from '@/api/system/post/types'; |
| | | import { PostQuery, PostVO } from '@/api/system/post/types'; |
| | | import { treeselect } from '@/api/system/dept'; |
| | | import { globalHeaders } from '@/utils/request'; |
| | | import { to } from 'await-to-js'; |
| | | import { optionselect } from '@/api/system/post'; |
| | | |
| | | const router = useRouter(); |
| | | const { proxy } = getCurrentInstance() as ComponentInternalInstance; |
| | |
| | | message: '用户密码长度必须介于 5 和 20 之间', |
| | | trigger: 'blur' |
| | | }, |
| | | { pattern: /^[^<>"'|\\]+$/, message: '不能包含非法字符:< > " \' \\\ |', trigger: 'blur' } |
| | | { pattern: /^[^<>"'|\\]+$/, message: '不能包含非法字符:< > " \' \\ |', trigger: 'blur' } |
| | | ], |
| | | email: [ |
| | | { |
| | |
| | | inputErrorMessage: '用户密码长度必须介于 5 和 20 之间', |
| | | inputValidator: (value) => { |
| | | if (/<|>|"|'|\||\\/.test(value)) { |
| | | return '不能包含非法字符:< > " \' \\\ |'; |
| | | return '不能包含非法字符:< > " \' \\ |'; |
| | | } |
| | | } |
| | | }) |
| | |
| | | roleOptions.value = data.roles; |
| | | form.value.password = initPassword.value.toString(); |
| | | }; |
| | | |
| | | /** 修改按钮操作 */ |
| | | const handleUpdate = async (row?: UserForm) => { |
| | | reset(); |
| | |
| | | initPassword.value = response.data; |
| | | }); |
| | | }); |
| | | |
| | | async function handleDeptChange(value: number | string) { |
| | | const response = await optionselect(value); |
| | | postOptions.value = response.data; |
| | | form.value.postIds = []; |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |