wupengfei
4 天以前 b89d6a0f58e3c4d7bd3704e007ea96c85a92d0a5
apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue
@@ -5,7 +5,7 @@
        <Uploader v-model:file-list="form.avatar" :maximum="1" class="bole-uploader"> </Uploader>
      </nut-form-item>
      <nut-form-item label="姓名:" class="bole-form-item" prop="name">
        <nut-input v-model.trim="form.name" placeholder="请输入姓名" />
        <nut-input v-model.trim="form.name" placeholder="请输入姓名" disabled />
      </nut-form-item>
      <nut-form-item label="手机号:" class="bole-form-item" prop="contactPhoneNumber" required>
        <nut-input v-model.trim="form.contactPhoneNumber" placeholder="请输入手机号" type="text" />
@@ -26,7 +26,7 @@
      </nut-form-item>
      <nut-form-item label="常驻城市:" class="bole-form-item" prop="areaList">
        <ChooseInputWithAreaPicker
          :columns="completeAreaTree"
          :columns="areaTree"
          v-model="form.areaList"
          placeholder="请选择常驻城市"
        ></ChooseInputWithAreaPicker>
@@ -42,15 +42,21 @@
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import { ChooseInputWithPicker, ChooseInputWithAreaPicker } from '@12333/components';
import { convertApi2FormUrlOnlyOne, Message, setOSSLink } from '@12333/utils';
import { useArea, useDictionaryDataSelect } from '@12333/hooks';
import { CategoryCode } from '@12333/constants';
import { useAreaTree, useDictionaryDataSelect } from '@12333/hooks';
import { AreaType, CategoryCode } from '@12333/constants';
import * as userResumeServices from '@12333/services/apiV2/userResume';
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
import { useEventChannel } from 'senin-mini/hooks';
import { goBack } from '@/utils';
defineOptions({
  name: 'InnerPage',
});
const { updateUserResume } = useUpdateResume();
const eventChannel = useEventChannel();
const { dictionaryDataList: identityList } = useDictionaryDataSelect({
  categoryCode: CategoryCode.Identity,
@@ -60,12 +66,13 @@
  categoryCode: CategoryCode.Education,
});
const { completeAreaTree } = useArea();
const { areaTree } = useAreaTree({
  maxLayer: AreaType.City,
});
const form = reactive({
  avatar: [],
  name: '',
  identity: '',
  contactPhoneNumber: '',
  personalIdentityCode: '',
  educationalBackgroundCode: '',
@@ -89,14 +96,12 @@
  },
  placeholderData: () => ({} as API.GetUserResumePersonalQueryResult),
  onSuccess(data) {
    form.avatar = convertApi2FormUrlOnlyOne(setOSSLink(data.avatar));
    form.name = data.name;
    form.identity = data.identity;
    form.contactPhoneNumber = data.contactPhoneNumber;
    form.avatar = convertApi2FormUrlOnlyOne(data.avatar);
    form.name = data.name ?? '';
    form.contactPhoneNumber = data.contactPhoneNumber ?? '';
    form.personalIdentityCode = data.personalIdentityCode ?? '';
    form.educationalBackgroundCode = data.educationalBackgroundCode ?? '';
    form.areaList =
      data.provinceCode && data.cityCode ? [data.provinceCode, data.cityCode] : ['', ''];
    form.areaList = [data.provinceCode, data.cityCode].filter(Boolean);
  },
});
@@ -130,31 +135,22 @@
  try {
    let params: API.SaveUserResumePersonalCommand = {
      name: form.name,
      identity: form.identity,
      avatar: form.avatar[0]?.path,
      avatar: form.avatar?.[0]?.path ?? '',
      contactPhoneNumber: form.contactPhoneNumber,
      educationalBackgroundCode: form.educationalBackgroundCode,
      personalIdentityCode: form.personalIdentityCode,
      provinceCode: form.areaList[0],
      cityCode: form.areaList[1],
      provinceCode: form.areaList?.[0] ?? '',
      cityCode: form.areaList?.[1] ?? '',
    };
    let res = await userResumeServices.saveUserResumePersonal(params);
    if (res) {
      Message.success('保存成功', {
        onClosed() {
          Taro.navigateTo({
            url: `${RouterPath.mineCurriculumVitae}`,
            success: function (res) {
              res.eventChannel.emit('updateResume', { content: true });
            },
          });
          goBack();
          updateUserResume();
        },
      });
    }
  } catch (error) {}
}
</script>
<style lang="scss">
@import '@/styles/common.scss';
</style>