|
@@ -1,4 +1,4 @@
|
|
|
-import { getList, getAddressList, add, update, getDetail, addAddress, updateAddress, deleteAddress } from '@/api/order/address'
|
|
|
+import { getList, getAddressList, add, update, getDetail, addAddress, updateAddress, deleteAddress, setDefaultAddress } from '@/api/order/address'
|
|
|
import { getCustomerList } from '@/api/common/index'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import RegionCascader from '@/components/region-cascader/index.vue'
|
|
@@ -160,6 +160,8 @@ export default {
|
|
|
label: '地区编码',
|
|
|
prop: 'regionCode',
|
|
|
hide: true,
|
|
|
+ addDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
rules: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -264,7 +266,7 @@ export default {
|
|
|
// delBtn: this.vaildData(this.permission.order_address_delete, false),
|
|
|
// editBtn: this.vaildData(this.permission.order_address_edit, false)
|
|
|
addBtn: true,
|
|
|
- viewBtn: true,
|
|
|
+ viewBtn: false,
|
|
|
delBtn: true,
|
|
|
editBtn: true
|
|
|
}
|
|
@@ -412,10 +414,18 @@ export default {
|
|
|
* @this {OrderAddressMixinComponent & Vue}
|
|
|
*/
|
|
|
handleRegionChange(data) {
|
|
|
- const { regionName } = data
|
|
|
+ const { values, regionName } = data
|
|
|
|
|
|
- // 只设置regionName,regionCode保持独立
|
|
|
+ // 设置地区名称
|
|
|
this.form.regionName = regionName
|
|
|
+
|
|
|
+ // 设置地区编码(取最后一级的编码)
|
|
|
+ if (values && values.length > 0) {
|
|
|
+ const tmpCode = values[values.length - 1]
|
|
|
+ this.form.regionCode = tmpCode || ''
|
|
|
+ } else {
|
|
|
+ this.form.regionCode = ''
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -613,6 +623,43 @@ export default {
|
|
|
*/
|
|
|
refreshChange() {
|
|
|
this.onLoad(this.query)
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设为默认地址
|
|
|
+ * @param {CustomerAddressItem} row - 地址数据
|
|
|
+ * @returns {Promise<void>}
|
|
|
+ * @this {OrderAddressMixinComponent & Vue}
|
|
|
+ */
|
|
|
+ async handleSetDefault(row) {
|
|
|
+ try {
|
|
|
+ await this.$confirm('确定要将此地址设为默认地址吗?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '设置中...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ })
|
|
|
+
|
|
|
+ try {
|
|
|
+ await setDefaultAddress(row.id)
|
|
|
+ this.$message.success('设置默认地址成功')
|
|
|
+ // 刷新表格数据
|
|
|
+ this.onLoad(this.query)
|
|
|
+ } catch (error) {
|
|
|
+ console.error('设置默认地址失败:', error)
|
|
|
+ this.$message.error('设置默认地址失败,请重试')
|
|
|
+ } finally {
|
|
|
+ loading.close()
|
|
|
+ }
|
|
|
+ } catch {
|
|
|
+ // 用户取消操作
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
/**
|