|
@@ -35,8 +35,7 @@ import Dialog from '@/components/CtDialog'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import { redeemSubmit } from '@/api/mall'
|
|
import { redeemSubmit } from '@/api/mall'
|
|
import { useUserStore } from '@/store/user'
|
|
import { useUserStore } from '@/store/user'
|
|
-import { checkAddress } from '@/utils/validate'
|
|
|
|
-
|
|
|
|
|
|
+import { getDict } from '@/hooks/web/useDictionaries'
|
|
|
|
|
|
const emit = defineEmits(['login', 'toTaskCenter'])
|
|
const emit = defineEmits(['login', 'toTaskCenter'])
|
|
defineProps({
|
|
defineProps({
|
|
@@ -65,19 +64,25 @@ const formItems = ref({
|
|
outlined: true,
|
|
outlined: true,
|
|
rules: [v => !!v || '请填写收货人联系电话']
|
|
rules: [v => !!v || '请填写收货人联系电话']
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ type: 'cascade',
|
|
|
|
+ key: 'address',
|
|
|
|
+ value: [],
|
|
|
|
+ label: '收货地址',
|
|
|
|
+ itemText: 'name',
|
|
|
|
+ itemValue: 'name',
|
|
|
|
+ required: true,
|
|
|
|
+ clearable: false,
|
|
|
|
+ emitPath: true,
|
|
|
|
+ items: []
|
|
|
|
+ },
|
|
{
|
|
{
|
|
type: 'textarea',
|
|
type: 'textarea',
|
|
key: 'contactAddress',
|
|
key: 'contactAddress',
|
|
- value: '先烈中路100号大院203室',
|
|
|
|
|
|
+ value: '',
|
|
hide: false,
|
|
hide: false,
|
|
- label: '收获详细地址 *',
|
|
|
|
- rules: [
|
|
|
|
- v => !!v || '请填写收获详细地址',
|
|
|
|
- value => {
|
|
|
|
- if (!value || (value && checkAddress(value))) return true
|
|
|
|
- return '请输入正确的注册地址'
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
|
|
+ label: '收货详细地址 *',
|
|
|
|
+ rules: [ v => !!v || '请填写收货详细地址' ]
|
|
}
|
|
}
|
|
]
|
|
]
|
|
})
|
|
})
|
|
@@ -91,6 +96,12 @@ const dataList = ref([
|
|
{ name: '减压捏捏乐', point: 500, url: 'https://minio.menduner.com/dev/menduner/pinchMusic.png', type: 1 }
|
|
{ name: '减压捏捏乐', point: 500, url: 'https://minio.menduner.com/dev/menduner/pinchMusic.png', type: 1 }
|
|
])
|
|
])
|
|
|
|
|
|
|
|
+// 期望城市、其它感兴趣的城市
|
|
|
|
+getDict('areaTreeData', null, 'areaTreeData').then(({ data }) => {
|
|
|
|
+ data = data?.length && data || []
|
|
|
|
+ formItems.value.options.find(e => e.key === 'address').items = data
|
|
|
|
+})
|
|
|
|
+
|
|
// 详情说明弹窗
|
|
// 详情说明弹窗
|
|
const showDetail = ref(false)
|
|
const showDetail = ref(false)
|
|
const detailItem = ref({})
|
|
const detailItem = ref({})
|
|
@@ -117,6 +128,9 @@ const handleSubmit = async () =>{
|
|
formItems.value.options.forEach(e => {
|
|
formItems.value.options.forEach(e => {
|
|
obj[e.key] = e.value
|
|
obj[e.key] = e.value
|
|
})
|
|
})
|
|
|
|
+ if (!obj.address || !obj.address.length) return Snackbar.warning('请选择收货地址')
|
|
|
|
+ obj.contactAddress = obj.address.join('') + obj.contactAddress
|
|
|
|
+ delete obj.address
|
|
await redeemSubmit(obj)
|
|
await redeemSubmit(obj)
|
|
Snackbar.success('提交成功')
|
|
Snackbar.success('提交成功')
|
|
showDetail.value = false
|
|
showDetail.value = false
|