diff --git a/ReleaseNote.md b/ReleaseNote.md
index 807399b..aa5fa61 100644
--- a/ReleaseNote.md
+++ b/ReleaseNote.md
@@ -1,7 +1,18 @@
+[2.0.2o-alpha]
+
+1. Revert date.generate.ts for universal use
+2. Adjust SimpleAppInput add paras on autocomplete
+
[2.0.2n-alpha]
1. Fix generated code eslint error
+[2.0.2m-alpha]
+
+1. Change date format follow DD/MM/YYYY instead of user laptop
+2. Define isBillingUser, isInternalUser and isDevSupport for easy to called role
+3. Add escapeRegExp for search student list
+
[2.0.2l-alpha]
1. Add direct debit mini api scope
diff --git a/package.json b/package.json
index 76f2c22..ebe204d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@simitgroup/simpleapp-generator",
- "version": "2.0.2n-alpha",
+ "version": "2.0.2o-alpha",
"description": "frontend nuxtjs and backend nests code generator using jsonschema.",
"main": "dist/index.js",
"scripts": {
diff --git a/templates/nuxt/app.vue.eta b/templates/nuxt/app.vue.eta
index ebdb89c..a984cd6 100644
--- a/templates/nuxt/app.vue.eta
+++ b/templates/nuxt/app.vue.eta
@@ -9,6 +9,8 @@
+
+
@@ -29,9 +31,9 @@ watch(()=>useRoute().fullPath,async (newval,oldvalue)=>{
if(getPathPara('xorg','')!=''){
if(getCurrentXorg()===''){
- navigateTo('/picktenant')
+ goTo('/picktenant')
}else if(!getUserProfile()?.currentGroup){
- goTo('pickgroup')
+ navigateTo('pickgroup')
}
setGraphqlServer()
}
@@ -54,9 +56,9 @@ onMounted(async()=>{
const currentgroup = useCookie('currentGroup').value
//if no xorg, no enforce pick group
if(getCurrentXorg()===''){
- navigateTo('/picktenant')
+ goTo('/picktenant')
}else if(!currentgroup){
- goTo('/pickgroup')
+ navigateTo('/pickgroup')
}
setGraphqlServer()
}else{
diff --git a/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta b/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta
index c80f88a..2ab10ec 100644
--- a/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta
+++ b/templates/nuxt/components/simpleApp/SimpleAppAutocomplete.vue.eta
@@ -160,6 +160,7 @@
getDocument(setting.fieldsetting['x-foreignkey']).viewer,
)
"
+ :paras="props.paras"
@after="
async (eventType: FormCrudEvent, data: any, result: any) =>
await afterRenderMobileForm(eventType, data)
@@ -206,6 +207,7 @@ const props = withDefaults(
componentProps?: AutoCompleteProps;
autocompleteFilter?: any;
pt?: any;
+ paras?: any;
}>(),
{
allowAddNew: true,
@@ -358,6 +360,7 @@ const openViewer = (readonly: boolean) => {
readonly: readonly,
viewer: getDocument(docname)?.viewer,
documentName: docname,
+ paras: props.paras,
//after create, auto copy value into auto complete
after: async (eventType: FormCrudEvent, data: any) => {
diff --git a/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta b/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta
index 6a71ee0..6d42c75 100644
--- a/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta
+++ b/templates/nuxt/components/simpleApp/SimpleAppInput.vue.eta
@@ -205,6 +205,7 @@
:readonly="isReadonly"
:placeholder="placeholder"
:autocomplete-filter="autocompleteFilter"
+ :paras="paras"
@change="onChange"
>
@@ -419,13 +420,14 @@ const props = withDefaults(
setting: any;
type?: string;
instancepath?: string;
- options?: string[];
+ options?: string[] | Array<{ value: string; label: string }>;
hidelabel?: boolean;
readonly?: boolean;
autofocus?: boolean;
pt?: any;
placeholder?: string;
autocompleteFilter?: any;
+ paras?: any;
componentProps?:
| InputNumberProps
| InputSwitchProps
diff --git a/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta b/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta
index 17dee8f..17d1b76 100644
--- a/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta
+++ b/templates/nuxt/plugins/20.simpleapp-userstore.ts.eta
@@ -327,6 +327,17 @@ export default defineNuxtPlugin(async (nuxtApp) => {
isExecutive() {
return this.currentGroup == "executive";
},
+ isBillingUser() {
+ const roles = this.roles;
+ return roles.includes("tenantowner") || roles.includes("billing") || roles.includes("superadmin") || roles.includes("devbilling") || roles.includes("devsupport");
+ },
+ isInternalUser() {
+ const roles = this.roles;
+ return roles.includes("superadmin") || roles.includes("devbilling") || roles.includes("devsupport");
+ },
+ isDevSupport() {
+ return this.roles.includes("devsupport");
+ },
},
});