diff --git a/oms_web/oms_vue/src/api/login.js b/oms_web/oms_vue/src/api/login.js index 186420d9..59a829a2 100644 --- a/oms_web/oms_vue/src/api/login.js +++ b/oms_web/oms_vue/src/api/login.js @@ -1,5 +1,11 @@ import request from '@/utils/request' +function createLoginFormData(data) { + const formData = new FormData() + Object.keys(data).forEach(key => formData.append(key, data[key])) + return formData +} + // 登录方法 - 基于 Session 认证,使用 FormData 格式 export function login(username, password, code, rememberMe) { const formData = new FormData() @@ -9,6 +15,41 @@ export function login(username, password, code, rememberMe) { formData.append('rememberMe', rememberMe || false) return request({ url: '/login', + headers: { + isToken: false, + 'Content-Type': 'multipart/form-data', + repeatSubmit: false, + allowWarning: true + }, + method: 'post', + data: formData + }) +} + +export function resetLoginPwd(data) { + const formData = createLoginFormData({ + username: data.username, + oldPassword: data.oldPassword, + newPassword: data.newPassword, + confirmPassword: data.confirmPassword, + emailCode: data.emailCode + }) + return request({ + url: '/login/resetPwd', + headers: { + isToken: false, + 'Content-Type': 'multipart/form-data', + repeatSubmit: false + }, + method: 'post', + data: formData + }) +} + +export function sendResetPwdEmailCode(username) { + const formData = createLoginFormData({ username }) + return request({ + url: '/login/sendResetPwdEmailCode', headers: { isToken: false, 'Content-Type': 'multipart/form-data', diff --git a/oms_web/oms_vue/src/api/project/order.js b/oms_web/oms_vue/src/api/project/order.js index ac617551..8a745ef6 100644 --- a/oms_web/oms_vue/src/api/project/order.js +++ b/oms_web/oms_vue/src/api/project/order.js @@ -85,3 +85,48 @@ export function updateFinanceStatus(id, status) { data: data }) } + +// 查询产品配货备货明细 +export function productMatchList(orderCode) { + return request({ + url: '/project/order/vue/productMatchList', + method: 'get', + params: { orderCode } + }) +} + +// 查询产品配备货绑定信息 +export function productMatchBindList(orderCode, productCode, params = {}) { + return request({ + url: '/project/order/vue/productMatchBindList', + method: 'get', + params: { orderCode, productCode, ...params } + }) +} + +// 保存订单关联采购单 +export function savePurchaseOrderMap(data) { + return request({ + url: '/project/order/vue/purchaseOrderMap', + method: 'post', + data + }) +} + +// 查询采购单SN码列表 +export function purchaseSnList(purchaseNo, orderCode) { + return request({ + url: '/project/order/vue/purchaseSnList', + method: 'get', + params: { purchaseNo, orderCode } + }) +} + +// 订单绑定SN码 +export function bindOrderSnCodes(orderCode, productCode, productSnList) { + return request({ + url: '/project/order/vue/bindOrderSnCodes', + method: 'post', + data: { orderCode, productCode, productSnList } + }) +} diff --git a/oms_web/oms_vue/src/store/modules/user.js b/oms_web/oms_vue/src/store/modules/user.js index 71852f98..f4cb14c3 100644 --- a/oms_web/oms_vue/src/store/modules/user.js +++ b/oms_web/oms_vue/src/store/modules/user.js @@ -52,7 +52,7 @@ const user = { const rememberMe = userInfo.rememberMe return new Promise((resolve, reject) => { login(username, password, code, rememberMe).then(res => { - resolve() + resolve(res) }).catch(error => { reject(error) }) @@ -60,17 +60,16 @@ const user = { }, // 获取用户信息 - GetInfo({ commit, state }) { + GetInfo({ commit }) { return new Promise((resolve, reject) => { getInfo().then(res => { - // 后端返回的数据在 res.data 中 const data = res.data || res const user = data.user - let avatar = user.avatar? '/common/download/resource?resource='+encodeURIComponent(user.avatar) : "" + let avatar = user.avatar ? '/common/download/resource?resource=' + encodeURIComponent(user.avatar) : "" if (!isHttp(avatar)) { avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar } - if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组 + if (data.roles && data.roles.length > 0) { commit('SET_ROLES', data.roles) commit('SET_PERMISSIONS', data.permissions) } else { @@ -82,15 +81,13 @@ const user = { commit('SET_NAME', user.loginName) commit('SET_NICK_NAME', user.userName) commit('SET_AVATAR', avatar) - /* 初始密码提示 */ - if(data.isDefaultModifyPwd) { - MessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { + if (data.isDefaultModifyPwd) { + MessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } }) }).catch(() => {}) } - /* 过期密码提示 */ - if(!data.isDefaultModifyPwd && data.isPasswordExpired) { - MessageBox.confirm('您的密码已过期,请尽快修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { + if (!data.isDefaultModifyPwd && data.isPasswordExpired) { + MessageBox.confirm('您的密码已过期,请尽快修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } }) }).catch(() => {}) } @@ -102,7 +99,7 @@ const user = { }, // 退出系统 - 基于 Session 认证 - LogOut({ commit, state }) { + LogOut({ commit }) { return new Promise((resolve, reject) => { logout().then(() => { commit('SET_ROLES', []) diff --git a/oms_web/oms_vue/src/utils/request.js b/oms_web/oms_vue/src/utils/request.js index e8d13767..3d3e027e 100644 --- a/oms_web/oms_vue/src/utils/request.js +++ b/oms_web/oms_vue/src/utils/request.js @@ -110,6 +110,8 @@ service.interceptors.response.use(res => { } else if (code === 601) { Message({ message: msg, type: 'warning' }) return Promise.reject('error') + } else if (code === 301 && res.config.headers && res.config.headers.allowWarning) { + return res.data } else if (code !== 200) { Notification.error({ title: msg }) return Promise.reject('error') diff --git a/oms_web/oms_vue/src/views/inventory/execution/index.vue b/oms_web/oms_vue/src/views/inventory/execution/index.vue index 43a554b8..4692b966 100644 --- a/oms_web/oms_vue/src/views/inventory/execution/index.vue +++ b/oms_web/oms_vue/src/views/inventory/execution/index.vue @@ -101,6 +101,13 @@ {{ scope.row.projectName }} + + +