共享大厅新增地址按钮
This commit is contained in:
parent
f4b18c5e09
commit
65380418c7
|
|
@ -87,20 +87,29 @@
|
|||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item prop="address" label="收货地址">
|
||||
<el-select
|
||||
v-model="queryForm.address"
|
||||
placeholder="请选择收货地址"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 616px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in addressList"
|
||||
:label="item.addressName"
|
||||
:value="item.addressName"
|
||||
/>
|
||||
</el-select>
|
||||
<el-form-item prop="address" label="收货地址" >
|
||||
<div style="display: flex; align-items: center">
|
||||
<el-select
|
||||
v-model="queryForm.address"
|
||||
placeholder="请选择收货地址"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 616px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in addressList"
|
||||
:label="item.addressName"
|
||||
:value="item.addressName"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
style="margin-left: 35px;background-color: #1abc9c; color: #fff"
|
||||
@click="handleAddress"
|
||||
>新增地址</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -339,6 +348,104 @@
|
|||
</div>
|
||||
<div id="mmm" style="height: 600px"></div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
width="40%"
|
||||
align-center
|
||||
destroy-on-close
|
||||
title="新增收货地址"
|
||||
v-model="addOrEditDialogVisible"
|
||||
>
|
||||
<el-form
|
||||
label-width="auto"
|
||||
label-position="right"
|
||||
ref="addOrEditFormRef"
|
||||
:model="addOrEditForm"
|
||||
:rules="addOrEditFormRules"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="所在省" prop="provinceCode">
|
||||
<el-select
|
||||
clearable
|
||||
style="width: 95%"
|
||||
placeholder="请选择省"
|
||||
v-model="addOrEditForm.provinceCode"
|
||||
@change="onProvinceChange($event)"
|
||||
>
|
||||
<el-option
|
||||
:key="item.areaId"
|
||||
:value="item.areaCode * 1"
|
||||
:label="item.areaName"
|
||||
v-for="item in areaList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="cityCode" label="所在市">
|
||||
<el-select
|
||||
clearable
|
||||
style="width: 95%"
|
||||
placeholder="请选择市"
|
||||
v-model="addOrEditForm.cityCode"
|
||||
@change="onCityChange($event)"
|
||||
>
|
||||
<el-option
|
||||
:key="item.areaId"
|
||||
:value="item.areaCode * 1"
|
||||
:label="item.areaName"
|
||||
v-for="item in areaCityList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="areaCode" label="所在区/县">
|
||||
<el-select
|
||||
clearable
|
||||
style="width: 95%"
|
||||
placeholder="请选择区/县"
|
||||
v-model="addOrEditForm.areaCode"
|
||||
@change="onCountyChange($event)"
|
||||
>
|
||||
<el-option
|
||||
:key="item.areaId"
|
||||
:value="item.areaCode * 1"
|
||||
:label="item.areaName"
|
||||
v-for="item in areaCountyList"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="address" label="详细地址">
|
||||
<el-input
|
||||
style="width: 95%"
|
||||
clearable
|
||||
placeholder="请输入详细地址"
|
||||
v-model="addOrEditForm.address"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="primary-lease"
|
||||
@click="addOrEditDialogVisible = false"
|
||||
>取消</el-button
|
||||
>
|
||||
<el-button class="primary-lease" type="primary" @click="onSubmit">
|
||||
提交
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -349,8 +456,9 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|||
import { getBookCarDetailByMaId, submitBookCarApi } from '../../http/api/order/index'
|
||||
import { getBookCarAgreementApi, getProListApi } from 'http/api/cart/index'
|
||||
import CustomDatePickerButton from '../cart/components/date-picker-button.vue'
|
||||
import { getAddressListApi } from 'http/api/address-manage/index'
|
||||
import { getAddressListApi,addAddressInfoApi } from 'http/api/address-manage/index'
|
||||
import { getCodeNumDetailApi } from 'http/api/equip'
|
||||
import { getAreaApi } from 'http/api/home'
|
||||
import moment from 'moment'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useStore } from '../../store/user'
|
||||
|
|
@ -370,6 +478,26 @@ const protocolChecked = ref<boolean>(false)
|
|||
const orderList = ref<any>([])
|
||||
const addressTitle = ref('请选择收货地址')
|
||||
const addressList = ref<any>([])
|
||||
|
||||
const addOrEditDialogVisible = ref(false)
|
||||
const addOrEditForm = ref<any>({
|
||||
areaCode: '', // 省
|
||||
cityCode: '', // 市
|
||||
provinceCode: '', // 区
|
||||
address: '', // 详细地址
|
||||
})
|
||||
const addOrEditFormRef = ref<any>(null)
|
||||
const addOrEditFormRules = reactive({
|
||||
areaCode: [{ required: true, message: '请选择项目所在区/县', trigger: 'change' }],
|
||||
cityCode: [{ required: true, message: '请选择项目所在市', trigger: 'change' }],
|
||||
provinceCode: [{ required: true, message: '请选择项目所在省', trigger: 'change' }],
|
||||
address: [{ required: true, message: '请输入项目详细地址', trigger: 'blur' }],
|
||||
})
|
||||
const areaList = ref<any>([]) // 省
|
||||
const areaCityList = ref<any>([]) // 市
|
||||
const areaCountyList = ref<any>([]) // 区/县
|
||||
|
||||
|
||||
const queryForm: any = reactive({
|
||||
useUnit: store.userInfo?.dept?.deptId || '', // 需求单位(使用可选链避免报错)
|
||||
useUnitName: store.userInfo?.dept?.deptName || '', // 需求单位名称(使用可选链避免报错)
|
||||
|
|
@ -439,6 +567,60 @@ onMounted(() => {
|
|||
}, 500)
|
||||
})
|
||||
|
||||
const handleAddress = () => {
|
||||
addOrEditDialogVisible.value = true
|
||||
getAreaData()
|
||||
nextTick(() => {
|
||||
addOrEditFormRef.value.resetFields()
|
||||
})
|
||||
}
|
||||
const getAreaData = async () => {
|
||||
try {
|
||||
const res: any = await getAreaApi(0)
|
||||
areaList.value = res.data
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ getAreaData ~ error:', error)
|
||||
}
|
||||
}
|
||||
|
||||
const onProvinceChange = async (id: any) => {
|
||||
try {
|
||||
const res: any = await getAreaApi(id)
|
||||
areaCityList.value = res.data
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ onProvinceChange ~ error:', error)
|
||||
}
|
||||
}
|
||||
const onCityChange = async (id: any) => {
|
||||
try {
|
||||
const res: any = await getAreaApi(id)
|
||||
areaCountyList.value = res.data
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ onCityChange ~ error:', error)
|
||||
}
|
||||
}
|
||||
const onCountyChange = async (id: any) => {}
|
||||
// 提交
|
||||
const onSubmit = () => {
|
||||
addOrEditFormRef.value.validate(async (valid: any) => {
|
||||
if (valid) {
|
||||
try {
|
||||
const res: any = await addAddressInfoApi(addOrEditForm.value)
|
||||
if (res.code === 200) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '提交成功',
|
||||
})
|
||||
|
||||
addOrEditDialogVisible.value = false
|
||||
getReceiptGoodsAddress()
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('🚀 ~ addOrEditFormRef.value.validate ~ error:', error)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
const onLeaseDateChange = (value: any, companyIndex: number, goodsIndex: number) => {
|
||||
orderList.value.forEach((e: any) => {
|
||||
if (!value) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue