fix
pyt
2025-01-09 d17a93905718456a7557e1bc805887eb2ad0aa5d
fix
4个文件已修改
86 ■■■■ 已修改文件
src/component/Header.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/component/userInfo.vue 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/service.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/component/Header.vue
@@ -4,7 +4,7 @@
            <div class="color1 fs--24 font-bold">{{ userInfo.companyName }}</div>
            <div class="flex a-center j-between">
                <div @click="userInfoShow = true" class="flex a-center mr--55 shrink0 pointer">
                    <div class="mr--24 fs--20 font-bold shrink0 color2">{{ userInfo.userName }}</div>
                    <div class="mr--24 fs--20 font-bold shrink0 color2">{{ $store.state.userName }}</div>
                    <img src="../assets/img/bianji@2x.png" class="w--23 h--23" />
                </div>
                <img @click="logOutShow = true" src="../assets/img/tuichu@2x.png" class="w--40 h--40 shrink0 pointer" />
src/component/userInfo.vue
@@ -34,7 +34,8 @@
                            <el-form-item label="备注:" label-width="120px">
                                <div style="display: flex;align-items: center;"><el-input
                                        v-model="item.mark"></el-input>
                                    <img style="width: 19px;height: 21px;cursor: pointer;margin-left: 26px;"
                                    <img @click="delEmail(item, index)"
                                        style="width: 19px;height: 21px;cursor: pointer;margin-left: 26px;"
                                        src="@/assets/delete.png" alt="">
                                </div>
                            </el-form-item>
@@ -74,8 +75,9 @@
                    <el-col :span="20" style="padding-right: 52px;position: relative;">
                        <el-form-item label="备注:">
                            <div style="display: flex;align-items: center;"><el-input type="textarea" :rows="3"
                                    v-model="item.mark"></el-input>
                                <img style="width: 19px;height: 21px;cursor: pointer;position: absolute;right: -175px;"
                                    v-model="item.remark"></el-input>
                                <img @click="delContact(item, index)"
                                    style="width: 19px;height: 21px;cursor: pointer;position: absolute;right: -175px;"
                                    src="@/assets/delete.png" alt="">
                            </div>
                        </el-form-item>
@@ -92,6 +94,7 @@
<script>
import { mapState } from 'vuex'
import { saveUserInfo, getUserInfo } from '@/view/service'
export default {
    props: ['show'],
    data() {
@@ -129,28 +132,62 @@
        submit() {
            this.$refs.form.validate((valid) => {
                if (valid) {
                    console.log(this.form);
                    let params = {
                        extra: localStorage.getItem('extra'),
                        info: {
                            name: this.form.userName,
                            phone: this.form.phone,
                            mail: this.form.userEmail,
                        },
                        emails: this.form.otherEmails,
                        addressInfos: this.form.contactInfoList
                    }
                    saveUserInfo(params).then(res => {
                        if (res.status == 0) {
                            this.$message.success('保存成功')
                            this.$store.commit('SET_USERNAME', this.form.userName)
                        }
                    })
                }
            })
        },
        // 打开
        open() {
            let userInfo = JSON.parse(JSON.stringify(this.userInfo));
            this.form = {
                userName: userInfo.userName,
                phone: userInfo.phone,
                userEmail: userInfo.userEmail,
                otherEmails: userInfo.otherEmails,
                contactInfoList: userInfo.contactInfoList,
            }
            getUserInfo({ extra: localStorage.getItem('extra') }).then(res => {
                if (res.data.emails) {
                    res.data.emails.map(item => {
                        item.mail = item.email
                    })
                }
                if (res.data.addressInfo) {
                    res.data.addressInfo.map(item => {
                        item.remark = item.mark
                    })
                }
                this.form = {
                    userName: res.data.name,
                    phone: res.data.phone,
                    userEmail: res.data.email,
                    otherEmails: res.data.emails || [],
                    contactInfoList: res.data.addressInfo || [],
                }
            })
        },
        // 删除其他邮箱
        delEmail(item, index) {
            this.form.otherEmails.splice(index, 1)
        },
        // 新增其他邮箱
        addEmail() {
            this.form.otherEmails.push({
                email: '',
                mail: '',
                mark: ''
            })
        },
        // 删除收件人
        delContact(item, index) {
            this.form.contactInfoList.splice(index, 1)
        },
        // 新增收件人
        addContact() {
            this.form.contactInfoList.push({
src/store/index.js
@@ -4,11 +4,20 @@
const store = new Vuex.Store({
  state: {
    userInfo: JSON.parse(localStorage.getItem('userInfo')) || {}
    userInfo: JSON.parse(localStorage.getItem('userInfo')) || {},
    userName: '' || localStorage.getItem('userName')
  },
  mutations: {
    SET_USERINFO(state, userInfo) {
      state.userInfo = userInfo
      localStorage.setItem('userInfo', JSON.stringify(userInfo))
      localStorage.setItem('userName', userInfo.userName)
    },
    SET_USERNAME(state, userName) {
      state.userInfo.userName = userName
      state.userName = userName
      localStorage.setItem('userName', userName)
    }
  },
  actions: {
src/view/service.js
@@ -14,4 +14,14 @@
//下单须知
export const getNotice = (data) => {
    return axios.post('/zj0FFk5wx4S05X-zlHKJ68bVk80Xr-1', data)
}
//保存用户信息
export const saveUserInfo = (data) => {
    return axios.post('/zj0FFk5wx4S05X-zlITt79YYN60Xv-1', data)
}
//获取用户信息
export const getUserInfo = (data) => {
    return axios.post('/zj0FFk5wx4S05X-zlIX6NdPQS80X0-1', data)
}