blob: 07589bdb90695fee04a79ced39655cfbada9caf9 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<template>
<div class="table-warp">
<form-create
:rule="rule"
v-model="formModel"
:option="options"
:value.sync="formData"
/>
</div>
</template>
<script>
export default {
props: {
mode: String,
data: Object,
},
data() {
return {
formModel: {},
formData: {},
options: {
submitBtn: false,
},
rule: [
{
type: 'hidden',
title: "id",
field: 'id',
value: '',
props: {
placeholder: "",
},
validate: [
{
required: false,
message: `${this.$t(
'message.linkis.datasource.pleaseInput'
)}"id"`,
trigger: 'blur',
},
],
},
{
type: 'input',
title: this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.resourceType'),
field: 'resourceType',
value: '',
props: {
placeholder: "",
},
validate: [
{
required: true,
message: `${this.$t(
'message.linkis.datasource.pleaseInput'
)} `+this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.resourceType'),
trigger: 'blur',
},
],
},
{
type: 'input',
title: this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.name'),
field: 'name',
value: '',
props: {
placeholder: "",
},
validate: [
{
required: true,
message: `${this.$t(
'message.linkis.datasource.pleaseInput'
)} `+this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.name'),
trigger: 'blur',
},
],
},
{
type: 'input',
title: this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.labels'),
field: 'labels',
value: '',
props: {
placeholder: "",
},
},
{
type: 'v-jsoneditor',
title: this.$t('message.linkis.basedataManagement.rmExternalResourceProvider.config'),
field: 'config',
value: '',
props: {
type: 'form-create',
height: "280px",
options: {
mode: "tree",
modes: ['code','tree'],
}
},
}
]
}
},
created() {
this.getData(this.data)
},
methods: {
getData(data){
this.formData = {...data}
window.console.log(this.formData)
if(this.formData.config?.length>0){
this.formData.config = JSON.parse(this.formData.config)
}else{
this.formData.config= {}
}
}
},
watch: {
data: {
handler(newV) {
this.getData(newV)
},
deep: true,
},
},
}
</script>