feat: 东方通软件安装模板添加

zcsf
TangShan_DD 2025-05-16 18:06:13 +08:00
parent f867f331fa
commit e8c7a62faf
3 changed files with 103 additions and 2 deletions

View File

@ -0,0 +1,88 @@
<template>
<basic-form :model="itemData" ref="form" :disabled="isPreview" label-width="120px">
<el-row>
<el-col :span="12">
<basic-form-item label="软件版本:" prop="version" validate="required">
<el-select v-model="itemData.version" placeholder="版本">
<el-option v-for="(row, index) in versionData" :key="index" :label="row.name" :value="row.value"> </el-option>
</el-select>
</basic-form-item>
</el-col>
<el-col :span="24">
<basic-form-item label="安装目录:" prop="install_dir" validate="required" show-overflow-tooltip>
<el-input v-model="itemData.install_dir" placeholder="请输入安装目录"></el-input>
</basic-form-item>
</el-col>
<el-col :span="24">
<basic-form-item label="授权方式:" prop="local_license" validate="required">
<el-radio-group v-model="itemData.local_license" @change="handleLicenseChange">
<el-radio :label="true">本地授权</el-radio>
<el-radio :label="false">服务授权</el-radio>
</el-radio-group>
</basic-form-item>
</el-col>
<el-col :span="12" v-if="!itemData.local_license">
<basic-form-item label="授权服务地址:" prop="license_server" validate="required" show-overflow-tooltip>
<el-input v-model="itemData.license_server" placeholder="请输入授权服务地址"></el-input>
</basic-form-item>
</el-col>
<el-col :span="12" v-if="!itemData.local_license">
<basic-form-item label="授权公钥信息:" prop="license_publickey" validate="required" show-overflow-tooltip>
<el-input v-model="itemData.license_publickey" placeholder="请输入授权公钥信息"></el-input>
</basic-form-item>
</el-col>
</el-row>
</basic-form>
</template>
<script>
import node from '../../mixins/index'
import show from '../../mixins/show'
import { getDictChildren } from 'services/system/dictionary'
const yesData = [
{ name: '是', value: true },
{ name: '否', value: false }
]
export default {
mixins: [node, show],
props: {
itemData: {
type: Object,
default: function() {
return {
version: '',
install_jce: true,
set_java_home: true,
local_license: true,
service_license: false
}
}
}
},
data() {
return {
yesData,
versionData: []
}
},
created() {
this.getVersion()
},
methods: {
getVersion() {
getDictChildren({ value: 'TONGWEB-VERSION' }).then(data => {
if (data.success) {
this.versionData = data.data
}
})
},
handleLicenseChange(value) {
this.itemData.service_license = !value
//
if (value) {
this.itemData.license_server = ''
}
}
}
}
</script>
<style></style>

View File

@ -8,7 +8,8 @@ const codeMap = new Map([
['task.software.sqlserver', 'SqlServer'], ['task.software.sqlserver', 'SqlServer'],
['task.software.postgresql', 'PgSql'], ['task.software.postgresql', 'PgSql'],
['task.software.rabbitmq', 'RabbitMq'], ['task.software.rabbitmq', 'RabbitMq'],
['task.software.activemq', 'ActiveMq'] ['task.software.activemq', 'ActiveMq'],
['task.software.tongweb', 'Tongtech']
]) ])
// const vueFiles = require.context('./', true, /\.vue$/); // const vueFiles = require.context('./', true, /\.vue$/);
const vueFiles = (import.meta as any).globEager('./*.vue') const vueFiles = (import.meta as any).globEager('./*.vue')

View File

@ -87,7 +87,19 @@ export default {
return JSON.parse(moduleData.template).deploy return JSON.parse(moduleData.template).deploy
}, },
isNeedDefault() { isNeedDefault() {
const data = ['task.software.jdk', 'task.software.nginx', 'task.software.rabbitmq', 'task.software.activemq', 'task.software.nfs.client', 'task.software.nfs.server', 'task.software.role', 'task.software.iscsi.client', 'task.software.iscsi.server', 'task.software.iscsi'] const data = [
'task.software.jdk',
'task.software.nginx',
'task.software.rabbitmq',
'task.software.activemq',
'task.software.nfs.client',
'task.software.nfs.server',
'task.software.role',
'task.software.iscsi.client',
'task.software.iscsi.server',
'task.software.iscsi',
'task.software.tongweb'
]
return !data.includes(this.currentNode.code) return !data.includes(this.currentNode.code)
} }
}, },