| | |
| | | extendDefaults: true, |
| | | types: { |
| | | '{}': false, |
| | | 'Function': false |
| | | Function: false |
| | | } |
| | | } |
| | | ] |
| | |
| | | * 代码格式化配置 |
| | | */ |
| | | module.exports = { |
| | | // 一行最多多少个字符 |
| | | printWidth: 150, |
| | | // 指定每个缩进级别的空格数 |
| | | tabWidth: 2, |
| | | // 使用制表符而不是空格缩进行 |
| | | useTabs: false, |
| | | // 在语句末尾是否需要分号 |
| | | semi: true, |
| | | // 是否使用单引号 |
| | | singleQuote: true, |
| | | // 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>" |
| | | quoteProps: 'as-needed', |
| | | // 在JSX中使用单引号而不是双引号 |
| | | jsxSingleQuote: false, |
| | | // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none |
| | | trailingComma: 'none', |
| | | // 在对象文字中的括号之间打印空格 |
| | | bracketSpacing: true, |
| | | // jsx 标签的反尖括号需要换行 |
| | | jsxBracketSameLine: false, |
| | | embeddedLanguageFormatting: 'off', |
| | | // 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x |
| | | arrowParens: 'always', |
| | | // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 |
| | | rangeStart: 0, |
| | | rangeEnd: Infinity, |
| | | // 指定要使用的解析器,不需要写文件开头的 @prettier |
| | | requirePragma: false, |
| | | // 不需要自动在文件开头插入 @prettier |
| | | insertPragma: false, |
| | | // 使用默认的折行标准 always\never\preserve |
| | | proseWrap: 'preserve', |
| | | // 指定HTML文件的全局空格敏感度 css\strict\ignore |
| | | htmlWhitespaceSensitivity: 'css', |
| | | // Vue文件脚本和样式标签缩进 |
| | | vueIndentScriptAndStyle: false, |
| | | // 在 windows 操作系统中换行符通常是回车 (CR) 加换行分隔符 (LF),也就是回车换行(CRLF), |
| | | // 然而在 Linux 和 Unix 中只使用简单的换行分隔符 (LF)。 |
| | | // 对应的控制字符为 "\n" (LF) 和 "\r\n"(CRLF)。auto意为保持现有的行尾 |
| | | // 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>" |
| | | endOfLine: 'auto' |
| | | // 一行最多多少个字符 |
| | | printWidth: 150, |
| | | // 指定每个缩进级别的空格数 |
| | | tabWidth: 2, |
| | | // 使用制表符而不是空格缩进行 |
| | | useTabs: false, |
| | | // 在语句末尾是否需要分号 |
| | | semi: true, |
| | | // 是否使用单引号 |
| | | singleQuote: true, |
| | | // 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>" |
| | | quoteProps: 'as-needed', |
| | | // 在JSX中使用单引号而不是双引号 |
| | | jsxSingleQuote: false, |
| | | // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none |
| | | trailingComma: 'none', |
| | | // 在对象文字中的括号之间打印空格 |
| | | bracketSpacing: true, |
| | | // jsx 标签的反尖括号需要换行 |
| | | jsxBracketSameLine: false, |
| | | embeddedLanguageFormatting: 'off', |
| | | // 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x |
| | | arrowParens: 'always', |
| | | // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 |
| | | rangeStart: 0, |
| | | rangeEnd: Infinity, |
| | | // 指定要使用的解析器,不需要写文件开头的 @prettier |
| | | requirePragma: false, |
| | | // 不需要自动在文件开头插入 @prettier |
| | | insertPragma: false, |
| | | // 使用默认的折行标准 always\never\preserve |
| | | proseWrap: 'preserve', |
| | | // 指定HTML文件的全局空格敏感度 css\strict\ignore |
| | | htmlWhitespaceSensitivity: 'css', |
| | | // Vue文件脚本和样式标签缩进 |
| | | vueIndentScriptAndStyle: false, |
| | | // 在 windows 操作系统中换行符通常是回车 (CR) 加换行分隔符 (LF),也就是回车换行(CRLF), |
| | | // 然而在 Linux 和 Unix 中只使用简单的换行分隔符 (LF)。 |
| | | // 对应的控制字符为 "\n" (LF) 和 "\r\n"(CRLF)。auto意为保持现有的行尾 |
| | | // 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>" |
| | | endOfLine: 'auto' |
| | | }; |
| | |
| | | * 状态(0正常 1停用) |
| | | */ |
| | | status: string; |
| | | |
| | | } |
| | | |
| | | export interface ClientForm extends BaseEntity { |
| | |
| | | * 状态(0正常 1停用) |
| | | */ |
| | | status?: string; |
| | | |
| | | } |
| | | |
| | | export interface ClientQuery extends PageQuery { |
| | |
| | | * 状态(0正常 1停用) |
| | | */ |
| | | status?: string; |
| | | |
| | | } |
| | |
| | | */ |
| | | export const listUserByDeptId = (deptId: string | number): AxiosPromise<UserVO[]> => { |
| | | return request({ |
| | | url: "/system/user/list/dept/" + deptId, |
| | | method: "get" |
| | | url: '/system/user/list/dept/' + deptId, |
| | | method: 'get' |
| | | }); |
| | | }; |
| | | |
| | |
| | | }; |
| | | |
| | | // 导入表 |
| | | export const importTable = (data: { tables: string, dataName: string }) => { |
| | | export const importTable = (data: { tables: string; dataName: string }) => { |
| | | return request({ |
| | | url: '/tool/gen/importTable', |
| | | method: 'post', |
| | |
| | | url: '/tool/gen/getDataNames', |
| | | method: 'get' |
| | | }); |
| | | }; |
| | | }; |
| | |
| | | overflow-x: hidden; |
| | | } |
| | | |
| | | |
| | | |
| | | // refine element ui upload |
| | | .upload-container { |
| | | .el-upload { |
| | |
| | | box-sizing: content-box; |
| | | } |
| | | |
| | | .el-menu--collapse>div>.el-submenu>.el-submenu__title .el-submenu__icon-arrow { |
| | | .el-menu--collapse > div > .el-submenu > .el-submenu__title .el-submenu__icon-arrow { |
| | | display: none; |
| | | } |
| | | |
| | | .el-dropdown .el-dropdown-link { |
| | | color: var(--el-color-primary) !important; |
| | | } |
| | | } |
| | |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | html.dark .svg-icon, html.dark svg { |
| | | html.dark .svg-icon, |
| | | html.dark svg { |
| | | fill: var(--el-text-color-regular); |
| | | } |
| | | |
| | |
| | | const props = defineProps({ |
| | | formJson: { |
| | | type: [String, Object], |
| | | default: {} |
| | | default: "" |
| | | }, |
| | | formData: { |
| | | type: [String, Object], |
| | | default: {} |
| | | default: "" |
| | | }, |
| | | isView: { |
| | | type: Boolean, |
| | |
| | | } |
| | | }); |
| | | const height = ref(document.documentElement.clientHeight - 94.5 + "px"); |
| | | </script> |
| | | </script> |
| | |
| | | import errorCode from '@/utils/errorCode'; |
| | | import { blobValidate } from '@/utils/ruoyi'; |
| | | import { LoadingInstance } from 'element-plus/es/components/loading/src/loading'; |
| | | import { globalHeaders } from "@/utils/request"; |
| | | import { globalHeaders } from '@/utils/request'; |
| | | |
| | | const baseURL = import.meta.env.VITE_APP_BASE_API; |
| | | let downloadLoadingInstance: LoadingInstance; |
| | |
| | | method: 'get', |
| | | url: url, |
| | | responseType: 'blob', |
| | | headers: globalHeaders(), |
| | | headers: globalHeaders() |
| | | }); |
| | | const isBlob = blobValidate(res.data); |
| | | if (isBlob) { |
| | |
| | | method: 'get', |
| | | url: url, |
| | | responseType: 'blob', |
| | | headers: globalHeaders(), |
| | | headers: globalHeaders() |
| | | }); |
| | | const isBlob = blobValidate(res.data); |
| | | if (isBlob) { |
| | |
| | | } |
| | | }); |
| | | |
| | | |
| | | export default router; |
| | |
| | | export const isRelogin = { show: false }; |
| | | export const globalHeaders = () => { |
| | | return { |
| | | Authorization: "Bearer " + getToken(), |
| | | Authorization: 'Bearer ' + getToken(), |
| | | clientid: import.meta.env.VITE_APP_CLIENT_ID |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | |
| | | axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'; |
| | | axios.defaults.headers['clientid'] = import.meta.env.VITE_APP_CLIENT_ID; |
| | |
| | | */ |
| | | export const validEmail = (email: string) => { |
| | | const reg = |
| | | /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; |
| | | /^(([^<>()\]\\.,;:\s@"]+(\.[^<>()\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; |
| | | return reg.test(email); |
| | | }; |
| | | |
| | |
| | | <el-form-item label="部门状态"> |
| | | <el-radio-group v-model="form.status"> |
| | | <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label |
| | | }}</el-radio> |
| | | }}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <script setup name="User" lang="ts"> |
| | | import api from "@/api/system/user" |
| | | import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; |
| | | import { getToken } from "@/utils/auth"; |
| | | import { treeselect } from "@/api/system/dept"; |
| | | import { DeptVO } from "@/api/system/dept/types"; |
| | | import { RoleVO } from "@/api/system/role/types"; |
| | |
| | | 'panel-title': |
| | | 'pb-[5px] font-sans leading-[1.1] font-medium text-base text-[#6379bb] border-b border-b-solid border-[var(--el-border-color-light)] mb-5 mt-0' |
| | | }, |
| | | hmrTopLevelAwait: false, // unocss默认是true,低版本浏览器是不支持的,启动后会报错 |
| | | hmrTopLevelAwait: false // unocss默认是true,低版本浏览器是不支持的,启动后会报错 |
| | | }); |
| | | }; |