import axios from 'axios'

export default {
  namespaced: true,
  state: {
    supervision: {},
    supervisionList: []
  },
  mutations: {
    setSupervision (state, supervision) {
      state.supervision = supervision
    },
    setSupervisionList (state, supervisionList) {
      state.supervisionList = supervisionList
    }
  },
  actions: {
    async post ({state, commit}) { // 新增監造日報
      let result = await axios.post('/supervision', state.supervision)
      commit('setSupervision', result.data)
    },
    async initSupervision ({commit}) { // 初始監造日報
      let init = {
        projectName: '', // 工程名稱
        contractDay: '', // 契約工期
        start_date: '', // 開工工期
        contract_amount: '', // 契約金額
        change_amount: '', // 變更後契約金額
        scheduled_complete: '', // 預定完工日期
        actual_complete: '', // 實際完工日期
        changeNumber: '', // 契約變更次數
        extension_day: '', // 工期展延天數
        document_type: '書函', // 文件類別
        weather_morning: '晴', // 本日氣象上午
        weather_afternoon: '晴', // 本日氣象下午
        scheduled: '', // 預定進度
        actual: '', // 實際進度
        project_status: '', // 一、工程進行情況(含約定之重要施工項目及數量)
        supervise: '', // 二、監督依照設計圖說及核定施工圖說施工(含約定之檢驗停留點及施工抽查等情形)
        check: '', // 三、查核材料規格及品質(含約定之檢驗停留點、材料設備管制及檢(試)驗等抽驗情形)
        handling_status: '未完成', // 四、督導工地職業安全衛生事項(一)施工廠商施工前檢查事項辦理情形
        otherItem: '', // 四、督導工地職業安全衛生事項(二)其他工地安全衛生督導事項
        agreement: '' // 五、其他約定監造事項(含重要事項紀錄、主辦機關指示及通知廠商辦理事項等)
      }
      commit('setSupervision', init)
    },
    async getSupervisionList ({commit}, data) { // 監造日報列表
      let result = await axios.get('/supervision/list', {
        params: data
      })
      commit('setSupervisionList', result.data)
    },
    async lookupSupervision ({state, commit}) { // 檢視監造日報
      let result = await axios.get(`/supervision/${state.supervision._id}`)
      commit('setSupervision', result.data)
    },
    async patch ({state}) { // 編輯監造日報
      await axios.patch(`/supervision/${state.supervision._id}`, state.supervision)
    }
  },
  getters: {}
}
