Compare commits

...

4 Commits

Author SHA1 Message Date
c24a3e5695 Merge pull request 'bug fix in actions' (#1) from dev2-fix into dev2
Reviewed-on: #1
2025-09-17 18:55:43 +00:00
2a290c3142 bugfix for auto-lookup 2025-09-17 14:22:12 +08:00
de717f25a5 bugfix for AppSelectBox 2025-09-17 13:27:39 +08:00
9c4adc48ba fix insert-check 2025-09-17 11:35:58 +08:00
4 changed files with 47 additions and 37 deletions

File diff suppressed because one or more lines are too long

View File

@@ -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) => ({

View File

@@ -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;

View File

@@ -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){