mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	Merge branch 'main' of github.com:pure-admin/vue-pure-admin into gitee
This commit is contained in:
		
						commit
						793e228be2
					
				
							
								
								
									
										1
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							@ -3,6 +3,7 @@
 | 
			
		||||
    "christian-kohler.path-intellisense",
 | 
			
		||||
    "vscode-icons-team.vscode-icons",
 | 
			
		||||
    "davidanson.vscode-markdownlint",
 | 
			
		||||
    "ms-azuretools.vscode-docker",
 | 
			
		||||
    "stylelint.vscode-stylelint",
 | 
			
		||||
    "bradlc.vscode-tailwindcss",
 | 
			
		||||
    "dbaeumer.vscode-eslint",
 | 
			
		||||
 | 
			
		||||
@ -22,19 +22,31 @@ notices.value.map(v => (noticesNum.value += v.list.length));
 | 
			
		||||
    </span>
 | 
			
		||||
    <template #dropdown>
 | 
			
		||||
      <el-dropdown-menu>
 | 
			
		||||
        <el-tabs :stretch="true" v-model="activeKey" class="dropdown-tabs">
 | 
			
		||||
          <template v-for="item in notices" :key="item.key">
 | 
			
		||||
            <el-tab-pane
 | 
			
		||||
              :label="`${item.name}(${item.list.length})`"
 | 
			
		||||
              :name="`${item.key}`"
 | 
			
		||||
            >
 | 
			
		||||
              <el-scrollbar max-height="330px">
 | 
			
		||||
                <div class="noticeList-container">
 | 
			
		||||
                  <NoticeList :list="item.list" />
 | 
			
		||||
                </div>
 | 
			
		||||
              </el-scrollbar>
 | 
			
		||||
            </el-tab-pane>
 | 
			
		||||
          </template>
 | 
			
		||||
        <el-tabs
 | 
			
		||||
          :stretch="true"
 | 
			
		||||
          v-model="activeKey"
 | 
			
		||||
          class="dropdown-tabs"
 | 
			
		||||
          :style="{ width: notices.length === 0 ? '200px' : '330px' }"
 | 
			
		||||
        >
 | 
			
		||||
          <el-empty
 | 
			
		||||
            v-if="notices.length === 0"
 | 
			
		||||
            description="暂无消息"
 | 
			
		||||
            :image-size="60"
 | 
			
		||||
          />
 | 
			
		||||
          <span v-else>
 | 
			
		||||
            <template v-for="item in notices" :key="item.key">
 | 
			
		||||
              <el-tab-pane
 | 
			
		||||
                :label="`${item.name}(${item.list.length})`"
 | 
			
		||||
                :name="`${item.key}`"
 | 
			
		||||
              >
 | 
			
		||||
                <el-scrollbar max-height="330px">
 | 
			
		||||
                  <div class="noticeList-container">
 | 
			
		||||
                    <NoticeList :list="item.list" />
 | 
			
		||||
                  </div>
 | 
			
		||||
                </el-scrollbar>
 | 
			
		||||
              </el-tab-pane>
 | 
			
		||||
            </template>
 | 
			
		||||
          </span>
 | 
			
		||||
        </el-tabs>
 | 
			
		||||
      </el-dropdown-menu>
 | 
			
		||||
    </template>
 | 
			
		||||
@ -57,8 +69,6 @@ notices.value.map(v => (noticesNum.value += v.list.length));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.dropdown-tabs {
 | 
			
		||||
  width: 330px;
 | 
			
		||||
 | 
			
		||||
  .noticeList-container {
 | 
			
		||||
    padding: 15px 24px 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -145,6 +145,7 @@ onKeyStroke("ArrowDown", handleDown);
 | 
			
		||||
    :style="{
 | 
			
		||||
      borderRadius: '6px'
 | 
			
		||||
    }"
 | 
			
		||||
    append-to-body
 | 
			
		||||
    @opened="inputRef.focus()"
 | 
			
		||||
    @closed="inputRef.blur()"
 | 
			
		||||
  >
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,7 @@ export const REGEXP_PWD =
 | 
			
		||||
  /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[()])+$)(?!^.*[\u4E00-\u9FA5].*$)([^(0-9a-zA-Z)]|[()]|[a-z]|[A-Z]|[0-9]){8,18}$/;
 | 
			
		||||
 | 
			
		||||
/** 登录校验 */
 | 
			
		||||
const loginRules = reactive(<FormRules>{
 | 
			
		||||
const loginRules = reactive<FormRules>({
 | 
			
		||||
  password: [
 | 
			
		||||
    {
 | 
			
		||||
      validator: (rule, value, callback) => {
 | 
			
		||||
@ -44,7 +44,7 @@ const loginRules = reactive(<FormRules>{
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
/** 手机登录校验 */
 | 
			
		||||
const phoneRules = reactive(<FormRules>{
 | 
			
		||||
const phoneRules = reactive<FormRules>({
 | 
			
		||||
  phone: [
 | 
			
		||||
    {
 | 
			
		||||
      validator: (rule, value, callback) => {
 | 
			
		||||
@ -76,7 +76,7 @@ const phoneRules = reactive(<FormRules>{
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
/** 忘记密码校验 */
 | 
			
		||||
const updateRules = reactive(<FormRules>{
 | 
			
		||||
const updateRules = reactive<FormRules>({
 | 
			
		||||
  phone: [
 | 
			
		||||
    {
 | 
			
		||||
      validator: (rule, value, callback) => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user