Admin Workflow - Fix Tested Issues

This commit is contained in:
Dillon Ngo
2025-01-10 12:19:20 +08:00
parent 701936d311
commit 67d7af1053
5 changed files with 26 additions and 15 deletions
@@ -129,14 +129,14 @@ class UpdateNextQuestionV1AdminWFLogic extends AbstractControllerLogic
$key1 = '1688_'.$key1;
$key2 = '1688_'.$key2;
}
// if (strpos($currentQuestion['question_number'], 'fill_po') === 0) {
// $key1 = 'fill_po_'.$key1;
// $key2 = 'fill_po_'.$key2;
// }
// if (strpos($currentQuestion['question_number'], 'approve_po') === 0) {
// $key1 = 'approve_po_'.$key1;
// $key2 = 'approve_po_'.$key2;
// }
if (strpos($currentQuestion['question_number'], 'fill_po') === 0) {
$key1 = 'xfill_po_'.$key1;
$key2 = 'xfill_po_'.$key2;
}
if (strpos($currentQuestion['question_number'], 'approve_po') === 0) {
$key1 = 'xapprove_po_'.$key1;
$key2 = 'xapprove_po_'.$key2;
}
$processingRecord = $booking->attributesKVP()->where('key', $key2)->first();
if ($processingRecord) {
@@ -149,7 +149,7 @@ class UpdateNextQuestionV1AdminWFLogic extends AbstractControllerLogic
$keyValuePairObject = new KeyValuePairObject($key1, true);
$this->createsKeyValuePair->execute($booking, $keyValuePairObject);
}
// $isNoGoingBack = 1;
$isNoGoingBack = 1;
}
$previousAnswer = null;
@@ -4,6 +4,7 @@ namespace App\Classes\Modules\Questionnaires\Processors;
use App\Classes\Modules\Bookings\Processors\ApprovePurchaseOrderProcessor;
use App\Models\QAAnswerOptions;
use Illuminate\Support\Facades\Log;
class SaveAnswerActionV1AdminWFProcessor
@@ -23,8 +24,9 @@ class SaveAnswerActionV1AdminWFProcessor
/**
* @return
*/
public function execute($questionMetadata, $answerInText){
if($answerInText === "approve_po_approved"){
public function execute($questionMetadata, $answerOptionId){
$answerOption = QAAnswerOptions::where('id', $answerOptionId)->first();
if($answerOption && $answerOption->value === "approve_po_approved"){
$this->approvePurchaseOrderProcessor->execute($questionMetadata['id']);
}
}
@@ -79,7 +79,7 @@ class SaveAnswerV1AdminWFProcessor
}
$answer->save();
$this->saveAnswerActionProcessor->execute($questionMetadata, $answerInText);
$this->saveAnswerActionProcessor->execute($questionMetadata, $answerOptionId);
return $answer;
}
@@ -302,6 +302,9 @@
if((Math.round((this.poTotal + Number.EPSILON) * 1000) / 1000).toFixed(3) === (Math.round((this.data.amount + Number.EPSILON) * 1000) / 1000).toFixed(3)){
this.submitted = true;
}
this.$emit('amount-tally-poTotal', {
isDone: this.submitted,
});
this.updateList()
},
addProduct(){
@@ -184,7 +184,7 @@
<div class="row b-a b-primary padding-30 bg-white m-t-25">
<div class="col">
<purchase-order-form-component :data="externalApiResponse.data" :companySegmentIds="companySegmentIds" :section="section + 'GetExternalApiResponse'"
@update-parameters="handleParametersUpdate"></purchase-order-form-component>
@amount-tally-poTotal="handleAnswerExtra"></purchase-order-form-component>
</div>
</div>
</div>
@@ -285,6 +285,7 @@
@click="addClass($event, 'question.answers')"
style="margin: 15px; padding: 15px 40px; min-width: 210px;">
{{ ans.display_text }}
<span v-if="ans.value ==='fill_po_edit_filled' && !answer_extra">(NOT TALLY)</span>
</button>
<!-- <div class="col" v-for="ans in question.question_answers">
<div class="col question.answers">
@@ -362,6 +363,8 @@
interval: 1000,
isFetching: false,
noMoreWork: false,
answer_extra: null,
}
},
validations() {
@@ -560,6 +563,9 @@
const div = event.target;
this.answer = div.getAttribute('answerValue');
this.answerId = div.getAttribute('answerId');
if(this.answer === 'fill_po_edit_filled' && !this.answer_extra){
this.answer = div.getAttribute('answerValue') + ",not_tally"
}
this.removeClass(cls);
div.classList.add('btn-primary');
},
@@ -603,8 +609,8 @@
window.location.reload();
}
},
handleParametersUpdate({ parameters }) {
console.log('Parameters:', JSON.stringify(parameters));
handleAnswerExtra({ isDone }) {
this.answer_extra = isDone;
},
},
}