App,Field,Action Select Dialogue

This commit is contained in:
2023-08-02 11:35:32 +00:00
parent e515f99a44
commit 0ec2b22754
6 changed files with 155 additions and 83 deletions

View File

@@ -9,96 +9,67 @@
</div>
<div style="min-height: 100vh;">
<div class="q-pa-md">
<q-btn-dropdown
split
color="primary"
label="ルール新規作成"
size="lg"
>
<q-list>
<q-item
v-for="action in actions"
clickable v-close-popup
@click="onItemClick"
:key="action"
>
<q-item-section>
<q-item-label>{{ action }}</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-btn-dropdown split color="primary" label="ルール新規作成" size="lg">
<q-list>
<q-item v-for="action in actions" clickable v-close-popup @click="onItemClick" :key="action">
<q-item-section>
<q-item-label>{{ action }}</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
<div class="q-pa-md">
<q-btn label="アプリ選択" color="primary" @click="showDg()" />
<show-dialog v-model:visible="show">
<app-select></app-select>
</show-dialog>
</div>
<q-select v-model="model" :options="options" label="Standard"/>
<q-btn :label="model+'選択'" color="primary" @click="showDg()" />
<show-dialog v-model:visible="show" :name="model" @close="closeDg">
<template v-if="model=='アプリ'">
<app-select ref="appDg" :name="model" type="single"></app-select>
</template>
<template v-if="model=='フィールド'">
<field-select ref="appDg" :name="model" type="multiple" :appId="1"></field-select>
</template>
<template v-if="model=='アクション'">
<action-select ref="appDg" :name="model" type="single"></action-select>
</template>
</show-dialog>
</div>
</div>
</div>
</q-page>
</template>
<script setup lang="ts">
import ShowDialog from 'components/ShowDialog.vue';
import AppSelect from 'components/AppSelect.vue';
import FieldSelect from 'components/FieldSelect.vue';
import ActionSelect from 'components/ActionSelect.vue';
import { ref } from 'vue'
let name = 'アプリ'
let show = ref(false);
let type = 'multiple';
let columns = [
{
name: 'id',
required: true,
label: 'アプリID',
align: 'left',
field: 'id',
sortable: true
},
{ name: 'name', align: 'center', label: 'アプリ名', field: 'name', sortable: true },
{ name: 'creator', label: '作成者', field: 'creator', sortable: true },
{ name: 'createdate', label: '作成日時', field: 'createdate' }
]
let rows = [
{
id:1,
name: '日報アプリ1',
creator: '日報 太郎',
createdate: '2023/07/22 11:21:48'
},
{
id:2,
name: '日報アプリ2',
creator: '日報 太郎',
createdate: '2023/07/25 14:10:56'
},
]
let appDg = ref(null);
let appDg = ref();
let model = ref('アプリ');
let options = ['アプリ','フィールド','アクション']
const showDg = () => {
show.value = true;
};
const closeDg = (val) => {
if(val == 'OK')
{
alert(JSON.stringify(appDg.value.selected));
const closeDg = (val:string) => {
if (val == 'OK') {
alert(JSON.stringify(appDg.value.selected))
}
};
interface Props {
title: string;
actions:string[];
actions: string[];
}
const props = withDefaults(defineProps<Props>(), {
title:"ルールエディター",
actions:()=>["フィールド制御","一覧画面","その他"]
title: "ルールエディター",
actions: () => ["フィールド制御", "一覧画面", "その他"]
});
function onItemClick(evt: Event){
return;
function onItemClick(evt: Event) {
return;
}
</script>