Ok...probably not what you'll want to hear, but this sounds like a really good use case for an Apex plugin. Not that you'd have to, just that it would move a ton of complexity out of your workflow, and you could ensure that a failure on one of your records would not commit any previously created records.
But that doesn't help you with the flow. So to solve the problem at hand. You're right, you need an assign. Here's what you also need.
- 9 variables. Data type date. Add them in the resources tab. Name them v_date_plus_7, v_date_plus_14, etc. Or whatever makes sense to you. Prefixing is useful since names have to be unique across components in your flow.
- For each variable, set the default value to your screen input date field.
- An assign step that comes after your screen, but before your first Class record create. In that step, add assigns for every variable you created that adds the number of days you want to have apply to that variable (7, 14, 21, 28, etc). So you'll end up with something like this:
Then, in each record create, you use your variables to set the values of the records that are being added. The first will obviously have the raw screen input field value, but the rest use each variable value in sequence with the appropriate date field.