|
- {"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { ref } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useRouter } from \"vue-router\";\nimport Swal from \"sweetalert2\";\nexport default {\n name: \"LOGIN\",\n components: {},\n setup() {\n const loading = ref(false);\n const store = useStore();\n const router = useRouter();\n const form = ref({\n mobile: \"\",\n password: \"\"\n });\n const formSubmitted = ref(false);\n const login = async () => {\n formSubmitted.value = true;\n const isValid = validateForm();\n if (!isValid) return;\n loading.value = true;\n try {\n const fd = new FormData();\n fd.append(\"mobile\", form.value.mobile);\n fd.append(\"password\", form.value.password);\n await store.dispatch(\"user/loginUser\", fd);\n loading.value = false;\n router.push({\n name: \"dashPage\"\n });\n } catch (error) {\n Swal.fire({\n icon: \"error\",\n title: \"مشکلی پیش آمد\",\n text: error.message\n });\n loading.value = false;\n console.error(\"Login error:\", error);\n }\n };\n const validateForm = () => {\n return Object.values(form.value).every(value => value.trim() !== \"\");\n };\n const validateField = field => {\n return form.value[field].trim() !== \"\";\n };\n return {\n form,\n login,\n loading,\n validateField,\n formSubmitted\n };\n }\n};","map":{"version":3,"names":["ref","useStore","useRouter","Swal","name","components","setup","loading","store","router","form","mobile","password","formSubmitted","login","value","isValid","validateForm","fd","FormData","append","dispatch","push","error","fire","icon","title","text","message","console","Object","values","every","trim","validateField","field"],"sources":["C:\\Users\\hp\\Desktop\\satari\\Vue\\Admin\\src\\views\\live-preview\\pages\\auth2\\login.vue"],"sourcesContent":["<script>\r\nimport { ref } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport { useRouter } from \"vue-router\";\r\n\r\nimport Swal from \"sweetalert2\";\r\n\r\nexport default {\r\n name: \"LOGIN\",\r\n components: {},\r\n setup() {\r\n const loading = ref(false);\r\n const store = useStore();\r\n const router = useRouter();\r\n const form = ref({\r\n mobile: \"\",\r\n password: \"\",\r\n });\r\n const formSubmitted = ref(false);\r\n\r\n const login = async () => {\r\n formSubmitted.value = true;\r\n const isValid = validateForm();\r\n if (!isValid) return;\r\n loading.value = true;\r\n try {\r\n const fd = new FormData();\r\n fd.append(\"mobile\", form.value.mobile);\r\n fd.append(\"password\", form.value.password);\r\n await store.dispatch(\"user/loginUser\", fd);\r\n loading.value = false;\r\n router.push({ name: \"dashPage\" });\r\n } catch (error) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"مشکلی پیش آمد\",\r\n text: error.message,\r\n });\r\n loading.value = false;\r\n console.error(\"Login error:\", error);\r\n }\r\n };\r\n\r\n const validateForm = () => {\r\n return Object.values(form.value).every((value) => value.trim() !== \"\");\r\n };\r\n\r\n const validateField = (field) => {\r\n return form.value[field].trim() !== \"\";\r\n };\r\n\r\n return {\r\n form,\r\n login,\r\n loading,\r\n validateField,\r\n formSubmitted,\r\n };\r\n },\r\n};\r\n</script>\r\n\r\n<template>\r\n <div style=\"background-color: white\" class=\"auth-main v2\">\r\n <div class=\"bg-overlay bg-dark\"></div>\r\n <div class=\"auth-wrapper\">\r\n <div class=\"auth-sidecontent\">\r\n <div class=\"auth-sidefooter\">\r\n <BRow class=\"row\"> </BRow>\r\n </div>\r\n <img\r\n src=\"../../../../../src/assets/images/authentication/Mostafapoor-1.png\"\r\n class=\"img-brand img-fluid\"\r\n alt=\"images\"\r\n style=\"margin-bottom: 20px\"\r\n />\r\n </div>\r\n <div class=\"auth-form\" dir=\"rtl\" style=\"text-align: right\">\r\n <div class=\"card my-5 mx-3 shadow-sm border-0\">\r\n <div class=\"card-body p-4\">\r\n <h4 class=\"fw-bold mb-4 text-center\">ورود</h4>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"mobile\" class=\"form-label\">موبایل</label>\r\n <input\r\n @blur=\"validateField('mobile')\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n :class=\"{\r\n 'is-invalid': formSubmitted && !validateField('mobile'),\r\n }\"\r\n id=\"mobile\"\r\n placeholder=\"شماره موبایل\"\r\n v-model=\"form.mobile\"\r\n />\r\n <div\r\n v-if=\"formSubmitted && !validateField('mobile')\"\r\n class=\"text-danger\"\r\n >\r\n شماره موبایل الزامی است.\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"password\" class=\"form-label\">رمز ورود</label>\r\n <input\r\n @blur=\"validateField('password')\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n :class=\"{\r\n 'is-invalid': formSubmitted && !validateField('password'),\r\n }\"\r\n id=\"password\"\r\n placeholder=\"رمز عبور\"\r\n v-model=\"form.password\"\r\n />\r\n <div\r\n v-if=\"formSubmitted && !validateField('password')\"\r\n class=\"text-danger\"\r\n >\r\n رمز عبور الزامی است.\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex mt-1 justify-content-between align-items-center\">\r\n <router-link\r\n to=\"/forgot-password-v2\"\r\n class=\"text-secondary text-decoration-none\"\r\n >\r\n <h6 class=\"fw-normal mb-0\">فراموشی رمز عبور؟</h6>\r\n </router-link>\r\n </div>\r\n\r\n <div class=\"d-grid mt-4\">\r\n <button\r\n @click=\"login\"\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n :disabled=\"loading\"\r\n >\r\n <span\r\n v-if=\"loading\"\r\n class=\"spinner-border spinner-border-sm\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <span v-if=\"!loading\">ورود</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped>\r\n.text-danger {\r\n color: #dc3545;\r\n text-align: right; \r\n margin-top: 0.25rem;\r\n font-size: 0.875rem; \r\n}\r\n\r\n\r\n.is-invalid {\r\n border-color: #dc3545;\r\n}\r\n</style>\r\n"],"mappings":";AACA,SAASA,GAAE,QAAS,KAAK;AACzB,SAASC,QAAO,QAAS,MAAM;AAC/B,SAASC,SAAQ,QAAS,YAAY;AAEtC,OAAOC,IAAG,MAAO,aAAa;AAE9B,eAAe;EACbC,IAAI,EAAE,OAAO;EACbC,UAAU,EAAE,CAAC,CAAC;EACdC,KAAKA,CAAA,EAAG;IACN,MAAMC,OAAM,GAAIP,GAAG,CAAC,KAAK,CAAC;IAC1B,MAAMQ,KAAI,GAAIP,QAAQ,CAAC,CAAC;IACxB,MAAMQ,MAAK,GAAIP,SAAS,CAAC,CAAC;IAC1B,MAAMQ,IAAG,GAAIV,GAAG,CAAC;MACfW,MAAM,EAAE,EAAE;MACVC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,MAAMC,aAAY,GAAIb,GAAG,CAAC,KAAK,CAAC;IAEhC,MAAMc,KAAI,GAAI,MAAAA,CAAA,KAAY;MACxBD,aAAa,CAACE,KAAI,GAAI,IAAI;MAC1B,MAAMC,OAAM,GAAIC,YAAY,CAAC,CAAC;MAC9B,IAAI,CAACD,OAAO,EAAE;MACdT,OAAO,CAACQ,KAAI,GAAI,IAAI;MACpB,IAAI;QACF,MAAMG,EAAC,GAAI,IAAIC,QAAQ,CAAC,CAAC;QACzBD,EAAE,CAACE,MAAM,CAAC,QAAQ,EAAEV,IAAI,CAACK,KAAK,CAACJ,MAAM,CAAC;QACtCO,EAAE,CAACE,MAAM,CAAC,UAAU,EAAEV,IAAI,CAACK,KAAK,CAACH,QAAQ,CAAC;QAC1C,MAAMJ,KAAK,CAACa,QAAQ,CAAC,gBAAgB,EAAEH,EAAE,CAAC;QAC1CX,OAAO,CAACQ,KAAI,GAAI,KAAK;QACrBN,MAAM,CAACa,IAAI,CAAC;UAAElB,IAAI,EAAE;QAAW,CAAC,CAAC;MACnC,EAAE,OAAOmB,KAAK,EAAE;QACdpB,IAAI,CAACqB,IAAI,CAAC;UACRC,IAAI,EAAE,OAAO;UACbC,KAAK,EAAE,eAAe;UACtBC,IAAI,EAAEJ,KAAK,CAACK;QACd,CAAC,CAAC;QACFrB,OAAO,CAACQ,KAAI,GAAI,KAAK;QACrBc,OAAO,CAACN,KAAK,CAAC,cAAc,EAAEA,KAAK,CAAC;MACtC;IACF,CAAC;IAED,MAAMN,YAAW,GAAIA,CAAA,KAAM;MACzB,OAAOa,MAAM,CAACC,MAAM,CAACrB,IAAI,CAACK,KAAK,CAAC,CAACiB,KAAK,CAAEjB,KAAK,IAAKA,KAAK,CAACkB,IAAI,CAAC,MAAM,EAAE,CAAC;IACxE,CAAC;IAED,MAAMC,aAAY,GAAKC,KAAK,IAAK;MAC/B,OAAOzB,IAAI,CAACK,KAAK,CAACoB,KAAK,CAAC,CAACF,IAAI,CAAC,MAAM,EAAE;IACxC,CAAC;IAED,OAAO;MACLvB,IAAI;MACJI,KAAK;MACLP,OAAO;MACP2B,aAAa;MACbrB;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|