/** * 영업사원 관련 데이터 관리 Composable * 팀 리스트, 직책 리스트 및 관련 유틸리티 함수 제공 */ export const useSalesData = () => { const config = useRuntimeConfig() /** * 회사별 영업팀 리스트 반환 */ const getTeamsList = () => { switch (config.public.company) { case "g": return [ { id: 0, name: "마스터팀" }, { id: 1, name: "1팀" }, { id: 2, name: "2팀" }, { id: 3, name: "3팀" }, { id: 4, name: "4팀" }, { id: 5, name: "5팀" }, { id: 6, name: "6팀" }, { id: 7, name: "7팀" }, { id: 8, name: "8팀" }, { id: 9, name: "9팀" }, { id: 10, name: "10팀" }, ] case "w": return [ { id: 0, name: "특판팀" }, { id: 1, name: "1팀" }, { id: 2, name: "2팀" }, { id: 3, name: "3팀" }, { id: 4, name: "4팀" }, { id: 5, name: "5팀" }, { id: 6, name: "6팀" }, { id: 7, name: "7팀" }, { id: 8, name: "8팀" }, { id: 9, name: "9팀" }, { id: 10, name: "10팀" }, ] default: return [ { id: 0, name: "마스터팀" }, { id: 1, name: "1팀" }, { id: 2, name: "2팀" }, { id: 3, name: "3팀" }, { id: 4, name: "4팀" }, { id: 5, name: "5팀" }, { id: 6, name: "6팀" }, { id: 7, name: "7팀" }, { id: 8, name: "8팀" }, { id: 9, name: "9팀" }, { id: 10, name: "10팀" }, ] } } /** * 회사별 직책 리스트 반환 */ const getPositionsList = () => { switch (config.public.company) { case "g": return [ { value: 10, label: "팀장" }, { value: 15, label: "마스터" }, { value: 20, label: "차장" }, { value: 30, label: "과장" }, { value: 40, label: "대리" }, { value: 60, label: "사원" }, ] case "w": return [ { value: 0, label: "인턴" }, { value: 1, label: "사원" }, { value: 2, label: "주임" }, { value: 3, label: "대리" }, { value: 4, label: "과장" }, { value: 5, label: "차장" }, { value: 6, label: "부장" }, { value: 7, label: "팀장" }, { value: 8, label: "지점장" }, { value: 9, label: "Expert" }, { value: 10, label: "부지점장" }, ] default: return [] } } const teams = ref(getTeamsList()) const positions = ref(getPositionsList()) /** * 팀 ID로 팀 이름 조회 * @param {number|string} teamId - 팀 ID * @returns {string} 팀 이름 */ const getTeamName = (teamId) => { const team = teams.value.find(t => t.id == teamId) return team ? team.name : "-" } /** * 직책 코드로 직책 이름 조회 * @param {number|string} positionCode - 직책 코드 * @returns {string} 직책 이름 */ const getPositionName = (positionCode) => { const position = positions.value.find(p => p.value == positionCode) return position ? position.label : "-" } return { teams, positions, getTeamName, getPositionName, } }