@ -0,0 +1,14 @@ |
|||||
|
# http://editorconfig.org |
||||
|
root = true |
||||
|
|
||||
|
# 表示所有文件适用 |
||||
|
[*] |
||||
|
charset = utf-8 # 设置文件字符集为 utf-8 |
||||
|
end_of_line = lf # 控制换行类型(lf | cr | crlf) |
||||
|
indent_style = tab # 缩进风格(tab | space) |
||||
|
insert_final_newline = true # 始终在文件末尾插入一个新行 |
||||
|
|
||||
|
# 表示仅 md 文件适用以下规则 |
||||
|
[*.md] |
||||
|
max_line_length = off # 关闭最大行长度限制 |
||||
|
trim_trailing_whitespace = false # 关闭末尾空格修剪 |
||||
@ -0,0 +1,10 @@ |
|||||
|
## 开发环境 |
||||
|
|
||||
|
# 变量必须以 VITE_ 为前缀才能暴露给外部读取 |
||||
|
NODE_ENV='development' |
||||
|
|
||||
|
VITE_APP_TITLE = 'vue3-element-admin' |
||||
|
VITE_APP_PORT = 9999 |
||||
|
VITE_APP_BASE_API = '/dev-api' |
||||
|
VITE_APP_BASE_URL = 'http://myvuetest.net' |
||||
|
VITE_APP_TOKEN_KEY = 'offlineAccessSystemAppToken' |
||||
@ -0,0 +1,6 @@ |
|||||
|
## 生产环境 |
||||
|
|
||||
|
VITE_APP_TITLE = '数通智联化工云平台' |
||||
|
VITE_APP_PORT = 17777 |
||||
|
VITE_APP_BASE_API = '' |
||||
|
VITE_APP_TOKEN_KEY = 'onlineAccessSystemAppToken' |
||||
@ -0,0 +1,6 @@ |
|||||
|
## 模拟环境 |
||||
|
NODE_ENV='staging' |
||||
|
|
||||
|
VITE_APP_TITLE = '数通智联化工云平台' |
||||
|
VITE_APP_PORT = 3000 |
||||
|
VITE_APP_BASE_API = '/prod--api' |
||||
@ -0,0 +1,14 @@ |
|||||
|
dist |
||||
|
node_modules |
||||
|
public |
||||
|
.husky |
||||
|
.vscode |
||||
|
.idea |
||||
|
*.sh |
||||
|
*.md |
||||
|
|
||||
|
src/assets |
||||
|
|
||||
|
.eslintrc.cjs |
||||
|
.prettierrc.cjs |
||||
|
.stylelintrc.cjs |
||||
@ -0,0 +1,269 @@ |
|||||
|
{ |
||||
|
"globals": { |
||||
|
"EffectScope": true, |
||||
|
"ElForm": true, |
||||
|
"ElMessage": true, |
||||
|
"ElMessageBox": true, |
||||
|
"ElTree": true, |
||||
|
"asyncComputed": true, |
||||
|
"autoResetRef": true, |
||||
|
"computed": true, |
||||
|
"computedAsync": true, |
||||
|
"computedEager": true, |
||||
|
"computedInject": true, |
||||
|
"computedWithControl": true, |
||||
|
"controlledComputed": true, |
||||
|
"controlledRef": true, |
||||
|
"createApp": true, |
||||
|
"createEventHook": true, |
||||
|
"createGlobalState": true, |
||||
|
"createInjectionState": true, |
||||
|
"createReactiveFn": true, |
||||
|
"createSharedComposable": true, |
||||
|
"createUnrefFn": true, |
||||
|
"customRef": true, |
||||
|
"debouncedRef": true, |
||||
|
"debouncedWatch": true, |
||||
|
"defineAsyncComponent": true, |
||||
|
"defineComponent": true, |
||||
|
"eagerComputed": true, |
||||
|
"effectScope": true, |
||||
|
"extendRef": true, |
||||
|
"getCurrentInstance": true, |
||||
|
"getCurrentScope": true, |
||||
|
"h": true, |
||||
|
"ignorableWatch": true, |
||||
|
"inject": true, |
||||
|
"isDefined": true, |
||||
|
"isProxy": true, |
||||
|
"isReactive": true, |
||||
|
"isReadonly": true, |
||||
|
"isRef": true, |
||||
|
"makeDestructurable": true, |
||||
|
"markRaw": true, |
||||
|
"nextTick": true, |
||||
|
"onActivated": true, |
||||
|
"onBeforeMount": true, |
||||
|
"onBeforeUnmount": true, |
||||
|
"onBeforeUpdate": true, |
||||
|
"onClickOutside": true, |
||||
|
"onDeactivated": true, |
||||
|
"onErrorCaptured": true, |
||||
|
"onKeyStroke": true, |
||||
|
"onLongPress": true, |
||||
|
"onMounted": true, |
||||
|
"onRenderTracked": true, |
||||
|
"onRenderTriggered": true, |
||||
|
"onScopeDispose": true, |
||||
|
"onServerPrefetch": true, |
||||
|
"onStartTyping": true, |
||||
|
"onUnmounted": true, |
||||
|
"onUpdated": true, |
||||
|
"pausableWatch": true, |
||||
|
"provide": true, |
||||
|
"reactify": true, |
||||
|
"reactifyObject": true, |
||||
|
"reactive": true, |
||||
|
"reactiveComputed": true, |
||||
|
"reactiveOmit": true, |
||||
|
"reactivePick": true, |
||||
|
"readonly": true, |
||||
|
"ref": true, |
||||
|
"refAutoReset": true, |
||||
|
"refDebounced": true, |
||||
|
"refDefault": true, |
||||
|
"refThrottled": true, |
||||
|
"refWithControl": true, |
||||
|
"resolveComponent": true, |
||||
|
"resolveDirective": true, |
||||
|
"resolveRef": true, |
||||
|
"resolveUnref": true, |
||||
|
"shallowReactive": true, |
||||
|
"shallowReadonly": true, |
||||
|
"shallowRef": true, |
||||
|
"syncRef": true, |
||||
|
"syncRefs": true, |
||||
|
"templateRef": true, |
||||
|
"throttledRef": true, |
||||
|
"throttledWatch": true, |
||||
|
"toRaw": true, |
||||
|
"toReactive": true, |
||||
|
"toRef": true, |
||||
|
"toRefs": true, |
||||
|
"triggerRef": true, |
||||
|
"tryOnBeforeMount": true, |
||||
|
"tryOnBeforeUnmount": true, |
||||
|
"tryOnMounted": true, |
||||
|
"tryOnScopeDispose": true, |
||||
|
"tryOnUnmounted": true, |
||||
|
"unref": true, |
||||
|
"unrefElement": true, |
||||
|
"until": true, |
||||
|
"useActiveElement": true, |
||||
|
"useArrayEvery": true, |
||||
|
"useArrayFilter": true, |
||||
|
"useArrayFind": true, |
||||
|
"useArrayFindIndex": true, |
||||
|
"useArrayFindLast": true, |
||||
|
"useArrayJoin": true, |
||||
|
"useArrayMap": true, |
||||
|
"useArrayReduce": true, |
||||
|
"useArraySome": true, |
||||
|
"useArrayUnique": true, |
||||
|
"useAsyncQueue": true, |
||||
|
"useAsyncState": true, |
||||
|
"useAttrs": true, |
||||
|
"useBase64": true, |
||||
|
"useBattery": true, |
||||
|
"useBluetooth": true, |
||||
|
"useBreakpoints": true, |
||||
|
"useBroadcastChannel": true, |
||||
|
"useBrowserLocation": true, |
||||
|
"useCached": true, |
||||
|
"useClipboard": true, |
||||
|
"useCloned": true, |
||||
|
"useColorMode": true, |
||||
|
"useConfirmDialog": true, |
||||
|
"useCounter": true, |
||||
|
"useCssModule": true, |
||||
|
"useCssVar": true, |
||||
|
"useCssVars": true, |
||||
|
"useCurrentElement": true, |
||||
|
"useCycleList": true, |
||||
|
"useDark": true, |
||||
|
"useDateFormat": true, |
||||
|
"useDebounce": true, |
||||
|
"useDebounceFn": true, |
||||
|
"useDebouncedRefHistory": true, |
||||
|
"useDeviceMotion": true, |
||||
|
"useDeviceOrientation": true, |
||||
|
"useDevicePixelRatio": true, |
||||
|
"useDevicesList": true, |
||||
|
"useDisplayMedia": true, |
||||
|
"useDocumentVisibility": true, |
||||
|
"useDraggable": true, |
||||
|
"useDropZone": true, |
||||
|
"useElementBounding": true, |
||||
|
"useElementByPoint": true, |
||||
|
"useElementHover": true, |
||||
|
"useElementSize": true, |
||||
|
"useElementVisibility": true, |
||||
|
"useEventBus": true, |
||||
|
"useEventListener": true, |
||||
|
"useEventSource": true, |
||||
|
"useEyeDropper": true, |
||||
|
"useFavicon": true, |
||||
|
"useFetch": true, |
||||
|
"useFileDialog": true, |
||||
|
"useFileSystemAccess": true, |
||||
|
"useFocus": true, |
||||
|
"useFocusWithin": true, |
||||
|
"useFps": true, |
||||
|
"useFullscreen": true, |
||||
|
"useGamepad": true, |
||||
|
"useGeolocation": true, |
||||
|
"useIdle": true, |
||||
|
"useImage": true, |
||||
|
"useInfiniteScroll": true, |
||||
|
"useIntersectionObserver": true, |
||||
|
"useInterval": true, |
||||
|
"useIntervalFn": true, |
||||
|
"useKeyModifier": true, |
||||
|
"useLastChanged": true, |
||||
|
"useLocalStorage": true, |
||||
|
"useMagicKeys": true, |
||||
|
"useManualRefHistory": true, |
||||
|
"useMediaControls": true, |
||||
|
"useMediaQuery": true, |
||||
|
"useMemoize": true, |
||||
|
"useMemory": true, |
||||
|
"useMounted": true, |
||||
|
"useMouse": true, |
||||
|
"useMouseInElement": true, |
||||
|
"useMousePressed": true, |
||||
|
"useMutationObserver": true, |
||||
|
"useNavigatorLanguage": true, |
||||
|
"useNetwork": true, |
||||
|
"useNow": true, |
||||
|
"useObjectUrl": true, |
||||
|
"useOffsetPagination": true, |
||||
|
"useOnline": true, |
||||
|
"usePageLeave": true, |
||||
|
"useParallax": true, |
||||
|
"usePermission": true, |
||||
|
"usePointer": true, |
||||
|
"usePointerLock": true, |
||||
|
"usePointerSwipe": true, |
||||
|
"usePreferredColorScheme": true, |
||||
|
"usePreferredContrast": true, |
||||
|
"usePreferredDark": true, |
||||
|
"usePreferredLanguages": true, |
||||
|
"usePreferredReducedMotion": true, |
||||
|
"usePrevious": true, |
||||
|
"useRafFn": true, |
||||
|
"useRefHistory": true, |
||||
|
"useResizeObserver": true, |
||||
|
"useScreenOrientation": true, |
||||
|
"useScreenSafeArea": true, |
||||
|
"useScriptTag": true, |
||||
|
"useScroll": true, |
||||
|
"useScrollLock": true, |
||||
|
"useSessionStorage": true, |
||||
|
"useShare": true, |
||||
|
"useSlots": true, |
||||
|
"useSorted": true, |
||||
|
"useSpeechRecognition": true, |
||||
|
"useSpeechSynthesis": true, |
||||
|
"useStepper": true, |
||||
|
"useStorage": true, |
||||
|
"useStorageAsync": true, |
||||
|
"useStyleTag": true, |
||||
|
"useSupported": true, |
||||
|
"useSwipe": true, |
||||
|
"useTemplateRefsList": true, |
||||
|
"useTextDirection": true, |
||||
|
"useTextSelection": true, |
||||
|
"useTextareaAutosize": true, |
||||
|
"useThrottle": true, |
||||
|
"useThrottleFn": true, |
||||
|
"useThrottledRefHistory": true, |
||||
|
"useTimeAgo": true, |
||||
|
"useTimeout": true, |
||||
|
"useTimeoutFn": true, |
||||
|
"useTimeoutPoll": true, |
||||
|
"useTimestamp": true, |
||||
|
"useTitle": true, |
||||
|
"useToNumber": true, |
||||
|
"useToString": true, |
||||
|
"useToggle": true, |
||||
|
"useTransition": true, |
||||
|
"useUrlSearchParams": true, |
||||
|
"useUserMedia": true, |
||||
|
"useVModel": true, |
||||
|
"useVModels": true, |
||||
|
"useVibrate": true, |
||||
|
"useVirtualList": true, |
||||
|
"useWakeLock": true, |
||||
|
"useWebNotification": true, |
||||
|
"useWebSocket": true, |
||||
|
"useWebWorker": true, |
||||
|
"useWebWorkerFn": true, |
||||
|
"useWindowFocus": true, |
||||
|
"useWindowScroll": true, |
||||
|
"useWindowSize": true, |
||||
|
"watch": true, |
||||
|
"watchArray": true, |
||||
|
"watchAtMost": true, |
||||
|
"watchDebounced": true, |
||||
|
"watchEffect": true, |
||||
|
"watchIgnorable": true, |
||||
|
"watchOnce": true, |
||||
|
"watchPausable": true, |
||||
|
"watchPostEffect": true, |
||||
|
"watchSyncEffect": true, |
||||
|
"watchThrottled": true, |
||||
|
"watchTriggerable": true, |
||||
|
"watchWithFilter": true, |
||||
|
"whenever": true |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,32 @@ |
|||||
|
module.exports = { |
||||
|
env: { |
||||
|
browser: true, |
||||
|
es2021: true, |
||||
|
node: true, |
||||
|
}, |
||||
|
parser: "vue-eslint-parser", |
||||
|
extends: [ |
||||
|
// 参考vuejs官方的eslint配置: https://eslint.vuejs.org/user-guide/#usage |
||||
|
"plugin:vue/vue3-recommended", |
||||
|
"./.eslintrc-auto-import.json", |
||||
|
"prettier", |
||||
|
], |
||||
|
parserOptions: { |
||||
|
ecmaVersion: "latest", |
||||
|
sourceType: "module", |
||||
|
parser: "@typescript-eslint/parser", |
||||
|
}, |
||||
|
plugins: ["vue", "@typescript-eslint"], |
||||
|
rules: { |
||||
|
"vue/multi-word-component-names": "off", // 关闭组件名必须多字: https://eslint.vuejs.org/rules/multi-word-component-names.html |
||||
|
"@typescript-eslint/no-empty-function": "off", // 关闭空方法检查 |
||||
|
"@typescript-eslint/no-explicit-any": "off", // 关闭any类型的警告 |
||||
|
"vue/no-v-model-argument": "off", |
||||
|
"@typescript-eslint/no-non-null-assertion": "off", |
||||
|
}, |
||||
|
// https://eslint.org/docs/latest/use/configure/language-options#specifying-globals |
||||
|
globals: { |
||||
|
DialogOption: "readonly", |
||||
|
OptionType: "readonly", |
||||
|
}, |
||||
|
}; |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
. "$(dirname "$0")/_/husky.sh" |
||||
|
|
||||
|
npx --no-install commitlint --edit $1 |
||||
@ -0,0 +1,4 @@ |
|||||
|
#!/bin/sh |
||||
|
. "$(dirname "$0")/_/husky.sh" |
||||
|
|
||||
|
npm run lint:lint-staged |
||||
@ -0,0 +1,10 @@ |
|||||
|
dist |
||||
|
node_modules |
||||
|
public |
||||
|
.husky |
||||
|
.vscode |
||||
|
.idea |
||||
|
*.sh |
||||
|
*.md |
||||
|
|
||||
|
src/assets |
||||
@ -0,0 +1,36 @@ |
|||||
|
module.exports = { |
||||
|
// (x)=>{},单个参数箭头函数是否显示小括号。(always:始终显示;avoid:省略括号。默认:always) |
||||
|
arrowParens: "always", |
||||
|
// 开始标签的右尖括号是否跟随在最后一行属性末尾,默认false |
||||
|
bracketSameLine: false, |
||||
|
// 对象字面量的括号之间打印空格 (true - Example: { foo: bar } ; false - Example: {foo:bar}) |
||||
|
bracketSpacing: true, |
||||
|
// 是否格式化一些文件中被嵌入的代码片段的风格(auto|off;默认auto) |
||||
|
embeddedLanguageFormatting: "auto", |
||||
|
// 指定 HTML 文件的空格敏感度 (css|strict|ignore;默认css) |
||||
|
htmlWhitespaceSensitivity: "css", |
||||
|
// 当文件已经被 Prettier 格式化之后,是否会在文件顶部插入一个特殊的 @format 标记,默认false |
||||
|
insertPragma: false, |
||||
|
// 在 JSX 中使用单引号替代双引号,默认false |
||||
|
jsxSingleQuote: false, |
||||
|
// 每行最多字符数量,超出换行(默认80) |
||||
|
printWidth: 80, |
||||
|
// 超出打印宽度 (always | never | preserve ) |
||||
|
proseWrap: "preserve", |
||||
|
// 对象属性是否使用引号(as-needed | consistent | preserve;默认as-needed:对象的属性需要加引号才添加;) |
||||
|
quoteProps: "as-needed", |
||||
|
// 是否只格式化在文件顶部包含特定注释(@prettier| @format)的文件,默认false |
||||
|
requirePragma: false, |
||||
|
// 结尾添加分号 |
||||
|
semi: true, |
||||
|
// 使用单引号 (true:单引号;false:双引号) |
||||
|
singleQuote: false, |
||||
|
// 缩进空格数,默认2个空格 |
||||
|
tabWidth: 2, |
||||
|
// 元素末尾是否加逗号,默认es5: ES5中的 objects, arrays 等会添加逗号,TypeScript 中的 type 后不加逗号 |
||||
|
trailingComma: "es5", |
||||
|
// 指定缩进方式,空格或tab,默认false,即使用空格 |
||||
|
useTabs: false, |
||||
|
// vue 文件中是否缩进 <style> 和 <script> 标签,默认 false |
||||
|
vueIndentScriptAndStyle: false, |
||||
|
}; |
||||
@ -0,0 +1,10 @@ |
|||||
|
dist |
||||
|
node_modules |
||||
|
public |
||||
|
.husky |
||||
|
.vscode |
||||
|
.idea |
||||
|
*.sh |
||||
|
*.md |
||||
|
|
||||
|
src/assets |
||||
@ -0,0 +1,43 @@ |
|||||
|
module.exports = { |
||||
|
// 继承推荐规范配置 |
||||
|
extends: [ |
||||
|
"stylelint-config-standard", |
||||
|
"stylelint-config-recommended-scss", |
||||
|
"stylelint-config-recommended-vue/scss", |
||||
|
"stylelint-config-html/vue", |
||||
|
"stylelint-config-recess-order", |
||||
|
], |
||||
|
// 指定不同文件对应的解析器 |
||||
|
overrides: [ |
||||
|
{ |
||||
|
files: ["**/*.{vue,html}"], |
||||
|
customSyntax: "postcss-html", |
||||
|
}, |
||||
|
{ |
||||
|
files: ["**/*.{css,scss}"], |
||||
|
customSyntax: "postcss-scss", |
||||
|
}, |
||||
|
], |
||||
|
// 自定义规则 |
||||
|
rules: { |
||||
|
"import-notation": "string", // 指定导入CSS文件的方式("string"|"url") |
||||
|
"selector-class-pattern": null, // 选择器类名命名规则 |
||||
|
"custom-property-pattern": null, // 自定义属性命名规则 |
||||
|
"keyframes-name-pattern": null, // 动画帧节点样式命名规则 |
||||
|
"no-descending-specificity": null, // 允许无降序特异性 |
||||
|
// 允许 global 、export 、deep伪类 |
||||
|
"selector-pseudo-class-no-unknown": [ |
||||
|
true, |
||||
|
{ |
||||
|
ignorePseudoClasses: ["global", "export", "deep"], |
||||
|
}, |
||||
|
], |
||||
|
// 允许未知属性 |
||||
|
"property-no-unknown": [ |
||||
|
true, |
||||
|
{ |
||||
|
ignoreProperties: ["menuBg", "menuText", "menuActiveText"], |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
}; |
||||
@ -0,0 +1,20 @@ |
|||||
|
# 2.3.0 (2023/5/12) |
||||
|
|
||||
|
### 📦️ build |
||||
|
- vue 版本升级 3.2.45 → 3.3.1 ([CHANGELOG](https://github.com/vuejs/core/blob/main/CHANGELOG.md)) |
||||
|
- vite 版本升级 4.3.1 → 4.3.5 |
||||
|
|
||||
|
### ♻️ refactor |
||||
|
- 使用 vue 3.3 版本新特性 `defineOptions` 在 `setup` 定义组件名称,移除重复的 `script` 标签 |
||||
|
|
||||
|
# 2.2.2 (2023/5/11) |
||||
|
|
||||
|
### ✨ feat |
||||
|
- 用户新增提交添加 `vueUse` 的 `useDebounceFn` 函数实现按钮防抖节流 |
||||
|
|
||||
|
|
||||
|
# 2.2.1 (2023/4/25) |
||||
|
|
||||
|
### 🐛 fix |
||||
|
- 图标选择器组件使用 `onClickOutside` 未排除下拉弹出框元素导致无法输入搜索。 |
||||
|
|
||||
@ -0,0 +1,93 @@ |
|||||
|
module.exports = { |
||||
|
// 继承的规则 |
||||
|
extends: ["@commitlint/config-conventional"], |
||||
|
// 自定义规则 |
||||
|
rules: { |
||||
|
// @see https://commitlint.js.org/#/reference-rules |
||||
|
|
||||
|
// 提交类型枚举,git提交type必须是以下类型 |
||||
|
"type-enum": [ |
||||
|
2, |
||||
|
"always", |
||||
|
[ |
||||
|
"feat", // 新增功能 |
||||
|
"fix", // 修复缺陷 |
||||
|
"docs", // 文档变更 |
||||
|
"style", // 代码格式(不影响功能,例如空格、分号等格式修正) |
||||
|
"refactor", // 代码重构(不包括 bug 修复、功能新增) |
||||
|
"perf", // 性能优化 |
||||
|
"test", // 添加疏漏测试或已有测试改动 |
||||
|
"build", // 构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等) |
||||
|
"ci", // 修改 CI 配置、脚本 |
||||
|
"revert", // 回滚 commit |
||||
|
"chore", // 对构建过程或辅助工具和库的更改(不影响源文件、测试用例) |
||||
|
], |
||||
|
], |
||||
|
"subject-case": [0], // subject大小写不做校验 |
||||
|
}, |
||||
|
|
||||
|
prompt: { |
||||
|
messages: { |
||||
|
type: "选择你要提交的类型 :", |
||||
|
scope: "选择一个提交范围(可选):", |
||||
|
customScope: "请输入自定义的提交范围 :", |
||||
|
subject: "填写简短精炼的变更描述 :\n", |
||||
|
body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n', |
||||
|
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n', |
||||
|
footerPrefixesSelect: "选择关联issue前缀(可选):", |
||||
|
customFooterPrefix: "输入自定义issue前缀 :", |
||||
|
footer: "列举关联issue (可选) 例如: #31, #I3244 :\n", |
||||
|
generatingByAI: "正在通过 AI 生成你的提交简短描述...", |
||||
|
generatedSelectByAI: "选择一个 AI 生成的简短描述:", |
||||
|
confirmCommit: "是否提交或修改commit ?", |
||||
|
}, |
||||
|
// prettier-ignore |
||||
|
types: [ |
||||
|
{ value: "feat", name: "特性: ✨ 新增功能", emoji: ":sparkles:" }, |
||||
|
{ value: "fix", name: "修复: 🐛 修复缺陷", emoji: ":bug:" }, |
||||
|
{ value: "docs", name: "文档: 📝 文档变更", emoji: ":memo:" }, |
||||
|
{ value: "style", name: "格式: 💄 代码格式(不影响功能,例如空格、分号等格式修正)", emoji: ":lipstick:" }, |
||||
|
{ value: "refactor", name: "重构: ♻️ 代码重构(不包括 bug 修复、功能新增)", emoji: ":recycle:" }, |
||||
|
{ value: "perf", name: "性能: ⚡️ 性能优化", emoji: ":zap:" }, |
||||
|
{ value: "test", name: "测试: ✅ 添加疏漏测试或已有测试改动", emoji: ":white_check_mark:"}, |
||||
|
{ value: "build", name: "构建: 📦️ 构建流程、外部依赖变更(如升级 npm 包、修改 vite 配置等)", emoji: ":package:"}, |
||||
|
{ value: "ci", name: "集成: 🎡 修改 CI 配置、脚本", emoji: ":ferris_wheel:"}, |
||||
|
{ value: "revert", name: "回退: ⏪️ 回滚 commit",emoji: ":rewind:"}, |
||||
|
{ value: "chore", name: "其他: 🔨 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)", emoji: ":hammer:"}, |
||||
|
], |
||||
|
useEmoji: true, |
||||
|
emojiAlign: "center", |
||||
|
useAI: false, |
||||
|
aiNumber: 1, |
||||
|
themeColorCode: "", |
||||
|
scopes: [], |
||||
|
allowCustomScopes: true, |
||||
|
allowEmptyScopes: true, |
||||
|
customScopesAlign: "bottom", |
||||
|
customScopesAlias: "custom", |
||||
|
emptyScopesAlias: "empty", |
||||
|
upperCaseSubject: false, |
||||
|
markBreakingChangeMode: false, |
||||
|
allowBreakingChanges: ["feat", "fix"], |
||||
|
breaklineNumber: 100, |
||||
|
breaklineChar: "|", |
||||
|
skipQuestions: [], |
||||
|
issuePrefixes: [ |
||||
|
{ value: "closed", name: "closed: ISSUES has been processed" }, |
||||
|
], |
||||
|
customIssuePrefixAlign: "top", |
||||
|
emptyIssuePrefixAlias: "skip", |
||||
|
customIssuePrefixAlias: "custom", |
||||
|
allowCustomIssuePrefix: true, |
||||
|
allowEmptyIssuePrefix: true, |
||||
|
confirmColorize: true, |
||||
|
maxHeaderLength: Infinity, |
||||
|
maxSubjectLength: Infinity, |
||||
|
minSubjectLength: 0, |
||||
|
scopeOverrides: undefined, |
||||
|
defaultBody: "", |
||||
|
defaultIssues: "", |
||||
|
defaultScope: "", |
||||
|
defaultSubject: "", |
||||
|
}, |
||||
|
}; |
||||
@ -0,0 +1,18 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="UTF-8" /> |
||||
|
<link rel="icon" href="/favicon.ico" /> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
|
<meta name="description" content="数通智联化工云平台" /> |
||||
|
<meta name="keywords" content="数通智联化工云平台" /> |
||||
|
<title>数通智联化工云平台</title> |
||||
|
</head> |
||||
|
|
||||
|
<body> |
||||
|
<div id="app"></div> |
||||
|
<script type="module" src="/src/main.ts"></script> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
||||
@ -0,0 +1,102 @@ |
|||||
|
{ |
||||
|
"name": "appsys", |
||||
|
"private": true, |
||||
|
"version": "2.3.0", |
||||
|
"type": "module", |
||||
|
"scripts": { |
||||
|
"dev": "vite serve --mode development", |
||||
|
"build:prod": "vite build --mode production &&vue-tsc --noEmit", |
||||
|
"prepare": "husky install", |
||||
|
"lint:eslint": "eslint --fix --ext .ts,.js,.vue ./src ", |
||||
|
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,tsx,css,less,scss,vue,html,md}\"", |
||||
|
"lint:stylelint": "stylelint \"**/*.{css,scss,vue}\" --fix", |
||||
|
"lint:lint-staged": "lint-staged", |
||||
|
"commit": "git-cz" |
||||
|
}, |
||||
|
"config": { |
||||
|
"commitizen": { |
||||
|
"path": "node_modules/cz-git" |
||||
|
} |
||||
|
}, |
||||
|
"lint-staged": { |
||||
|
"*.{js,ts}": [ |
||||
|
"eslint --fix", |
||||
|
"prettier --write" |
||||
|
], |
||||
|
"*.{cjs,json}": [ |
||||
|
"prettier --write" |
||||
|
], |
||||
|
"*.{vue,html}": [ |
||||
|
"eslint --fix", |
||||
|
"prettier --write", |
||||
|
"stylelint --fix" |
||||
|
], |
||||
|
"*.{scss,css}": [ |
||||
|
"stylelint --fix", |
||||
|
"prettier --write" |
||||
|
], |
||||
|
"*.md": [ |
||||
|
"prettier --write" |
||||
|
] |
||||
|
}, |
||||
|
"dependencies": { |
||||
|
"@vitejs/plugin-vue": "^4.2.3", |
||||
|
"@vueuse/core": "^10.1.2", |
||||
|
"@wangeditor/editor": "^5.1.23", |
||||
|
"@wangeditor/editor-for-vue": "5.1.10", |
||||
|
"@wecom/jssdk": "^1.3.2", |
||||
|
"axios": "^1.4.0", |
||||
|
"echarts": "^5.2.2", |
||||
|
"element-plus": "^2.3.4", |
||||
|
"nprogress": "^0.2.0", |
||||
|
"path-browserify": "^1.0.1", |
||||
|
"path-to-regexp": "^6.2.0", |
||||
|
"pinia": "^2.0.33", |
||||
|
"screenfull": "^6.0.0", |
||||
|
"vue": "^3.3.1", |
||||
|
"vue-i18n": "9.2.2", |
||||
|
"vue-router": "^4.2.0" |
||||
|
}, |
||||
|
"devDependencies": { |
||||
|
"@commitlint/cli": "^17.6.3", |
||||
|
"@commitlint/config-conventional": "^17.6.3", |
||||
|
"@iconify-json/ep": "^1.1.10", |
||||
|
"@types/nprogress": "^0.2.0", |
||||
|
"@types/path-browserify": "^1.0.0", |
||||
|
"@typescript-eslint/eslint-plugin": "^5.59.6", |
||||
|
"@typescript-eslint/parser": "^5.59.6", |
||||
|
"autoprefixer": "^10.4.14", |
||||
|
"commitizen": "^4.3.0", |
||||
|
"cz-git": "^1.6.1", |
||||
|
"eslint": "^8.40.0", |
||||
|
"eslint-config-prettier": "^8.8.0", |
||||
|
"eslint-plugin-prettier": "^4.2.1", |
||||
|
"eslint-plugin-vue": "^9.13.0", |
||||
|
"fast-glob": "^3.2.11", |
||||
|
"husky": "^8.0.3", |
||||
|
"lint-staged": "^13.2.2", |
||||
|
"postcss": "^8.4.23", |
||||
|
"postcss-html": "^1.5.0", |
||||
|
"postcss-scss": "^4.0.6", |
||||
|
"prettier": "^2.8.8", |
||||
|
"sass": "^1.58.3", |
||||
|
"stylelint": "^15.5.0", |
||||
|
"stylelint-config-html": "^1.1.0", |
||||
|
"stylelint-config-recess-order": "^4.0.0", |
||||
|
"stylelint-config-recommended-scss": "11.0.0 ", |
||||
|
"stylelint-config-recommended-vue": "^1.4.0", |
||||
|
"stylelint-config-standard": "^33.0.0", |
||||
|
"stylelint-config-standard-scss": "^9.0.0", |
||||
|
"typescript": "^5.0.4", |
||||
|
"unocss": "^0.51.13", |
||||
|
"unplugin-auto-import": "^0.15.3", |
||||
|
"unplugin-icons": "^0.16.1", |
||||
|
"unplugin-vue-components": "^0.24.1", |
||||
|
"vite": "^4.3.5", |
||||
|
"vite-plugin-svg-icons": "^2.0.1", |
||||
|
"vue-tsc": "^1.6.5 " |
||||
|
}, |
||||
|
"repository": "", |
||||
|
"author": "", |
||||
|
"license": "MIT" |
||||
|
} |
||||
|
After Width: | Height: | Size: 259 KiB |
@ -0,0 +1,11 @@ |
|||||
|
<script setup lang="ts"> |
||||
|
import { ElConfigProvider } from 'element-plus'; |
||||
|
import { useAppStore } from '@/store/modules/app'; |
||||
|
const appStore = useAppStore(); |
||||
|
</script> |
||||
|
|
||||
|
<template> |
||||
|
<el-config-provider :locale="appStore.locale" :size="appStore.size"> |
||||
|
<router-view /> |
||||
|
</el-config-provider> |
||||
|
</template> |
||||
@ -0,0 +1,56 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { CaptchaResult, LoginData, LoginResult } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 登录API |
||||
|
* |
||||
|
* @param data {LoginData} |
||||
|
* @returns |
||||
|
*/ |
||||
|
export function loginApi(data: LoginData): AxiosPromise<LoginResult> { |
||||
|
return request({ |
||||
|
url: '/api/v1/auth/login', |
||||
|
method: 'post', |
||||
|
params: data |
||||
|
}); |
||||
|
} |
||||
|
export function loginApiIng(data: LoginData): AxiosPromise<LoginResult> { |
||||
|
return request({ |
||||
|
url: "/kpiapi/base/login", |
||||
|
method: "post", |
||||
|
data: data, |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 注销API |
||||
|
*/ |
||||
|
export function logoutApiOld() { |
||||
|
return request({ |
||||
|
url: '/api/v1/auth/logout', |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
export function logoutApi() { |
||||
|
return request({ |
||||
|
url: "/kpiapi/base/signout", |
||||
|
method: "post", |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取验证码 |
||||
|
*/ |
||||
|
export function getCaptchaApi(): AxiosPromise<CaptchaResult> { |
||||
|
return request({ |
||||
|
url: '/api/v1/auth/captcha', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function getCaptchaApiIng(): AxiosPromise<CaptchaResult> { |
||||
|
return request({ |
||||
|
url: "/kpiapi/base/captcha", |
||||
|
method: "post", |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,72 @@ |
|||||
|
/** |
||||
|
* 登录请求参数 |
||||
|
*/ |
||||
|
export interface LoginData { |
||||
|
/** |
||||
|
* 用户名 |
||||
|
*/ |
||||
|
username?: string; |
||||
|
/** |
||||
|
* 密码 |
||||
|
*/ |
||||
|
password?: string; |
||||
|
|
||||
|
/** |
||||
|
* 验证码缓存key |
||||
|
*/ |
||||
|
verifyCodeKey?: string; |
||||
|
|
||||
|
/** |
||||
|
* 验证码 |
||||
|
*/ |
||||
|
verifyCode?: string; |
||||
|
captcha?: string; |
||||
|
captchaId?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 登录响应 |
||||
|
*/ |
||||
|
export interface LoginResult { |
||||
|
/** |
||||
|
* 访问token |
||||
|
*/ |
||||
|
accessToken?: string; |
||||
|
/** |
||||
|
* 过期时间(单位:毫秒) |
||||
|
*/ |
||||
|
expires?: number; |
||||
|
/** |
||||
|
* 刷新token |
||||
|
*/ |
||||
|
refreshToken?: string; |
||||
|
/** |
||||
|
* token 类型 |
||||
|
*/ |
||||
|
tokenType?: string; |
||||
|
key?: string; |
||||
|
token?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 验证码响应 |
||||
|
*/ |
||||
|
export interface CaptchaResult { |
||||
|
/** |
||||
|
* 验证码缓存key |
||||
|
*/ |
||||
|
verifyCodeKey: string; |
||||
|
/** |
||||
|
* 验证码图片Base64字符串 |
||||
|
*/ |
||||
|
verifyCodeBase64: string; |
||||
|
/** |
||||
|
* 验证码缓存key |
||||
|
*/ |
||||
|
captchaid: string; |
||||
|
/** |
||||
|
* 验证码图片Base64字符串 |
||||
|
*/ |
||||
|
picPath: string; |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,77 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { DeptForm, DeptQuery, DeptVO } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 部门树形表格 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function listDepts(queryParams?: DeptQuery): AxiosPromise<DeptVO[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 部门下拉列表 |
||||
|
*/ |
||||
|
export function listDeptOptions(): AxiosPromise<[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept/options', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取部门详情 |
||||
|
* |
||||
|
* @param id |
||||
|
*/ |
||||
|
export function getDeptForm(id: number): AxiosPromise<DeptForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept/' + id + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 新增部门 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addDept(data: DeptForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改部门 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateDept(id: number, data: DeptForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除部门 |
||||
|
* |
||||
|
* @param ids |
||||
|
*/ |
||||
|
export function deleteDept(ids: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dept/' + ids, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,71 @@ |
|||||
|
/** |
||||
|
* 部门查询参数 |
||||
|
*/ |
||||
|
export interface DeptQuery { |
||||
|
keywords?: string; |
||||
|
status?: number; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 部门类型 |
||||
|
*/ |
||||
|
export interface DeptVO { |
||||
|
/** |
||||
|
* 子部门 |
||||
|
*/ |
||||
|
children?: DeptVO[]; |
||||
|
/** |
||||
|
* 创建时间 |
||||
|
*/ |
||||
|
createTime?: Date; |
||||
|
/** |
||||
|
* 部门ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 部门名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 父部门ID |
||||
|
*/ |
||||
|
parentId?: number; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 修改时间 |
||||
|
*/ |
||||
|
updateTime?: Date; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 部门表单类型 |
||||
|
*/ |
||||
|
export interface DeptForm { |
||||
|
/** |
||||
|
* 部门ID(新增不填) |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 部门名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 父部门ID |
||||
|
*/ |
||||
|
parentId: number; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
} |
||||
@ -0,0 +1,217 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { |
||||
|
DictTypeQuery, |
||||
|
DictTypePageResult, |
||||
|
DictTypeForm, |
||||
|
DictQuery, |
||||
|
DictForm, |
||||
|
DictPageResult, |
||||
|
dictId |
||||
|
} from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 字典类型分页列表 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function getDictTypePageOld( |
||||
|
queryParams: DictTypeQuery |
||||
|
): AxiosPromise<DictTypePageResult> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types/page', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
export function getDictTypePage( |
||||
|
queryParams: DictTypeQuery |
||||
|
): AxiosPromise<DictTypePageResult> { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/dict_type_list', |
||||
|
method: 'post', |
||||
|
data: queryParams |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 字典类型表单数据 |
||||
|
* |
||||
|
* @param id |
||||
|
*/ |
||||
|
export function getDictTypeFormOld(id: number): AxiosPromise<DictTypeForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types/' + id + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/get_dict_type_cont?id=' + id, |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 新增字典类型 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addDictTypeOld(data: DictTypeForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
export function addDictType(data: DictTypeForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/add_dict_type', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改字典类型 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateDictTypeOld(id: number, data: DictTypeForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
export function updateDictType(data: DictTypeForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/edit_dict_type_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 删除字典类型 |
||||
|
*/ |
||||
|
export function deleteDictTypesOld(ids: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types/' + ids, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
|
export function deleteDictTypes(data: dictId) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/del_dict_type_cont', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取字典类型的数据项 |
||||
|
* |
||||
|
* @param typeCode 字典类型编码 |
||||
|
*/ |
||||
|
export function getDictOptions(typeCode: string): AxiosPromise<OptionType[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/types/' + typeCode + '/items', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典分页列表 |
||||
|
*/ |
||||
|
export function getDictPageOld( |
||||
|
queryParams: DictQuery |
||||
|
): AxiosPromise<DictPageResult> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/page', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
export function getDictPage( |
||||
|
queryParams: DictQuery |
||||
|
): AxiosPromise<DictPageResult> { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/get_dictionary', |
||||
|
method: 'post', |
||||
|
data: queryParams |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取字典表单数据 |
||||
|
* |
||||
|
* @param id |
||||
|
*/ |
||||
|
export function getDictFormDataOld(id: number): AxiosPromise<DictForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/' + id + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function getDictFormData(id: number): AxiosPromise<DictForm> { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/get_dictionary_cont?id=' + id, |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 新增字典 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addDictOld(data: DictForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
export function addDict(data: DictForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/add_dictionary_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 修改字典项 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateDictOld(id: number, data: DictForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
export function updateDict(data: DictForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/edit_dictionary_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 删除字典 |
||||
|
* |
||||
|
* @param ids 字典项ID,多个以英文逗号(,)分割 |
||||
|
*/ |
||||
|
export function deleteDictOld(ids: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/dict/' + ids, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
|
export function deleteDict(data: dictId) { |
||||
|
return request({ |
||||
|
url: '/systemapi/dict/del_dictionary_cont', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,151 @@ |
|||||
|
/** |
||||
|
* 字典类型查询参数 |
||||
|
*/ |
||||
|
export interface DictTypeQuery extends PageQuery { |
||||
|
/** |
||||
|
* 关键字(字典类型名称/编码) |
||||
|
*/ |
||||
|
keywords?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典类型分页对象 |
||||
|
*/ |
||||
|
export interface DictTypePageVO { |
||||
|
/** |
||||
|
* 字典类型ID |
||||
|
*/ |
||||
|
id: number; |
||||
|
/** |
||||
|
* 类型编码 |
||||
|
*/ |
||||
|
code: string; |
||||
|
/** |
||||
|
* 类型名称 |
||||
|
*/ |
||||
|
name: string; |
||||
|
/** |
||||
|
* 状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 备注 |
||||
|
*/ |
||||
|
remark?: string; |
||||
|
/** |
||||
|
* 类型编码 |
||||
|
*/ |
||||
|
codekey: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典分页项类型声明 |
||||
|
*/ |
||||
|
export type DictTypePageResult = PageResult<DictTypePageVO[]>; |
||||
|
|
||||
|
/** |
||||
|
* 字典表单类型声明 |
||||
|
*/ |
||||
|
export interface DictTypeForm { |
||||
|
/** |
||||
|
* 字典类型ID |
||||
|
*/ |
||||
|
id?: number|string; |
||||
|
/** |
||||
|
* 类型名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 类型编码 |
||||
|
*/ |
||||
|
code?: string; |
||||
|
/** |
||||
|
* 类型状态:1:启用;0:禁用 |
||||
|
*/ |
||||
|
status: number; |
||||
|
/** |
||||
|
* 备注 |
||||
|
*/ |
||||
|
remark?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典查询参数 |
||||
|
*/ |
||||
|
export interface DictQuery extends PageQuery { |
||||
|
/** |
||||
|
* 字典项名称 |
||||
|
*/ |
||||
|
keywords?: string; |
||||
|
/** |
||||
|
* 字典类型编码 |
||||
|
*/ |
||||
|
codetype?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典分页对象 |
||||
|
*/ |
||||
|
export interface DictPageVO { |
||||
|
/** |
||||
|
* 字典ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 字典名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 字典值 |
||||
|
*/ |
||||
|
value?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 字典分页 |
||||
|
*/ |
||||
|
export type DictPageResult = PageResult<DictPageVO[]>; |
||||
|
|
||||
|
/** |
||||
|
* 字典表单 |
||||
|
*/ |
||||
|
export interface DictForm { |
||||
|
/** |
||||
|
* 字典ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 字典名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 类型编码 |
||||
|
*/ |
||||
|
typeCode?: string; |
||||
|
/** |
||||
|
* 值 |
||||
|
*/ |
||||
|
value?: string; |
||||
|
|
||||
|
/** |
||||
|
* 备注 |
||||
|
*/ |
||||
|
remark?: string; |
||||
|
} |
||||
|
|
||||
|
//删除字典类型
|
||||
|
export interface dictId { |
||||
|
id?:string[] |
||||
|
} |
||||
@ -0,0 +1,34 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { FileInfo } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 上传文件 |
||||
|
* |
||||
|
* @param file |
||||
|
*/ |
||||
|
export function uploadFileApi(file: File): AxiosPromise<FileInfo> { |
||||
|
const formData = new FormData(); |
||||
|
formData.append('file', file); |
||||
|
return request({ |
||||
|
url: '/api/v1/files', |
||||
|
method: 'post', |
||||
|
data: formData, |
||||
|
headers: { |
||||
|
'Content-Type': 'multipart/form-data' |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除文件 |
||||
|
* |
||||
|
* @param filePath 文件完整路径 |
||||
|
*/ |
||||
|
export function deleteFileApi(filePath?: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/files', |
||||
|
method: 'delete', |
||||
|
params: { filePath: filePath } |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,7 @@ |
|||||
|
/** |
||||
|
* 文件API类型声明 |
||||
|
*/ |
||||
|
export interface FileInfo { |
||||
|
name: string; |
||||
|
url: string; |
||||
|
} |
||||
@ -0,0 +1,63 @@ |
|||||
|
export const haveDateTime =(dateStr:string,num:number,type:boolean) =>{ |
||||
|
let monthnum = 0; |
||||
|
if(typeof(num) == 'string'){ |
||||
|
monthnum = parseInt(num); |
||||
|
}else{ |
||||
|
monthnum = num |
||||
|
} |
||||
|
|
||||
|
let tadycont = new Date(dateStr) |
||||
|
//获取原日
|
||||
|
let day = tadycont.getDate(); |
||||
|
//获取原月份
|
||||
|
let month=tadycont.getMonth(); |
||||
|
//设置增加月份
|
||||
|
tadycont.setMonth(tadycont.getMonth() + (monthnum*1), 1); |
||||
|
//获取增加的后的月份
|
||||
|
let Jmonth = tadycont.getMonth()+1; |
||||
|
//获取增加的后的年份
|
||||
|
let Jyear=tadycont.getFullYear(); |
||||
|
if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) { |
||||
|
//小月
|
||||
|
if (day > 30) { |
||||
|
day = 30; |
||||
|
} |
||||
|
}else if (Jmonth == 2) { |
||||
|
//2月判断是否闰年
|
||||
|
if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){ |
||||
|
if (day > 29) { |
||||
|
day = 29; |
||||
|
} |
||||
|
}else{ |
||||
|
if (day > 28) { |
||||
|
day = 28 |
||||
|
} |
||||
|
} |
||||
|
}else{ |
||||
|
//大月
|
||||
|
if (day > 31) { |
||||
|
day = 31; |
||||
|
} |
||||
|
} |
||||
|
let tHours = tadycont.getHours(); |
||||
|
let tMinutes = tadycont.getMinutes(); |
||||
|
let tSeconds = tadycont.getSeconds(); |
||||
|
let Jmonthstr = doHandleMonth(Jmonth); |
||||
|
let daystr = doHandleMonth(day); |
||||
|
if(!type){ |
||||
|
return Jyear+"-"+Jmonthstr+"-"+daystr; |
||||
|
} |
||||
|
return Jyear+"-"+Jmonthstr+"-"+daystr+" "+tHours+":"+tMinutes+":"+tSeconds; |
||||
|
} |
||||
|
/** |
||||
|
* 日或月补0 |
||||
|
* @param month |
||||
|
* @returns {string} |
||||
|
*/ |
||||
|
function doHandleMonth(month:number):string { |
||||
|
let m = month.toString(); |
||||
|
if(month.toString().length == 1){ |
||||
|
m = "0" + month; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
@ -0,0 +1,83 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { searchDuties,dutiesClassList,editDutiesCalssStrcue,editDutiesTypeEditOrDel,searchDutiesCont,dutiesList,dutiesInfo } from './type'; |
||||
|
/** |
||||
|
* 获取职务分类列表 |
||||
|
*/ |
||||
|
export function getDutiesCalssContList(data: searchDuties): AxiosPromise<dutiesClassList>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/utiesclasslist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 新增职务分类 |
||||
|
*/ |
||||
|
export function addDutiesCalssContApi(data: editDutiesCalssStrcue){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/adddutiesclass', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑职务分类 |
||||
|
*/ |
||||
|
export function editDutiesCalssContApi(data: editDutiesCalssStrcue){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/neweiteutiesclassinfo', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑职务分类状态或删除 |
||||
|
*/ |
||||
|
export function dutiesCalssEditOrDel(data: editDutiesTypeEditOrDel){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/editdutiesclassstatus', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取职务列表 |
||||
|
*/ |
||||
|
export function getDuitesList(data: searchDutiesCont): AxiosPromise<dutiesList>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/dutieslist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加职务 |
||||
|
*/ |
||||
|
export function addDutiesInfo(data: dutiesInfo){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/adddutiescont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑职务 |
||||
|
*/ |
||||
|
export function editDutiesInfo(data: dutiesInfo){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/eitedutiescont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑职务 |
||||
|
*/ |
||||
|
export function editOrDelDutiesInfo(data: editDutiesTypeEditOrDel){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/editordeldutiesstatus', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,72 @@ |
|||||
|
/** |
||||
|
* 搜索职务分类 |
||||
|
*/ |
||||
|
export interface searchDuties extends PageQuery{ |
||||
|
keywords?: string; |
||||
|
} |
||||
|
|
||||
|
export type dutiesClassList = PageResult<dutiesClassListCont[]> |
||||
|
|
||||
|
/** |
||||
|
* 职务列表 |
||||
|
*/ |
||||
|
export interface dutiesClassListCont{ |
||||
|
id: string; |
||||
|
name?: string; |
||||
|
kingdeeid?:string; |
||||
|
state?:number; |
||||
|
status?:boolean; |
||||
|
} |
||||
|
/** |
||||
|
* 编辑职务分类 |
||||
|
*/ |
||||
|
export interface editDutiesCalssStrcue{ |
||||
|
id?: number; |
||||
|
name?: string; |
||||
|
} |
||||
|
/** |
||||
|
* 删除或改变职务类别状态 |
||||
|
*/ |
||||
|
export interface editDutiesTypeEditOrDel{ |
||||
|
id:string[]; |
||||
|
status?: number; |
||||
|
istrue?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 搜索职务 |
||||
|
*/ |
||||
|
export interface searchDutiesCont extends PageQuery{ |
||||
|
name?: string; |
||||
|
jobid?: string; |
||||
|
} |
||||
|
/** |
||||
|
* 职务信息 |
||||
|
*/ |
||||
|
export interface dutiesCont{ |
||||
|
id: number; |
||||
|
name: string; |
||||
|
number: string; |
||||
|
jobtype: number; |
||||
|
dutiesclassname: string; |
||||
|
kingdeeid: string; |
||||
|
kingdeenum: string; |
||||
|
state: number; |
||||
|
time: number; |
||||
|
weight: number; |
||||
|
status:boolean; |
||||
|
} |
||||
|
/** |
||||
|
* 职务分页列表信息 |
||||
|
*/ |
||||
|
export type dutiesList = PageResult<dutiesCont[]> |
||||
|
/** |
||||
|
* 编辑/添加职务信息 |
||||
|
*/ |
||||
|
export interface dutiesInfo{ |
||||
|
id?: number; |
||||
|
name?: string; |
||||
|
number?: string; |
||||
|
jobtype?: string|number; |
||||
|
weight?: number; |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,103 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { searchFormTitle,orgClassListCont,addOrgTypesCont,orgClassCont,editOrgTypeEditOrDel,searchOrgCont,orgInfo,addOrgInfo,editOrgDel,searchTeamList,orgTeamListCont } from './type'; |
||||
|
/** |
||||
|
* 获取组织类别 |
||||
|
*/ |
||||
|
export function getRolePage(data?: searchFormTitle): AxiosPromise<orgClassListCont> { |
||||
|
return request({ |
||||
|
url: '/hrapi/org/govclasslist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取所有组织类别 |
||||
|
*/ |
||||
|
export function getOrgClassAllPage(data?: addOrgTypesCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/org/govclassalllist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加组织分类 |
||||
|
*/ |
||||
|
export function addOrgClassInfo(data: addOrgTypesCont){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/addgovclass', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑组织分类 |
||||
|
*/ |
||||
|
export function editOrgClassInfo(data: orgClassCont){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/eitegovclasscont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑组织类别状态 |
||||
|
*/ |
||||
|
export function editOrgClassStatus(data: editOrgTypeEditOrDel){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/base_edit_orgclass_status', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取行政组织树 |
||||
|
*/ |
||||
|
export function getOrgTreeList(data: searchOrgCont): AxiosPromise<orgInfo[]>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/govnewthreeing', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 新增行政组织内容 |
||||
|
*/ |
||||
|
export function addOrgInfoApi(data: addOrgInfo){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/newaddgovcont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑行政组织内容 |
||||
|
*/ |
||||
|
export function editOrgInfoApi(data: addOrgInfo){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/neweitegovcont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑行政组织内容 |
||||
|
*/ |
||||
|
export function editOrgStatusApi(data: editOrgDel){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/neweitegovstateordel', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取班组列表 |
||||
|
*/ |
||||
|
export function getTeamListCont(data: searchTeamList): AxiosPromise<orgTeamListCont>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/teamcontlist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,130 @@ |
|||||
|
/** |
||||
|
* 搜索名称 |
||||
|
*/ |
||||
|
export interface searchFormTitle extends PageQuery{ |
||||
|
name?: string; |
||||
|
level?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 组织类别列表 |
||||
|
*/ |
||||
|
export type orgClassListCont = PageResult<orgClassCont[]> |
||||
|
/** |
||||
|
* 组织类别内容 |
||||
|
*/ |
||||
|
export interface orgClassCont { |
||||
|
id?: number; |
||||
|
kingdeeid?: string |
||||
|
level?: number; |
||||
|
name?: string |
||||
|
state?: number; |
||||
|
time?: number; |
||||
|
status?: boolean; |
||||
|
} |
||||
|
export interface orgClassInfor { |
||||
|
id: number; |
||||
|
kingdeeid?: string |
||||
|
level?: number; |
||||
|
name?: string |
||||
|
state?: number; |
||||
|
time?: number; |
||||
|
status?: boolean; |
||||
|
} |
||||
|
/** |
||||
|
* 添加组织类别 |
||||
|
*/ |
||||
|
export interface addOrgTypesCont{ |
||||
|
name?: string; |
||||
|
level?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 编辑数据 |
||||
|
*/ |
||||
|
export interface editOrgTypeInfo{ |
||||
|
id: string; |
||||
|
name: string; |
||||
|
level?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 删除或改变组织类别状态 |
||||
|
*/ |
||||
|
export interface editOrgTypeEditOrDel{ |
||||
|
id:string[]; |
||||
|
status?: number; |
||||
|
istrue?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 搜索行政组织 |
||||
|
*/ |
||||
|
export interface searchOrgCont{ |
||||
|
orgid?:number; |
||||
|
keywords?: string; |
||||
|
class?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 行政组织内容 |
||||
|
*/ |
||||
|
export interface orgInfo{ |
||||
|
id?:number; |
||||
|
number?: string, |
||||
|
name?: string, |
||||
|
superior?: number, |
||||
|
organizationtype?: number, |
||||
|
abbreviation?: string, |
||||
|
time?: number, |
||||
|
state?: number, |
||||
|
wechatorganizationid?: number, |
||||
|
superiorsun?: string, |
||||
|
schoole?: number, |
||||
|
kingdeeid?: string, |
||||
|
ispower?: number, |
||||
|
sort?: number, |
||||
|
typeName?: string, |
||||
|
level?: number, |
||||
|
status?: true, |
||||
|
child?:orgInfo[]; |
||||
|
} |
||||
|
/** |
||||
|
* 行政组织树格式 |
||||
|
*/ |
||||
|
export type sendOrgTreeList = PageResult<orgInfo[]> |
||||
|
/** |
||||
|
* 编辑行政组织参数 |
||||
|
*/ |
||||
|
export interface addOrgInfo{ |
||||
|
id?:number; |
||||
|
name?: string, //全称
|
||||
|
number?: string, //编号
|
||||
|
superior?: number|string, //上级
|
||||
|
govclass?: string, //分类
|
||||
|
abbreviation?: string, //简称
|
||||
|
wechatid?: string //企业微信对照吗
|
||||
|
kingdeeid?: string //金蝶对照码
|
||||
|
} |
||||
|
/** |
||||
|
* 删除行政组织 |
||||
|
*/ |
||||
|
export interface editOrgDel{ |
||||
|
id?:number; |
||||
|
status?: number; |
||||
|
istrue?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 搜索班组 |
||||
|
*/ |
||||
|
export interface searchTeamList extends PageQuery{ |
||||
|
name?: string; |
||||
|
} |
||||
|
/** |
||||
|
* 班组返回列表 |
||||
|
*/ |
||||
|
export type orgTeamListCont = PageResult<teamInfo[]> |
||||
|
/** |
||||
|
* 班组内容 |
||||
|
*/ |
||||
|
export interface teamInfo{ |
||||
|
id:number; |
||||
|
name?: string; |
||||
|
time?:number; |
||||
|
state?:number; |
||||
|
} |
||||
@ -0,0 +1,550 @@ |
|||||
|
/** |
||||
|
* 用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职)', |
||||
|
`company` 入职公司', |
||||
|
*/ |
||||
|
export const emptypeOptions =[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"临时工" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"编外人员" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"实习&实习生" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"试用员工" |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:"待分配" |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:"待岗" |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:"临时调入" |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:"正式员工" |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:"长期病假" |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:"停薪留职" |
||||
|
} |
||||
|
]; |
||||
|
|
||||
|
export const emptypeOptionsFalse = [ |
||||
|
{ |
||||
|
id:11, |
||||
|
name:"退休" |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:"辞职" |
||||
|
}, |
||||
|
{ |
||||
|
id:13, |
||||
|
name:"辞退" |
||||
|
}, |
||||
|
{ |
||||
|
id:14, |
||||
|
name:"离职" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 性别 |
||||
|
*/ |
||||
|
export const userGender = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"男" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"女" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"中性" |
||||
|
} |
||||
|
]; |
||||
|
export const healthStates = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"良好" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"一般" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"较弱" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"有生理缺陷" |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:"残废" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 婚姻状况 |
||||
|
*/ |
||||
|
export const userMaritalstatus = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"未婚" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"已婚" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"丧偶" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"离异" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 政治面貌 |
||||
|
*/ |
||||
|
export const userPoliticaloutloo =[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"群众" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"无党派" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"台盟会员" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"九三社员" |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:"致公党员" |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:"农工党员" |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:"民进会员" |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:"民建会员" |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:"民盟盟员" |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:"民革会员" |
||||
|
}, |
||||
|
{ |
||||
|
id:11, |
||||
|
name:"共青团员" |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:"预备党员" |
||||
|
}, |
||||
|
{ |
||||
|
id:13, |
||||
|
name:"中共党员" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 星座 |
||||
|
*/ |
||||
|
export const userConstellationing =[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"白羊座" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"金牛座" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"双子座" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"巨蟹座" |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:"狮子座" |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:"处女座" |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:"天枰座" |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:"天蝎座" |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:"射手座" |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:"摩羯座" |
||||
|
}, |
||||
|
{ |
||||
|
id:11, |
||||
|
name:"水瓶座" |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:"双鱼座" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 雇佣类型 |
||||
|
*/ |
||||
|
export const userHireclass = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"雇佣入职" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"再入职" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职)', |
||||
|
`company` 入职公司', |
||||
|
*/ |
||||
|
export const emptypeOptionsAll =[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"临时工" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"编外人员" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"实习&实习生" |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:"试用员工" |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:"待分配" |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:"待岗" |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:"临时调入" |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:"正式员工" |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:"长期病假" |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:"停薪留职" |
||||
|
}, |
||||
|
{ |
||||
|
id:11, |
||||
|
name:"退休" |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:"辞职" |
||||
|
}, |
||||
|
{ |
||||
|
id:13, |
||||
|
name:"辞退" |
||||
|
}, |
||||
|
{ |
||||
|
id:14, |
||||
|
name:"离职" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 是否 |
||||
|
*/ |
||||
|
export const yesOrno = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"是" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"否" |
||||
|
} |
||||
|
]; |
||||
|
/** |
||||
|
* 学历 |
||||
|
*/ |
||||
|
export const education =[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:'初中及以下' |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:'中专' |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:'高中' |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:'中技' |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:'高技' |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:'函数专科' |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:'大学专科' |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:'函数本科' |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:'大学本科' |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:'硕士研究生' |
||||
|
}, |
||||
|
{ |
||||
|
id:11, |
||||
|
name:'博士研究生' |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:'专家、教授' |
||||
|
}, |
||||
|
]; |
||||
|
//入职等级
|
||||
|
export const positiongrade = [ |
||||
|
{ |
||||
|
id:10000, |
||||
|
name:'无' |
||||
|
}, |
||||
|
{ |
||||
|
id:1, |
||||
|
name:'一级' |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:'二级' |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:'三级' |
||||
|
} |
||||
|
]; |
||||
|
//学位
|
||||
|
export const academicDegree = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:'无' |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:'学士' |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:'硕士' |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:'博士' |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:'教育学学位' |
||||
|
} |
||||
|
]; |
||||
|
//主职与兼职
|
||||
|
export const mainAndPartTimeJobs = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:'主职' |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:'兼职' |
||||
|
} |
||||
|
]; |
||||
|
// 职位变动类型
|
||||
|
export const postChangeType=[ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:'预入职' |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:'雇佣入职' |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:'转正' |
||||
|
}, |
||||
|
{ |
||||
|
id:4, |
||||
|
name:'晋升' |
||||
|
}, |
||||
|
{ |
||||
|
id:5, |
||||
|
name:'降级' |
||||
|
}, |
||||
|
{ |
||||
|
id:6, |
||||
|
name:'职等调整' |
||||
|
}, |
||||
|
{ |
||||
|
id:7, |
||||
|
name:'调动调入' |
||||
|
}, |
||||
|
{ |
||||
|
id:8, |
||||
|
name:'跨公司调动调入' |
||||
|
}, |
||||
|
{ |
||||
|
id:9, |
||||
|
name:'借调' |
||||
|
}, |
||||
|
{ |
||||
|
id:10, |
||||
|
name:'平调' |
||||
|
}, |
||||
|
{ |
||||
|
id:11, |
||||
|
name:'兼职' |
||||
|
}, |
||||
|
{ |
||||
|
id:12, |
||||
|
name:'预离职' |
||||
|
}, |
||||
|
{ |
||||
|
id:13, |
||||
|
name:'离职' |
||||
|
}, |
||||
|
{ |
||||
|
id:14, |
||||
|
name:'退休' |
||||
|
}, |
||||
|
{ |
||||
|
id:15, |
||||
|
name:'返聘' |
||||
|
}, |
||||
|
{ |
||||
|
id:16, |
||||
|
name:'员工初始化' |
||||
|
}, |
||||
|
{ |
||||
|
id:17, |
||||
|
name:'擅自离职' |
||||
|
}, |
||||
|
{ |
||||
|
id:18, |
||||
|
name:'即辞即走' |
||||
|
}, |
||||
|
{ |
||||
|
id:19, |
||||
|
name:'组织调整' |
||||
|
}, |
||||
|
{ |
||||
|
id:20, |
||||
|
name:'辞退' |
||||
|
}, |
||||
|
{ |
||||
|
id:21, |
||||
|
name:'跨公司借调调出' |
||||
|
}, |
||||
|
{ |
||||
|
id:22, |
||||
|
name:'跨公司借调调入' |
||||
|
}, |
||||
|
{ |
||||
|
id:23, |
||||
|
name:'培训期间离职' |
||||
|
}, |
||||
|
{ |
||||
|
id:24, |
||||
|
name:'合同到期' |
||||
|
}, |
||||
|
{ |
||||
|
id:25, |
||||
|
name:'实习结束' |
||||
|
} |
||||
|
|
||||
|
]; |
||||
|
/** |
||||
|
* 学历性质 |
||||
|
*/ |
||||
|
export const xuliClass = [ |
||||
|
{ |
||||
|
id:1, |
||||
|
name:"普通" |
||||
|
}, |
||||
|
{ |
||||
|
id:2, |
||||
|
name:"第一学历" |
||||
|
}, |
||||
|
{ |
||||
|
id:3, |
||||
|
name:"最高学历" |
||||
|
} |
||||
|
] |
||||
@ -0,0 +1,346 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { |
||||
|
archivesList, |
||||
|
searchCriteriaForPeople, |
||||
|
contId, |
||||
|
editPwdCont, |
||||
|
contIdes, |
||||
|
userManOrFucont, |
||||
|
emergencyContactAdd, |
||||
|
emergencyContactInfo, |
||||
|
delJjlxr, |
||||
|
doubleWorkCont, |
||||
|
familyMembersContAdd, |
||||
|
familyMembersContEdit, |
||||
|
addEducExpInfoing, |
||||
|
editEducExpInfoing, |
||||
|
editGroupExternalWorkCont, |
||||
|
addGroupExternalWorkCont, |
||||
|
groupInnerWorkCont, |
||||
|
editUserIcon, |
||||
|
editUserAboutOrg, |
||||
|
teamClassQueay |
||||
|
} from './type'; |
||||
|
/** |
||||
|
* 获取人员档案 |
||||
|
*/ |
||||
|
export function getArchivesListPage(data?: searchCriteriaForPeople): AxiosPromise<archivesList> { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/archiveslistcont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取人员行政组织关系 |
||||
|
*/ |
||||
|
export function getPeopleAboutOrg(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/useraboutorglist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取紧急联系人 |
||||
|
*/ |
||||
|
export function getEmergencyContact(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/emergencycontactlist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获双职工 |
||||
|
*/ |
||||
|
export function getWorkingCouple(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/doubleworkerlist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获双家庭成员 |
||||
|
*/ |
||||
|
export function getFamilyMembers(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/familymemberslist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取教育经历 |
||||
|
*/ |
||||
|
export function getEducationalExperience(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/personneleducationlist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取集团内部工作经历 |
||||
|
*/ |
||||
|
export function getInnerWork(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/getinsideworkhistorylist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取集团内部工作经历 |
||||
|
*/ |
||||
|
export function getoOutsideWork(data?: contId) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/workhistorylist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取集团内部工作经历 |
||||
|
*/ |
||||
|
export function editUserPwd(data?: editPwdCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editpassword', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取个人相信信息 |
||||
|
*/ |
||||
|
export function getMyInfoing(data?: contIdes) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/get_archives_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 修改个人头像 |
||||
|
*/ |
||||
|
export function editMyInfoIcon(data: editUserIcon) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/edit_people_icon', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑人员行政组织关系 |
||||
|
*/ |
||||
|
export function editMyOrgUndertake(data: editUserAboutOrg) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/edit_man_org_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑个人相信信息 |
||||
|
*/ |
||||
|
export function editMyInfoing(data?: userManOrFucont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/edit_manmain_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加紧急联系人 |
||||
|
*/ |
||||
|
export function addEmergencyContactInfo(data?: emergencyContactAdd) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/addemercycall', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑紧急联系人 |
||||
|
*/ |
||||
|
export function editEmergencyContactInfo(data?: emergencyContactInfo) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editemercycall', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑紧急联系人状态 |
||||
|
*/ |
||||
|
export function editEmergencyContactState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editemercycallstate', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加双职工 |
||||
|
*/ |
||||
|
export function addDoubleWorkCont(data?: doubleWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/adddoubleworker', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑双职工内容 |
||||
|
*/ |
||||
|
export function editDoubleWorkCont(data?: doubleWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/eidtdoubleworker', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑双职工状态 |
||||
|
*/ |
||||
|
export function editDoubleWorkState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/eidtdoubleworkerstate', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加家庭成员 |
||||
|
*/ |
||||
|
export function addFamilyMembersCont(data?: familyMembersContAdd) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/addfamilymembers', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑家庭成员 |
||||
|
*/ |
||||
|
export function editFamilyMembersCont(data?: familyMembersContEdit) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editfamilymembers', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑家庭成员状态 |
||||
|
*/ |
||||
|
export function editFamilyMembersContState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editfamilymemberssatte', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加教育经历 |
||||
|
*/ |
||||
|
export function addEducExpCont(data?: addEducExpInfoing) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/addeducationalexperience', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑教育经历 |
||||
|
*/ |
||||
|
export function editEducExpCont(data?: editEducExpInfoing) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editeducationalexperience', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑教育经历状态 |
||||
|
*/ |
||||
|
export function editEducExpState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editeduexpstate', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 添加集团外部工作经历 |
||||
|
*/ |
||||
|
export function addGroupExternalWork(data?: addGroupExternalWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/addworkhistorycont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑集团外部工作经历 |
||||
|
*/ |
||||
|
export function editGroupExternalWork(data?: editGroupExternalWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editworkhistorycont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑集团外部工作经历 |
||||
|
*/ |
||||
|
export function editGroupExternalWorkState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editworkhistorystate', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加集团内部工作经历 |
||||
|
*/ |
||||
|
export function addGroupInnerWork(data?: groupInnerWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/addinsidehistory', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑集团内部工作经历 |
||||
|
*/ |
||||
|
export function editGroupInnerWork(data?: groupInnerWorkCont) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/eidtinsidehistoryworkcont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑集团内部工作经历 |
||||
|
*/ |
||||
|
export function editGroupInnerWorkState(data?: delJjlxr) { |
||||
|
return request({ |
||||
|
url: '/hrapi/staff/editordelinsideworkhistorystate', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取工作时间列表 |
||||
|
*/ |
||||
|
export function haveTeamTimeList(data: teamClassQueay) { |
||||
|
return request({ |
||||
|
url: '/hrapi/rostering/team_time_list', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,544 @@ |
|||||
|
/** |
||||
|
* 搜索条件 |
||||
|
*/ |
||||
|
export interface searchCriteriaForPeople extends PageQuery{ |
||||
|
keywords?:string; //关键字
|
||||
|
adminorg?:number; //行政组织
|
||||
|
emptype?:number[]; //用工关系
|
||||
|
} |
||||
|
/** |
||||
|
* 人员基本信息 |
||||
|
*/ |
||||
|
export interface archivesCont{ |
||||
|
id?:number //2909;
|
||||
|
number?:string //"201218";
|
||||
|
name?:string //"苏振";
|
||||
|
icon?:string //"";
|
||||
|
hireclass?:number //1;
|
||||
|
emptype?:number //8;
|
||||
|
company?:number //296;
|
||||
|
maindeparment?:number //32;
|
||||
|
sunmaindeparment?:number //0;
|
||||
|
deparment?:string //"";
|
||||
|
adminorg?:number //32;
|
||||
|
teamid?:number//0;
|
||||
|
position?:number //117;
|
||||
|
jobclass?:number //3;
|
||||
|
jobid?:number //25;
|
||||
|
jobleve?:number //0;
|
||||
|
time?:number //1657002602;
|
||||
|
eitetime?:number //1657002602;
|
||||
|
wechat?:string //"";
|
||||
|
workwechat?:string //"";
|
||||
|
state?:number //1;
|
||||
|
key?:number //4929995352838144;
|
||||
|
isadmin?:number //0;
|
||||
|
password?:string //"8d135342fcc70ab05332f560031a6112";
|
||||
|
role?:string //"";
|
||||
|
idcardno?:string //"370481197603084270";
|
||||
|
passportno?:string //"";
|
||||
|
globalroaming?:string //"";
|
||||
|
mobilephone?:string //"15020711996";
|
||||
|
email?:string //"";
|
||||
|
gender?:number //1;
|
||||
|
birthday?:number //195062400;
|
||||
|
myfolk?:string //"汉族";
|
||||
|
nativeplace?:string //"济宁高新区恒信公馆";
|
||||
|
idcardstartdate?:number //1173801600;
|
||||
|
idcardenddate?:number //1804953600;
|
||||
|
idcardaddress?:string //"";
|
||||
|
idcardIssued?:string //"";
|
||||
|
health?:number //1;
|
||||
|
maritalstatus?:number //2;
|
||||
|
internaltelephone?:string //"";
|
||||
|
currentresidence?:string //"滕州市西岗镇柴里矿生活去10排8号";
|
||||
|
constellationing?:number //12;
|
||||
|
isdoubleworker?:number //2;
|
||||
|
isveterans?:number //2;
|
||||
|
veteransnumber?:string //"";
|
||||
|
jobstartdate?:number //825609600;
|
||||
|
entrydate?:number //0;
|
||||
|
probationperiod:number //0;
|
||||
|
planformaldate?:number //0;
|
||||
|
politicaloutlook?:number //1;
|
||||
|
nameusedbefore?:string //"";
|
||||
|
ruleid?:number //0;
|
||||
|
iconphoto?:string //"";
|
||||
|
responsibledepartment?:string //"";
|
||||
|
responsibledepartmentjson?:string //"";
|
||||
|
companyname?:string //"山东荣信集团有限公司";
|
||||
|
maindeparmentname?:string //"甲醇分厂";
|
||||
|
sunmaindeparmentname?:string //"";
|
||||
|
workpostname?:string //"";
|
||||
|
positionname?:string //"副厂长";
|
||||
|
keystr?:string //"4929995352838144";
|
||||
|
teamname?:string //"";
|
||||
|
personincharge?:number // 2
|
||||
|
} |
||||
|
/** |
||||
|
* 员工列表 |
||||
|
*/ |
||||
|
export type archivesList = PageResult<archivesCont[]> |
||||
|
/** |
||||
|
* id |
||||
|
*/ |
||||
|
export interface contId { |
||||
|
id:string |
||||
|
} |
||||
|
/** |
||||
|
* 人员与行政组织关系 |
||||
|
*/ |
||||
|
export interface peopleAboutOrg{ |
||||
|
id?:number |
||||
|
key?:number |
||||
|
group?:number |
||||
|
company?:number |
||||
|
department?:number |
||||
|
workshop?:number |
||||
|
workshopsection?:number |
||||
|
position?:number |
||||
|
gradepositions?:number |
||||
|
starttime?:number |
||||
|
endtime?:number |
||||
|
team?:number |
||||
|
changetype?:number |
||||
|
time?:number |
||||
|
state?:number |
||||
|
assigntype?:number |
||||
|
jobid?:number |
||||
|
orgallname?:string |
||||
|
postname?:string |
||||
|
starttimeing?:string |
||||
|
endtimeing?:string |
||||
|
} |
||||
|
/** |
||||
|
* 人员与行政组织关系列表 |
||||
|
*/ |
||||
|
export type peopleAboutOrgList = PageResult<peopleAboutOrg[]> |
||||
|
/** |
||||
|
* 紧急联系人 |
||||
|
*/ |
||||
|
export interface emergencyContact{ |
||||
|
id:number |
||||
|
number?:string |
||||
|
name?:string |
||||
|
relationship?:string |
||||
|
tel?:string |
||||
|
time?:number |
||||
|
state?:number |
||||
|
key?:number |
||||
|
} |
||||
|
/** |
||||
|
* 双职工 |
||||
|
*/ |
||||
|
export interface shuangzhigong{ |
||||
|
id:number |
||||
|
number?:string |
||||
|
name?:string |
||||
|
company?:string |
||||
|
department?:string |
||||
|
position?:string |
||||
|
tel?:string |
||||
|
time?:number |
||||
|
state?:number |
||||
|
key?:number |
||||
|
} |
||||
|
/** |
||||
|
* 家庭成员 |
||||
|
*/ |
||||
|
export interface jiatingchengyuan{ |
||||
|
id:number |
||||
|
number?:string |
||||
|
relationship?:string |
||||
|
name?:string |
||||
|
company?:string |
||||
|
deparment?:string |
||||
|
postnme?:string |
||||
|
tel?:string |
||||
|
politicaloutlook?:number |
||||
|
time?:number |
||||
|
key?:number |
||||
|
state?:number |
||||
|
politicaloutlookcn?:string |
||||
|
} |
||||
|
/** |
||||
|
* 教育经历 |
||||
|
*/ |
||||
|
export interface jiaoyujingli{ |
||||
|
id:number |
||||
|
number?:string |
||||
|
education?:number |
||||
|
graduationschool?:string |
||||
|
subject?:string |
||||
|
admissiontime?:number |
||||
|
graduationtime?:number |
||||
|
time?:number |
||||
|
level?:number |
||||
|
academicdegree?:number |
||||
|
key?:number |
||||
|
state?:number |
||||
|
academicdegreecn?:string |
||||
|
educationcn?:string |
||||
|
admissiontimestr?:string |
||||
|
graduationtimestr?:string |
||||
|
} |
||||
|
/** |
||||
|
* 集团内部工作 |
||||
|
*/ |
||||
|
export interface innerWorkCont{ |
||||
|
id:string |
||||
|
starttimg?:string |
||||
|
endtimg?:string |
||||
|
allorgname?:string |
||||
|
orgid?:number |
||||
|
postid?:number |
||||
|
postname?:string |
||||
|
postnlevel?:number |
||||
|
teamid?:number |
||||
|
teamname?:string |
||||
|
changetype?:number |
||||
|
changetypename?:string |
||||
|
assigntype?:number |
||||
|
superiorpostname?:string |
||||
|
superiormanname?:null |
||||
|
subordinatescount?:number |
||||
|
jobid?:number |
||||
|
jobname?:string |
||||
|
} |
||||
|
/** |
||||
|
* 集团外部工作经历 |
||||
|
*/ |
||||
|
export interface outsideWork{ |
||||
|
id:number |
||||
|
number:string |
||||
|
key:number |
||||
|
company:string |
||||
|
deparment:string |
||||
|
job:string |
||||
|
entrytime:number |
||||
|
leavedate:number |
||||
|
witness:string |
||||
|
witnesstel:string |
||||
|
remarks:string |
||||
|
time:number |
||||
|
state:number |
||||
|
starttimg:string |
||||
|
endtimg:string |
||||
|
} |
||||
|
/** |
||||
|
* 修改密码 |
||||
|
*/ |
||||
|
export interface editPwdCont extends contId{ |
||||
|
pwd:string |
||||
|
pwdes:string |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取个人信息详情 |
||||
|
*/ |
||||
|
export interface myinfostruct{ |
||||
|
id?:number //78,
|
||||
|
number?:string //"300450",
|
||||
|
name?:string //"秦东",
|
||||
|
icon?:string //"https://wework.qpic.cn/wwhead/duc2TvpEgSTPk74IwG7BswsATgrfz6BGVPpX5QU5uvaCiaxk3ReIlRhdUwIeiaBBazzCLiaHI8VuA4/0",
|
||||
|
hireclass?:number //1,
|
||||
|
emptype?:number //8,
|
||||
|
company?:number //309,
|
||||
|
maindeparment?:number //102,
|
||||
|
sunmaindeparment?:number //272,
|
||||
|
deparment?:string //"",
|
||||
|
adminorg?:number //272,
|
||||
|
teamid?:number //1,
|
||||
|
position?:number //2184,
|
||||
|
jobclass?:number //5,
|
||||
|
jobid?:number //36,
|
||||
|
jobleve?:number //3,
|
||||
|
time?:number //1656984567,
|
||||
|
eitetime?:number //1671160648,
|
||||
|
wechat?:string //"",
|
||||
|
workwechat?:string //"KaiXinGuo",
|
||||
|
state?:number //1,
|
||||
|
key?:number //15993815826844528,
|
||||
|
isadmin?:number //4,
|
||||
|
password?:string //"ecffe8715d2d3c2743bab6abc90e1331",
|
||||
|
role?:string //"1",
|
||||
|
idcardno?:string //"370921198810151515",
|
||||
|
passportno?:string //"",
|
||||
|
globalroaming?:string //"",
|
||||
|
mobilephone?:string //"15069130853",
|
||||
|
email?:string //"",
|
||||
|
gender?:number //1,
|
||||
|
birthday?:number //592848000,
|
||||
|
myfolk?:string //"汉族",
|
||||
|
nativeplace?:string //"山东省宁阳县华丰镇白土厂村15号",
|
||||
|
idcardstartdate?:number //0,
|
||||
|
idcardenddate?:number //0,
|
||||
|
idcardaddress?: string//"",
|
||||
|
idcardIssued?:string //"",
|
||||
|
health?:number //2,
|
||||
|
maritalstatus?:number //2,
|
||||
|
internaltelephone?:string //"",
|
||||
|
currentresidence?:string //"山东省宁阳县华丰镇矿区花园小区1号楼1单元302室",
|
||||
|
constellationing?:number //1,
|
||||
|
isdoubleworker?:number //2,
|
||||
|
isveterans?:number //2,
|
||||
|
veteransnumber?:string //"",
|
||||
|
jobstartdate?:number //0,
|
||||
|
entrydate?:number //0,
|
||||
|
probationperiod:number //0,
|
||||
|
planformaldate?:number //0,
|
||||
|
politicaloutlook?:number //1,
|
||||
|
nameusedbefore?:string //"",
|
||||
|
iconphoto?:string //"data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAB4AGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiuK8afE3RfBhEM+65vCM+RERkfU9q8s1L9ojUpfMXTtLtoBkbTIS5Az+A9aAPoiivnSy/aJ1aIQrdaTbTgMfMcMVZhnjHYHHtXVJ+0LoTzqg0m9CFsFyy8DjnH50WA9horN0fX9L161W50y9huI2GfkbkfUda0qACiiigAooooAKKKKACvNfi94/n8IaRFaad5f268DDeSCYk6E4znPPB6cGvSq+N/G+pX3iXxxfzzyO7GYxxgrjYgOFAHYYoA5ue5utQuGklkeWRjyTyTWtp/g/Vb6MSCHYh6F+K6/QfDUNqql0DMeQxFd9Y28SxqCOg5riqYuztE76eDuryPJofhvrMr4xGBjPLVU1TwPrWmAu1uZYx1aPkV77FEkZGBjj0qd7VHjJOMnsalYqZTwsD578KeI77wrrkN/b8SRHlWHUHqK+uPDmvWviXQ7bVLQ/u5l5U9VYdRXhPj7wnFc6c19bRKlzB8x2jG9e4rq/gLqvm6Pf6UyyboHEoJOVw3B7cHj1NddKqqkbo46tJ03Y9gooorQyCiiigAooooARlDKVPQjBr5BuNOksfGd/ZlQGguJFYAYxhiK+v68I+IPh5NJ+Icmp7D9m1FFkzjgOMhh/I/jUVHaLNKSvNGfbXq+XFFDH5jg9DwK37N7yKbzJ7B44iP9YrBl/H0rmpNAu7jUVnspmjhOPuqCf1rq9Pt7rT7SQ3OpTz5J2q4TGMcDgfrXm8sbHqXka0d1HcQwsqEDndx6VKNQjuUEcNtI7DrjA/nVbQZPO0l4jgsSV3d6zIdH1a01PdFqckaDO5PKVt47cnkU4aikjWmiS8tpYnjIyCCrDmsr4K2Mtvq2vuMeRGwh6dWDHv8AQH8xW7bi5SLF08byAfeRSufwya3PAelHTdHupGUA3d5LOP8AdLYH6DP4104bRuxyYnZHU0UUV1nGFFFFABRRRQAV598WkB0GxkI+7dYz6ZU/4V6DXMfEGxS+8FagGdEaBPPRnIABXnGT6jI/Gk1dFRdpJnEaA6yW6bSOnftTPFp+xadCsQIeeUIZOy9//rfjWJ4Xvz5WD9a19V1xY0XzxhG+VQR1NeW0k7WPYTbsyx4VvbRdHbdMdyNhmxkA5xW+syysY5gN6n5Hx1FYGj6qsdoqi2mWIdcQnn3rZe7tryJfKcM6Y5HUZ7GrtbUmSd9S7MuWVVHLcV2kUawxJGgAVQAAK47SUa51GBOysGb8Oa7SurD7NnDinqkFFFFdByhRRRQAUVxHi74oaL4R1A6fNFcXV4FDPHCBhM9AxJ6kc8Zrz7Xvj1fywGLRNKjtXPWa4fzCPouAPzzVKDZLkke8V4n8cPHWmS6B/wAI3pt3Hc3M8qtcmF9yxopyFJHGS2OO2Oe1eXan4/8AFWs20i3mt3jRygrJGj7EI9Nq4GKwYrYSISRnNWqbuS6iOl8IeINsqRTPyDg5r0GWKDV5FBfKg5BU9DXjCWksM6ywN8wPavR/D8d9NBHcRo+GGC0RHOPVT3+lcOJw7i+Y9DC4hSXKeiafZFAsf2mQADocY/lU17tgdW+UMBjPqKyrCK8chSbgkdyuKzfG2pLpFglmj7tRvPlUA58tP4nJ+nT3rmUJTaijpnVUU5M1tE+Iul6VrFzFeRSNBsCrPGN2GzyMenTn2rvtK8a+HNaYJZavbNIeBE7bHJ/3WwT+FfNKjaKy5gY7n5eAen+Fe59VjCKSPB+tSnNtn2RRXyhpfi7X9ElX7Fql1HH2TeWX8VPBr0XQvjVdwsket2aXEXea3G1x7leh/Ss5UJLY0VaL3PaqKxdN8W6Dq1kl3a6pbeW3aSQIwPoQcGisrM05kfIs11dX80l1dzyTzync8srFmY+5PJpChwM0sC/IvsKsrGGBY/QV2qOhyOWpmonzTJjjINX7H/j3Q+oNQop+1Sj2FSQsLe2w5IKgnCjtmiKswbuiyAI8kDJNbHh3xNd6BeCSIGWFiBNAeVcf0Poa57z2kl8qNQMrnc57UtqUcEku/ue/07CiVpaCjeOqPoOPxT4e/sX+1fNxEB8y7TuVv7pA715JretSa7qz6i/yRE7YkIxtXt9TVDw/fxWupRSXFrHcWzHDQOThsMP16DPoTTL+2A1GZmVkyxGw9vQYrKlRUamhtWrOULMeD19KozkNNjsT+VKAUkZQxA9M8Uq88jrnqa7HqcaViAf6xoz+GakUlVKn8aimB87d6c1YADrkelSkU2S29w8MWwdM0VGvA60VauiXYu+FfD48QySILkQBV4YrnJOT0z6A1rzeCryGKIrPAyyIXG7K44Bx068iiivmcXmFejiXCL006eR6EKMJRuzOTwlfC5EjtAEc7PkYsQOTnp/+skVe1HwlCunyPDLIJo0LfvMFXwCSOBx90469KKKKWPrVEm2enh8DRlRnOS1V/wAFc4ooyQq+MvCSpHqP/wBVWUdTHmMDDDOR3oor30eEy1p8e61RyM7ZSD9Dx/hXUeIbXTLdNPFnNI92Yc3iuDhX9uOnX8AKKKqK99GcpPlaOXClpnPvToxgj0JxRRWxDGSICTz14ptucqVxlh70UVL3GtibyyaKKKsm5//Z",
|
||||
|
responsibledepartment?:string //"",
|
||||
|
responsibledepartmentjson?:string //"",
|
||||
|
birthdaytime?:string //"1988-10-15",
|
||||
|
idcardstarttimedata?:string //"",
|
||||
|
idcardendtimedata?:string //"",
|
||||
|
entrydatetime:string //"",
|
||||
|
planformaldatetime?:string //"",
|
||||
|
doubleworkerlist?:any //null,
|
||||
|
educationalexperience?:any //null,
|
||||
|
emergencycontact?:any //null,
|
||||
|
memberoffamily?:any //null,
|
||||
|
workhistorylist?:any //null,
|
||||
|
groupworkhistorylist?:any //null,
|
||||
|
idstr?:string //"78",
|
||||
|
companyname?:string //"山东恒信高科能源有限公司",
|
||||
|
maindeparmentname?:string //"企管部",
|
||||
|
adminorgname?:string //"",
|
||||
|
positionname?:string //"开发主管",
|
||||
|
jobclassname?:string //"基层管理",
|
||||
|
jobidname?:string //"主管",
|
||||
|
politicaloutlookname?:string //"群众",
|
||||
|
jobstartdatestr?:string //"",
|
||||
|
entrydatestr?:string //"",
|
||||
|
personincharge?:number //2,
|
||||
|
sunmaindeparmentname?:string //"企管",
|
||||
|
workpostname?:string //"",
|
||||
|
teamname?:string //"长白班",
|
||||
|
allorglist?:number[][] //[309,102,272],
|
||||
|
ruleid?:string //"0",
|
||||
|
rulename?:string //"",
|
||||
|
orgreslist?:any //null
|
||||
|
keystr?:string //
|
||||
|
} |
||||
|
/** |
||||
|
* 多重Id |
||||
|
*/ |
||||
|
export interface contIdes { |
||||
|
id:number; |
||||
|
idstr:string; |
||||
|
} |
||||
|
/** |
||||
|
* 提交修改人员主副信息 |
||||
|
*/ |
||||
|
export interface userManOrFucont{ |
||||
|
id?: string |
||||
|
name?: string |
||||
|
mobilephone?: string |
||||
|
idcardno?: string |
||||
|
entrydatetime?: string |
||||
|
probationperiod?: number |
||||
|
confirmationdate?: string |
||||
|
jobstartdatestr?: string |
||||
|
nameusedbefore?: string |
||||
|
gender?: number |
||||
|
myfolk?: string |
||||
|
politicaloutlook?: number |
||||
|
health?: number |
||||
|
birthdaytime?: string |
||||
|
idcardstarttimedata?: string |
||||
|
idcardendtimedata?: string |
||||
|
idcardaddress?: string |
||||
|
idcardIssued?: string |
||||
|
currentresidence?: string |
||||
|
nativeplace?: string |
||||
|
email?: string |
||||
|
internaltelephone?: string |
||||
|
hireclass?: number |
||||
|
emptype?: number |
||||
|
isveterans?: number |
||||
|
veteransnumber?: string |
||||
|
passportno?: string |
||||
|
globalroaming?: string |
||||
|
wechat?: string |
||||
|
workwechat?: string |
||||
|
constellationing?: number |
||||
|
maritalstatus?: number |
||||
|
} |
||||
|
/** |
||||
|
* 编辑紧急联系人 |
||||
|
*/ |
||||
|
export interface emergencyContactInfo extends contId{ |
||||
|
name?: string |
||||
|
relationship?: string |
||||
|
mobilephone?: string |
||||
|
} |
||||
|
/** |
||||
|
* 添加紧急联系人 |
||||
|
*/ |
||||
|
export interface emergencyContactAdd extends contId{ |
||||
|
list?:emergencyContactCont[] |
||||
|
} |
||||
|
export interface emergencyContactCont{ |
||||
|
name?: string |
||||
|
relationship?: string |
||||
|
mobilephone?: string |
||||
|
} |
||||
|
/** |
||||
|
* 删除紧急联系人 |
||||
|
*/ |
||||
|
export interface delJjlxr extends contId{ |
||||
|
state:number; |
||||
|
isdel:number; |
||||
|
} |
||||
|
/** |
||||
|
* 双职工 |
||||
|
*/ |
||||
|
export interface doubleWorkCont extends contId{ |
||||
|
name?:string |
||||
|
company?:string |
||||
|
department?:string |
||||
|
position?:string |
||||
|
mobilephone?:string |
||||
|
} |
||||
|
/** |
||||
|
* 家庭成员 |
||||
|
*/ |
||||
|
export interface familyMembersCont{ |
||||
|
id?:string |
||||
|
name?: string |
||||
|
relationship?: string |
||||
|
mobilephone?: string |
||||
|
company?: string |
||||
|
department?:string |
||||
|
politicaloutlook?: number |
||||
|
} |
||||
|
/** |
||||
|
* 添加家庭成员 |
||||
|
*/ |
||||
|
export interface familyMembersContAdd extends contId{ |
||||
|
list?:familyMembersCont[] |
||||
|
} |
||||
|
/** |
||||
|
* 编辑家庭成员 |
||||
|
*/ |
||||
|
export interface familyMembersContEdit extends familyMembersCont{ |
||||
|
id?: string |
||||
|
} |
||||
|
/** |
||||
|
* 教育经历基础参数 |
||||
|
*/ |
||||
|
export interface educExpInfo{ |
||||
|
graduationschool?:string //"宁阳实验高中",
|
||||
|
subject?:string //"理科",
|
||||
|
education?:number//3,
|
||||
|
admissiontime?:string //"2005-09-09",
|
||||
|
graduationtime?:string //"2008-06-06",
|
||||
|
academicdegree?:string //"1",
|
||||
|
level?:string //"1"
|
||||
|
} |
||||
|
/** |
||||
|
* 编辑教育经历 |
||||
|
*/ |
||||
|
export interface editEducExpInfoing extends educExpInfo{ |
||||
|
id:string |
||||
|
} |
||||
|
/** |
||||
|
* 添加教育经历 |
||||
|
*/ |
||||
|
export interface addEducExpInfoing extends contId{ |
||||
|
list?:educExpInfo[] |
||||
|
} |
||||
|
/** |
||||
|
* 集团外部工作经历 |
||||
|
*/ |
||||
|
export interface groupExternalWork{ |
||||
|
company?:string //"济南易搜集团",
|
||||
|
department?:string //"技术部",
|
||||
|
position?:string //"程序员",
|
||||
|
entrytime?:string //"2010-10-09",
|
||||
|
leavedate?:string //"2013-12-06",
|
||||
|
witness?:string //"石娟柯",
|
||||
|
witnesstel?:string //"15069130853",
|
||||
|
remarks?:string //"看看手机打开"
|
||||
|
} |
||||
|
/** |
||||
|
* 编辑外部工作经历 |
||||
|
*/ |
||||
|
export interface editGroupExternalWorkCont extends groupExternalWork{ |
||||
|
id:string |
||||
|
} |
||||
|
/** |
||||
|
* 添加外部工作经历 |
||||
|
*/ |
||||
|
export interface addGroupExternalWorkCont extends contId{ |
||||
|
list?:groupExternalWork[] |
||||
|
} |
||||
|
/** |
||||
|
* 添加集团内部工作履历 |
||||
|
*/ |
||||
|
export interface groupInnerWorkCont extends contId{ |
||||
|
orgid?:string |
||||
|
position?:string |
||||
|
gradepositions?:number |
||||
|
starttime?:string |
||||
|
endtime?:string |
||||
|
changetype?:number |
||||
|
assigntype?:number |
||||
|
team?:string |
||||
|
jobid?:string |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改头像 |
||||
|
*/ |
||||
|
export interface editUserIcon{ |
||||
|
id:number; |
||||
|
iconpath:string; |
||||
|
} |
||||
|
/** |
||||
|
* 编辑人员行政组织关系 |
||||
|
*/ |
||||
|
export interface editUserAboutOrg{ |
||||
|
id:string; |
||||
|
orgid?:number; |
||||
|
position?:number; |
||||
|
teamid?:number; |
||||
|
jobid?:number; |
||||
|
jobleve?:number; |
||||
|
ruleid?:string; |
||||
|
personInCharge:any; |
||||
|
orgreslist?:any; |
||||
|
resallorg?:any; |
||||
|
} |
||||
|
/** |
||||
|
* 排版类型 |
||||
|
*/ |
||||
|
export interface teamClassQueay{ |
||||
|
name?:"" |
||||
|
} |
||||
|
export interface teamRule{ |
||||
|
id:string; |
||||
|
sort:number; |
||||
|
teamid:string; |
||||
|
} |
||||
|
export interface teamList{ |
||||
|
id:string; |
||||
|
title:string; |
||||
|
startTime:string; |
||||
|
endTime:string; |
||||
|
} |
||||
|
/** |
||||
|
* 排班类型模板 |
||||
|
*/ |
||||
|
export interface teamClassCont{ |
||||
|
id:string; |
||||
|
state?:number; |
||||
|
states:boolean; |
||||
|
rulename:string; |
||||
|
name:string; |
||||
|
rule:teamRule[]; |
||||
|
list:teamList[]; |
||||
|
} |
||||
@ -0,0 +1,53 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { searchPost,postContList,postContData,editPostditOrDel } from './type'; |
||||
|
/** |
||||
|
* 获取岗位 |
||||
|
*/ |
||||
|
export function getPostContPage(data?: searchPost): AxiosPromise<postContList> { |
||||
|
return request({ |
||||
|
url: '/hrapi/org/positionlist', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取本行政组织下的职位(岗位)列表不包含子行政组织 |
||||
|
*/ |
||||
|
export function getPostContNotSunPage(data?: searchPost): AxiosPromise<postContList> { |
||||
|
return request({ |
||||
|
url: '/hrapi/org/get_my_posit_list', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加岗位信息 |
||||
|
*/ |
||||
|
export function addPostCont(data?: postContData){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/addpositioncontpublic', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑岗位信息 |
||||
|
*/ |
||||
|
export function editPostCont(data?: postContData){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/editpositioncontpublic', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 批量删除/编辑岗位状态 |
||||
|
*/ |
||||
|
export function baseDelPostCont(data?: editPostditOrDel){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/basedelpostcont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,69 @@ |
|||||
|
/** |
||||
|
* 搜索岗位 |
||||
|
*/ |
||||
|
export interface searchPost extends PageQuery{ |
||||
|
name?: string; |
||||
|
number?: string; |
||||
|
duties?: string; |
||||
|
organization?: string; |
||||
|
incharge?:number; |
||||
|
department?: string; |
||||
|
state?:number; |
||||
|
} |
||||
|
/** |
||||
|
* 岗位内容分页列表信息 |
||||
|
*/ |
||||
|
export type postContList = PageResult<postinfo[]> |
||||
|
/** |
||||
|
* 岗位内容 |
||||
|
*/ |
||||
|
export interface postinfo{ |
||||
|
id?: any; |
||||
|
number?: string; |
||||
|
name?: string; |
||||
|
duties?: number; |
||||
|
time?: number; |
||||
|
state?: number; |
||||
|
administrativeorganization?: number; |
||||
|
superior?: number; |
||||
|
personincharge?: number; |
||||
|
department?: number; |
||||
|
menupermit?: string; |
||||
|
buttonpermit?: string; |
||||
|
school?: number; |
||||
|
kingdeeid?: string; |
||||
|
orglist?: string; |
||||
|
unifyid?: number; |
||||
|
dutiesname?: string; |
||||
|
dutiesnumber?: string; |
||||
|
aoname?: string; |
||||
|
aonumber?: string; |
||||
|
jobname?: string; |
||||
|
superiorname?: string; |
||||
|
superiornumber?: string; |
||||
|
departmentname?: string; |
||||
|
idstr?: string; |
||||
|
orglistary?: number[]; |
||||
|
status?:boolean; |
||||
|
} |
||||
|
/** |
||||
|
* 编辑岗位数据 |
||||
|
*/ |
||||
|
export interface postContData{ |
||||
|
id?: number; |
||||
|
name?: string; //职位名称
|
||||
|
number?: string; //职位编码
|
||||
|
duties?: string; //职务
|
||||
|
organization?: string; //归属行政组织
|
||||
|
superior?: string|number; //上级
|
||||
|
incharge?: number; //是否为本部门负责人(1:是;2:否)
|
||||
|
department?: string; //部门
|
||||
|
} |
||||
|
/** |
||||
|
* 删除或改变职务类别状态 |
||||
|
*/ |
||||
|
export interface editPostditOrDel{ |
||||
|
id:string[]; |
||||
|
status?: number; |
||||
|
istrue?: number; |
||||
|
} |
||||
@ -0,0 +1,128 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { MenuQuery, MenuVO, MenuForm,menuInfo } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 获取路由列表 |
||||
|
*/ |
||||
|
export function listRoutesOld() { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus/routes', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function listRoutes() { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/get_routers_three', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取菜单树形列表 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function listMenusOld(queryParams: MenuQuery): AxiosPromise<MenuVO[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
export function listMenus(queryParams: MenuQuery): AxiosPromise<MenuVO[]> { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/get_menus_three', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取菜单下拉树形列表 |
||||
|
*/ |
||||
|
export function listMenuOptionsOld(): AxiosPromise<OptionType[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus/options', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function listMenuOptions(): AxiosPromise<OptionType[]> { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/menu_options', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取菜单表单数据 |
||||
|
* |
||||
|
* @param id |
||||
|
*/ |
||||
|
export function getMenuFormOld(id: number): AxiosPromise<MenuForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus/' + id + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function getMenuForm(data: menuInfo): AxiosPromise<MenuForm> { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/get_one_menu_cont', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 添加菜单 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addMenuOld(data: MenuForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
export function addMenu(data: MenuForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/add_new_menu', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 修改菜单 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateMenuOld(id: string, data: MenuForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
export function updateMenu(data: MenuForm) { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/edit_menus_cont', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 删除菜单 |
||||
|
* |
||||
|
* @param id 菜单ID |
||||
|
*/ |
||||
|
export function deleteMenuOld(id: number) { |
||||
|
return request({ |
||||
|
url: '/api/v1/menus/' + id, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
|
export function deleteMenu(data: menuInfo) { |
||||
|
return request({ |
||||
|
url: '/systemapi/menus/delt_menus_cont', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,125 @@ |
|||||
|
import { MenuTypeEnum } from '@/enums/MenuTypeEnum'; |
||||
|
|
||||
|
/** |
||||
|
* 菜单查询参数类型 |
||||
|
*/ |
||||
|
export interface MenuQuery { |
||||
|
keywords?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 菜单视图对象类型 |
||||
|
*/ |
||||
|
export interface MenuVO { |
||||
|
/** |
||||
|
* 子菜单 |
||||
|
*/ |
||||
|
children?: MenuVO[]; |
||||
|
/** |
||||
|
* 组件路径 |
||||
|
*/ |
||||
|
component?: string; |
||||
|
/** |
||||
|
* ICON |
||||
|
*/ |
||||
|
icon?: string; |
||||
|
/** |
||||
|
* 菜单ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 菜单名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 父菜单ID |
||||
|
*/ |
||||
|
parentId?: number; |
||||
|
/** |
||||
|
* 按钮权限标识 |
||||
|
*/ |
||||
|
perm?: string; |
||||
|
/** |
||||
|
* 跳转路径 |
||||
|
*/ |
||||
|
redirect?: string; |
||||
|
/** |
||||
|
* 路由名称 |
||||
|
*/ |
||||
|
routeName?: string; |
||||
|
/** |
||||
|
* 路由相对路径 |
||||
|
*/ |
||||
|
routePath?: string; |
||||
|
/** |
||||
|
* 菜单排序(数字越小排名越靠前) |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 菜单类型 |
||||
|
*/ |
||||
|
type?: MenuTypeEnum; |
||||
|
/** |
||||
|
* 菜单是否可见(1:显示;0:隐藏) |
||||
|
*/ |
||||
|
visible?: number; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 菜单表单对象类型 |
||||
|
*/ |
||||
|
export interface MenuForm { |
||||
|
/** |
||||
|
* 菜单ID |
||||
|
*/ |
||||
|
id?: string; |
||||
|
/** |
||||
|
* 父菜单ID |
||||
|
*/ |
||||
|
parentId?: number; |
||||
|
/** |
||||
|
* 菜单名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 菜单是否可见(1:是;0:否;) |
||||
|
*/ |
||||
|
visible: number; |
||||
|
icon?: string; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort: number; |
||||
|
/** |
||||
|
* 组件路径 |
||||
|
*/ |
||||
|
component?: string; |
||||
|
/** |
||||
|
* 路由路径 |
||||
|
*/ |
||||
|
path?: string; |
||||
|
/** |
||||
|
* 跳转路由路径 |
||||
|
*/ |
||||
|
redirect?: string; |
||||
|
|
||||
|
/** |
||||
|
* 菜单类型 |
||||
|
*/ |
||||
|
type: MenuTypeEnum; |
||||
|
|
||||
|
/** |
||||
|
* 权限标识 |
||||
|
*/ |
||||
|
perm?: string; |
||||
|
/** |
||||
|
* 权限标识 |
||||
|
*/ |
||||
|
outside?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 查看菜单内容 |
||||
|
*/ |
||||
|
export interface menuInfo { |
||||
|
id:string; |
||||
|
} |
||||
@ -0,0 +1,62 @@ |
|||||
|
export const calculateDatesMonth =(dateStr:string,num:number,type:string) => { |
||||
|
let monthnum = num; |
||||
|
if (typeof (num) == "string"){ |
||||
|
monthnum = parseInt(num); |
||||
|
} |
||||
|
let date= new Date(dateStr); |
||||
|
//获取原日
|
||||
|
let day = date.getDate(); |
||||
|
//获取原月份
|
||||
|
let month=date.getMonth(); |
||||
|
//设置增加月份
|
||||
|
date.setMonth(date.getMonth() + (monthnum*1), 1); |
||||
|
//获取增加的后的月份
|
||||
|
let Jmonth = date.getMonth()+1; |
||||
|
//获取增加的后的年份
|
||||
|
let Jyear=date.getFullYear(); |
||||
|
if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) { |
||||
|
//小月
|
||||
|
if (day > 30) { |
||||
|
day = 30; |
||||
|
} |
||||
|
}else if (Jmonth == 2) { |
||||
|
//2月判断是否闰年
|
||||
|
if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){ |
||||
|
if (day > 29) { |
||||
|
day = 29; |
||||
|
} |
||||
|
}else{ |
||||
|
if (day > 28) { |
||||
|
day = 28 |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}else{ |
||||
|
//大月
|
||||
|
if (day > 31) { |
||||
|
day = 31; |
||||
|
} |
||||
|
} |
||||
|
let tHours = date.getHours(); |
||||
|
let tMinutes = date.getMinutes(); |
||||
|
let tSeconds = date.getSeconds(); |
||||
|
let Jmonthstr = doHandleMonth(Jmonth); |
||||
|
let daystr = doHandleMonth(day); |
||||
|
if(type=="0"){ |
||||
|
return Jyear+"-"+Jmonthstr+"-"+daystr; |
||||
|
} |
||||
|
return Jyear+"-"+Jmonthstr+"-"+daystr+" "+tHours+":"+tMinutes+":"+tSeconds; |
||||
|
}; |
||||
|
/** |
||||
|
* 日或月补0 |
||||
|
* @param month |
||||
|
* @returns {string} |
||||
|
*/ |
||||
|
function doHandleMonth(month:number):string { |
||||
|
let m = month.toString(); |
||||
|
if(month.toString().length == 1){ |
||||
|
m = "0" + month; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
@ -0,0 +1,112 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { RoleQuery, RolePageResult, RoleForm } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 获取角色分页数据 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function getRolePage( |
||||
|
queryParams?: RoleQuery |
||||
|
): AxiosPromise<RolePageResult> { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/page', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取角色下拉数据 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function listRoleOptions( |
||||
|
queryParams?: RoleQuery |
||||
|
): AxiosPromise<OptionType[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/options', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取角色的菜单ID集合 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function getRoleMenuIds(roleId: number): AxiosPromise<number[]> { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/' + roleId + '/menuIds', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 分配菜单权限给角色 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function updateRoleMenus( |
||||
|
roleId: number, |
||||
|
data: number[] |
||||
|
): AxiosPromise<any> { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/' + roleId + '/menus', |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取角色详情 |
||||
|
* |
||||
|
* @param id |
||||
|
*/ |
||||
|
export function getRoleForm(id: number): AxiosPromise<RoleForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/' + id + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 添加角色 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addRole(data: RoleForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 更新角色 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateRole(id: number, data: RoleForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 批量删除角色,多个以英文逗号(,)分割 |
||||
|
* |
||||
|
* @param ids |
||||
|
*/ |
||||
|
export function deleteRoles(ids: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/roles/' + ids, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,78 @@ |
|||||
|
/** |
||||
|
* 角色查询参数 |
||||
|
*/ |
||||
|
export interface RoleQuery extends PageQuery { |
||||
|
keywords?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 角色分页对象 |
||||
|
*/ |
||||
|
export interface RolePageVO { |
||||
|
/** |
||||
|
* 角色编码 |
||||
|
*/ |
||||
|
code?: string; |
||||
|
|
||||
|
/** |
||||
|
* 角色ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 角色名称 |
||||
|
*/ |
||||
|
name?: string; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 角色状态 |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 创建时间 |
||||
|
*/ |
||||
|
createTime?: Date; |
||||
|
/** |
||||
|
* 修改时间 |
||||
|
*/ |
||||
|
updateTime?: Date; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 角色分页 |
||||
|
*/ |
||||
|
export type RolePageResult = PageResult<RolePageVO[]>; |
||||
|
|
||||
|
/** |
||||
|
* 角色表单对象 |
||||
|
*/ |
||||
|
export interface RoleForm { |
||||
|
/** |
||||
|
* 角色ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
|
||||
|
/** |
||||
|
* 角色编码 |
||||
|
*/ |
||||
|
code: string; |
||||
|
/** |
||||
|
* 数据权限 |
||||
|
*/ |
||||
|
dataScope?: number; |
||||
|
|
||||
|
/** |
||||
|
* 角色名称 |
||||
|
*/ |
||||
|
name: string; |
||||
|
/** |
||||
|
* 排序 |
||||
|
*/ |
||||
|
sort?: number; |
||||
|
/** |
||||
|
* 角色状态(1-正常;0-停用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
} |
||||
@ -0,0 +1,83 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { getOrgTree,submintPostPower,setupPage,submintRolePower,getSystemOrgTree,systemMenusTypeTree,getSystemMenusForRole } from './types' |
||||
|
/** |
||||
|
* 获取行政组织 |
||||
|
*/ |
||||
|
export function listRoutesOld(data: getOrgTree){ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/get_organdpost_three', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取系统类型 |
||||
|
*/ |
||||
|
export function getSystemType(data: setupPage){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/system_list', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取各系统权限菜单 |
||||
|
*/ |
||||
|
export function getSystemPoewrTree(data: getSystemOrgTree): AxiosPromise<systemMenusTypeTree[]>{ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/system_about_power_menu', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 给指定岗位授权 |
||||
|
*/ |
||||
|
export function grantSystemPostPoewr(data: submintPostPower){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/grant_post_system_powers', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 给指定岗位授权 |
||||
|
*/ |
||||
|
export function getGrantPowers(data: getSystemOrgTree): AxiosPromise<string[]>{ |
||||
|
return request({ |
||||
|
url: '/systemapi/grant/get_post_grant_powers', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 根据角色获取各系统权限菜单 |
||||
|
*/ |
||||
|
export function getSystemPoewrTreeForRole(data: getSystemMenusForRole): AxiosPromise<systemMenusTypeTree[]>{ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/system_about_power_menurole', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取指定角色授权 |
||||
|
*/ |
||||
|
export function getGrantRolePowers(data: getSystemMenusForRole): AxiosPromise<string[]>{ |
||||
|
return request({ |
||||
|
url: '/systemapi/grant/get_role_grant_powers', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 给指定角色授权 |
||||
|
*/ |
||||
|
export function grantSystemRolePoewr(data: submintRolePower){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/grant_role_system_powers', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,94 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { searchRoleWord,roleLietCont,editRoleContKeyword,editRoleStatus,addRoleContKeyword,getRoleEndUser,RoleEndUSerContList,BaseDelRoleToUser,getOrgAndUserList,RoleEndUSerTreeList,CallBackOrgUserCont,setupRolePeople } from './types' |
||||
|
|
||||
|
/** |
||||
|
* 获取角色列表 |
||||
|
*/ |
||||
|
export function getSystemRoleList(data: searchRoleWord): AxiosPromise<roleLietCont[]>{ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/system_role_list', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑角色内容 |
||||
|
*/ |
||||
|
export function addRoleCont(data: addRoleContKeyword){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/add_system_role', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑角色内容 |
||||
|
*/ |
||||
|
export function editRoleCont(data: editRoleContKeyword){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/edit_system_role', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 编辑角色内容状态 |
||||
|
*/ |
||||
|
export function editRoleContStatus(data: editRoleStatus){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/edit_system_role_statebatch', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取角色使用人员列表 |
||||
|
*/ |
||||
|
export function getRoleEndUserList(data: getRoleEndUser): AxiosPromise<RoleEndUSerContList>{ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/role_about_people_list', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 批量删除角色使用人 |
||||
|
*/ |
||||
|
export function batchDelUserFromRole(data: BaseDelRoleToUser){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/batch_del_roleman', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取行政组织树及相关人员 |
||||
|
*/ |
||||
|
export function getOrgAndUserListCont(data: getOrgAndUserList):AxiosPromise<RoleEndUSerTreeList>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/govthreeaboutman', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 搜索内容输出 |
||||
|
*/ |
||||
|
export function searchOrgUserContSend(data: searchRoleWord):AxiosPromise<CallBackOrgUserCont>{ |
||||
|
return request({ |
||||
|
url: '/hrapi/org/search_org_people', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 提交选择完毕的使用人 |
||||
|
*/ |
||||
|
export function submittoAppointUser(data: setupRolePeople){ |
||||
|
return request({ |
||||
|
url: '/kpiapi/powerpc/add_role_user', |
||||
|
method: 'post', |
||||
|
data:data |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,267 @@ |
|||||
|
|
||||
|
/** |
||||
|
* 获取行政组织及岗位树 |
||||
|
*/ |
||||
|
export interface getOrgTree{ |
||||
|
id?: string; |
||||
|
level?: number; |
||||
|
all?: number; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 行政岗位树列表 |
||||
|
*/ |
||||
|
export interface orgPostTreeData{ |
||||
|
allnumber?:[string]; |
||||
|
count?: number; |
||||
|
list:orgPostTreeList; |
||||
|
} |
||||
|
export interface orgPostTreeList { |
||||
|
id?: string; //id
|
||||
|
number?: string; //编号
|
||||
|
name?: string; //名称
|
||||
|
superior?: string; //上级
|
||||
|
orgid?: string; //行政组织
|
||||
|
attribute?: number; //属性
|
||||
|
sort?: number; //排序
|
||||
|
orgname?: string; //行政组织名称
|
||||
|
departid?: string; //部门ID
|
||||
|
departname?: string; //部门名称
|
||||
|
adminorg?: string; //岗位归属行政组织
|
||||
|
child?:orgPostTreeList[]; //子集
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 翻页数据 |
||||
|
*/ |
||||
|
export interface setupPage { |
||||
|
page?:number; //页码
|
||||
|
pagesize?:number; //每页获取数量
|
||||
|
} |
||||
|
/** |
||||
|
* 系统列表参数 |
||||
|
*/ |
||||
|
export interface systemList{ |
||||
|
page?:number; //页码
|
||||
|
pagesize?:number; //每页获取数量
|
||||
|
count?: number; //记录总数
|
||||
|
total?: number; //每页总数
|
||||
|
list?: systemCont[]; //
|
||||
|
} |
||||
|
export interface systemCont{ |
||||
|
id?:number; //id
|
||||
|
key?:string; //识别符
|
||||
|
coder?:string; //关键字
|
||||
|
title?:string; //系统名称
|
||||
|
apiurl?:string; //api地址
|
||||
|
sort?:number; //排序
|
||||
|
state?:number; //状态
|
||||
|
time?:number; //编辑时间
|
||||
|
} |
||||
|
|
||||
|
//菜单列表
|
||||
|
export interface systemMenusType { |
||||
|
id?:string; //
|
||||
|
name?:string; //
|
||||
|
parentid?:string; //
|
||||
|
pathurl?:string; //
|
||||
|
istrue?:boolean; //
|
||||
|
menukey?:string; //
|
||||
|
key?:string; //
|
||||
|
attribute?:string; //
|
||||
|
} |
||||
|
//菜单列表树
|
||||
|
export interface systemMenusTypeTree { |
||||
|
id?:string; //
|
||||
|
name?:string; //
|
||||
|
parentid?:string; //
|
||||
|
pathurl?:string; //
|
||||
|
istrue?:boolean; //
|
||||
|
menukey?:string; //
|
||||
|
key?:string; //
|
||||
|
attribute?:string; //
|
||||
|
child?:systemMenusType[]; //
|
||||
|
menuOperation?:systemMenusType[]; //
|
||||
|
} |
||||
|
/** |
||||
|
* 获取行政组织及岗位树 |
||||
|
*/ |
||||
|
export interface getSystemOrgTree{ |
||||
|
name?: string; |
||||
|
ordid?: string; |
||||
|
postid?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 提交岗位权限参数 |
||||
|
*/ |
||||
|
export interface submintPostPower{ |
||||
|
systemname:string |
||||
|
ordid:string |
||||
|
postid:string |
||||
|
level?:number |
||||
|
power:systemMenusTypeTree[] |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 角色搜索 |
||||
|
*/ |
||||
|
export interface searchRoleWord{ |
||||
|
name?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 角色列表 |
||||
|
*/ |
||||
|
export interface roleLietCont{ |
||||
|
id:number; |
||||
|
name?:string; |
||||
|
istrue?:boolean; |
||||
|
sort?: number; |
||||
|
state?:number; |
||||
|
time?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 编辑角色 |
||||
|
*/ |
||||
|
export interface editRoleContKeyword{ |
||||
|
id?:string; |
||||
|
name?:string; |
||||
|
sort?: number; |
||||
|
} |
||||
|
|
||||
|
export interface addRoleContKeyword{ |
||||
|
name?:string; |
||||
|
sort?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 获取行政组织及岗位树 |
||||
|
*/ |
||||
|
export interface editRoleStatus{ |
||||
|
id?: string[]; |
||||
|
istrue?: number; |
||||
|
state?: number; |
||||
|
} |
||||
|
/** |
||||
|
* 根据角色获取权限菜单 |
||||
|
*/ |
||||
|
export interface getSystemMenusForRole{ |
||||
|
name:string; |
||||
|
roleid?:string; |
||||
|
} |
||||
|
/** |
||||
|
* 提交角色配权数据 |
||||
|
*/ |
||||
|
|
||||
|
export interface submintRolePower{ |
||||
|
systemname:string |
||||
|
roleid:string |
||||
|
level?:number |
||||
|
power:systemMenusTypeTree[] |
||||
|
} |
||||
|
/** |
||||
|
* 获取角色使用人员 |
||||
|
*/ |
||||
|
export interface getRoleEndUser{ |
||||
|
id:string; |
||||
|
name?:string; |
||||
|
page?:number; //页码
|
||||
|
pagesize?:number; //每页获取数量
|
||||
|
} |
||||
|
/** |
||||
|
* 使用人员信息 |
||||
|
*/ |
||||
|
export interface usercont{ |
||||
|
id?:string; |
||||
|
number?:string; |
||||
|
name?:string; |
||||
|
company?:string; |
||||
|
companyname?:string; |
||||
|
department?:string; |
||||
|
departmentname?:string; |
||||
|
orgId?:string; |
||||
|
orgname?:string; |
||||
|
dutiesid?:string; |
||||
|
dutiesname?:string; |
||||
|
wechat?:string; |
||||
|
key?:string; |
||||
|
departmenttitle?:string; |
||||
|
icon?:string; |
||||
|
iconbase64?:string; |
||||
|
} |
||||
|
/** |
||||
|
* 角色使用人员分页 |
||||
|
*/ |
||||
|
export type RoleEndUSerContList = PageResult<usercont[]>; |
||||
|
/** |
||||
|
* 批量删除角色使用人 |
||||
|
*/ |
||||
|
export interface BaseDelRoleToUser{ |
||||
|
id:string; |
||||
|
mankey:string[]; |
||||
|
} |
||||
|
/** |
||||
|
* 获取行政组织树及相关人员 |
||||
|
*/ |
||||
|
export interface getOrgAndUserList { |
||||
|
id:string; |
||||
|
all?:number; |
||||
|
level?:number; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 行政组织及人员列表 |
||||
|
*/ |
||||
|
export interface orgAndPeopleList{ |
||||
|
id?: string; |
||||
|
name?: string; |
||||
|
number?: string; |
||||
|
icon?: string; |
||||
|
iconbase64?: string; |
||||
|
parentId?: string; |
||||
|
orgId?: string; |
||||
|
isman?: number; |
||||
|
sort?: number; |
||||
|
identify?: number; |
||||
|
all_name?: string; |
||||
|
child?: orgAndPeopleList[]; |
||||
|
} |
||||
|
export interface orgAndPeopleLists{ |
||||
|
id: string; |
||||
|
name?: string; |
||||
|
number?: string; |
||||
|
icon?: string; |
||||
|
iconbase64?: string; |
||||
|
parentId: string; |
||||
|
orgId?: string; |
||||
|
isman?: number; |
||||
|
sort?: number; |
||||
|
identify?: number; |
||||
|
all_name?:string; |
||||
|
} |
||||
|
export interface orgUserPageResult<T> { |
||||
|
/** |
||||
|
* 人员列表 |
||||
|
*/ |
||||
|
list: orgAndPeopleLists[]; |
||||
|
/** |
||||
|
* 行政组织与人树 |
||||
|
*/ |
||||
|
three: T; |
||||
|
} |
||||
|
export type RoleEndUSerTreeList = orgUserPageResult<orgAndPeopleList[]>; |
||||
|
/** |
||||
|
* 搜索内容输出 |
||||
|
*/ |
||||
|
export interface sendSearchOrgPeople{ |
||||
|
org:orgAndPeopleLists[]; |
||||
|
people:orgAndPeopleLists[]; |
||||
|
} |
||||
|
export type CallBackOrgUserCont = sendSearchOrgPeople; |
||||
|
/** |
||||
|
* 设定角色使用人 |
||||
|
*/ |
||||
|
export interface setupRolePeople{ |
||||
|
roleid:string; |
||||
|
peoplelist:orgAndPeopleLists[]; |
||||
|
} |
||||
@ -0,0 +1,159 @@ |
|||||
|
import request from '@/utils/request'; |
||||
|
import { AxiosPromise } from 'axios'; |
||||
|
import { UserForm, UserInfo, UserPageVO, UserQuery } from './types'; |
||||
|
|
||||
|
/** |
||||
|
* 登录成功后获取用户信息(昵称、头像、权限集合和角色集合) |
||||
|
*/ |
||||
|
export function getUserInfo(): AxiosPromise<UserInfo> { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/me', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
export function getUserInfoIng(): AxiosPromise<UserInfo> { |
||||
|
return request({ |
||||
|
url: '/systemapi/user/get_user_cont', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
/** |
||||
|
* 获取用户分页列表 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
*/ |
||||
|
export function getUserPage( |
||||
|
queryParams: UserQuery |
||||
|
): AxiosPromise<PageResult<UserPageVO[]>> { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/page', |
||||
|
method: 'get', |
||||
|
params: queryParams |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取用户表单详情 |
||||
|
* |
||||
|
* @param userId |
||||
|
*/ |
||||
|
export function getUserForm(userId: number): AxiosPromise<UserForm> { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/' + userId + '/form', |
||||
|
method: 'get' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 添加用户 |
||||
|
* |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function addUser(data: any) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users', |
||||
|
method: 'post', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改用户 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param data |
||||
|
*/ |
||||
|
export function updateUser(id: number, data: UserForm) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/' + id, |
||||
|
method: 'put', |
||||
|
data: data |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改用户状态 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param status |
||||
|
*/ |
||||
|
export function updateUserStatus(id: number, status: number) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/' + id + '/status', |
||||
|
method: 'patch', |
||||
|
params: { status: status } |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改用户密码 |
||||
|
* |
||||
|
* @param id |
||||
|
* @param password |
||||
|
*/ |
||||
|
export function updateUserPassword(id: number, password: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/' + id + '/password', |
||||
|
method: 'patch', |
||||
|
params: { password: password } |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除用户 |
||||
|
* |
||||
|
* @param ids |
||||
|
*/ |
||||
|
export function deleteUsers(ids: string) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/' + ids, |
||||
|
method: 'delete' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 下载用户导入模板 |
||||
|
* |
||||
|
* @returns |
||||
|
*/ |
||||
|
export function downloadTemplateApi() { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/template', |
||||
|
method: 'get', |
||||
|
responseType: 'arraybuffer' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 导出用户 |
||||
|
* |
||||
|
* @param queryParams |
||||
|
* @returns |
||||
|
*/ |
||||
|
export function exportUser(queryParams: UserQuery) { |
||||
|
return request({ |
||||
|
url: '/api/v1/users/_export', |
||||
|
method: 'get', |
||||
|
params: queryParams, |
||||
|
responseType: 'arraybuffer' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 导入用户 |
||||
|
* |
||||
|
* @param file |
||||
|
*/ |
||||
|
export function importUser(deptId: number, file: File) { |
||||
|
const formData = new FormData(); |
||||
|
formData.append('file', file); |
||||
|
return request({ |
||||
|
url: '/api/v1/users/_import', |
||||
|
method: 'post', |
||||
|
params: { deptId: deptId }, |
||||
|
data: formData, |
||||
|
headers: { |
||||
|
'Content-Type': 'multipart/form-data' |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
@ -0,0 +1,111 @@ |
|||||
|
/** |
||||
|
* 登录用户信息 |
||||
|
*/ |
||||
|
export interface UserInfo { |
||||
|
nickname: string; |
||||
|
avatar: string; |
||||
|
roles: string[]; |
||||
|
perms: string[]; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 用户查询对象类型 |
||||
|
*/ |
||||
|
export interface UserQuery extends PageQuery { |
||||
|
keywords?: string; |
||||
|
status?: number; |
||||
|
deptId?: number; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 用户分页对象 |
||||
|
*/ |
||||
|
export interface UserPageVO { |
||||
|
/** |
||||
|
* 用户头像地址 |
||||
|
*/ |
||||
|
avatar?: string; |
||||
|
/** |
||||
|
* 创建时间 |
||||
|
*/ |
||||
|
createTime?: Date; |
||||
|
/** |
||||
|
* 部门名称 |
||||
|
*/ |
||||
|
deptName?: string; |
||||
|
/** |
||||
|
* 用户邮箱 |
||||
|
*/ |
||||
|
email?: string; |
||||
|
/** |
||||
|
* 性别 |
||||
|
*/ |
||||
|
genderLabel?: string; |
||||
|
/** |
||||
|
* 用户ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
/** |
||||
|
* 手机号 |
||||
|
*/ |
||||
|
mobile?: string; |
||||
|
/** |
||||
|
* 用户昵称 |
||||
|
*/ |
||||
|
nickname?: string; |
||||
|
/** |
||||
|
* 角色名称,多个使用英文逗号(,)分割 |
||||
|
*/ |
||||
|
roleNames?: string; |
||||
|
/** |
||||
|
* 用户状态(1:启用;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 用户名 |
||||
|
*/ |
||||
|
username?: string; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 用户表单类型 |
||||
|
*/ |
||||
|
export interface UserForm { |
||||
|
/** |
||||
|
* 用户头像 |
||||
|
*/ |
||||
|
avatar?: string; |
||||
|
/** |
||||
|
* 部门ID |
||||
|
*/ |
||||
|
deptId?: number; |
||||
|
/** |
||||
|
* 邮箱 |
||||
|
*/ |
||||
|
email?: string; |
||||
|
/** |
||||
|
* 性别 |
||||
|
*/ |
||||
|
gender?: number; |
||||
|
/** |
||||
|
* 用户ID |
||||
|
*/ |
||||
|
id?: number; |
||||
|
mobile?: string; |
||||
|
/** |
||||
|
* 昵称 |
||||
|
*/ |
||||
|
nickname?: string; |
||||
|
/** |
||||
|
* 角色ID集合 |
||||
|
*/ |
||||
|
roleIds?: number[]; |
||||
|
/** |
||||
|
* 用户状态(1:正常;0:禁用) |
||||
|
*/ |
||||
|
status?: number; |
||||
|
/** |
||||
|
* 用户名 |
||||
|
*/ |
||||
|
username?: string; |
||||
|
} |
||||
|
After Width: | Height: | Size: 160 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 325 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 799 KiB |
|
After Width: | Height: | Size: 633 KiB |
|
After Width: | Height: | Size: 267 KiB |
|
After Width: | Height: | Size: 895 KiB |
|
After Width: | Height: | Size: 850 KiB |
|
After Width: | Height: | Size: 226 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 777 KiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 3.8 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 361 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 962 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 627 KiB |
|
After Width: | Height: | Size: 180 KiB |
|
After Width: | Height: | Size: 169 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 424 KiB |
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 315 KiB |
|
After Width: | Height: | Size: 571 B |
|
After Width: | Height: | Size: 371 B |
|
After Width: | Height: | Size: 404 B |
|
After Width: | Height: | Size: 579 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 517 B |
|
After Width: | Height: | Size: 397 B |
|
After Width: | Height: | Size: 513 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1008 B |
|
After Width: | Height: | Size: 738 B |
|
After Width: | Height: | Size: 764 B |
|
After Width: | Height: | Size: 639 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |