zhengyiming
5 天以前 9e975eee3ebe9cc133435ca3fb2dbf8458efc748
fix: 修改登录
15个文件已修改
115 ■■■■ 已修改文件
apps/bMiniApp/src/constants/router.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/pages/home/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/businessCard/businessCardEdit/InnerPage.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/project.config.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/pages/mine/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/city/citySelect/citySelect.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/login/authorization/authorization.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/login/loginByForm/loginByForm.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/AreaTreeSelect/AreaTreeSelect.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/area.ts 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/task.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/constants/router.ts
@@ -1,5 +1,6 @@
export enum RouterPath {
  authorization = '/subpackages/login/authorization/authorization',
  //B端统一跳转密码登录
  authorization = '/subpackages/login/loginByForm/loginByForm',
  userPolicy = '/subpackages/login/userPolicy/userPolicy',
  loginByForm = '/subpackages/login/loginByForm/loginByForm',
  mineUserPolicy = '/subpackages/login/mineUserPolicy/mineUserPolicy',
apps/bMiniApp/src/pages/home/index.vue
@@ -89,6 +89,12 @@
const { locationCity } = useUser();
onMounted(async () => {
  try {
    await setLocationCity();
  } catch (error) {}
});
const userStore = useUserStore();
const queryMenuState = reactive({
apps/bMiniApp/src/subpackages/businessCard/businessCardEdit/InnerPage.vue
@@ -21,7 +21,7 @@
      </nut-form-item>
      <nut-form-item label="公司所在地" class="bole-form-item" prop="areaList" required>
        <ChooseInputWithAreaPicker
          :columns="areaTreeList"
          :columns="areaTree"
          v-model="form.areaList"
          placeholder="请选择您公司的所在地"
        ></ChooseInputWithAreaPicker>
@@ -54,22 +54,25 @@
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import Taro from '@tarojs/taro';
import { goBack } from '@/utils';
import { useAllAreaList } from '@12333/hooks';
import { useAreaTree } from '@12333/hooks';
import { useQuery } from '@tanstack/vue-query';
import { AreaType } from '@12333/constants';
defineOptions({
  name: 'InnerPage',
});
const { userDetail } = useUser();
const { areaTreeList } = useAllAreaList();
const { areaTree } = useAreaTree({
  maxLayer: AreaType.City,
});
const router = Taro.useRouter();
const taskId = router.params?.taskId ?? '';
const form = reactive({
  avatarUrl: [],
  name: '',
  areaList: [] as number[],
  areaList: [] as string[],
});
const rules = reactive<FormRules>({
apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue
@@ -43,7 +43,7 @@
      list: cityGroups[key].map((x) => ({
        name: x.areaName,
        id: x.areaCode,
        parentId: x.parentId,
        parentId: x.parentCode,
      })),
    });
  }
apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
@@ -58,7 +58,11 @@
  name: 'InnerPage',
});
const { queryMenuState, infiniteLoadingProps, invalidateQueries } = useTaskList();
const { queryMenuState, infiniteLoadingProps, invalidateQueries } = useTaskList({
  defaultQueryMenuState: {
    releaseStatus: EnumTaskReleaseStatus.InProcess,
  },
});
const releaseing = computed(() => {
  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.inProcessReleaseCount ?? 0;
apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue
@@ -2,7 +2,7 @@
  <LoginPageLayout class="loginByForm-page-wrapper">
    <div class="loginB-form-wrapper">
      <div class="loginB-form-tab">
        <div
        <!-- <div
          :class="[
            'loginB-form-tab-item',
            { active: tabType === LoginFormTabs.VerificationCodeLogin },
@@ -14,7 +14,7 @@
            <div class="loginB-form-tab-item-text">验证码登录</div>
            <div class="loginB-form-tab-item-line"></div>
          </div>
        </div>
        </div> -->
        <div
          :class="['loginB-form-tab-item', { active: tabType === LoginFormTabs.AccountLogin }]"
          @click="handleTabChange(LoginFormTabs.AccountLogin)"
@@ -66,7 +66,7 @@
const router = Taro.useRouter();
const tabType = ref(Number(router.params?.tab ?? LoginFormTabs.VerificationCodeLogin));
const tabType = ref(Number(router.params?.tab ?? LoginFormTabs.AccountLogin));
function handleTabChange(tab: LoginFormTabs) {
  tabType.value = tab;
apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
@@ -59,11 +59,7 @@
  name: 'InnerPage',
});
const { queryMenuState, infiniteLoadingProps } = useTaskList({
  defaultQueryMenuState: {
    status: EnumTaskStatus.Wait,
  },
});
const { queryMenuState, infiniteLoadingProps } = useTaskList();
const completedAssignCount = computed(() => {
  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0;
apps/cMiniApp/project.config.json
@@ -3,8 +3,8 @@
    "description": "",
    "setting": {
        "urlCheck": false,
        "es6": false,
        "enhance": false,
        "es6": true,
        "enhance": true,
        "postcss": false,
        "preloadBackgroundData": false,
        "minified": false,
apps/cMiniApp/src/pages/mine/index.vue
@@ -147,6 +147,7 @@
    );
  },
  placeholderData: () => ({} as API.GetPersonalLoginInfoQueryResult),
  enabled: isLogin,
});
function goLogin() {
apps/cMiniApp/src/subpackages/city/citySelect/citySelect.vue
@@ -62,8 +62,7 @@
});
const clickItem = (key: string, item: any) => {
  console.log('item: ', item, 1111);
  // userStore.setLocationCity(item.name, getAreaByAreaCode(item.parentId).areaName);
  userStore.setLocationCity(item.name, getAreaByAreaCode(item.parentId).areaName);
};
async function resetLocation() {
apps/cMiniApp/src/subpackages/login/authorization/authorization.vue
@@ -34,7 +34,7 @@
          </div>
          <div class="other-login-channel-list-item-text">验证码登录</div>
        </div>
        <div
        <!-- <div
          class="other-login-channel-list-item"
          @click="goLoginByForm(LoginFormTabs.AccountLogin)"
        >
@@ -42,7 +42,7 @@
            <img :src="IconPassword" />
          </div>
          <div class="other-login-channel-list-item-text">账户登录</div>
        </div>
        </div> -->
      </div>
    </div>
  </LoginPageLayout>
apps/cMiniApp/src/subpackages/login/loginByForm/loginByForm.vue
@@ -15,7 +15,7 @@
            <div class="loginB-form-tab-item-line"></div>
          </div>
        </div>
        <div
        <!-- <div
          :class="['loginB-form-tab-item', { active: tabType === LoginFormTabs.AccountLogin }]"
          @click="handleTabChange(LoginFormTabs.AccountLogin)"
        >
@@ -24,7 +24,7 @@
            <div class="loginB-form-tab-item-text">账户登录</div>
            <div class="loginB-form-tab-item-line"></div>
          </div>
        </div>
        </div> -->
      </div>
      <VerificationCodeLoginForm
        v-show="tabType === LoginFormTabs.VerificationCodeLogin"
packages/components/src/AreaTreeSelect/AreaTreeSelect.vue
@@ -25,7 +25,7 @@
</template>
<script setup lang="ts">
import { useAllAreaList } from '@12333/hooks';
import { useAllAreaList, useAreaTree } from '@12333/hooks';
import Category from './Category.vue';
import CategoryPane from './CategoryPane.vue';
import { reactive, computed, watch } from 'vue';
@@ -58,14 +58,14 @@
//   },
// });
const { areaTreeList } = useAllAreaList();
const { areaTree } = useAreaTree();
const state = reactive({
  provinceIndex: 0,
  preModelValue: props.modelValue,
});
const provinceList = computed(() => areaTreeList.value.map((x) => ({ ...x, name: x.areaName })));
const provinceList = computed(() => areaTree.value.map((x) => ({ ...x, name: x.areaName })));
const categoryChild = computed(() => {
  if (!provinceList.value.length) {
    return [];
packages/hooks/area.ts
@@ -1,6 +1,6 @@
import { flattenAreaTree, formatAreaListToTree } from '@12333/utils';
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import { computed, onMounted, onUnmounted, ref } from 'vue';
import { computed, MaybeRef, onMounted, onUnmounted, ref, unref } from 'vue';
import { AreaType, CategoryCode } from '@12333/constants';
import Taro, { EventChannel } from '@tarojs/taro';
import { useDictionaryDataSelect } from './dic';
@@ -9,16 +9,9 @@
export function useArea() {
  const queryClient = useQueryClient();
  const { dictionaryDataList } = useDictionaryDataSelect({
    categoryCode: CategoryCode.Area,
    staleTime: Infinity,
    all: true,
    maxDeep: AreaType.Area,
  });
  const { areaList } = useAllAreaList();
  const areaList = computed(() => dictionaryDataList.value.map(convertDictionaryToAreaTreeNode));
  // const areaTree = computed(() => formatAreaListToTree(areaList.value));
  // const areaList = computed(() => dictionaryDataList.value.map(convertDictionaryToAreaTreeNode));
  function getAreaFromCompleteAreaList(areaCode: string) {
    return areaList.value.find((x) => x.areaCode === areaCode);
@@ -38,24 +31,16 @@
  };
}
export function useAreaTree() {
  axios.get('https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt').then((res) => {
    console.log(res);
  });
  const { data } = useQuery({
    queryKey: ['area.txt'],
    queryFn() {
      return axios
        .get<API.AreaTreeNode[]>(
          'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt'
        )
        .then((res) => res.data);
    },
type UseAreaTreeOptions = {
  maxLayer?: MaybeRef<AreaType>;
};
    placeholderData: () => [] as API.AreaTreeNode[],
  });
export function useAreaTree(options = {} as UseAreaTreeOptions) {
  const { maxLayer = AreaType.Area } = options;
  const areaTree = computed(() => formatAreaListToTree(data.value));
  const { areaList } = useAllAreaList();
  const areaTree = computed(() => formatAreaListToTree(areaList.value, null, unref(maxLayer)));
  return { areaTree: areaTree };
}
@@ -75,7 +60,19 @@
}
export function useAllAreaList() {
  const { areaList } = useArea();
  const { data: areaList } = useQuery({
    queryKey: ['area.txt'],
    queryFn() {
      return axios
        .get<API.AreaTreeNode[]>(
          'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt'
        )
        .then((res) => res.data);
    },
    placeholderData: () => [] as API.AreaTreeNode[],
    staleTime: Infinity,
  });
  const findAreaCodeFromName = (areaName: string) => {
    const areaItem = areaList.value.find((x) => x.areaName === areaName);
packages/hooks/task.ts
@@ -45,7 +45,7 @@
    settlementCycle: '' as any as EnumSettlementCycle,
    benefitCodes: '',
    status: '' as any as EnumTaskStatus,
    releaseStatus: EnumTaskReleaseStatus.InProcess,
    releaseStatus: '' as any as EnumTaskReleaseStatus,
    checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
    enterpriseId: '',
    time: '' as any as Date,