diff --git a/webUI/src/views/acc/plugins/hrm/docs/list.vue b/webUI/src/views/acc/plugins/hrm/docs/list.vue
new file mode 100644
index 0000000..934ed90
--- /dev/null
+++ b/webUI/src/views/acc/plugins/hrm/docs/list.vue
@@ -0,0 +1,70 @@
+
+
+
+
+ {{ $t('drawer.hrm_docs') }}
+
+
+ {{ $t('dialog.add_new') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webUI/src/views/acc/plugins/hrm/docs/mod.vue b/webUI/src/views/acc/plugins/hrm/docs/mod.vue
new file mode 100644
index 0000000..e9143db
--- /dev/null
+++ b/webUI/src/views/acc/plugins/hrm/docs/mod.vue
@@ -0,0 +1,393 @@
+
+
+
+
+
+
+
+
+
+ {{ isEdit ? $t('dialog.edit') : $t('dialog.add_new') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ شخص |
+ حقوق پایه |
+ اضافه کار |
+ حق شیفت |
+ شب کاری |
+ جمع کل |
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+ {{ calculateTotal(row).toLocaleString('fa-IR') }}
+ |
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+ {{ $t('dialog.hrm.no_data') }} |
+
+
+
+ {{ $t('dialog.hrm.add_new_row') }}
+ |
+
+
+ جمع کل |
+ {{ calculateColumnTotal('baseSalary').toLocaleString('fa-IR') }} |
+ {{ calculateColumnTotal('overtime').toLocaleString('fa-IR') }} |
+ {{ calculateColumnTotal('shift').toLocaleString('fa-IR') }} |
+ {{ calculateColumnTotal('night').toLocaleString('fa-IR') }} |
+ {{ calculateColumnTotal('total').toLocaleString('fa-IR') }} |
+
+
+
+
+
+
+
+ {{ successMessage }}
+
+
+ {{ errorMessage }}
+
+
+
+ {{ $t('dialog.hrm.title') }}
+ {{ $t('dialog.hrm.delete_confirm') }}
+
+
+ {{ $t('dialog.cancel') }}
+ {{ $t('dialog.delete') }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webUI/src/views/acc/plugins/hrm/docs/view.vue b/webUI/src/views/acc/plugins/hrm/docs/view.vue
new file mode 100644
index 0000000..cc9464e
--- /dev/null
+++ b/webUI/src/views/acc/plugins/hrm/docs/view.vue
@@ -0,0 +1,89 @@
+
+
+
+
+ {{ $t('drawer.hrm_docs') }}
+
+
+ {{ $t('dialog.edit') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('field.employee') }}
+ {{ item.employee }}
+
+
+
+
+
+ {{ $t('field.amount') }}
+ {{ item.amount }}
+
+
+
+
+
+ {{ $t('field.date') }}
+ {{ item.date }}
+
+
+
+
+
+ {{ $t('field.status') }}
+ {{ item.status }}
+
+
+
+
+
+
+
+
+
+ {{ $t('dialog.back') }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webUI/src/views/acc/plugins/hrm/intro.vue b/webUI/src/views/acc/plugins/hrm/intro.vue
new file mode 100644
index 0000000..75168e7
--- /dev/null
+++ b/webUI/src/views/acc/plugins/hrm/intro.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+ افزونه مدیریت منابع انسانی
+ مدیریت هوشمند پرسنل، حقوق و دستمزد و حضور و غیاب با یک افزونه قدرتمند
+
+
+ خرید نسخه آزمایشی
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ این افزونه در حال توسعه و آزمایشی است. در نسخه اولیه، تنها از سند حقوق کارکنان پشتیبانی میکند. خرید شما باعث سرعت بیشتر در توسعه و بهبود قابلیتهای آن میشود.
+
+
+ مدیریت منابع انسانی یکی از مهمترین بخشهای هر سازمان است که نیاز به دقت و نظم بالایی دارد. افزونه مدیریت منابع انسانی حسابیکس با ارائه قابلیتهای متنوع، مدیریت پرسنل، محاسبه حقوق و دستمزد و کنترل حضور و غیاب را به سادهترین شکل ممکن فراهم میکند.
+
+
+ قابلیتهای نسخه اولیه:
+
+
+ -
+
+ ثبت سند حقوق کارکنان با در نظر گرفتن موارد قانونی
+
+
+
+ قابلیتهای در دست توسعه:
+
+
+ -
+
+ سیستم حضور و غیاب هوشمند
+
+ -
+
+ مدیریت مرخصیها و غیبتها
+
+ -
+
+ ثبت مدارک و سوابق کاری
+
+
+
+ این افزونه به صورت کامل با سیستم حسابداری حسابیکس یکپارچه شده و تمامی عملیات مالی مربوط به حقوق و دستمزد را به صورت خودکار در سیستم حسابداری ثبت میکند. همچنین امکان صدور فیش حقوقی و گزارشهای مالی متنوع را فراهم میکند.
+
+
+ با استفاده از این افزونه، دیگر نیازی به نرم افزارهای جداگانه برای مدیریت منابع انسانی نخواهید داشت. تمامی اطلاعات در یک سیستم یکپارچه ذخیره میشود و دسترسی به آنها از هر مکان و در هر زمان امکانپذیر است.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webUI/src/views/acc/plugins/repservice/intro.vue b/webUI/src/views/acc/plugins/repservice/intro.vue
index 4a18af1..874d1f9 100644
--- a/webUI/src/views/acc/plugins/repservice/intro.vue
+++ b/webUI/src/views/acc/plugins/repservice/intro.vue
@@ -9,7 +9,9 @@ export default defineComponent({
}
},
created() {
- this.siteName = getSiteName();
+ getSiteName().then(name => {
+ this.siteName = name;
+ });
}
})
@@ -17,7 +19,7 @@ export default defineComponent({
-
+
@@ -30,8 +32,6 @@ export default defineComponent({
خرید
-
-
diff --git a/webUI/src/views/acc/sell/list.vue b/webUI/src/views/acc/sell/list.vue
index ad893f7..9c1ac79 100644
--- a/webUI/src/views/acc/sell/list.vue
+++ b/webUI/src/views/acc/sell/list.vue
@@ -216,15 +216,24 @@
@@ -344,6 +353,7 @@ export default defineComponent({
},
plugins: {},
sumSelected: 0,
+ sumSelectedProfit: 0,
sumTotal: 0,
itemsSelected: [],
searchValue: '',
@@ -693,6 +703,7 @@ export default defineComponent({
itemsSelected: {
handler(val) {
this.sumSelected = 0;
+ this.sumSelectedProfit = 0;
this.itemsSelected.forEach((code) => {
const selectedItem = this.items.find(item => item.code === code);
if (selectedItem) {
@@ -702,6 +713,7 @@ export default defineComponent({
} else {
this.sumSelected += amount;
}
+ this.sumSelectedProfit += selectedItem.profit || 0;
}
});
},
@@ -715,21 +727,29 @@ export default defineComponent({
.footer-summary {
background-color: #f5f5f5;
padding: 12px 24px;
- display: flex;
- justify-content: space-between;
border-top: 1px solid #e0e0e0;
margin-top: 8px;
}
+.summary-items {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 16px;
+ justify-content: space-between;
+}
+
.summary-item {
display: flex;
align-items: center;
gap: 8px;
+ flex: 1;
+ min-width: 200px;
}
.summary-label {
font-weight: 500;
color: #666;
+ white-space: nowrap;
}
.summary-value {
@@ -737,6 +757,18 @@ export default defineComponent({
color: #1976d2;
}
+@media (max-width: 600px) {
+ .summary-items {
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .summary-item {
+ min-width: 100%;
+ justify-content: space-between;
+ }
+}
+
.data-table-wrapper {
margin-bottom: 0;
}
diff --git a/webUI/src/views/acc/sell/mod.vue b/webUI/src/views/acc/sell/mod.vue
index 09e5701..638db08 100644
--- a/webUI/src/views/acc/sell/mod.vue
+++ b/webUI/src/views/acc/sell/mod.vue
@@ -46,35 +46,46 @@
-
+
+ ردیف |
نام کالا |
تعداد |
قیمت |
تخفیف |
- جمع کل |
+ جمع کل |
-
+ |
+ {{ index + 1 }}
+ |
+
|
-
+ |
|
-
-
+ |
+
+
+
+
+ mdi-alert
+
+
+
|
-
+ |
-
+
@@ -83,14 +94,14 @@
-
+
|
-
+ |
{{ item.total.toLocaleString('fa-IR') }}
|
@@ -127,35 +138,42 @@
ردیف:
- {{ index + 1 }}
+ {{ index + 1 }}
-
+
-
-
+
+
-
-
+
+
+
+
+
+ mdi-alert
+
+
+
-
+
-
+
-
+
-
+
@@ -1293,6 +1311,36 @@ export default {
padding-bottom: 8px;
}
+:deep(.v-table) {
+ width: 100%;
+ table-layout: auto;
+}
+
+:deep(.v-table__wrapper) {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+:deep(.v-table__wrapper::-webkit-scrollbar) {
+ display: none;
+}
+
+:deep(.v-table .v-field) {
+ margin: 4px 0;
+}
+
+:deep(.v-table .v-field__input) {
+ padding: 4px 8px;
+}
+
+:deep(.v-table .v-field__outline) {
+ --v-field-border-width: 1px;
+}
+
+:deep(.v-table .v-field--variant-outlined) {
+ --v-field-border-opacity: 0.12;
+}
+
:deep(.v-overlay__content) {
z-index: 9999 !important;
}
diff --git a/webUI/src/views/acc/settings/user_perm_edit.vue b/webUI/src/views/acc/settings/user_perm_edit.vue
index c7068e2..a1e8d1f 100644
--- a/webUI/src/views/acc/settings/user_perm_edit.vue
+++ b/webUI/src/views/acc/settings/user_perm_edit.vue
@@ -493,6 +493,32 @@
+
+
+ افزونه مدیریت منابع انسانی
+
+
+
+
+
+
+
+
+
+
+
+
+
+
افزونه کارگاه نقره سازی
@@ -625,7 +651,8 @@ export default {
plugRepservice: false,
plugNoghreAdmin: false,
plugNoghreSell: false,
- plugCCAdmin: false
+ plugCCAdmin: false,
+ plugHrmDocs: false
};
axios.post('/api/business/get/user/permissions',
diff --git a/webUI/src/views/acc/store/plugin-world.vue b/webUI/src/views/acc/store/plugin-world.vue
index 28aa6d6..c563751 100644
--- a/webUI/src/views/acc/store/plugin-world.vue
+++ b/webUI/src/views/acc/store/plugin-world.vue
@@ -1,87 +1,100 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{plugin.name}}
-
- {{Intl.NumberFormat('en-US').format(plugin.price)}} تومان
{{plugin.timelabel}}
-
-
-
-
-
-
- خرید
-
-
- کاتالوگ
-
-
-
+
+
+
+ mdi-arrow-right
+
+
+
+
+
+
+
+
+
+
+ mdi-power-plug
+ {{ plugin.name }}
-
-
-
-
-
-
-
+
+
+
+ {{ Intl.NumberFormat('en-US').format(plugin.price) }} تومان
+
+
+ mdi-clock-outline
+ {{ plugin.timelabel }}
+
+
+
+
+
+ mdi-ticket
+ پشتیبانی دارد
+
+
+ mdi-account-group
+ کاربر نامحدود
+
+
+
+
+
+
+ mdi-cart
+ خرید
+
+
+
+
+ mdi-book-open-page-variant
+ کاتالوگ
+
+
+
+
+
+
+
\ No newline at end of file
+
\ No newline at end of file
diff --git a/webUI/src/views/user/InstallPWA.vue b/webUI/src/views/user/InstallPWA.vue
index f67db13..fdf190e 100644
--- a/webUI/src/views/user/InstallPWA.vue
+++ b/webUI/src/views/user/InstallPWA.vue
@@ -69,6 +69,11 @@
import { getSiteName } from "@/hesabixConfig";
import { onMounted, ref } from "vue";
+interface BeforeInstallPromptEvent extends Event {
+ prompt: () => Promise
;
+ userChoice: Promise<{ outcome: string }>;
+}
+
const installPromptEvent = ref(null);
const browserName = ref("");
const chromeBanner = ref(false);
diff --git a/webUI/src/views/user/profile/dashboard.vue b/webUI/src/views/user/profile/dashboard.vue
index 59f7fd9..41058c0 100644
--- a/webUI/src/views/user/profile/dashboard.vue
+++ b/webUI/src/views/user/profile/dashboard.vue
@@ -3,7 +3,6 @@
- {{ $t('tabs.suggestions') }}
@@ -109,15 +108,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/webUI/src/views/user/profile/profile-main.vue b/webUI/src/views/user/profile/profile-main.vue
index 488aabf..c74a9b2 100644
--- a/webUI/src/views/user/profile/profile-main.vue
+++ b/webUI/src/views/user/profile/profile-main.vue
@@ -1,6 +1,6 @@
-
+
{{ siteSlogan }}
@@ -10,7 +10,7 @@
{{ siteName }}
-
+
@@ -68,7 +68,7 @@ import { applicationStore } from "@/stores/applicationStore";
import { useUserStore } from "@/stores/userStore";
import { ref, defineComponent } from "vue";
import { mapActions, mapState, mapStores } from "pinia";
-import Change_lang from "/src/components/application/buttons/change_lang.vue";
+import Change_lang from "@/components/application/buttons/change_lang.vue";
export default defineComponent({
// eslint-disable-next-line vue/multi-word-component-names,vue/no-reserved-component-names