(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd63e"],{"80d4":function(e,t,a){"use strict";a.r(t);a("7f7f");var n=function(){var e=this,t=this,a=t._self._c;return a("div",[a("breadcrumbs",{staticClass:"mb-3",attrs:{breadcrumbs:t.breadcrumbs}},[t.allowedTo("add")?a("v-btn",{attrs:{color:"primary",depressed:"",to:{name:"admin.rems.season-parking.parking-type.view",params:{parkingTypeId:"new"}}}},[t._v(t._s(t.$t("message.new")))]):t._e()],1),a("v-container",{staticClass:"pt-0",attrs:{fluid:""}},[a("v-card",{attrs:{flat:""}},[a("v-toolbar",{staticClass:"primary lighten-2",attrs:{flat:"",dark:""}},[a("v-toolbar-title",{staticClass:"font-weight-light"},[t._v(t._s(t.$t("message.parkingType")))])],1),a("v-toolbar",{attrs:{dense:"",flat:"",color:"grey lighten-2"}},[a("v-spacer"),t.form.fetching?[a("v-btn",{attrs:{depressed:"",color:"transparent",loading:t.form.fetching}})]:[t.allowedTo("cancel")?a("v-btn",{attrs:{color:"grey lighten-2",depressed:"",disabled:"save"==t.form.action},on:{click:t.onCancel}},[t._v(t._s(t.$t("message.cancel")))]):t._e(),t.allowedTo("save")?a("v-btn",{attrs:{color:"info",depressed:"",loading:"save"==t.form.action},on:{click:t.saveData}},[t._v(t._s(t.$t("message.save")))]):t._e(),t.allowedTo("edit")?a("v-btn",{attrs:{color:"info",depressed:""},on:{click:function(e){t.mode="edit"}}},[t._v(t._s(t.$t("message.edit")))]):t._e()]],2),a("v-layout",{attrs:{row:"",wrap:""}},[a("v-flex",{attrs:{xl8:"",lg8:"",md8:"",sm12:""}},[a("v-container",{staticClass:"pa-3"},[a("v-layout",{attrs:{column:"",wrap:""}},[a("v-text-field",{attrs:{label:t.$t("message.name")+" *",placeholder:" ",box:"","background-color":t.canEdit("name")?"":"transparent",readonly:!t.canEdit("name"),"error-messages":t.getValue(t.errorMessages,"name")},model:{value:t.record.name,callback:function(e){t.$set(t.record,"name",e)},expression:"record.name"}}),a("v-textarea",{attrs:{label:t.$t("message.remarks"),placeholder:" ",box:"","background-color":t.canEdit("remarks")?"":"transparent",readonly:!t.canEdit("remarks"),"error-messages":t.getValue(t.errorMessages,"remarks")},model:{value:t.record.remarks,callback:function(e){t.$set(t.record,"remarks",e)},expression:"record.remarks"}})],1)],1)],1)],1),a("h3",{staticClass:"title pa-3 primary lighten-2 font-weight-light"},[t._v(t._s(t.$t("message.rates")))]),a("v-layout",{attrs:{row:"",wrap:"","pb-2":""}},[a("v-flex",[a("v-container",{staticClass:"pa-0 px-3",attrs:{fluid:""}},[a("v-data-table",{attrs:{headers:t.rateHeaders,items:t.record.parking_type_items,"hide-actions":""},scopedSlots:t._u([{key:"headers",fn:function(e){return[a("tr",[t._l(e.headers,(function(e){return!1!==e.show?a("th",{key:e.text,class:["column","text-xs-"+(e.align?e.align:"left")],staticStyle:{width:"33%"}},[e.value?a("v-icon",{attrs:{small:""}},[t._v("arrow_upward")]):t._e(),t._v("\n                    "+t._s(e.text)+"\n                  ")],1):t._e()})),a("th",{staticStyle:{width:"1%"}})],2)]}},{key:"items",fn:function(e){return[a("tr",[a("td",{class:[t.canEdit("parking_type_items.tenant")?"pa-2":"pa-3 px-4"],staticStyle:{"vertical-align":"top"}},[t.canEdit("parking_type_items.tenant")?a("v-autocomplete",{attrs:{label:t.$t("message.tenant"),placeholder:" ",box:"",items:t.unitTenantOptions,clearable:"",dense:"","return-object":"","item-value":"id","item-text":"SAVILLSREMS"==t.appName?"lease_name":"company_name","error-messages":t.getValue(t.errorMessages,"tenant.id")},model:{value:e.item.tenant,callback:function(a){t.$set(e.item,"tenant",a)},expression:"props.item.tenant"}}):a("v-text-field",{attrs:{value:t.displayTenant(t.getValue(e.item,"tenant")),label:t.$t("message.tenant"),placeholder:" ",box:"","background-color":"transparent",readonly:""}})],1),a("td",{class:[t.canEdit("parking_type_items.rate")?"pa-2":"pa-3 px-4"],staticStyle:{"vertical-align":"top"}},[t.canEdit("parking_type_items.rate")?a("v-text-field",{attrs:{placeholder:" ",box:"","single-line":"","persistent-hint":"","error-messages":t.getValue(t.errorMessages,"parking_type_items."+t.record.parking_type_items.indexOf(e.item)+".rate")},model:{value:e.item.rate,callback:function(a){t.$set(e.item,"rate",a)},expression:"props.item.rate"}}):[t._v("\n                      "+t._s(t.getValue(e.item,"rate"))+"\n                    ")]],2),a("td",{staticClass:"pa-0",staticStyle:{"vertical-align":"top"}},["view"!=t.mode?a("v-btn",{attrs:{flat:"",icon:"",color:"error"},on:{click:function(a){return t.deleteRate(e.item)}}},[a("v-icon",[t._v("delete")])],1):t._e()],1)])]}}])},["view"!=t.mode?a("template",{slot:"footer"},[a("td",{staticClass:"pa-0 pr-3 grey lighten-4",attrs:{colspan:"4",align:"right"}},[a("v-btn",{attrs:{color:"info",outline:"",depressed:""},on:{click:t.addMoreRate}},[t._v(t._s(t.$t("message.addMore")))])],1)]):t._e()],2)],1)],1)],1),a("v-toolbar",{attrs:{dense:"",flat:"",color:"grey lighten-2"}},[a("v-spacer"),t.form.fetching?[a("v-btn",{attrs:{depressed:"",color:"transparent",loading:t.form.fetching}})]:[t.allowedTo("cancel")?a("v-btn",{attrs:{color:"grey lighten-2",depressed:"",disabled:"save"==t.form.action},on:{click:t.onCancel}},[t._v(t._s(t.$t("message.cancel")))]):t._e(),t.allowedTo("save")?a("v-btn",{attrs:{color:"info",depressed:"",loading:"save"==t.form.action},on:{click:t.saveData}},[t._v(t._s(t.$t("message.save")))]):t._e(),t.allowedTo("edit")?a("v-btn",{attrs:{color:"info",depressed:""},on:{click:function(e){t.mode="edit"}}},[t._v(t._s(t.$t("message.edit")))]):t._e()]],2)],1)],1),a("snackbar",{attrs:{snackbar:t.snackbar}}),a("confirm-dialog",{attrs:{title:"Are you sure ?",text:t.$t("message.confirmDelete"),cancelText:"Cancel",confirmText:"Confirm"},on:{cancelAction:function(){return e.showConfirmDeleteRecord=!1},confirmAction:function(){return t.deleteData()}},model:{value:t.showConfirmDeleteRecord,callback:function(e){t.showConfirmDeleteRecord=e},expression:"showConfirmDeleteRecord"}})],1)},r=[],s=(a("8e6e"),a("ac6a"),a("456d"),a("a481"),a("ade3")),i=a("365c"),o=a("2f62"),c=a("4da1"),d=a("323e"),l=a.n(d),p=(a("7fb5"),a("1dce")),m=a("45a3"),u=a("5e44"),g=a("8106"),h=a("0278");function f(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?f(Object(a),!0).forEach((function(t){Object(s["a"])(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):f(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var v={mixins:[p["validationMixin"]],validations:{},created:function(){this.appName="PuteriCove",this.record=this.defaultRecord,"new"==this.recordId&&(this.mode="new"),this.getAllTenantOptions(),this.getData()},components:{Breadcrumbs:u["a"],Snackbar:g["a"],ConfirmDialog:m["a"],UnitTenantLookup:h["a"]},computed:k(k({},Object(o["b"])(["adminScope"])),{},{defaultRecord:function(){return{parking_type_items:[]}},defaultParkingTypeItems:function(){return{}},breadcrumbs:function(){var e=[{text:this.$t("message.parkingTypes"),disabled:!1,to:{name:"admin.rems.season-parking.parking-type"}}];return e.push({text:"new"==this.recordId?"New":Object(c["j"])(this.record,"name"),disabled:!0}),e},locked:function(){return this.record.locked},rateHeaders:function(){var e=[{text:this.$t("message.tenant")},{text:this.$t("message.noOfBay"),show:!!this.record.is_special_rate},{text:this.$t("message.rate")}];return e}}),watch:{$route:function(e,t){this.recordId=Object(c["j"])(e.params,"parkingTypeId"),this.record=this.defaultRecord,"new"==this.recordId&&(this.mode="new"),this.getData()}},methods:{getValue:function(e,t){return Object(c["j"])(e,t)},getDateTimeFromISO:function(e,t){return Object(c["g"])(e,t)},getDateFromISO:function(e,t){return Object(c["e"])(e,t)},convertDateToISO:function(e,t){return Object(c["a"])(e,t)},allowedTo:function(e){switch(e){case"add":return!this.$can.not("add","acl.admin.rems.season-parking.parking-types");case"delete":if(this.$can.not("add","acl.admin.rems.season-parking.parking-types")&&this.$can.not("delete","acl.admin.rems.season-parking.parking-types"))return!1;if("new"==this.mode)return!1;if("new"!=this.recordId)return!this.record.locked;break;case"save":if(this.$can.not("add","acl.admin.rems.season-parking.parking-types")&&this.$can.not("edit","acl.admin.rems.season-parking.parking-types"))return!1;if("new"==this.mode||"edit"==this.mode)return!0;break;case"edit":return(!this.$can.not("add","acl.admin.rems.season-parking.parking-types")||!this.$can.not("edit","acl.admin.rems.season-parking.parking-types"))&&("new"!=this.recordId&&"edit"!=this.mode);case"cancel":if(this.$can.not("add","acl.admin.rems.season-parking.parking-types")&&this.$can.not("edit","acl.admin.rems.season-parking.parking-types"))return!1;if("new"!=this.recordId&&"edit"==this.mode)return!0;break}return!1},canEdit:function(e){var t=!1;switch(t="edit"==this.mode||"new"==this.mode,e){default:break}return t},onCancel:function(){this.errorMessages=null,this.getData(),this.mode="view"},deleteRate:function(e){this.record.parking_type_items.splice(this.record.parking_type_items.indexOf(e),1)},addMoreRate:function(){this.record.parking_type_items.push(Object.assign({},this.defaultParkingTypeItem))},displayTenant:function(e){return this.appName&&"SAVILLSREMS"==this.appName?e.company_name+" ("+e.id+")":e.company_name},getData:function(){var e=this;"new"!=this.recordId&&(this.form.fetching=!0,l.a.start(),i["a"].get("admin/rems/season-parking/parking-type/"+this.recordId,{params:{project_id:this.adminScope.projectId,company_id:this.adminScope.companyId}}).then((function(t){e.record=Object(c["j"])(t,"data.data")})).catch((function(e){})).then((function(){l.a.done(),e.form.fetching=!1})))},saveData:function(){var e=this,t=this;l.a.start(),this.form.loading=!0,this.form.action="save",this.errorMessages=null,this.record.project_id=this.adminScope.projectId,this.record.company_id=this.adminScope.companyId;var a=this.record.parking_type_items;this.record.parking_type_items=a.map((function(e){return t.record.is_special_rate||(e.bay=""),e}));var n="admin/rems/season-parking/parking-type";"new"!==this.recordId&&(n=n+"/"+this.recordId,this.record._method="PATCH"),i["a"].post(n,this.record).then((function(t){e.record=Object(c["j"])(t,"data.data"),e.snackbar.message=Object(c["j"])(t,"data.message"),e.snackbar.type="success",e.snackbar.show=!0,e.mode="view",e.$router.replace({name:"admin.rems.season-parking.parking-type.view",params:{parkingTypeId:e.record.id}})})).catch((function(t){e.snackbar.message=Object(c["j"])(t,"response.data.message"),e.snackbar.type="error",e.snackbar.show=!0,e.errorMessages=Object(c["j"])(t,"response.data.errors")})).then((function(){l.a.done(),e.form.loading=!1,e.form.action=null}))},deleteData:function(){var e=this;this.form.loading=!0,this.form.action="delete",this.errorMessages=null;var t="admin/rems/season-parking/parking-type/"+this.recordId;i["a"].delete(t,{params:{project_id:this.adminScope.projectId,company_id:this.adminScope.companyId}}).then((function(t){e.$router.replace({name:"admin.rems.season-parking.parking-type"})})).catch((function(e){})).then((function(){l.a.done(),e.form.loading=!1,e.form.action=null}))},getUnitTenantOptions:function(){var e=this;i["a"].get("admin/lookup/tenant",{params:{project_id:this.adminScope.projectId,company_id:this.adminScope.companyId}}).then((function(t){var a=t.data.data;e.unitTenantOptions=a})).catch((function(e){})).finally()},getAllTenantOptions:function(){var e=this;this.appName&&"SAVILLSREMS"==this.appName?i["a"].get("admin/lookup/tenant-on-project",{params:{project_id:this.adminScope.projectId,company_id:this.adminScope.companyId}}).then((function(t){var a=t.data.data;e.unitTenantOptions=a})).catch((function(e){})).finally():i["a"].get("admin/lookup/tenant-all",{params:{project_id:this.adminScope.projectId,company_id:this.adminScope.companyId}}).then((function(t){var a=t.data.data;e.unitTenantOptions=a})).catch((function(e){})).finally()}},data:function(){return{appName:"PuteriCove",recordId:this.$route.params.parkingTypeId,record:null,unitTenantOptions:[],mode:"view",showConfirmDeleteRecord:!1,form:{fetching:!1,loading:!1,action:null},snackbar:{show:!1,type:null,message:null},errorMessages:null}}},b=v,y=a("2877"),_=Object(y["a"])(b,n,r,!1,null,null,null);t["default"]=_.exports}}]);