From e75076815db5ab6870353d0760b962b671e7c56f Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 23 十二月 2025 17:50:28 +0800
Subject: [PATCH] fix: 甲方小程序
---
apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 172 insertions(+), 0 deletions(-)
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue
new file mode 100644
index 0000000..caf540a
--- /dev/null
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue
@@ -0,0 +1,172 @@
+<template>
+ <ContentScrollView :paddingH="false">
+ <nut-form :model-value="form" ref="formRef" :rules="rules" label-position="top">
+ <nut-form-item label="濮撳悕:" class="bole-form-item" prop="name" required>
+ <nut-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�"> </nut-input>
+ </nut-form-item>
+ <nut-form-item label="鎵嬫満鍙�:" class="bole-form-item" prop="contactPhoneNumber" required>
+ <nut-input v-model.trim="form.contactPhoneNumber" placeholder="璇疯緭鍏ユ墜鏈哄彿" type="text" />
+ </nut-form-item>
+ <!-- <nut-form-item label="鍏徃鎵�鍦ㄥ湴" class="bole-form-item" prop="areaList" required>
+ <ChooseInputWithAreaPicker
+ :columns="areaTree"
+ v-model="form.areaList"
+ placeholder="璇烽�夋嫨鎮ㄥ叕鍙哥殑鎵�鍦ㄥ湴"
+ ></ChooseInputWithAreaPicker>
+ </nut-form-item> -->
+ <nut-form-item label="璇︾粏鍦板潃:" class="bole-form-item" prop="weMapInfo" required>
+ <ChooseLocationInput
+ inputAlign="left"
+ placeholder="璇烽�夋嫨璇︾粏鍦板潃"
+ v-model="form.weMapInfo"
+ />
+ </nut-form-item>
+ <nut-form-item label="闂ㄧ墝鍙�:" class="bole-form-item" prop="addressDetail" required>
+ <nut-input v-model="form.addressDetail" placeholder="渚嬪锛歺x灏忓尯xx鍗曞厓xxx"> </nut-input>
+ </nut-form-item>
+ <nut-form-item
+ label="榛樿鍦板潃:"
+ class="bole-form-item"
+ prop="isDefault"
+ label-position="left"
+ >
+ <div class="switch-wrapper">
+ <nut-switch v-model="form.isDefault" />
+ </div>
+ </nut-form-item>
+ </nut-form>
+ </ContentScrollView>
+ <PageFooter>
+ <PageFooterBtn type="primary" @click="handleConfirm">淇濆瓨</PageFooterBtn>
+ </PageFooter>
+</template>
+
+<script setup lang="ts">
+import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
+import { useQuery } from '@tanstack/vue-query';
+import Taro from '@tarojs/taro';
+import * as enterpriseServices from '@12333/services/apiV2/enterprise';
+import { FormValidator, Message } from '@12333/utils';
+import { goBack } from '@/utils';
+import { ChooseLocationInput } from '@12333/components';
+
+defineOptions({
+ name: 'InnerPage',
+});
+
+const router = Taro.useRouter();
+const id = router.params?.id ?? '';
+const isCopy = router.params?.isCopy === 'true';
+const isEdit = !!id;
+
+const form = reactive({
+ name: '',
+ contactPhoneNumber: '',
+ provinceCode: '',
+ cityCode: '',
+ areaCode: '',
+
+ weMapInfo: {} as WeMapModel,
+ // addressName: '',
+ addressDetail: '',
+ isDefault: false,
+});
+
+const rules = reactive<FormRules>({
+ name: [{ required: true, message: '璇疯緭鍏ュ鍚�' }],
+ contactPhoneNumber: [
+ { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' },
+ { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' },
+ ],
+ weMapInfo: [
+ { required: true, message: '璇烽�夋嫨璇︾粏鍦板潃', validator: FormValidator.validatorWeMap },
+ ],
+ addressDetail: [{ required: true, message: '璇疯緭鍏ラ棬鐗屽彿' }],
+});
+
+const {
+ isLoading,
+ isError,
+ data: detail,
+ refetch,
+} = useQuery({
+ queryKey: ['enterpriseServices/getEnterpriseAddress', id],
+ queryFn: async () => {
+ return await enterpriseServices.getEnterpriseAddress(
+ { id: id },
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => ({} as API.GetEnterpriseAddressQueryResult),
+ enabled: isEdit,
+ onSuccess(data) {
+ form.name = data.name;
+ form.contactPhoneNumber = data.contactPhoneNumber;
+
+ form.weMapInfo = {
+ provinceName: data.provinceContent,
+ cityName: data.cityContent,
+ provinceCode: data.provinceCode,
+ cityCode: data.cityCode,
+ countyCode: data.areaCode,
+ latitude: data.latitude,
+ longitude: data.longitude,
+ };
+ form.addressDetail = data.addressDetail;
+ form.isDefault = data.isDefault;
+ },
+});
+
+const formRef = ref<any>(null);
+function handleConfirm() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ confirm();
+ }
+ });
+}
+
+async function confirm() {
+ try {
+ let params: API.SaveEnterpriseAddressCommand = {
+ name: form.name,
+ contactPhoneNumber: form.contactPhoneNumber,
+ provinceCode: form.weMapInfo.provinceCode,
+ cityCode: form.weMapInfo.cityCode,
+ areaCode: form.weMapInfo.countyCode,
+ addressName: form.weMapInfo.address,
+ addressDetail: form.addressDetail,
+ longitude: form.weMapInfo.longitude,
+ latitude: form.weMapInfo.latitude,
+ isDefault: form.isDefault,
+ };
+
+ if (isEdit) {
+ params.id = id;
+ }
+
+ let res = await enterpriseServices.saveEnterpriseAddress(params);
+ if (res) {
+ Message.success(isEdit ? '缂栬緫鎴愬姛' : '娣诲姞鎴愬姛', {
+ onClosed() {
+ goBack();
+ },
+ });
+ }
+ } catch (error) {}
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.editAddress-page-wrapper {
+ .switch-wrapper {
+ display: flex;
+ justify-content: flex-end;
+ }
+}
+</style>
--
Gitblit v1.10.0