Commit ff0404d8 authored by 刘殿昕's avatar 刘殿昕

apaas

parent efb058a2
...@@ -42,10 +42,11 @@ ...@@ -42,10 +42,11 @@
<el-col :span="6" class="cell_specification"> <el-col :span="6" class="cell_specification">
<div v-if="cellItem.order_type == 1"> <div v-if="cellItem.order_type == 1">
<el-tooltip class="item" effect="dark" placement="right"> <el-tooltip class="item" effect="dark" placement="right">
<div <div slot="content" class="gg">
slot="content" 规格:
class="gg" <br />
>规格:日访问次数:{{cellItem.spec_svc_count}}次,日访问量:{{cellItem.spec_svc_pv }}</div> 日访问次数:{{cellItem.spec_svc_count}}次,日访问量:{{cellItem.spec_svc_pv }}
</div>
<div>规格:日访问次数:{{ cellItem.spec_svc_count }}次,日访问量:{{ cellItem.spec_svc_pv }}</div> <div>规格:日访问次数:{{ cellItem.spec_svc_count }}次,日访问量:{{ cellItem.spec_svc_pv }}</div>
</el-tooltip> </el-tooltip>
<div <div
...@@ -54,31 +55,41 @@ ...@@ -54,31 +55,41 @@
</div> </div>
<div v-else-if="cellItem.order_type == 2"> <div v-else-if="cellItem.order_type == 2">
<el-tooltip class="item" effect="dark" placement="right"> <el-tooltip class="item" effect="dark" placement="right">
<div <div slot="content" class="gg">
slot="content" 规格:
class="gg" <br />
>{{ cellItem.spec_app == 0 ? '规格:申请获取应用镜像部署权限' : '规格:申请获取应用镜像开发权限' }}</div> {{ cellItem.spec_app == 0 ? '申请获取应用镜像部署权限' : '申请获取应用镜像开发权限' }}
</div>
<div>规格:{{ cellItem.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</div> <div>规格:{{ cellItem.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</div>
</el-tooltip> </el-tooltip>
</div> </div>
<div v-else-if="cellItem.order_type == 3"> <div v-else-if="cellItem.order_type == 3">
<el-tooltip v-if="cellItem.apply_type == 0" class="item" effect="dark" placement="right"> <el-tooltip v-if="cellItem.apply_type == 0" class="item" effect="dark" placement="right">
<div <div slot="content" class="gg">
slot="content" 规格:
class="gg" <br />
>规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB</div> CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<br />
数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;
</div>
<div class="specification_item"> <div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个; 规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span <span
v-if="cellItem.disk_num != 0" v-if="cellItem.disk_num != 0"
>数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB</span> >数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB</span>
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip v-else class="item" effect="dark" placement="right"> <el-tooltip v-else class="item" effect="dark" placement="right">
<div <div slot="content" class="gg">
slot="content" 规格:
class="gg" <br />
>规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;{{ thisDisks }}</div> CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span
class="gg_span"
v-for="(item, index) in cellItem.adjust_disk"
:key="'sjj' + index"
>数据盘 {{item.disk_num}}块,每块数据盘容量 {{item.disk_cap}}GB;</span>
</div>
<div class="specification_item"> <div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个; 规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span>{{ thisDisks }}</span> <span>{{ thisDisks }}</span>
...@@ -86,7 +97,7 @@ ...@@ -86,7 +97,7 @@
</el-tooltip> </el-tooltip>
<div <div
class="cell_specification_type" class="cell_specification_type"
>单个容器组:CPU最高 {{ cellItem.one_cpu_max }}核,默认 {{ cellItem.one_cpu_min }}核;内存最高 {{ cellItem.one_memory_max }}GB,默认 {{ cellItem.one_memory_min }}GB</div> >单个容器组:CPU最高 {{ cellItem.one_cpu_max }}核,默认 {{ cellItem.one_cpu_min }}核;内存最高 {{ cellItem.one_memory_max }}GB,默认 {{ cellItem.one_memory_min }}GB</div>
</div> </div>
</el-col> </el-col>
<el-col :span="4" class="approval_status"> <el-col :span="4" class="approval_status">
...@@ -562,13 +573,16 @@ export default { ...@@ -562,13 +573,16 @@ export default {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 3; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.gg { .gg {
max-width: 200px; /* max-width: 200px; */
word-wrap: break-word; word-wrap: break-word;
} }
.gg_span {
display: block;
}
</style> </style>
<style> <style>
.pop_rate .el-rate__icon { .pop_rate .el-rate__icon {
......
...@@ -26,7 +26,14 @@ ...@@ -26,7 +26,14 @@
<script> <script>
export default { export default {
props: {}, props: {
formInline: {
type: Object,
default: function () {
return {};
},
},
},
components: {}, components: {},
data() { data() {
var check_phone = (rule, value, callback) => { var check_phone = (rule, value, callback) => {
...@@ -41,21 +48,16 @@ export default { ...@@ -41,21 +48,16 @@ export default {
}; };
return { return {
formInline: {
depart: "",
preson: "",
phone: ""
},
rules: { rules: {
preson: [ preson: [
{ required: true, message: "请输入部门联系人", trigger: "blur" }, { required: true, message: "请输入部门联系人", trigger: "blur" },
{max:16, message: "不能超过16个字符", trigger: "blur" } { max: 16, message: "不能超过16个字符", trigger: "blur" },
], ],
phone: [ phone: [
{ required: true, message: "请输入联系电话", trigger: "blur" }, { required: true, message: "请输入联系电话", trigger: "blur" },
{ validator: check_phone, trigger: "blur" } { validator: check_phone, trigger: "blur" },
] ],
} },
}; };
}, },
watch: {}, watch: {},
...@@ -66,16 +68,18 @@ export default { ...@@ -66,16 +68,18 @@ export default {
}, },
methods: { methods: {
submitForm() { submitForm() {
this.$refs["ruleForm"].validate(valid => { var flag = null;
this.$refs.ruleForm.validate((valid) => {
console.log(valid);
if (valid) { if (valid) {
alert("submit!"); flag = true;
} else { } else {
console.log("error submit!!"); flag = false;
return false;
} }
}); });
} return flag;
} },
},
}; };
</script> </script>
......
<template> <template>
<div class="apply_container"> <div class="apply_container">
<info-list :list_arr="module_arr"> <info-list :list_arr="module_arr">
<apply-form ref="apply_info" slot="apply_info"></apply-form> <apply-form :formInline="formInline" ref="apply_info" slot="apply_info"></apply-form>
<service-list ref="apply_service" slot="apply_service" :service_arr="service_arr"></service-list> <service-list ref="apply_service" slot="apply_service" :service_arr="service_arr"></service-list>
</info-list> </info-list>
...@@ -21,21 +21,26 @@ export default { ...@@ -21,21 +21,26 @@ export default {
components: { components: {
infoList, infoList,
applyForm, applyForm,
serviceList serviceList,
}, },
data() { data() {
return { return {
formInline: {
depart: "",
preson: "",
phone: "",
},
module_arr: [ module_arr: [
{ {
title: "服务申请", title: "服务申请",
type: "solt", type: "solt",
solt_name: "apply_info" solt_name: "apply_info",
}, },
{ {
title: "申请的服务", title: "申请的服务",
type: "solt", type: "solt",
solt_name: "apply_service" solt_name: "apply_service",
} },
], ],
post_arr: [], post_arr: [],
service_arr: [ service_arr: [
...@@ -86,18 +91,18 @@ export default { ...@@ -86,18 +91,18 @@ export default {
"", "",
{ {
name: "共享", name: "共享",
val: "share" val: "share",
}, },
{ {
name: "受限", name: "受限",
val: "limit" val: "limit",
}, },
{ {
name: "敏感", name: "敏感",
val: "mg" val: "mg",
} },
], ],
temp_sub_arr: [] temp_sub_arr: [],
}; };
}, },
watch: {}, watch: {},
...@@ -110,7 +115,7 @@ export default { ...@@ -110,7 +115,7 @@ export default {
} else { } else {
console.log(JSON.parse(window.sessionStorage.getItem("shoppingCart"))); console.log(JSON.parse(window.sessionStorage.getItem("shoppingCart")));
var temp_arr = []; var temp_arr = [];
JSON.parse(window.sessionStorage.getItem("shoppingCart")).forEach(e => { JSON.parse(window.sessionStorage.getItem("shoppingCart")).forEach((e) => {
temp_arr.push(e.id); temp_arr.push(e.id);
}); });
this.get_car_list(temp_arr); this.get_car_list(temp_arr);
...@@ -121,7 +126,7 @@ export default { ...@@ -121,7 +126,7 @@ export default {
get_one_app(app_data) { get_one_app(app_data) {
this.$http this.$http
.get(`/apaas/serviceapp/v3/shopcart/appinfo?app_id=${app_data.app_id}`) .get(`/apaas/serviceapp/v3/shopcart/appinfo?app_id=${app_data.app_id}`)
.then(response => { .then((response) => {
console.log(response); console.log(response);
let data = response.data.data; let data = response.data.data;
if (response.data.success && data) { if (response.data.success && data) {
...@@ -152,7 +157,7 @@ export default { ...@@ -152,7 +157,7 @@ export default {
.get( .get(
`/apaas/serviceapp/v3/shopcart/serviceinfo?service_id=${service_data.service_id}` `/apaas/serviceapp/v3/shopcart/serviceinfo?service_id=${service_data.service_id}`
) )
.then(response => { .then((response) => {
console.log(response); console.log(response);
let data = response.data.data; let data = response.data.data;
if (response.data.success && data) { if (response.data.success && data) {
...@@ -172,12 +177,12 @@ export default { ...@@ -172,12 +177,12 @@ export default {
this.service_arr[0]["tips"] = [ this.service_arr[0]["tips"] = [
{ {
tip: this.share_arr[data.openness].name, tip: this.share_arr[data.openness].name,
type: this.share_arr[data.openness].val type: this.share_arr[data.openness].val,
} },
]; ];
this.service_arr[0]["auth"] = data.organization_name; this.service_arr[0]["auth"] = data.organization_name;
this.service_arr[0]["size"] = "规格:"; this.service_arr[0]["size"] = "规格:";
data.request_spcs_info.forEach(el => { data.request_spcs_info.forEach((el) => {
if (service_data.spec_id == el.id) { if (service_data.spec_id == el.id) {
this.service_arr[0]["size"] = this.service_arr[0]["size"] =
this.service_arr[0]["size"] + this.service_arr[0]["size"] +
...@@ -202,7 +207,7 @@ export default { ...@@ -202,7 +207,7 @@ export default {
.catch(() => {}); .catch(() => {});
}, },
deal_data(data) { deal_data(data) {
data.forEach(e => { data.forEach((e) => {
if (e.selected) { if (e.selected) {
e.selected = 1; e.selected = 1;
} else { } else {
...@@ -213,9 +218,30 @@ export default { ...@@ -213,9 +218,30 @@ export default {
} }
}); });
}, },
abc() {
return new Promise((resolve, reject) => {
this.$refs.apply_info.$refs.ruleForm.validate((valid) => {
console.log(valid);
if (valid) {
flag = true;
} else {
flag = false;
}
});
console.log(res);
if (res) {
resolve(res);
} else {
reject(res);
}
});
},
sub_service() { sub_service() {
let formInline = this.$refs.apply_info.formInline; let formInline = this.$refs.apply_info.formInline;
if (formInline.preson && formInline.phone) { let flag = null;
this.$refs.apply_info.$refs.ruleForm.validate((valid) => {
console.log(valid);
if (valid) {
var phone_ruler = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/; var phone_ruler = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/;
if (!phone_ruler.test(formInline.phone)) { if (!phone_ruler.test(formInline.phone)) {
this.$message.error("输入正确号码"); this.$message.error("输入正确号码");
...@@ -224,9 +250,9 @@ export default { ...@@ -224,9 +250,9 @@ export default {
var temp = { var temp = {
apply_part: { apply_part: {
o_name: formInline.preson, o_name: formInline.preson,
o_mobile: formInline.phone o_mobile: formInline.phone,
}, },
carts: [] carts: [],
}; };
var temp1 = this.$refs.apply_service.$refs.apply_service_state; var temp1 = this.$refs.apply_service.$refs.apply_service_state;
this.post_arr.forEach((e, idx) => { this.post_arr.forEach((e, idx) => {
...@@ -241,7 +267,7 @@ export default { ...@@ -241,7 +267,7 @@ export default {
app_id: 0, app_id: 0,
scene: temp1[idx].sceneinput, scene: temp1[idx].sceneinput,
apply_file: temp1[idx].fileList, apply_file: temp1[idx].fileList,
apply_fields: [] apply_fields: [],
}); });
// 判断表格ref是否存在 // 判断表格ref是否存在
this.temp_sub_arr = temp1[idx].$refs.apply_service_state_table this.temp_sub_arr = temp1[idx].$refs.apply_service_state_table
...@@ -262,15 +288,10 @@ export default { ...@@ -262,15 +288,10 @@ export default {
app_id: e.app_id, app_id: e.app_id,
scene: this.$refs.apply_service.$refs.apply_service_state[idx] scene: this.$refs.apply_service.$refs.apply_service_state[idx]
.sceneinput, .sceneinput,
apply_file: "" apply_file: "",
}); });
} }
}); });
} else {
this.$message.error("请完善服务申请");
return;
}
for (let index = 0; index < temp.carts.length; index++) { for (let index = 0; index < temp.carts.length; index++) {
const e = temp.carts[index]; const e = temp.carts[index];
// 若表格数据长度不为0,执行以下 // 若表格数据长度不为0,执行以下
...@@ -284,7 +305,7 @@ export default { ...@@ -284,7 +305,7 @@ export default {
this.$http this.$http
.post(`/apaas/serviceapp/v3/shopcart/apply`, temp) .post(`/apaas/serviceapp/v3/shopcart/apply`, temp)
.then(response => { .then((response) => {
console.log(response); console.log(response);
if (response.data.success) { if (response.data.success) {
this.$store.commit("setMenuCartState"); this.$store.commit("setMenuCartState");
...@@ -297,16 +318,21 @@ export default { ...@@ -297,16 +318,21 @@ export default {
.catch(() => { .catch(() => {
this.$message.error("申请失败"); this.$message.error("申请失败");
}); });
} else {
this.$message.error("请完善服务申请");
return;
}
});
}, },
get_car_list(car_arr) { get_car_list(car_arr) {
this.service_arr = []; this.service_arr = [];
this.post_arr = []; this.post_arr = [];
this.$http this.$http
.get(`/apaas/serviceapp/v3/shopcart/list`) .get(`/apaas/serviceapp/v3/shopcart/list`)
.then(response => { .then((response) => {
console.log(response); console.log(response);
let data = response.data.data.valid; let data = response.data.data.valid;
data.forEach(e => { data.forEach((e) => {
if (car_arr.indexOf(e.id) == -1) { if (car_arr.indexOf(e.id) == -1) {
return; return;
} }
...@@ -334,12 +360,12 @@ export default { ...@@ -334,12 +360,12 @@ export default {
this.service_arr[l]["tips"] = [ this.service_arr[l]["tips"] = [
{ {
tip: this.share_arr[e.service.openness].name, tip: this.share_arr[e.service.openness].name,
type: this.share_arr[e.service.openness].val type: this.share_arr[e.service.openness].val,
} },
]; ];
this.service_arr[l]["auth"] = e.service.organization_name; this.service_arr[l]["auth"] = e.service.organization_name;
this.service_arr[l]["size"] = "规格:"; this.service_arr[l]["size"] = "规格:";
e.service.request_spcs_info.forEach(el => { e.service.request_spcs_info.forEach((el) => {
if (e.spec_id == el.id) { if (e.spec_id == el.id) {
this.service_arr[l]["size"] = this.service_arr[l]["size"] =
this.service_arr[l]["size"] + this.service_arr[l]["size"] +
...@@ -354,16 +380,18 @@ export default { ...@@ -354,16 +380,18 @@ export default {
"申请方式:" + (e.duration_method == 1 ? "" : ""); "申请方式:" + (e.duration_method == 1 ? "" : "");
this.service_arr[l]["num"] = e.duration; this.service_arr[l]["num"] = e.duration;
this.service_arr[l]["isMg"] = e.service.openness == 3; this.service_arr[l]["isMg"] = e.service.openness == 3;
this.service_arr[l]["data"] = e.service.res_fields?JSON.parse(e.service.res_fields):'[]'; this.service_arr[l]["data"] = e.service.res_fields
? JSON.parse(e.service.res_fields)
: "[]";
console.log(this.service_arr[l]["data"]); console.log(this.service_arr[l]["data"]);
this.service_arr[l]["isapp"] = false; this.service_arr[l]["isapp"] = false;
} }
}); });
// this.service_arr = // this.service_arr =
}) })
.catch(response => {}); .catch((response) => {});
} },
} },
}; };
</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