1import{P as R,p as w,f as r,b as f,w as Y,F as m,_ as E,B as y,o as n,a as e,i as L,e as h,D as M,E as x,h as v,k,n as S,t as i}from"./app.92a0a85e.js";import j from"./AppLayout.2f906b41.js";import V from"./NoData.6788e646.js";import{S as D}from"./sweetalert2.793d6e74.js";import{_ as B}from"./_plugin-vue_export-helper.cdc0426e.js";import"./NavLink.28db2343.js";import"./CreateBooking.495a856c.js";import"./ResetPassword.7f07604f.js";import"./InputError.b41304a1.js";import"./InputLabel.7d556926.js";import"./PrimaryButton.f9b167d9.js";import"./TextInput.94a74b25.js";import"./NewPortalIntroModal.505cecc5.js";const T={name:"ServiceRequest",components:{AppLayout:j,NoData:V,DataLoader:R(()=>E(()=>import("./DataLoader.1a35afc0.js"),["assets/DataLoader.1a35afc0.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/app.92a0a85e.js","assets/app.ecb3a5f2.css"])),OTP:R(()=>E(()=>import("./OTPVerify.764e8e22.js"),["assets/OTPVerify.764e8e22.js","assets/app.92a0a85e.js","assets/app.ecb3a5f2.css","assets/_plugin-vue_export-helper.cdc0426e.js"]))},data(){return{request_list:[],request_list_response:{data:[],meta:{links:[]}},search:"",status:"",start_date:null,end_date:null,loader:!1,action_name:"",otp_params:"",pending_save_item:null,expanded_rows:{}}},mounted(){this.dateRange(this)},computed:{hasData(){return this.request_list.length>0},canApproveRejectService(){return this.userCan("approve-reject-service")},tableColumnCount(){return this.canApproveRejectService?12:11}},methods:{searching_filters(){let s={};return this.search&&(s.shop_domain=this.search),this.status&&(s.status=this.status),this.start_date&&this.end_date&&(s.date_range={column_date:"created_at",start_date:this.start_date.format("YYYY-MM-DD"),end_date:this.end_date.format("YYYY-MM-DD")}),{filters:s,model:"ServiceRequest\\ServiceRequest",limit:20}},dateRange(s){var t=moment().subtract(15,"days"),c=moment();function d(l,o){s.start_date=l,s.end_date=o,$("#reportrange span").html(l.format("MMMM D, YYYY")+" - "+o.format("MMMM D, YYYY")),s.fetchData()}$("#reportrange").daterangepicker({maxDate:new Date,startDate:t,endDate:c,ranges:{Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 Days":[moment().subtract(6,"days"),moment()],"Last 30 Days":[moment().subtract(29,"days"),moment()],"This Month":[moment().startOf("month"),moment().endOf("month")],"Last Month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")]}},d),d(t,c)},async fetchData(s=null){this.loader=!0;try{const t=s||"/api/service/get";console.log("url",s);const c=await w.post(t,this.searching_filters());this.request_list_response=c.data,this.request_list=c.data.data.map(d=>({...d,service_status:this.normalizeServiceStatus(d.service_status),isEditing:!1}))}catch(t){console.error(t),D.fire({title:"Error",text:"Failed to fetch data",icon:"error",timer:1500,showConfirmButton:!1})}finally{this.loader=!1}},resetFilters(){this.search="",this.status="",this.start_date=moment().subtract(15,"days"),this.end_date=moment(),$("#reportrange").data("daterangepicker").setStartDate(this.start_date),$("#reportrange").data("daterangepicker").setEndDate(this.end_date),$("#reportrange span").html(this.start_date.format("MMMM D, YYYY")+" - "+this.end_date.format("MMMM D, YYYY")),this.fetchData()},normalizeServiceStatus(s){return s==="inactive"?"inactive":"active"},toggleDetails(s){this.expanded_rows={...this.expanded_rows,[s]:!this.expanded_rows[s]}},isRowExpanded(s){return Boolean(this.expanded_rows[s])},formatLabel(s){return s?String(s).replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,t=>t.toUpperCase()):"-"},listCountLabel(s,t="None"){return!Array.isArray(s)||!s.length?t:`${s.length} ${s.length===1?"item":"items"}`},requestStatusClass(s){var t;return(t={approved:"bg-success-subtle text-success",rejected:"bg-danger-subtle text-danger",pending:"bg-warning-subtle text-warning-emphasis","re-requested":"bg-info-subtle text-info-emphasis"}[s])!=null?t:"bg-secondary-subtle text-secondary"},serviceStatusClass(s){return s==="active"?"bg-success-subtle text-success":"bg-secondary-subtle text-secondary"},isStatusDropdownDisabled(s){var c,d;const t=(d=(c=s.originalData)==null?void 0:c.status)!=null?d:s.status;return!s.isEditing||t==="approved"},enableEdit(s){s.service_status=this.normalizeServiceStatus(s.service_status),s.originalData={...s},s.isEditing=!0},cancelEdit(s){Object.assign(s,s.originalData),s.service_status=this.normalizeServiceStatus(s.service_status),s.isEditing=!1},saveRow(s){var p,b,g;s.service_status=this.normalizeServiceStatus(s.service_status);const t=(p=s.originalData)==null?void 0:p.status,c=this.normalizeServiceStatus((b=s.originalData)==null?void 0:b.service_status),d=t!==s.status,l=c!==s.service_status,o={approved:"approve",rejected:"reject",pending:"mark as pending","re-requested":"send back for re-request"};let _="Are you sure you want to update this request?";d?_=`Are you sure you want to ${(g=o[s.status])!=null?g:"update"} this request?`:l&&(_=s.service_status==="active"?"Are you sure you want to activate this service?":"Are you sure you want to deactivate this service?"),this.confirmation_alert(s,this.open_otp_popup,"Service Request","Service request has been updated successfully.",null,_,"Yes!")},confirmation_alert(s,t,c,d,l,o,_){l=l!=null?l:"warning",o=o!=null?o:"Are you sure? You want to save "+c+".",_=_!=null?_:"Yes, Save it!",d=d!=null?d:c+" has been saved successfully.",this.$swal.fire({text:o,icon:l,showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:_}).then(p=>{p.isConfirmed&&t(s,d)})},open_otp_popup(s,t){var _;const c=(_=s.originalData)==null?void 0:_.status,d=s.status==="approved"&&c==="approved",l=s.status==="approved"&&c!=="approved";if(d||!l){this.saveRowAfterVerification(s);return}let o=this;o.pending_save_item=s,o.action_name="approve_whatsapp_verification_service_request",$("#service_request_otp_modal").modal("show"),o.otp_params="resend",w.post("/management/notifications/send_otp",{event_name:o.action_name}).catch(function(p){console.error(p)})},dateFormat(s){return s?s.replace("T"," ").replace(/\.\d+Z$/,""):"-"},async saveRowAfterVerification(s){var t,c;s=s||this.pending_save_item;try{const d=await w.post("/api/service/change_status",{id:s.id,service:s.service,events:s.events,status:s.status,service_status:this.normalizeServiceStatus(s.service_status),remarks:s.remarks});s.service_status=this.normalizeServiceStatus(s.service_status),s.originalData={...s},s.isEditing=!1,this.pending_save_item=null,this.action_name="",D.fire({title:"Success",text:d.data.message,icon:"success",timer:1500,showConfirmButton:!1})}catch(d){console.error(d);let l="Error updating request";(c=(t=d.response)==null?void 0:t.data)!=null&&c.message&&(l=d.response.data.message),D.fire({title:"Error",text:l,icon:"error",timer:2e3,showConfirmButton:!1})}}}},N={class:"layout-holder"},P={class:"container-fluid"},z={class:"inner-holder"},O={class:"card border-0 shadow-sm mb-3"},F={class:"card-body"},U={class:"row"},I={class:"col-md-6 mb-2"},H={class:"col-md-2 mb-2"},Z={class:"col-md-1 mb-2 text-end"},G={key:0,class:"text-center mb-3"},J={class:"row"},K={class:"col"},Q={class:"card border-0 shadow-sm overflow-hidden"},W={class:"table-responsive"}
1,X={class:"table align-middle mb-0 service-request-table"},ee={class:"table-light"},te={key:0,class:"text-center"},se={key:0},ae={class:"fw-semibold"},oe={class:"fw-semibold"},re=["onUpdate:modelValue","disabled"],ne={key:0,value:"pending"},le={key:1,value:"re-requested"},ie={key:1},de=["onUpdate:modelValue","disabled"],ce={key:1},ue=["onUpdate:modelValue","disabled"],_e={key:1},pe={key:0},ve={class:"d-flex gap-2 justify-content-center flex-wrap"},me=["onClick"],he=["onClick"],be=["onClick"],ge={class:"text-center"},fe=["onClick"],ye={key:0,class:"details-row"},ke=["colspan"],we={class:"p-3 p-lg-4 bg-light border-top"},xe={class:"row g-3"},Se={class:"col-lg-4"},De={class:"detail-card h-100"},Ce={class:"d-flex justify-content-between align-items-center mb-3"},qe={class:"badge bg-primary-subtle text-primary"},Ae={key:0,class:"d-flex flex-wrap gap-2"},Re={key:1,class:"text-muted mb-0"},Ee={class:"col-lg-4"},Me={class:"detail-card h-100"},Ye={class:"d-flex justify-content-between align-items-center mb-3"},Le={class:"badge bg-success-subtle text-success"},je={key:0,class:"d-flex flex-wrap gap-2"},Ve={key:1,class:"text-muted mb-0"},Be={class:"col-lg-6 col-xl-4"},Te={class:"detail-card h-100 p-3"},Ne={class:"row g-3"},Pe={class:"col-6"},ze={class:"border rounded p-2 h-100"},Oe={class:"col-6"},Fe={class:"border rounded p-2 h-100"},Ue={class:"col-6"},Ie={class:"border rounded p-2 h-100"},He={class:"text-capitalize"},Ze={class:"col-6"},Ge={class:"border rounded p-2 h-100"},Je={class:"col-6"},Ke={class:"border rounded p-2 h-100"},Qe={class:"col-6"},We={class:"border rounded p-2 h-100"},Xe={class:"text-capitalize"},$e={key:1},et=["colspan"],tt={class:"row align-items-center mt-3"},st={class:"col-4"},at={key:0},ot={class:"col"},rt={key:0},nt={class:"pagination pagination-sm float-end"},lt=["disabled","onClick","innerHTML"];function it(s,t,c,d,l,o){const _=y("DataLoader"),p=y("NoData"),b=y("AppLayout"),g=y("OTP");return n(),r(m,null,[f(b,null,{default:Y(()=>[e("div",N,[e("div",P,[e("div",z,[t[31]||(t[31]=e("div",{class:"row p-0 align-items-center mb-3"},[e("div",{class:"col"},[e("h5",{class:"text-primary"},[e("i",{class:"fa-solid fa-circle-check fa-border border-primary"}),L(" Service Approval Requests ")])])],-1)),e("div",O,[e("div",F,[e("div",U,[e("div",I,[h(e("input",{"onUpdate:modelValue":t[0]||(t[0]=a=>l.search=a),type:"text",class:"form-control form-control-sm",placeholder:"Search by shop domain"},null,512),[[M,l.search]])]),t[7]||(t[7]=e("div",{class:"col-md-3 mb-2"},[e("a",{id:"reportrange",class:"form-control form-control-sm text-primary text-center text-decoration-none",type:"text",href:"#"},[e("i",{class:"fa fa-calendar"}),e("span",{class:"px-3"})])],-1)),e("div",H,[h(e("select",{"onUpdate:modelValue":t[1]||(t[1]=a=>l.status=a),class:"form-select form-select-sm"},t[4]||(t[4]=[e("option",{value:""},"All Status",-1),e("option",{value:"approved"},"Approved",-1),e("option",{value:"rejected"},"Rejected",-1),e("option",{value:"re-requested"},"Re Requested",-1),e("option",{value:"pending"},"Pending",-1)]),512),[[x,l.status]])]),e("div",Z,[e("button",{class:"btn btn-sm btn-outline-primary",onClick:t[2]||(t[2]=a=>o.fetchData("/api/service/get"))},t[5]||(t[5]=[e("i",{class:"fa fa-search"},null,-1)])),e("button",{class:"btn btn-sm btn-outline-primary ms-1",onClick:t[3]||(t[3]=(...a)=>o.resetFilters&&o.resetFilters(...a))},t[6]||(t[6]=[e("i",{class:"fa fa-trash-restore"},null,-1)]))])])])]),l.loader?(n(),r("div",G,[f(_)])):v("",!0),e("div",J,[e("div",K,[e("div",Q,[e("div",W,[e("table",X,[e("thead",ee,[e("tr",null,[t[8]||(t[8]=e("th",null,"Sr#",-1)),t[9]||(t[9]=e("th",null,"Shop Domain",-1)),t[10]||(t[10]=e("th",null,"Store Name",-1)),t[11]||(t[11]=e("th",null,"Billing Store",-1)),t[12]||(t[12]=e("th",null,"Package",-1)),t[13]||(t[13]=e("th",null,"Service",-1)),t[14]||(t[14]=e("th",null,"Request Status",-1)),t[15]||(t[15]=e("th",null,"Service Status",-1)),t[16]||(t[16]=e("th",null,"Remarks",-1)),t[17]||(t[17]=e("th",null,"Created at",-1)),o.canApproveRejectService?(n(),r("th",te,"Action")):v("",!0),t[18]||(t[18]=e("th",{class:"text-center",style:{width:"60px"}},"View",-1))])]),o.hasData?(n(),r("tbody",se,[(n(!0),r(m,null,k(l.request_list,(a,C)=>{var q,A;return n(),r(m,{key:a.id},[e("tr",{class:S({"table-active":o.isRowExpanded(a.id)})},[e("td",null,i(C+1),1),e("td",null,[e("div",ae,i((q=a.shop_domain)!=null?q:"-"),1)]),e("td",null,i((A=a.store_name)!=null?A:"-"),1),e("td",null,i(a.billing_store_name||a.billing_store_id||"-"),1),e("td",null,i(a.package_name||a.selected_package_id||"-"),1),e("td",null,[e("div",oe,i(o.formatLabel(a.service)),1)]),e("td",null,[o.canApproveRejectService?h((n(),r("select",{key:0,"onUpdate:modelValue":u=>a.status=u,disabled:o.isStatusDropdownDisabled(a),class:"form-select form-select-sm"},[t[19]||(t[19]=e("option",{value:"approved"},"Approved",-1)),t[20]||(t[20]=e("option",{value:"rejected"},"Rejected",-1)),a.status==="pending"?(n(),r("option",ne," Pending ")):v("",!0),a.status==="re-requested"?(n(),r("option",le," Re Requested ")):v("",!0)],8,re)),[[x,a.status]]):(n(),r("span",ie,i(o.formatLabel(a.status)),1))]),e("td",null,[o.canApproveRejectService?h((n(),r("select",{key:0,"onUpdate:modelValue":u=>a.service_status=u,disabled:!a.isEditing,class:"form-select form-select-sm"},t[21]||(t[21]=[e("option",{value:"active"},"Active",-1),e("option",{value:"inactive"},"Inactive",-1)]),8,de)),[[x,a.service_status]]):(n(),r("span",ce,i(o.formatLabel(a.service_status)),1))]),e("td",null,[o.canApproveRejectService?h((n(),r("input",{key:0,"onUpdate:modelValue":u=>a.remarks=u,disabled:!a.isEditing,class:"form-control form-control-sm",maxlength:"300",placeholder:"Enter remarks"},null,8,ue)),[[M,a.remarks]]):(n(),r("span",_e,i(a.remarks||"-"),1))]),e("td",null,i(o.dateFormat(a.created_at)),1),o.canApproveRejectService?(n(),r("td",pe,[e("div",ve,[a.isEditing?(n(),r(m,{key:1},[e("button",{class:"btn btn-sm btn-success",onClick:u=>o.saveRow(a)}," Save ",8,he),e("button",{class:"btn btn-sm btn-secondary",onClick:u=>o.cancelEdit(a)}," Cancel ",8,be)],64)):(n(),r("button",{key:0,class:"btn btn-sm btn-primary",onClick:u=>o.enableEdit(a)}," Edit ",8,me))])])):v("",!0),e("td",ge,[e("button",{class:"btn btn-sm btn-outline-primary rounded-circle detail-toggle-btn",type:"button",onClick:u=>o.toggleDetails(a.id)},[e("i",{class:S(["fa-solid",o.isRowExpanded(a.id)?"fa-chevron-up":"fa-chevron-down"])},null,2)],8,fe)])],2),o.isRowExpanded(a.id)?(n(),r("tr",ye,[e("td",{colspan:o.tableColumnCount,class:"p-0"}
1,[e("div",we,[e("div",xe,[e("div",Se,[e("div",De,[e("div",Ce,[t[22]||(t[22]=e("h6",{class:"mb-0"},"Events",-1)),e("span",qe,i(o.listCountLabel(a.events)),1)]),a.events&&a.events.length?(n(),r("div",Ae,[(n(!0),r(m,null,k(a.events,u=>(n(),r("span",{key:u,class:"badge rounded-pill bg-white text-dark border"},i(o.formatLabel(u)),1))),128))])):(n(),r("p",Re," No events available for this request. "))])]),e("div",Ee,[e("div",Me,[e("div",Ye,[t[23]||(t[23]=e("h6",{class:"mb-0"},"Allowed Stores",-1)),e("span",Le,i(o.listCountLabel(a.allowed_stores)),1)]),a.allowed_stores&&a.allowed_stores.length?(n(),r("div",je,[(n(!0),r(m,null,k(a.allowed_stores,u=>(n(),r("span",{key:u,class:"badge rounded-pill bg-white text-dark border"},i(u||"-"),1))),128))])):(n(),r("p",Ve," No allowed stores available for this request. "))])]),e("div",Be,[e("div",Te,[t[30]||(t[30]=e("div",{class:"d-flex justify-content-between align-items-center mb-3"},[e("h5",{class:"mb-0"},"Package Details")],-1)),e("div",Ne,[e("div",Pe,[e("div",ze,[t[24]||(t[24]=e("small",{class:"text-muted d-block"},"Package Name",-1)),e("strong",null,i(a.package.name),1)])]),e("div",Oe,[e("div",Fe,[t[25]||(t[25]=e("small",{class:"text-muted d-block"},"Amount",-1)),e("strong",null,i(a.package.amount)+" "+i(a.package.currency),1)])]),e("div",Ue,[e("div",Ie,[t[26]||(t[26]=e("small",{class:"text-muted d-block"},"Billing Cycle",-1)),e("strong",He,i(a.package.billing_cycle),1)])]),e("div",Ze,[e("div",Ge,[t[27]||(t[27]=e("small",{class:"text-muted d-block"},"Message Count",-1)),e("strong",null,i(a.package.message_count),1)])]),e("div",Je,[e("div",Ke,[t[28]||(t[28]=e("small",{class:"text-muted d-block"},"Additional Message Cost",-1)),e("strong",null,i(a.package.additional_per_message_amount)+" "+i(a.package.currency),1)])]),e("div",Qe,[e("div",We,[t[29]||(t[29]=e("small",{class:"text-muted d-block"},"Service",-1)),e("strong",Xe,i(a.package.service),1)])])])])])])])],8,ke)])):v("",!0)],64)}),128))])):(n(),r("tbody",$e,[e("tr",null,[e("td",{colspan:o.tableColumnCount},[f(p,{text_heading:"No Data Found",hide_data:!0})],8,et)])]))])])])])]),e("div",tt,[e("div",st,[l.request_list_response.data.length?(n(),r("p",at," Showing "+i(l.request_list_response.meta.from)+" to "+i(l.request_list_response.meta.to)+" of "+i(l.request_list_response.meta.total)+" results ",1)):v("",!0)]),e("div",ot,[l.request_list_response.meta.links?(n(),r("nav",rt,[e("ul",nt,[(n(!0),r(m,null,k(l.request_list_response.meta.links,a=>(n(),r("li",{class:S(["page-item",{active:a.active}]),key:a.label},[e("button",{class:"page-link",disabled:!a.url,onClick:C=>o.fetchData(a.url),innerHTML:a.label},null,8,lt)],2))),128))])])):v("",!0)])])])])])]),_:1}),f(g,{id:"service_request_otp_modal",actionname:l.action_name,otpparams:l.otp_params,onCallback_function:o.saveRowAfterVerification},null,8,["actionname","otpparams","onCallback_function"])],64)}const wt=B(T,[["render",it],["__scopeId","data-v-ea4a37a9"]]);export{wt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.