1、移除相关页面文档链接跳转
2、关闭多租户功能
This commit is contained in:
		
							parent
							
								
									9ba3b104f4
								
							
						
					
					
						commit
						9952cabc8f
					
				
							
								
								
									
										4
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.env
									
									
									
									
									
								
							| @ -1,5 +1,5 @@ | |||||||
| # 标题 | # 标题 | ||||||
| VITE_APP_TITLE=芋道管理系统 | VITE_APP_TITLE=自贸区管理系统 | ||||||
| 
 | 
 | ||||||
| # 项目本地运行端口号 | # 项目本地运行端口号 | ||||||
| VITE_PORT=80 | VITE_PORT=80 | ||||||
| @ -8,7 +8,7 @@ VITE_PORT=80 | |||||||
| VITE_OPEN=true | VITE_OPEN=true | ||||||
| 
 | 
 | ||||||
| # 租户开关 | # 租户开关 | ||||||
| VITE_APP_TENANT_ENABLE=true | VITE_APP_TENANT_ENABLE=false | ||||||
| 
 | 
 | ||||||
| # 验证码的开关 | # 验证码的开关 | ||||||
| VITE_APP_CAPTCHA_ENABLE=true | VITE_APP_CAPTCHA_ENABLE=true | ||||||
|  | |||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 128 KiB | 
| @ -114,7 +114,7 @@ export default { | |||||||
|   }, |   }, | ||||||
|   login: { |   login: { | ||||||
|     welcome: '欢迎使用本系统', |     welcome: '欢迎使用本系统', | ||||||
|     message: '开箱即用的中后台管理系统', |     message: '江苏新元素数字科技有限公司', | ||||||
|     tenantname: '租户名称', |     tenantname: '租户名称', | ||||||
|     username: '用户名', |     username: '用户名', | ||||||
|     password: '密码', |     password: '密码', | ||||||
|  | |||||||
| @ -58,9 +58,6 @@ | |||||||
|                 {{ t('login.remember') }} |                 {{ t('login.remember') }} | ||||||
|               </el-checkbox> |               </el-checkbox> | ||||||
|             </el-col> |             </el-col> | ||||||
|             <el-col :offset="6" :span="12"> |  | ||||||
|               <el-link style="float: right" type="primary">{{ t('login.forgetPassword') }}</el-link> |  | ||||||
|             </el-col> |  | ||||||
|           </el-row> |           </el-row> | ||||||
|         </el-form-item> |         </el-form-item> | ||||||
|       </el-col> |       </el-col> | ||||||
| @ -82,64 +79,6 @@ | |||||||
|         mode="pop" |         mode="pop" | ||||||
|         @success="handleLogin" |         @success="handleLogin" | ||||||
|       /> |       /> | ||||||
|       <el-col :span="24" style="padding-right: 10px; padding-left: 10px"> |  | ||||||
|         <el-form-item> |  | ||||||
|           <el-row :gutter="5" justify="space-between" style="width: 100%"> |  | ||||||
|             <el-col :span="8"> |  | ||||||
|               <XButton |  | ||||||
|                 :title="t('login.btnMobile')" |  | ||||||
|                 class="w-[100%]" |  | ||||||
|                 @click="setLoginState(LoginStateEnum.MOBILE)" |  | ||||||
|               /> |  | ||||||
|             </el-col> |  | ||||||
|             <el-col :span="8"> |  | ||||||
|               <XButton |  | ||||||
|                 :title="t('login.btnQRCode')" |  | ||||||
|                 class="w-[100%]" |  | ||||||
|                 @click="setLoginState(LoginStateEnum.QR_CODE)" |  | ||||||
|               /> |  | ||||||
|             </el-col> |  | ||||||
|             <el-col :span="8"> |  | ||||||
|               <XButton |  | ||||||
|                 :title="t('login.btnRegister')" |  | ||||||
|                 class="w-[100%]" |  | ||||||
|                 @click="setLoginState(LoginStateEnum.REGISTER)" |  | ||||||
|               /> |  | ||||||
|             </el-col> |  | ||||||
|           </el-row> |  | ||||||
|         </el-form-item> |  | ||||||
|       </el-col> |  | ||||||
|       <el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider> |  | ||||||
|       <el-col :span="24" style="padding-right: 10px; padding-left: 10px"> |  | ||||||
|         <el-form-item> |  | ||||||
|           <div class="w-[100%] flex justify-between"> |  | ||||||
|             <Icon |  | ||||||
|               v-for="(item, key) in socialList" |  | ||||||
|               :key="key" |  | ||||||
|               :icon="item.icon" |  | ||||||
|               :size="30" |  | ||||||
|               class="anticon cursor-pointer" |  | ||||||
|               color="#999" |  | ||||||
|               @click="doSocialLogin(item.type)" |  | ||||||
|             /> |  | ||||||
|           </div> |  | ||||||
|         </el-form-item> |  | ||||||
|       </el-col> |  | ||||||
|       <el-divider content-position="center">萌新必读</el-divider> |  | ||||||
|       <el-col :span="24" style="padding-right: 10px; padding-left: 10px"> |  | ||||||
|         <el-form-item> |  | ||||||
|           <div class="w-[100%] flex justify-between"> |  | ||||||
|             <el-link href="https://doc.iocoder.cn/" target="_blank">📚开发指南</el-link> |  | ||||||
|             <el-link href="https://doc.iocoder.cn/video/" target="_blank">🔥视频教程</el-link> |  | ||||||
|             <el-link href="https://www.iocoder.cn/Interview/good-collection/" target="_blank"> |  | ||||||
|               ⚡面试手册 |  | ||||||
|             </el-link> |  | ||||||
|             <el-link href="http://static.yudao.iocoder.cn/mp/Aix9975.jpeg" target="_blank"> |  | ||||||
|               🤝外包咨询 |  | ||||||
|             </el-link> |  | ||||||
|           </div> |  | ||||||
|         </el-form-item> |  | ||||||
|       </el-col> |  | ||||||
|     </el-row> |     </el-row> | ||||||
|   </el-form> |   </el-form> | ||||||
| </template> | </template> | ||||||
| @ -158,13 +97,12 @@ import { LoginStateEnum, useFormValid, useLoginState } from './useLogin' | |||||||
| defineOptions({ name: 'LoginForm' }) | defineOptions({ name: 'LoginForm' }) | ||||||
| 
 | 
 | ||||||
| const { t } = useI18n() | const { t } = useI18n() | ||||||
| const message = useMessage() |  | ||||||
| const iconHouse = useIcon({ icon: 'ep:house' }) | const iconHouse = useIcon({ icon: 'ep:house' }) | ||||||
| const iconAvatar = useIcon({ icon: 'ep:avatar' }) | const iconAvatar = useIcon({ icon: 'ep:avatar' }) | ||||||
| const iconLock = useIcon({ icon: 'ep:lock' }) | const iconLock = useIcon({ icon: 'ep:lock' }) | ||||||
| const formLogin = ref() | const formLogin = ref() | ||||||
| const { validForm } = useFormValid(formLogin) | const { validForm } = useFormValid(formLogin) | ||||||
| const { setLoginState, getLoginState } = useLoginState() | const { getLoginState } = useLoginState() | ||||||
| const { currentRoute, push } = useRouter() | const { currentRoute, push } = useRouter() | ||||||
| const permissionStore = usePermissionStore() | const permissionStore = usePermissionStore() | ||||||
| const redirect = ref<string>('') | const redirect = ref<string>('') | ||||||
| @ -192,13 +130,6 @@ const loginData = reactive({ | |||||||
|   } |   } | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| const socialList = [ |  | ||||||
|   { icon: 'ant-design:wechat-filled', type: 30 }, |  | ||||||
|   { icon: 'ant-design:dingtalk-circle-filled', type: 20 }, |  | ||||||
|   { icon: 'ant-design:github-filled', type: 0 }, |  | ||||||
|   { icon: 'ant-design:alipay-circle-filled', type: 0 } |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| // 获取验证码 | // 获取验证码 | ||||||
| const getCode = async () => { | const getCode = async () => { | ||||||
|   // 情况一,未开启:则直接登录 |   // 情况一,未开启:则直接登录 | ||||||
| @ -280,42 +211,6 @@ const handleLogin = async (params) => { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 社交登录 |  | ||||||
| const doSocialLogin = async (type: number) => { |  | ||||||
|   if (type === 0) { |  | ||||||
|     message.error('此方式未配置') |  | ||||||
|   } else { |  | ||||||
|     loginLoading.value = true |  | ||||||
|     if (loginData.tenantEnable === 'true') { |  | ||||||
|       // 尝试先通过 tenantName 获取租户 |  | ||||||
|       await getTenantId() |  | ||||||
|       // 如果获取不到,则需要弹出提示,进行处理 |  | ||||||
|       if (!authUtil.getTenantId()) { |  | ||||||
|         try { |  | ||||||
|           const data = await message.prompt('请输入租户名称', t('common.reminder')) |  | ||||||
|           if (data?.action !== 'confirm') throw 'cancel' |  | ||||||
|           const res = await LoginApi.getTenantIdByName(data.value) |  | ||||||
|           authUtil.setTenantId(res) |  | ||||||
|         } catch (error) { |  | ||||||
|           if (error === 'cancel') return |  | ||||||
|         } finally { |  | ||||||
|           loginLoading.value = false |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     // 计算 redirectUri |  | ||||||
|     // tricky: type、redirect需要先encode一次,否则钉钉回调会丢失。 |  | ||||||
|     // 配合 Login/SocialLogin.vue#getUrlValue() 使用 |  | ||||||
|     const redirectUri = |  | ||||||
|       location.origin + |  | ||||||
|       '/social-login?' + |  | ||||||
|       encodeURIComponent(`type=${type}&redirect=${redirect.value || '/'}`) |  | ||||||
| 
 |  | ||||||
|     // 进行跳转 |  | ||||||
|     const res = await LoginApi.socialAuthRedirect(type, encodeURIComponent(redirectUri)) |  | ||||||
|     window.location.href = res |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| watch( | watch( | ||||||
|   () => currentRoute.value, |   () => currentRoute.value, | ||||||
|   (route: RouteLocationNormalizedLoaded) => { |   (route: RouteLocationNormalizedLoaded) => { | ||||||
|  | |||||||
| @ -22,9 +22,6 @@ | |||||||
|           <el-tab-pane :label="t('profile.info.resetPwd')" name="resetPwd"> |           <el-tab-pane :label="t('profile.info.resetPwd')" name="resetPwd"> | ||||||
|             <ResetPwd /> |             <ResetPwd /> | ||||||
|           </el-tab-pane> |           </el-tab-pane> | ||||||
|           <el-tab-pane :label="t('profile.info.userSocial')" name="userSocial"> |  | ||||||
|             <UserSocial v-model:activeName="activeName" /> |  | ||||||
|           </el-tab-pane> |  | ||||||
|         </el-tabs> |         </el-tabs> | ||||||
|       </div> |       </div> | ||||||
|     </el-card> |     </el-card> | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <el-table v-loading="loading" :data="list"> |     <el-table v-loading="loading" :data="list"> | ||||||
|       <el-table-column label="定义编号" align="center" prop="id" width="400" /> |       <el-table-column label="定义编号" align="center" prop="id" width="400" /> | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="审批接入(流程表单)" url="https://doc.iocoder.cn/bpm/use-bpm-form/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,12 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="流程设计器(BPMN)" url="https://doc.iocoder.cn/bpm/model-designer-dingding/" /> |  | ||||||
|   <doc-alert |  | ||||||
|     title="流程设计器(钉钉、飞书)" |  | ||||||
|     url="https://doc.iocoder.cn/bpm/model-designer-bpmn/" |  | ||||||
|   /> |  | ||||||
|   <doc-alert title="选择审批人、发起人自选" url="https://doc.iocoder.cn/bpm/assignee/" /> |  | ||||||
|   <doc-alert title="会签、或签、依次审批" url="https://doc.iocoder.cn/bpm/multi-instance/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
| @ -150,7 +142,7 @@ | |||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="操作" align="center" width="240" fixed="right"> |       <el-table-column label="操作" align="center" fixed="right"> | ||||||
|         <template #default="scope"> |         <template #default="scope"> | ||||||
|           <el-button |           <el-button | ||||||
|             link |             link | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="审批接入(业务表单)" url="https://doc.iocoder.cn/bpm/use-business-form/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="流程表达式" url="https://doc.iocoder.cn/bpm/expression/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="流程发起、取消、重新发起" url="https://doc.iocoder.cn/bpm/process-instance/" /> |  | ||||||
| 
 |  | ||||||
|   <!-- 第一步,通过流程定义的列表,选择对应的流程 --> |   <!-- 第一步,通过流程定义的列表,选择对应的流程 --> | ||||||
|   <ContentWrap v-if="!selectProcessDefinition" v-loading="loading"> |   <ContentWrap v-if="!selectProcessDefinition" v-loading="loading"> | ||||||
|     <el-tabs tab-position="left" v-model="categoryActive"> |     <el-tabs tab-position="left" v-model="categoryActive"> | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="流程发起、取消、重新发起" url="https://doc.iocoder.cn/bpm/process-instance/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" /> |  | ||||||
| 
 |  | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <!-- 搜索工作栏 --> |     <!-- 搜索工作栏 --> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -1,6 +1,4 @@ | |||||||
| <template> | <template> | ||||||
|   <doc-alert title="公众号粉丝" url="https://doc.iocoder.cn/mp/user/" /> |  | ||||||
| 
 |  | ||||||
|   <!-- 搜索工作栏 --> |   <!-- 搜索工作栏 --> | ||||||
|   <ContentWrap> |   <ContentWrap> | ||||||
|     <el-form |     <el-form | ||||||
|  | |||||||
| @ -60,6 +60,7 @@ const formData = ref({ | |||||||
| }) | }) | ||||||
| const formRules = reactive({ | const formRules = reactive({ | ||||||
|   name: [{ required: true, message: '岗位标题不能为空', trigger: 'blur' }], |   name: [{ required: true, message: '岗位标题不能为空', trigger: 'blur' }], | ||||||
|  |   sort: [{ required: true, message: '岗位顺序不能为空', trigger: 'blur' }], | ||||||
|   code: [{ required: true, message: '岗位编码不能为空', trigger: 'change' }], |   code: [{ required: true, message: '岗位编码不能为空', trigger: 'change' }], | ||||||
|   status: [{ required: true, message: '岗位状态不能为空', trigger: 'change' }], |   status: [{ required: true, message: '岗位状态不能为空', trigger: 'change' }], | ||||||
|   remark: [{ required: false, message: '岗位内容不能为空', trigger: 'blur' }] |   remark: [{ required: false, message: '岗位内容不能为空', trigger: 'blur' }] | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user