Commit 7807a1cd authored by 智勇's avatar 智勇

通过数组来判断是否选中

parent b1a6d795
...@@ -53,14 +53,14 @@ export function fetchServiceDetails(data) { ...@@ -53,14 +53,14 @@ export function fetchServiceDetails(data) {
export function getNamespaceTemplate() { export function getNamespaceTemplate() {
return request({ return request({
url: '/docker/get_namespace_template', url: '/docker/get_namespace_template_new',
method: 'get' method: 'get'
}) })
} }
export function getSystemByType() { export function getSystemByType() {
return request({ return request({
url: '/docker/get_systems_by_type', url: '/docker/get_systems_by_type_new',
method: 'get' method: 'get'
}) })
} }
......
...@@ -9,14 +9,14 @@ ...@@ -9,14 +9,14 @@
<el-input v-model="code" placeholder="请输入"/> <el-input v-model="code" placeholder="请输入"/>
</el-form-item> </el-form-item>
<el-form-item label="选择模板" > <el-form-item label="选择模板" >
<el-select v-model="currentTemplate" value-key="label" style="width:100%" @change="refershTemplateSelect"> <el-select v-model="currentTemplate" value-key="preset_name" style="width:100%" @change="refershTemplateSelect">
<el-option v-for="item in templateArray" :value="item" :label="item.label" :key="item.label" /> <el-option v-for="item in templateArray" :value="item" :label="item.preset_name" :key="item.preset_name" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-for="(value,key) in system" :label="key | serviceType" :key="key"> <el-form-item v-for="(systemValue,systemKey) in system" :label="systemKey | upper" :key="systemKey">
<el-card > <el-card >
<el-button v-for="item in value" :key="item.label" :type="item.select?'success':''" style="margin:3px" @click="item.select=!item.select"> <el-button v-for="item in systemValue" :key="item" :type="templateSystem[systemKey].includes(item) ?'success':''" style="margin:3px" @click="selectSystem(systemKey,item)">
{{ item.label }} {{ item }}
</el-button> </el-button>
</el-card> </el-card>
</el-form-item> </el-form-item>
...@@ -39,6 +39,11 @@ export default { ...@@ -39,6 +39,11 @@ export default {
frontend: '前端服务' frontend: '前端服务'
} }
return serviceObj[service] return serviceObj[service]
},
upper: function(value) {
if (!value) return ''
value = value.toString()
return value[0].toUpperCase() + value.slice(1)
} }
}, },
...@@ -51,7 +56,8 @@ export default { ...@@ -51,7 +56,8 @@ export default {
code: undefined, code: undefined,
templateArray: [], templateArray: [],
currentTemplate: undefined, currentTemplate: undefined,
system: [] system: [],
templateSystem: {}
} }
}, },
...@@ -70,46 +76,41 @@ export default { ...@@ -70,46 +76,41 @@ export default {
getSystem() { getSystem() {
getSystemByType().then(res => { getSystemByType().then(res => {
this.system = res.data.data this.system = res.data.data
for (const index in this.system) {
this.templateSystem[index] = []
}
}) })
}, },
refershTemplateSelect(template) { refershTemplateSelect(template) {
const keys = Object.keys(template.template) for (const index in template.details) {
for (const k of keys) { this.templateSystem[index] = template.details[index]
for (const o of this.system[k]) {
if (template.template[k][o.label]) {
o.select = true
} else {
o.select = false
}
}
} }
}, },
fullshTemplate(template) { selectSystem(key, value) {
const keys = Object.keys(template) const temp = this.templateSystem
for (const k of keys) { const index = this.templateSystem[key].indexOf(value)
for (const o of this.systems[k]) { this.templateSystem = {}
if (template[k][o.label]) { if (index >= 0) {
o.select = true temp[key].splice(index, 1)
} else { this.templateSystem = temp
o.select = false } else {
} temp[key].push(value)
} this.templateSystem = temp
} }
}, },
createData() { createData() {
const data = { const obj = {
code: this.code, code: this.code,
namespace: this.namespace, namespace: this.namespace,
systems: this.system systems: this.templateSystem
} }
console.log(1, data) initNamespace(obj).then(res => {
initNamespace(data).then(res => {
if (res.data.code === '0000') { if (res.data.code === '0000') {
this.$message({ this.$message({
message: res.data.msg, message: res.data.data,
type: 'success', type: 'success',
duration: 1000 duration: 1000
}) })
...@@ -122,6 +123,5 @@ export default { ...@@ -122,6 +123,5 @@ export default {
}) })
} }
} }
} }
</script> </script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment