From aae6cb63fac8f2956615481382c101cfd2e7d45c Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期日, 28 五月 2023 22:15:52 +0800
Subject: [PATCH] gxapi
---
src/views/jifenShangCheng/components/dizhi.vue | 263 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 175 insertions(+), 88 deletions(-)
diff --git a/src/views/jifenShangCheng/components/dizhi.vue b/src/views/jifenShangCheng/components/dizhi.vue
index c6cf482..2727f31 100644
--- a/src/views/jifenShangCheng/components/dizhi.vue
+++ b/src/views/jifenShangCheng/components/dizhi.vue
@@ -6,14 +6,14 @@
left-text="返回"
left-arrow
@click-left="onClickLeft"
- />
+ />
<van-address-list
v-model="chosenAddressId"
:list="list"
default-tag-text="默认"
@add="onAdd"
@edit="onEdit"
- />
+ />
</van-popup>
<van-popup v-model:show="editDizhi" position="bottom" :style="{ height: '100%' }">
<van-nav-bar
@@ -21,99 +21,186 @@
left-text="返回"
left-arrow
@click-left="onClickLeft2"
- />
- <van-address-edit
- ref="addressEditRef"
- :area-list="areaList"
- show-delete
- show-set-default
- show-search-result
- :address-info="addressInfo"
- :area-columns-placeholder="['请选择', '请选择', '请选择']"
- @save="onSave"
- @delete="onDelete"
- />
+ />
+ <van-address-edit
+ ref="addressEditRef"
+ :area-list="areaList"
+ show-delete
+ show-set-default
+ show-search-result
+ :address-info="addressInfo"
+ :area-columns-placeholder="['请选择', '请选择', '请选择']"
+ @save="onSave"
+ @delete="onDelete"
+ />
</van-popup>
</div>
</template>
<script setup lang="ts">
-import { Toast } from 'vant';
-import { ref } from 'vue';
-import { areaList } from '@vant/area-data';
-import type { AddressEditInstance } from 'vant';
-name:"dizhibianji"
-const emit = defineEmits(['fanhuiFun'])
-const showDizhi=ref(false)
-const editDizhi=ref(false)
-const addressEditRef = ref<AddressEditInstance>();
-const chosenAddressId = ref('1')
-const addressInfo=ref({
- name:'',
- tel:'',
- province:'',
- city:"",
- county:'',
- addressDetail:'',
- isDefault:false
-})
-const list =[
-{
- id: '1',
- name: '张三',
- tel: '13000000000',
- address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室',
- isDefault: true,
- },
- {
- id: '2',
- name: '李四',
- tel: '1310000000',
- address: '浙江省杭州市拱墅区莫干山路 50 号',
- },
-]
-const openShow=()=>{
- showDizhi.value=true
-}
-const onClickLeft=()=>{
- showDizhi.value=false
-}
-const onClickLeft2=()=>{
- addressEditRef.value?.setAddressDetail('3434343');
- editDizhi.value=false
-}
-const onAdd = () =>{
- editDizhi.value=true
- addressInfo.value={
+ import { Toast } from 'vant'
+ import { ref } from 'vue'
+ import { areaList } from '@vant/area-data'
+ import type { AddressEditInstance } from 'vant'
+ import { ajaxPost } from '@/utils/axios'
+ import { userInfoStore } from '@/stores/userInfo'
+ const userInfo = userInfoStore()
+ const emit = defineEmits(['fanhuiFun'])
+ const showDizhi=ref(false)
+ const editDizhi=ref(false)
+ const addressEditRef = ref<AddressEditInstance>()
+ const chosenAddressId = ref(1)
+ const addressInfo=ref({
+ id:0,
name:'',
- tel:'17717874345',
- province:'',
- city:"",
- county:'',
addressDetail:'',
- isDefault:false
- }
-}
-const onEdit = (item:any, index:number) =>{
- console.log(item)
- addressInfo.value={
- name:item.name,
- tel:item.tel,
- province:'',
- city:"",
+ tel:'',
+ city:'',
county:'',
- addressDetail:item.address,
- isDefault:item.isDefault
+ areaCode:'',
+ address:'',
+ isDefault:false
+ })
+ const list = ref([
+ {
+ id: 0,
+ code:'',
+ name:'',
+ tel:'',
+ province:'',
+ city:'',
+ county:'',
+ areaCode:'',
+ address:'',
+ isDefault:false
+ },
+ ])
+ const getDefDizhi=(isload:boolean)=>{
+ const pasm=`page=0&size=0&wherecondition=patient_code="${userInfo.patient.patientInfo.code}"`
+ ajaxPost('/patient/address/list', pasm).then((re: any) => {
+ console.log('默认地址')
+ console.log(re)
+ if (re.list.length===0){
+ onAdd()
+ } else {
+ list.value=[]
+ re.list.forEach((e:any)=>{
+ list.value.push({
+ id: e.id,
+ code:e.code,
+ name:e.receivePersonName,
+ tel:e.receivePersonMobile,
+ province:'',
+ city:e.addressArea.split(',')[0],
+ county:e.addressArea.split(',')[1],
+ areaCode:e.remark,
+ address:e.patientAddress,
+ isDefault:e.patientIsDefault===1?true:false,
+ })
+ if (isload){
+ if (e.patientIsDefault===1){
+ chosenAddressId.value=(e.id)
+ }
+ }
+ })
+ console.log(list.value)
+ }
+
+ })
}
- editDizhi.value=true
-}
-const onSave = (form:any) => {
- Toast('save');
- console.log(form)
-
-}
-const onDelete = () => Toast('delete');
-defineExpose({
- openShow
-} )
+ // 打开地址列表
+ const openShow=(id:number)=>{
+ showDizhi.value=true
+ chosenAddressId.value=id
+ getDefDizhi(false)
+ }
+ const onClickLeft=()=>{
+ showDizhi.value=false
+ console.log('返回父级组件',chosenAddressId.value)
+ const row=list.value.find((e:any)=> e.id===chosenAddressId.value)
+ emit('fanhuiFun',row)
+ }
+ const onClickLeft2=()=>{
+ addressEditRef.value?.setAddressDetail('3434343')
+ editDizhi.value=false
+ }
+ const onAdd = () =>{
+ editDizhi.value=true
+ console.log('用户信息')
+ console.log(userInfo.patient)
+ addressInfo.value={
+ id:0,
+ name:userInfo.patient.patientInfo.patientName,
+ addressDetail:userInfo.patient.patientInfo.patientAddress,
+ tel:userInfo.patient.patientInfo.patientTelNo,
+ city:'',
+ county:'',
+ areaCode:'',
+ address:'',
+ isDefault:false
+ }
+ }
+ const onEdit = (item:any, index:number) =>{
+ console.log(item,index)
+ addressInfo.value={
+ id:item.id,
+ name:item.name,
+ addressDetail:item.address,
+ tel:item.tel,
+ city:item.city,
+ county:item.county,
+ areaCode:item.areaCode,
+ address:'',
+ isDefault:item.isDefault
+ }
+ editDizhi.value=true
+ }
+ const onSave = (form:any) => {
+ const pasm={
+ addressArea: [form.city,form.county].toString(),
+ id: addressInfo.value.id,
+ patientAddress: form.addressDetail,
+ patientCode: userInfo.patient.patientInfo.code,
+ patientIsDefault: form.isDefault===true?1:0,
+ receivePersonMobile: form.tel,
+ receivePersonName: form.name,
+ // 存地址code
+ remark: form.areaCode,
+ }
+ if (pasm.id===0){
+ ajaxPost('/patient/address/add', pasm).then((re: any) => {
+ console.log('默认地址')
+ console.log(re)
+ Toast.success('保存成功')
+ getDefDizhi(false)
+ chosenAddressId.value=re.id
+ editDizhi.value=false
+ })
+ } else {
+ ajaxPost('/patient/address/update', pasm).then((re: any) => {
+ console.log('默认地址')
+ chosenAddressId.value=re.id
+ console.log(re)
+ Toast.success('保存成功')
+ getDefDizhi(false)
+ editDizhi.value=false
+ })
+ }
+
+
+
+
+ }
+ const onDelete = () => {
+ ajaxPost('patient/address/delete','id='+addressInfo.value.id).then(re=>{
+ editDizhi.value=false
+ console.log(re)
+ Toast.success('删除成功!')
+ }).finally(()=>{
+ getDefDizhi(true)
+ })
+ }
+ defineExpose({
+ openShow
+ } )
</script>
\ No newline at end of file
--
Gitblit v1.8.0