Compare commits
9 Commits
e233e08857
...
dev2-fix
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a290c3142 | |||
| de717f25a5 | |||
| 9c4adc48ba | |||
|
|
171f0dfa89 | ||
|
|
6869505d9a | ||
|
|
a8ec97969f | ||
| c58887942b | |||
| 7fccf97eaf | |||
| 0f6494acdc |
File diff suppressed because one or more lines are too long
7285
db/kintone-dev2-db.sql
Normal file
7285
db/kintone-dev2-db.sql
Normal file
File diff suppressed because one or more lines are too long
BIN
document/Ver2機能一覧 1.xlsx
Normal file
BIN
document/Ver2機能一覧 1.xlsx
Normal file
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
#開発環境
|
||||
KAB_BACKEND_URL="https://ktune-backend-dev-eba8fkeyffegc3cz.japanwest-01.azurewebsites.net/"
|
||||
#KAB_BACKEND_URL="https://ktune-backend-dev-eba8fkeyffegc3cz.japanwest-01.azurewebsites.net/"
|
||||
#単体テスト環境
|
||||
#KAB_BACKEND_URL="https://kab-backend-unittest.azurewebsites.net/"
|
||||
#ローカル開発環境
|
||||
#KAB_BACKEND_URL="http://127.0.0.1:8000/"
|
||||
KAB_BACKEND_URL="http://127.0.0.1:8000/"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { ref, PropType } from 'vue';
|
||||
import { ref, PropType, watchEffect } from 'vue';
|
||||
import { api } from 'boot/axios';
|
||||
import DetailFieldTable from './dialog/DetailFieldTable.vue';
|
||||
|
||||
@@ -33,6 +33,9 @@ export default {
|
||||
filter: String,
|
||||
filterInitRowsFunc: {
|
||||
type: Function as PropType<(app: IAppDisplay) => boolean>,
|
||||
},
|
||||
updateSelectApp: {
|
||||
type: Function
|
||||
}
|
||||
},
|
||||
setup(props) {
|
||||
@@ -44,6 +47,12 @@ export default {
|
||||
{ name: 'createdate', label: '作成日時', field: 'createdate', align: 'left' }
|
||||
];
|
||||
|
||||
watchEffect(()=>{
|
||||
if (selected.value && selected.value[0] && props.updateSelectApp) {
|
||||
props.updateSelectApp(selected.value[0])
|
||||
}
|
||||
});
|
||||
|
||||
const fetchApps = async () => {
|
||||
const res = await api.get('api/v1/allapps');
|
||||
return res.data.apps.map((item: any) => ({
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
input-debounce="0"
|
||||
:options="canSharedUserFilteredOptions"
|
||||
clearable
|
||||
:placeholder="canSharedUserFilter ? '' : domain.domainActive ? '権限を付与するユーザーを選択' : 'ドメインが無効なため、権限を付与できません'"
|
||||
:placeholder="canSharedUserFilter ? '' : domain.domainActive ? '権限を付与するユーザーを選択' : '接続先が無効なため、権限を付与できません'"
|
||||
@filter="filterFn">
|
||||
|
||||
<template v-slot:selected-item="scope">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<share-domain-dialog
|
||||
:dialogTitle="`「${domain.name}」のドメイン利用権限設定`"
|
||||
userListTitle="ドメイン利用権限を持つユーザー"
|
||||
:dialogTitle="`「${domain.name}」の接続先利用権限設定`"
|
||||
userListTitle="接続先利用権限を持つユーザー"
|
||||
:domain="domain"
|
||||
:share-api="shareApi"
|
||||
:remove-shared-api="removeSharedApi"
|
||||
|
||||
@@ -96,7 +96,7 @@ const essentialLinks: EssentialLinkProps[] = reactive([
|
||||
target: '_self',
|
||||
permission: MenuMapping.role
|
||||
},
|
||||
// ------------ドメイン-------------
|
||||
// ------------接続先管理-------------
|
||||
{
|
||||
title: '接続先管理',
|
||||
caption: 'kintoneの接続先設定',
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
<q-item tag="label" class="q-pl-sm q-pr-none q-py-xs">
|
||||
<q-item-section>
|
||||
<q-item-label>ドメインの有効化</q-item-label>
|
||||
<q-item-label>接続先の有効化</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section avatar>
|
||||
<q-toggle v-model="domainActive" />
|
||||
@@ -143,12 +143,12 @@
|
||||
<!-- -1 loading -->
|
||||
<q-card-section v-if="deleteLoadingState == -1" class="row items-center">
|
||||
<q-spinner color="primary" size="2em"/>
|
||||
<span class="q-ml-sm">ドメイン利用権限を確認中</span>
|
||||
<span class="q-ml-sm">接続先利用権限を確認中</span>
|
||||
</q-card-section>
|
||||
<!-- > 0 can't delete -->
|
||||
<q-card-section v-else-if="deleteLoadingState > 0" class="row items-center">
|
||||
<q-icon name="error" color="negative" size="2em" />
|
||||
<span class="q-ml-sm">ドメインは使用中です。削除してもよろしいですか?</span>
|
||||
<span class="q-ml-sm">接続先は使用中です。削除してもよろしいですか?</span>
|
||||
</q-card-section>
|
||||
<!-- 0/-2 can delete -->
|
||||
<q-card-section v-else class="row items-center">
|
||||
@@ -262,7 +262,7 @@ const actionList = [
|
||||
action: (row: IDomainOwnerDisplay) => {openShareDg(SHARE_USE, row)} },
|
||||
{ label: '管理権限設定', icon: 'add_moderator', permission: Actions.domain.grantManage,
|
||||
disable: (row: IDomainOwnerDisplay) => !isOwner(row),
|
||||
tooltip: (row: IDomainOwnerDisplay) => isOwner(row) ? '' : 'ドメイン所有者でないため、操作できません',
|
||||
tooltip: (row: IDomainOwnerDisplay) => isOwner(row) ? '' : '接続先の所有者でないため、操作できません',
|
||||
action: (row: IDomainOwnerDisplay) => {openShareDg(SHARE_MANAGE, row)}
|
||||
},
|
||||
{ separator: true },
|
||||
|
||||
@@ -59,7 +59,7 @@ export default route(function (/* { store, ssrContext } */) {
|
||||
if (!authStore.hasDomain && !domainPages.includes(to.path)) {
|
||||
Dialog.create({
|
||||
title: '注意',
|
||||
message: '既定/利用可能なドメインはありません。<br>接続先管理ページに遷移して処理します。',
|
||||
message: '既定/利用可能な接続先はありません。<br>接続先管理ページに遷移して処理します。',
|
||||
html: true,
|
||||
persistent: true,
|
||||
})
|
||||
|
||||
@@ -103,7 +103,7 @@ export class AutoLookUpAction implements IAction {
|
||||
this.actionProps = actionNode.actionProps;
|
||||
this.props = {
|
||||
...actionNode.ActionValue,
|
||||
condition: JSON.parse((actionNode.ActionValue as any).condition),
|
||||
condition: JSON.parse((actionNode.ActionValue as any).condition || '{}'),
|
||||
} as IAutoLookUpProps;
|
||||
// console.log(context);
|
||||
|
||||
@@ -111,16 +111,17 @@ export class AutoLookUpAction implements IAction {
|
||||
canNext: true,
|
||||
result: "",
|
||||
} as IActionResult;
|
||||
try {
|
||||
const lookUpFields = this.props.lookupField.fields.filter(
|
||||
(f) => f.lookup && f.lookup.relatedApp.app === String(kintone.app.getId())
|
||||
const lookUpFields = this.props.lookupField.fields.filter(
|
||||
(f) => f.lookup && f.lookup.relatedApp.app === String(kintone.app.getId())
|
||||
);
|
||||
if (!lookUpFields || lookUpFields.length===0) {
|
||||
throw new Error(
|
||||
`ルックアップの設定は不正です。${this.props.lookupField.fields[0].label} `
|
||||
);
|
||||
if (!lookUpFields || lookUpFields.length===0) {
|
||||
throw new Error(
|
||||
`ルックアップの設定は不正です。${this.props.lookupField.fields[0].label} `
|
||||
);
|
||||
}
|
||||
}
|
||||
try {
|
||||
const lookUpField = this.props.lookupField.fields[0];
|
||||
this.showSpinnerModel(this.props.lookupField.app, lookUpField);
|
||||
const key = event.record[lookUpField.lookup.relatedKeyField].value;
|
||||
const targetRecords = await this.getUpdateRecords(lookUpField, key);
|
||||
//更新対象がない時にスキップ
|
||||
@@ -129,7 +130,6 @@ export class AutoLookUpAction implements IAction {
|
||||
}
|
||||
const updateRecords = this.convertForLookup(targetRecords,lookUpField,key);
|
||||
console.log("updateRecords", updateRecords);
|
||||
this.showSpinnerModel(this.props.lookupField.app,lookUpField);
|
||||
const updateResult = await this.updateLookupTarget(updateRecords);
|
||||
if(updateResult){
|
||||
this.showResult(this.props.lookupField.app,lookUpField,updateRecords.length);
|
||||
@@ -157,7 +157,7 @@ export class AutoLookUpAction implements IAction {
|
||||
if(typeof key==='string'){
|
||||
query = `${lookUpField.code} = "${key}"`
|
||||
}
|
||||
if(this.props.condition.queryString!==''){
|
||||
if(!!this.props.condition.queryString){
|
||||
query = `${query} and (${this.props.condition.queryString})`
|
||||
}
|
||||
return query;
|
||||
|
||||
@@ -645,7 +645,7 @@ export class InsertValueAction implements IAction{
|
||||
|
||||
const conditionResult = this.getConditionResult(context);
|
||||
//保存成功イベントの場合、kintone async/await による非同期処理でフィールドに値を挿入する
|
||||
if(!event.type.includes('success')){
|
||||
if(!event.type?.includes('success')){
|
||||
|
||||
//条件式の結果がtrueかつ挿入する値が変換できた場合、フィールド(ラジオボタン・ドロップダウン・チェックボックス・複数選択・文字列一行・文字列複数行・リッチエディタ・数値・日付・日時・時刻)にセット
|
||||
if(conditionResult){
|
||||
|
||||
Reference in New Issue
Block a user