Add activity detail, Jalali pickers, and customer/user profiles.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-02 21:29:00 +03:30
co-authored by Cursor
parent 574feedfa5
commit f884c60cab
39 changed files with 8255 additions and 441 deletions
+11 -2
View File
@@ -1,9 +1,10 @@
<script setup lang="ts">
import { computed, onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { useRoute, useRouter } from 'vue-router';
import axios from 'axios';
import { api } from '@/lib/api';
import NoteAiSuggestionPanel from '@/components/NoteAiSuggestionPanel.vue';
import JalaliDateInput from '@/components/JalaliDateInput.vue';
import type {
DealDto,
NoteAttachmentDto,
@@ -15,6 +16,7 @@ import type {
} from '@mento/shared';
const router = useRouter();
const route = useRoute();
const loading = ref(false);
const saving = ref(false);
const error = ref('');
@@ -72,6 +74,13 @@ async function load() {
notes.value = notesRes.data.items;
people.value = peopleRes.data.items;
deals.value = boardRes.data.stages.flatMap((s) => s.deals);
if (typeof route.query.personId === 'string' && route.query.personId) {
draftPersonId.value = route.query.personId;
showExtras.value = true;
}
if (typeof route.query.q === 'string' && route.query.q && !q.value) {
q.value = route.query.q;
}
} catch (e) {
if (axios.isAxiosError(e) && !e.response) {
error.value = 'اتصال به API برقرار نشد.';
@@ -372,7 +381,7 @@ onMounted(load);
</div>
<div class="field">
<label>یادآوری</label>
<input v-model="draftReminder" type="datetime-local" />
<JalaliDateInput v-model="draftReminder" mode="datetime" />
</div>
</div>
</form>