3 lines
14 KiB
JavaScript
3 lines
14 KiB
JavaScript
|
import{a as m,_ as R}from"./main-9b36f05f.js";import{h as _,a as i,o as F,c as P,w as s,b as t,d,t as k,s as G,C as $,F as j,e as q,A as z}from"./vendor-adef9cb4.js";const H=_({name:"registry",data:()=>({loading:!0,tab:null,settings:{canRegister:!0,canFreeAccounting:!1,smsPrice:"0",cloudPricePerGb:"0",unlimitedPrice:"0",accountingDocPrice:"0",giftCredit:"0",unlimitedDuration:[],smsAlertEnabled:!1,smsAlertMobile:"",autoUpdateTicketsEnabled:!1,autoUpdateTicketsInterval:24,sponsorMessage:"",footerLeft:"",footerRight:"",appName:"",appUrl:"",appSlogan:"",verifyMobileViaSms:!1},dialogVisible:!1,dialogMessage:"",dialogLoading:!1}),methods:{async loadData(){this.loading=!0;try{const u=await m.post("/api/admin/registry/settings/load");if(u.data.result===1){const n=u.data.data;this.settings={...this.settings,...n,smsPrice:this.formatNumber(n.smsPrice),cloudPricePerGb:this.formatNumber(n.cloudPricePerGb),unlimitedPrice:this.formatNumber(n.unlimitedPrice),accountingDocPrice:this.formatNumber(n.accountingDocPrice),giftCredit:this.formatNumber(n.giftCredit),appUrl:n.appUrl||"",appSlogan:n.appSlogan||"",verifyMobileViaSms:n.verifyMobileViaSms||!1},this.checkFreeAccounting()}const e=await m.get("/api/admin/cron/check-autoupdate-tickets");this.settings.autoUpdateTicketsEnabled=e.data.enabled,this.settings.autoUpdateTicketsInterval=e.data.interval||24}catch(u){console.error("Error loading data:",u)}finally{this.loading=!1}},async submit(){var e,n;if(!this.validateForm())return;this.dialogLoading=!0,this.dialogVisible=!0,this.dialogMessage="در حال ذخیره تنظیمات...";const u={...this.settings,smsPrice:this.parseNumber(this.settings.smsPrice),cloudPricePerGb:this.parseNumber(this.settings.cloudPricePerGb),unlimitedPrice:this.parseNumber(this.settings.unlimitedPrice),accountingDocPrice:this.parseNumber(this.settings.accountingDocPrice),giftCredit:this.parseNumber(this.settings.giftCredit),appUrl:this.settings.appUrl,appSlogan:this.settings.appSlogan,verifyMobileViaSms:this.settings.verifyMobileViaSms};try{let f=[(await m.post("/api/admin/registry/settings/save",u)).data.result===1?"تنظیمات با موفقیت ذخیره شد":"خطا در ذخیره تنظیمات"];if(this.settings.autoUpdateTicketsEnabled){const b=await m.post("/api/admin/cron/add-autoupdate-tickets",{interval:this.settings.autoUpdateTicketsInterval});f.push(b.data.message)}else{const b=await m.post("/api/admin/cron/remove-autoupdate-tickets");f.push(b.data.message)}this.dialogMessage=f.join(`
|
||
|
`)}catch(c){this.dialogMessage=((n=(e=c.response)==null?void 0:e.data)==null?void 0:n.message)||"خطایی رخ داد"}finally{this.dialogLoading=!1,this.loading=!1}},validateForm(){if(!this.settings.canFreeAccounting){const e=[{value:this.parseNumber(this.settings.accountingDocPrice),message:"قیمت هر سند حسابداری باید بزرگتر از صفر باشد"},{value:this.parseNumber(this.settings.unlimitedPrice),message:"قیمت هر ماه استفاده نامحدود باید بزرگتر از صفر باشد"},{value:this.settings.unlimitedDuration.length,message:"حداقل یکی از مدت زمانهای بسته نامحدود باید انتخاب شود"}].find(n=>n.value<=0);if(e)return this.showErrorDialog(e.message),!1}return!0},async runTicketUpdate(){var u,e;this.dialogVisible=!0,this.dialogLoading=!0,this.dialogMessage="در حال بررسی تیکتها...";try{const n=await m.post("/api/admin/cron/run-autoupdate-tickets");this.dialogMessage=n.data.message}catch(n){this.dialogMessage=((e=(u=n.response)==null?void 0:u.data)==null?void 0:e.message)||"خطایی در بررسی تیکتها رخ داد"}finally{this.dialogLoading=!1}},showErrorDialog(u){this.dialogVisible=!0,this.dialogMessage=u,this.dialogLoading=!1},formatNumber(u){return u.toString().replace(/[^0-9]/g,"").replace(/\B(?=(\d{3})+(?!\d))/g,",")||"0"},parseNumber(u){return Number(u.replace(/,/g,""))||0},handleInput(u,e){this.settings[u]=this.formatNumber(e)},checkFreeAccounting(){this.settings.canFreeAccounting&&(this.settings.accountingDocPrice="0",this.settings.unlimitedPrice="0",this.settings.unlimitedDuration=[])},validateInterval(){this.settings.autoUpdateTicketsInterval<1&&(this.settings.autoUpdateTicketsInterval=1)}},watch:{"settings.canFreeAccounting"(u){this.checkFreeAccounting()}},beforeMount(){this.loadData()}});const J={style:{"white-space":"pre-line"}};function K(u,e,n,c,f,b){const h=i("v-toolbar-title"),y=i("v-spacer"),v=i("v-btn"),D=i("v-toolbar"),V=i("v-tab"),E=i("v-tabs"),g=i("v-switch"),a=i("v-col"),o=i("v-text-field"),r=i("v-row"),w=i("v-textarea"),p=i("v-card-text"),A=i("v-window-item"),U=i("v-card-title"),M=i("v-checkbox"),C=i("v-card"),I=i("v-window"),N=i("v-progress-circular"),S=i("v-card-actions"),T=i("v-dialog"),L=i("v-container");return F(),P(L,{fluid:"",class:"pa-0"},{default:s(()=>[t(D,{color:"toolbar"},{default:s(()=>[t(h,null,{default:s(()=>[d(k(u.$t("pages.manager.system_settings_registry")),1)]),_:1}),t(y),t(v,{icon:"mdi-content-save",color:"primary",loading:u.loading,onClick:u.submit},null,8,["loading","onClick"])]),_:1}),t(E,{modelValue:u.tab,"onUpdate:modelValue":e[0]||(e[0]=l=>u.tab=l),grow:""},{default:s(()=>[t(V,{value:"general"},{default:s(()=>e[29]||(e[29]=[d("تنظیمات عمومی")])),_:1}),t(V,{value:"pricing"},{default:s(()=>e[30]||(e[30]=[d("قیمتگذاری")])),_:1}),t(V,{value:"automation"},{default:s(()=>e[31]||(e[31]=[d("اتوماسیون")])),_:1})]),_:1},8,["modelValue"]),t(C,{loading:u.loading?"red":void 0,disabled:u.loading},{default:s(()=>[t(I,{modelValue:u.tab,"onUpdate:modelValue":e[26]||(e[26]=l=>u.tab=l)},{default:s(()=>[t(A,{value:"general"},{default:s(()=>[t(p,null,{default:s(()=>[t(r,null,{default:s(()=>[t(a,{cols:"12",sm:"12",md:"4"},{default:s(()=>[t(g,{modelValue:u.settings.canRegister,"onUpdate:modelValue":e[1]||(e[1]=l=>u.settings.canRegister=l),label:"فعال بودن ثبتنام کاربران جدید",color:"primary"},null,8,["modelValue"])]),_:1}),t(a,{cols:"12",sm:"12",md:"4"},{default:s(()=>[t(g,{modelValue:u.settings.verifyMobileViaSms,"onUpdate:modelValue":e[2]||(e[2]=l=>u.settings.verifyMobileViaSms=l),label:"تایید شماره موبایل از طریق پیامک",color:"primary"},null,8,["modelValue"])]),_:1}),t(a,{cols:"12",sm:"12",md:"4"},{default:s(()=>[t(g,{modelValue:u.settings.canFreeAccounting,"onUpdate:modelValue":e[3]||(e[3]=l=>u.settings.canFreeAccounting=l),label:"فعال بودن ثبت رایگان سند حسابداری",color:"primary"},null,8,["modelValue"])]),_:1}),t(r,null,{default:s(()=>[
|