diff --git a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberInfoServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberInfoServiceImpl.java index 6dd49fdb..e1617358 100644 --- a/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberInfoServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffmanage/member/service/impl/MemberInfoServiceImpl.java @@ -194,6 +194,7 @@ public class MemberInfoServiceImpl extends BaseServiceImpl implements user.setCreateAt(System.currentTimeMillis()); user.setLoginCount(0); user.setDisabled(false); + user.setMember(true); if (user.getMember() == null) { user.setMember(true); @@ -315,6 +316,7 @@ public class MemberInfoServiceImpl extends BaseServiceImpl implements user.setCreateAt(oldUser.getCreateAt()); user.setLoginCount(oldUser.getLoginCount()); user.setDisabled(false); + user.setMember(true); if (user.getMember() == null) { user.setMember(oldUser.getMember()); } diff --git a/src/main/resources/views/platform/zhgh/staffmanage/member/info/input/index.html b/src/main/resources/views/platform/zhgh/staffmanage/member/info/input/index.html index 58488673..24e34827 100644 --- a/src/main/resources/views/platform/zhgh/staffmanage/member/info/input/index.html +++ b/src/main/resources/views/platform/zhgh/staffmanage/member/info/input/index.html @@ -19,9 +19,9 @@ layout("/layouts/platform.html"){ - - - + + + - - - + + + + @@ -200,7 +200,7 @@ layout("/layouts/platform.html"){ { prop: "sex", label: "性别", sortable: true, width: "100px" }, { prop: "userState", label: "在职状态", sortable: true }, { prop: "personType", label: "教职工类别", sortable: true }, - { prop: "preparedBy", label: "编制类别", sortable: true }, + // { prop: "preparedBy", label: "编制类别", sortable: true }, { prop: "unionName", label: "所属工会", sortable: true }, { prop: "unitName", label: "所属单位", sortable: true }, { prop: "changeTypes", label: "变更类型", sortable: true }, diff --git a/src/main/resources/views/platform/zhgh/welfare/addressManage/addressDialog.js b/src/main/resources/views/platform/zhgh/welfare/addressManage/addressDialog.js index 611fcab6..544a048f 100644 --- a/src/main/resources/views/platform/zhgh/welfare/addressManage/addressDialog.js +++ b/src/main/resources/views/platform/zhgh/welfare/addressManage/addressDialog.js @@ -8,7 +8,7 @@ let ADDRESS_DIALOG = { title="收货地址" width="30%"> - + @@ -41,7 +41,6 @@ let ADDRESS_DIALOG = { v-model="formData.userName"> { + this.$refs["addForm"].validate((valid) => { if (valid) { - const resp = await this.$axios.post("/platform/welfare/addressManage/doSaveUserAddress", { data: JSON.stringify(this.formData) }) - if (resp.code === 0) { - this.$message({ - message: resp.msg, - type: "success" - }) - this.$emit("select_user_address") - this.dialogVisible = false - } else { - this.$message.error(resp.msg) - } + const savedAddress = Object.assign({}, this.formData) + this.$axios.post("/platform/welfare/addressManage/doSaveUserAddress", { data: JSON.stringify(this.formData) }).then((resp) => { + if (resp.code === 0) { + this.$message({ + message: resp.msg, + type: "success" + }) + // 保存成功后把最新地址信息回传给父组件,便于父组件刷新后自动选中。 + this.$emit("select_user_address", savedAddress) + this.dialogVisible = false + } else { + this.$message.error(resp.msg) + } + }) } }) }, diff --git a/src/main/resources/views/platform/zhgh/welfare/select/optionSelect.js b/src/main/resources/views/platform/zhgh/welfare/select/optionSelect.js index 2cd25a3f..98bbfa4d 100644 --- a/src/main/resources/views/platform/zhgh/welfare/select/optionSelect.js +++ b/src/main/resources/views/platform/zhgh/welfare/select/optionSelect.js @@ -375,6 +375,25 @@ const optionSelect = { } } }, + // 统一带出地址、收货人和联系电话,避免多个入口重复拼装地址逻辑。 + applyAddressSelection(selectedAddress) { + if (!selectedAddress) { + return + } + const addressValue = selectedAddress.province + selectedAddress.city + selectedAddress.county + selectedAddress.addressDetail + this.$set(this.contactForm, "receiveAddress", addressValue) + this.onAddressChange(addressValue) + }, + // 首次确认选择时,如果存在默认地址,则自动带出默认地址及联系人信息。 + applyDefaultAddressIfNeeded() { + if (this.hasSubmittedBefore || this.contactForm.receiveAddress || !this.addressOptions || this.addressOptions.length === 0) { + return + } + const defaultAddress = this.addressOptions.find((item) => item.isDefault) + if (defaultAddress) { + this.applyAddressSelection(defaultAddress) + } + }, openAddress() { this.$refs.addressDialog.dialogVisible = true this.$refs.addressDialog.formData = {userId: this.userId} @@ -387,7 +406,9 @@ const optionSelect = { this.selectedRadioId = null this.contactForm = { mobile: "", - receiveAddress: "" + receiveAddress: "", + userName: "", + userSign: "" } this.getProjectInfo() @@ -448,6 +469,10 @@ const optionSelect = { } }) } + // 首次确认选择且没有历史记录时,尝试自动带出默认收货地址。 + if (this.projectInfo.provideMode === 3) { + this.applyDefaultAddressIfNeeded() + } } // 地址回显 @@ -606,11 +631,32 @@ const optionSelect = { }, // 获取收货地址 - async getAddress() { - const resp = await this.$axios.post("/platform/welfare/addressManage/selectUserAddress",{userId:this.userId}) - if (resp.code === 0) { - this.addressOptions = resp.data - } + getAddress(savedAddress) { + const hasAddressOptions = this.addressOptions && this.addressOptions.length > 0 + this.$axios.post("/platform/welfare/addressManage/selectUserAddress", {userId: this.userId}).then((resp) => { + if (resp.code === 0) { + this.addressOptions = resp.data + // 新增地址后,如果原来没有地址或当前未选择地址,则默认带入最新地址并自动回填联系人信息。 + if (savedAddress && (!hasAddressOptions || !this.contactForm.receiveAddress)) { + const selectedAddress = this.addressOptions.find((item) => { + return item.id === savedAddress.id || + (item.province === savedAddress.province && + item.city === savedAddress.city && + item.county === savedAddress.county && + item.addressDetail === savedAddress.addressDetail && + item.userName === savedAddress.userName && + item.tel === savedAddress.tel) + }) + if (selectedAddress) { + this.applyAddressSelection(selectedAddress) + } + } else { + this.applyDefaultAddressIfNeeded() + } + } else { + this.$message.error(resp.msg) + } + }) }, selectNumChange(index, newValue) { const option = this.projectInfo.options[index];