Добавила выборку по участникам событий
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
v-if="isOpenForm"
|
v-if="isOpenForm"
|
||||||
:close-form="closeFormCreateEvent"
|
:close-form="closeFormCreateEvent"
|
||||||
:owners-data="employeesData"
|
:owners-data="employeesData"
|
||||||
|
:members-data="membersData"
|
||||||
)
|
)
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -44,6 +45,7 @@ export default {
|
|||||||
eventsData: [],
|
eventsData: [],
|
||||||
employeesData: [],
|
employeesData: [],
|
||||||
isOpenForm: false,
|
isOpenForm: false,
|
||||||
|
membersData: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -62,6 +64,9 @@ export default {
|
|||||||
saveEmployeesData(res) {
|
saveEmployeesData(res) {
|
||||||
this.employeesData = res.results;
|
this.employeesData = res.results;
|
||||||
},
|
},
|
||||||
|
saveMembersData(res) {
|
||||||
|
this.membersData = res.results;
|
||||||
|
},
|
||||||
fetchEventsData() {
|
fetchEventsData() {
|
||||||
fetch("http://45.84.227.122:8080/registry/event/")
|
fetch("http://45.84.227.122:8080/registry/event/")
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
@@ -69,6 +74,9 @@ export default {
|
|||||||
fetch("http://45.84.227.122:8080/general/employee/")
|
fetch("http://45.84.227.122:8080/general/employee/")
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
.then((res) => this.saveEmployeesData(res));
|
.then((res) => this.saveEmployeesData(res));
|
||||||
|
fetch("http://45.84.227.122:8080/general/person/")
|
||||||
|
.then((res) => res.json())
|
||||||
|
.then((res) => this.saveMembersData(res));
|
||||||
},
|
},
|
||||||
changeWidth(value) {
|
changeWidth(value) {
|
||||||
this.sidebarWidth = value;
|
this.sidebarWidth = value;
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
span.text-xs.opacity-40.font-bold.leading-3 Ответственный
|
span.text-xs.opacity-40.font-bold.leading-3 Ответственный
|
||||||
.icon-cancel.close-icon.text-xs.cursor-pointer(@click="closeForm")
|
.icon-cancel.close-icon.text-xs.cursor-pointer(@click="closeForm")
|
||||||
base-select(
|
base-select(
|
||||||
:size-input="responsibleInputSize"
|
:size-input="ownerSelectSize"
|
||||||
:option-data="ownerName"
|
:option-data="ownerName"
|
||||||
:list-data="filteredOwners"
|
:list-data="ownersList"
|
||||||
:choose-option="chooseOptionOwner"
|
:choose-option="chooseOptionOwner"
|
||||||
placeholder="Выберите ответственного"
|
placeholder="Выберите ответственного"
|
||||||
separator
|
separator
|
||||||
@@ -30,12 +30,18 @@
|
|||||||
)
|
)
|
||||||
.flex.gap-x-4.items-center
|
.flex.gap-x-4.items-center
|
||||||
.icon-person.text-xl.icon
|
.icon-person.text-xl.icon
|
||||||
.form-item.cursor-pointer.flex.gap-x-2.px-4.py-2.items-center
|
base-select(
|
||||||
input.item-input.cursor-text.text-base(v-model="eventData.eventClient" type="text" placeholder="ФИО клиента")
|
:size-input="memberSelectSize"
|
||||||
|
:list-data="membersList"
|
||||||
|
:option-data="memberName"
|
||||||
|
:choose-option="chooseOptionMember"
|
||||||
|
placeholder="Выберите участника"
|
||||||
|
separator
|
||||||
|
)
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
span.text-xs.opacity-40.font-bold.leading-3 Вид события
|
span.text-xs.opacity-40.font-bold.leading-3 Вид события
|
||||||
base-select(
|
base-select(
|
||||||
:size-input="kindEventSize"
|
:size-input="kindEventSelectSize"
|
||||||
:option-data="eventData.kindEvent"
|
:option-data="eventData.kindEvent"
|
||||||
:list-data="kindEvents"
|
:list-data="kindEvents"
|
||||||
:choose-option="chooseOptionTypeEvent"
|
:choose-option="chooseOptionTypeEvent"
|
||||||
@@ -63,6 +69,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import * as moment from "moment/moment";
|
||||||
import BaseSelect from "@/components/base/BaseSelect";
|
import BaseSelect from "@/components/base/BaseSelect";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
export default {
|
export default {
|
||||||
@@ -76,18 +83,30 @@ export default {
|
|||||||
return [];
|
return [];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
membersData: {
|
||||||
|
type: Array,
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
listContacts: [1],
|
listContacts: [1],
|
||||||
responsibleInputSize: 22,
|
ownerSelectSize: 22,
|
||||||
kindEventSize: 10,
|
kindEventSelectSize: 10,
|
||||||
|
memberSelectSize: 29,
|
||||||
kindEvents: ["Встреча", "Планерка", "Интервью", "Важная работа"],
|
kindEvents: ["Встреча", "Планерка", "Интервью", "Важная работа"],
|
||||||
eventData: {
|
eventData: {
|
||||||
start: "",
|
start: "",
|
||||||
end: "",
|
end: "",
|
||||||
kind: "",
|
kind: "",
|
||||||
members: [],
|
members: [
|
||||||
|
{
|
||||||
|
person: null,
|
||||||
|
role: null,
|
||||||
|
},
|
||||||
|
],
|
||||||
employees: [
|
employees: [
|
||||||
{
|
{
|
||||||
employee: null,
|
employee: null,
|
||||||
@@ -106,7 +125,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
filteredOwners() {
|
ownersList() {
|
||||||
if (this.ownersData) {
|
if (this.ownersData) {
|
||||||
let filteredArray = [];
|
let filteredArray = [];
|
||||||
this.ownersData.forEach((elem) => {
|
this.ownersData.forEach((elem) => {
|
||||||
@@ -117,7 +136,20 @@ export default {
|
|||||||
});
|
});
|
||||||
return filteredArray;
|
return filteredArray;
|
||||||
}
|
}
|
||||||
return ["Захарова А.О.", "Коломойцев И.К.", "Ситников А.Г."];
|
return [];
|
||||||
|
},
|
||||||
|
membersList() {
|
||||||
|
if (this.membersData) {
|
||||||
|
let filteredArray = [];
|
||||||
|
this.membersData.forEach((elem) => {
|
||||||
|
filteredArray.push({
|
||||||
|
id: elem.id,
|
||||||
|
name: `${elem.last_name} ${elem.first_name} ${elem.patronymic}`,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return filteredArray;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
},
|
},
|
||||||
ownerName() {
|
ownerName() {
|
||||||
if (this.eventData.employees[0].employee) {
|
if (this.eventData.employees[0].employee) {
|
||||||
@@ -125,17 +157,53 @@ export default {
|
|||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
},
|
},
|
||||||
|
memberName() {
|
||||||
|
let data = this.eventData.members[0].person;
|
||||||
|
if (data) {
|
||||||
|
return `${data.last_name} ${data.first_name} ${data.patronymic}`;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
},
|
||||||
|
eventStartTime() {
|
||||||
|
if (this.eventData.start) {
|
||||||
|
console.log(
|
||||||
|
`${moment().format("YYYY-MM-DD")}T${this.eventData.start}:00Z`
|
||||||
|
);
|
||||||
|
return `${moment().format("YYYY-MM-DD")}T${this.eventData.start}:00Z`;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
chooseOptionOwner(e) {
|
chooseOptionOwner(e) {
|
||||||
let foundEmployee = this.ownersData.find(
|
let foundEmployee = this.ownersData.find(
|
||||||
(elem) => elem.id === e.target.id.split(" ")[0]
|
(elem) => elem.id === e.target.id
|
||||||
);
|
);
|
||||||
this.eventData.employees[0].employee = foundEmployee;
|
this.eventData.employees[0].employee = {
|
||||||
|
id: foundEmployee.id,
|
||||||
|
last_name: foundEmployee.last_name,
|
||||||
|
first_name: foundEmployee.first_name,
|
||||||
|
patronymic: foundEmployee.patronymic,
|
||||||
|
};
|
||||||
|
console.log(this.eventData.employees[0].employee);
|
||||||
|
this.ownerSelectSize = this.ownerName.split(" ").join("").length;
|
||||||
},
|
},
|
||||||
chooseOptionTypeEvent(e) {
|
chooseOptionTypeEvent(e) {
|
||||||
this.eventData.kindEvent = e.target.id;
|
this.eventData.kindEvent = e.target.id;
|
||||||
this.kindEventSize = this.eventData.kindEvent.split(" ").join("").length;
|
this.kindEventSelectSize = this.eventData.kindEvent
|
||||||
|
.split(" ")
|
||||||
|
.join("").length;
|
||||||
|
},
|
||||||
|
chooseOptionMember(e) {
|
||||||
|
let foundMember = this.membersData.find(
|
||||||
|
(elem) => elem.id === e.target.id
|
||||||
|
);
|
||||||
|
this.eventData.members[0].person = {
|
||||||
|
id: foundMember.id,
|
||||||
|
last_name: foundMember.last_name,
|
||||||
|
first_name: foundMember.first_name,
|
||||||
|
patronymic: foundMember.patronymic,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
addContact(e) {
|
addContact(e) {
|
||||||
if (e.currentTarget.id === "addContact") {
|
if (e.currentTarget.id === "addContact") {
|
||||||
|
|||||||
Reference in New Issue
Block a user