This commit is contained in:
@@ -81,7 +81,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<GzWoItemScheduledUsers
|
<GzWoItemScheduledUsers
|
||||||
v-if="pvm.subRights.scheduledUsers.visible"
|
v-if="subRights.scheduledUsers.visible"
|
||||||
v-model="value"
|
v-model="value"
|
||||||
:pvm="pvm"
|
:pvm="pvm"
|
||||||
data-cy="woItemScheduledUsers"
|
data-cy="woItemScheduledUsers"
|
||||||
@@ -126,6 +126,10 @@ export default {
|
|||||||
pvm: {
|
pvm: {
|
||||||
default: null,
|
default: null,
|
||||||
type: Object
|
type: Object
|
||||||
|
},
|
||||||
|
subRights: {
|
||||||
|
default: null,
|
||||||
|
type: Object
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -165,7 +169,19 @@ export default {
|
|||||||
if ((await window.$gz.dialog.confirmDelete()) != true) {
|
if ((await window.$gz.dialog.confirmDelete()) != true) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.pvm.deleteItem(this.activeItemIndex);
|
|
||||||
|
let o = this.value.items[this.activeItemIndex];
|
||||||
|
if (o.id != 0) {
|
||||||
|
//it's a previously saved item so it needs to be removed at the server too
|
||||||
|
//todo: event delete graphitem - this.deletedItems.push(o.id);
|
||||||
|
this.$emit("graph-item-deleted", {
|
||||||
|
atype: window.$gz.type.WorkOrderItem,
|
||||||
|
id: o.id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.value.items.splice(this.activeItemIndex, 1);
|
||||||
|
this.selectedRow = [];
|
||||||
|
this.activeItemIndex = null; //select nothing in essence resetting a child selects and this one too clearing form
|
||||||
},
|
},
|
||||||
handleRowClick: function(item) {
|
handleRowClick: function(item) {
|
||||||
this.activeItemIndex = item.index;
|
this.activeItemIndex = item.index;
|
||||||
|
|||||||
@@ -17,8 +17,10 @@
|
|||||||
:form-key="formCustomTemplateKey"
|
:form-key="formCustomTemplateKey"
|
||||||
:readonly="formState.readOnly"
|
:readonly="formState.readOnly"
|
||||||
:pvm="this"
|
:pvm="this"
|
||||||
|
:sub-rights="subRights"
|
||||||
data-cy="woItems"
|
data-cy="woItems"
|
||||||
@change="setDirty()"
|
@change="setDirty()"
|
||||||
|
@graph-item-deleted="flagGraphItemForDelete($event)"
|
||||||
/>
|
/>
|
||||||
</v-form>
|
</v-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -197,7 +199,7 @@ export default {
|
|||||||
languageName: window.$gz.locale.getResolvedLanguage(),
|
languageName: window.$gz.locale.getResolvedLanguage(),
|
||||||
hour12: window.$gz.locale.getHour12(),
|
hour12: window.$gz.locale.getHour12(),
|
||||||
selectedItemIndex: null,
|
selectedItemIndex: null,
|
||||||
deletedItems: [],
|
deletedGraphItems: { items: [], scheduledUsers: [] },
|
||||||
selectedScheduledUserItemIndex: null,
|
selectedScheduledUserItemIndex: null,
|
||||||
selectLists: {
|
selectLists: {
|
||||||
wostatus: [],
|
wostatus: [],
|
||||||
@@ -355,18 +357,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
deleteItem: function(itemIndex) {
|
flagGraphItemForDelete: function(item) {
|
||||||
if (itemIndex == null) {
|
console.log(item);
|
||||||
throw new Error("svc-workorder: delete item itemIndex is null!");
|
switch (item.atype) {
|
||||||
|
case window.$gz.type.WorkOrderItem:
|
||||||
|
this.deletedGraphItems.items.push(item.id);
|
||||||
|
break;
|
||||||
|
case window.$gz.type.WorkOrderItemScheduledUser:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
//add to deleted items if has concurrency / id
|
this.setDirty();
|
||||||
let o = this.obj.items[itemIndex];
|
|
||||||
if (o.id != 0) {
|
|
||||||
this.deletedItems.push(o.id);
|
|
||||||
this.setDirty();
|
|
||||||
}
|
|
||||||
this.obj.items.splice(itemIndex, 1);
|
|
||||||
this.selectItem(null); //select nothing in essence resetting a child selects and this one too clearing form
|
|
||||||
},
|
},
|
||||||
setDirty: function() {
|
setDirty: function() {
|
||||||
this.formState.dirty = true;
|
this.formState.dirty = true;
|
||||||
@@ -656,7 +656,7 @@ async function saveHeader(vm) {
|
|||||||
//
|
//
|
||||||
async function saveItems(vm) {
|
async function saveItems(vm) {
|
||||||
let totalItems = vm.obj.items.length;
|
let totalItems = vm.obj.items.length;
|
||||||
let totalDeletedItems = vm.deletedItems.length;
|
let totalDeletedItems = vm.deletedGraphItems.items.length;
|
||||||
if (totalItems == 0 && totalDeletedItems == 0) {
|
if (totalItems == 0 && totalDeletedItems == 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -664,7 +664,7 @@ async function saveItems(vm) {
|
|||||||
//delete
|
//delete
|
||||||
for (let i = 0; i < totalDeletedItems; i++) {
|
for (let i = 0; i < totalDeletedItems; i++) {
|
||||||
let res = await window.$gz.api.remove(
|
let res = await window.$gz.api.remove(
|
||||||
`${API_BASE_URL}items/${vm.deletedItems[i]}`
|
`${API_BASE_URL}items/${vm.deletedGraphItems.items[i]}`
|
||||||
);
|
);
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
displayResError(vm, res);
|
displayResError(vm, res);
|
||||||
|
|||||||
Reference in New Issue
Block a user