You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shangmenanmo/store/modules/technician.js

101 lines
1.8 KiB

5 months ago
import $api from "@/api/index.js"
import $store from "@/store/index.js"
export default {
state: {
pageActive: false,
activeIndex: 0,
haveOperItem: false,
tabList: [{
title: '全部',
id: 0,
}, {
title: '可服务',
id: 1,
}, {
title: '服务中',
id: 2
}, {
title: '可预约',
id: 3
}],
cityId: 0,
cityIndex: -1,
cityList: [],
param: {
page: 1,
ser_id: 0,
coach_name: ''
},
list: {
data: [],
last_page: 1,
current_page: 1
}
},
mutations: {
async updateTechnicianItem(state, item) {
let {
key,
val
} = item
state[key] = val
}
},
actions: {
async getCityList({
commit,
state
}, param) {
let {
change = 0
} = param
let params = JSON.parse(JSON.stringify(param))
delete params.change
let d = await $api.base.getCity(params);
let {
cityId = 0
} = state
let ind = d.findIndex(v => {
return change || !cityId ? v.is_select : v.id == cityId
})
commit('updateTechnicianItem', {
key: 'cityList',
val: d
})
let cityIndex = ind
// let cityIndex = ind === -1 ? 0 : ind
commit('updateTechnicianItem', {
key: 'cityIndex',
val: cityIndex
})
commit('updateTechnicianItem', {
key: 'cityId',
val: d && d.length > 0 && cityIndex !== -1 ? d[cityIndex].id : 0
})
},
async getServiceCoachList({
commit,
state
}, param) {
let {
coach_format = 1
} = $store.state.config.configInfo
let methodModel = coach_format == 1 ? 'serviceCoachList' : 'typeServiceCoachList'
let d = await $api.service[methodModel](param)
let oldList = state.list;
let newList = d;
let list = {}
if (param.page == 1) {
list = newList;
} else {
newList.data = oldList.data.concat(newList.data)
list = newList;
}
commit('updateTechnicianItem', {
key: 'list',
val: list
})
}
},
}