import Vue from 'vue' export default function editAttributeDetail (payload = {}, option = {}) { return new Promise(async (resolve, reject) => { const checkHandles = { name: value => { return value ? '' : '规格名称不能为空' }, attribute_category_id: value => { return value ? '' : '属性不能为空' }, hand_add_status: (value, allValue) => { if (!value && value !== 0) return '必须选择是否支持商家手动新增' if (value === 0 && !allValue.input_list.length) return '可选列表为空时必须支持商家手动新增' return '' }, sort: value => { return value ? '' : '排序不能为空' }, } const error = {} Object.keys(payload).forEach(key => { const handle = checkHandles[key] if (!handle) return error[key] = handle(payload[key], payload) }) console.log(payload) if (Object.keys(error).find(key => error[key])) { return reject(error) } try { payload.input_list = payload.input_list.join(',') const method = payload.id ? 'put' : 'post' await Vue.http[method]('/product/attribute/item', payload) resolve() } catch (e) { reject(e) } }) }