You can do this using an additional record type and a page layout, along with a validation rule to prevent edits via the API.
When record submits for approval, you can add a field update that will update the record type to a new one, call it "locked"
Create a page layout and mark these fields as read only, and assign this page layout to the locked record type.
Note that this is superficial security. The field is still editable via the api. So it's not truly secure.
So I suggest also adding a validation rule that prevents editing of these fields based on the value of record type or of another field that is updated by the approval process.
You could just do the validation rule, which would prevent edit, but would not be as good for the user as the fields would appear to be editable until they tried to save. For this reason I recommend flipping the record type, but that decision will depend on your use case and preference.