Commit 3874bc80 authored by 刘殿昕's avatar 刘殿昕

我的金币接口,订单so on

parent 0b1eaed6
<template>
<div class="order_cell">
<div class="order_cell_head">
<div class="application_time">申请时间:{{ helper.dateStringTransform(cellItem.add_time) }}</div>
<div class="application_time">
申请时间:{{ helper.dateStringTransform(cellItem.add_time) }}
</div>
<div class="order_number">订单编号:{{ cellItem.order_id }}</div>
<div
v-if="cellItem.approval_first_level == -1 || cellItem.approval_second_level != 0 || cellItem.pay_status == -1"
class="cell_del_btn"
v-if="
cellItem.approval_first_level == -1 ||
cellItem.approval_second_level != 0 ||
cellItem.pay_status == -1
"
class="cell_del_btn"
@click="delOrder(cellItem.order_id)"
>删除</div>
>
删除
</div>
</div>
<el-row class="cell_row">
<el-col :span="8" class="cell_msg">
<img v-if="cellItem.order_type != 3" :src="cellItem.cover" class="cell_msg_img" />
<img v-else :src="require('@/assets/imgs/img_yunziyuan.png')" class="cell_msg_img" />
<el-col :span="7" class="cell_msg">
<img
v-if="cellItem.order_type != 3"
:src="cellItem.cover"
class="cell_msg_img"
/>
<img
v-else
:src="require('@/assets/imgs/img_yunziyuan.png')"
class="cell_msg_img"
/>
<div class="cell_msg_right">
<div v-if="cellItem.order_type != 3" class="cell_name">
<span>{{ cellItem.name }}</span>
<span v-if="cellItem.mapService" class="tags map_service">mapService</span>
<span v-if="cellItem.mapService" class="tags map_service"
>mapService</span
>
<span v-if="cellItem.openness == 1" class="tags shared">共享</span>
<span v-else-if="cellItem.openness == 2" class="tags restricted">受限</span>
<span v-else-if="cellItem.openness == 3" class="tags sensitive">敏感</span>
<span v-else-if="cellItem.openness == 2" class="tags restricted"
>受限</span
>
<span v-else-if="cellItem.openness == 3" class="tags sensitive"
>敏感</span
>
</div>
<div v-else class="cell_name">
<span>云资源申请</span>
</div>
<div class="cell_msg_other">
<div
class="cell_type"
>{{ cellItem.order_type == 1 ? cellItem.sector : cellItem.order_type == 2 ? cellItem.app_type : cellItem.namespace }}</div>
<div
v-if="cellItem.order_type != 3"
class="cell_creator"
>{{ cellItem.src_organization }}</div>
<div
v-else
class="cell_creator"
>{{ cellItem.apply_type == 0 ? "申请新的工作区域" : "升级现有工作区域" }}</div>
<div class="cell_type">
{{
cellItem.order_type == 1
? cellItem.sector
: cellItem.order_type == 2
? cellItem.app_type
: cellItem.namespace
}}
</div>
<div v-if="cellItem.order_type != 3" class="cell_creator">
{{ cellItem.src_organization }}
</div>
<div v-else class="cell_creator">
{{
cellItem.apply_type == 0
? "申请新的工作区域"
: "升级现有工作区域"
}}
</div>
</div>
</div>
</el-col>
<el-col :span="5" class="cell_specification">
<div v-if="cellItem.order_type == 1">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
日访问次数:{{cellItem.spec_svc_count}}次,日访问量:{{cellItem.spec_svc_pv }}
</div>
<div>规格:日访问次数:{{ cellItem.spec_svc_count }}次,日访问量:{{ cellItem.spec_svc_pv }}</div>
</el-tooltip>
<div
class="cell_specification_type"
>申请方式:{{ cellItem.duration_unit == 1 ? $t('lang.by_month') : $t('lang.by_year') }}</div>
<div>计次收费:200金币/1000次.时长收费:2000金币/月</div>
</div>
<div v-else-if="cellItem.order_type == 2">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
{{ cellItem.spec_app == 0 ? '申请获取应用镜像部署权限' : '申请获取应用镜像开发权限' }}
<div>
{{
cellItem.spec_app == 0
? "申请获取应用镜像部署权限:2000金币/月"
: "申请获取应用镜像开发权限:2000金币/月"
}}
</div>
<div>规格:{{ cellItem.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</div>
</el-tooltip>
</div>
<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 slot="content" class="gg">
规格:
<br />
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组
{{ cellItem.containers }}个;
<br />
数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;
数据盘 {{ cellItem.disk_num }}块,每块数据盘容量
{{ cellItem.disk_cap }}GB;
</div>
<div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span
v-if="cellItem.disk_num != 0"
>数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;</span>
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组
{{ cellItem.containers }}个;
<span v-if="cellItem.disk_num != 0"
>数据盘 {{ cellItem.disk_num }}块,每块数据盘容量
{{ cellItem.disk_cap }}GB;</span
>
</div>
</el-tooltip>
<el-tooltip v-else class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
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>
>数据盘 {{ item.disk_num }}块,每块数据盘容量
{{ item.disk_cap }}GB;</span
>
</div>
<div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组
{{ cellItem.containers }}个;
<span>{{ thisDisks }}</span>
</div>
</el-tooltip>
<div
class="cell_specification_type"
>单个容器组:CPU最高 {{ cellItem.one_cpu_max }}核,默认 {{ cellItem.one_cpu_min }}核;内存最高 {{ cellItem.one_memory_max }}GB,默认 {{ cellItem.one_memory_min }}GB;</div>
<div class="cell_specification_type">
单个容器组:CPU最高 {{ cellItem.one_cpu_max }}核,默认
{{ cellItem.one_cpu_min }}核;内存最高
{{ cellItem.one_memory_max }}GB,默认
{{ cellItem.one_memory_min }}GB;
</div>
</div>
</el-col>
<el-col :span="3" class="cell_specification">
<div v-if="cellItem.order_type == 1">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
日访问次数:{{cellItem.spec_svc_count}}次,日访问量:{{cellItem.spec_svc_pv }}
</div>
<div>规格:日访问次数:{{ cellItem.spec_svc_count }}次,日访问量:{{ cellItem.spec_svc_pv }}</div>
</el-tooltip>
<div
class="cell_specification_type"
>申请方式:{{ cellItem.duration_unit == 1 ? $t('lang.by_month') : $t('lang.by_year') }}</div>
</div>
<div v-else-if="cellItem.order_type == 2">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
{{ cellItem.spec_app == 0 ? '申请获取应用镜像部署权限' : '申请获取应用镜像开发权限' }}
</div>
<div>规格:{{ cellItem.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</div>
</el-tooltip>
</div>
<div v-else-if="cellItem.order_type == 3">
<el-tooltip v-if="cellItem.apply_type == 0" class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<br />
数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;
</div>
<div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span
v-if="cellItem.disk_num != 0"
>数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;</span>
</div>
</el-tooltip>
<el-tooltip v-else class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
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">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span>{{ thisDisks }}</span>
</div>
</el-tooltip>
<div
class="cell_specification_type"
>单个容器组: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 :span="3" class="cell_specification">
<div v-if="cellItem.order_type == 1">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
日访问次数:{{cellItem.spec_svc_count}}次,日访问量:{{cellItem.spec_svc_pv }}
</div>
<div>规格:日访问次数:{{ cellItem.spec_svc_count }}次,日访问量:{{ cellItem.spec_svc_pv }}</div>
</el-tooltip>
<div
class="cell_specification_type"
>申请方式:{{ cellItem.duration_unit == 1 ? $t('lang.by_month') : $t('lang.by_year') }}</div>
</div>
<div v-else-if="cellItem.order_type == 2">
<el-tooltip class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
{{ cellItem.spec_app == 0 ? '申请获取应用镜像部署权限' : '申请获取应用镜像开发权限' }}
</div>
<div>规格:{{ cellItem.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</div>
</el-tooltip>
</div>
<div v-else-if="cellItem.order_type == 3">
<el-tooltip v-if="cellItem.apply_type == 0" class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<br />
数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;
</div>
<div class="specification_item">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span
v-if="cellItem.disk_num != 0"
>数据盘 {{ cellItem.disk_num }}块,每块数据盘容量 {{ cellItem.disk_cap }}GB;</span>
</div>
</el-tooltip>
<el-tooltip v-else class="item" effect="dark" placement="right">
<div slot="content" class="gg">
规格:
<br />
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">
规格:CPU {{ cellItem.cpu }}核,内存 {{ cellItem.memory }}GB,容器组 {{ cellItem.containers }}个;
<span>{{ thisDisks }}</span>
</div>
</el-tooltip>
<div
class="cell_specification_type"
>单个容器组:CPU最高 {{ cellItem.one_cpu_max }}核,默认 {{ cellItem.one_cpu_min }}核;内存最高 {{ cellItem.one_memory_max }}GB,默认 {{ cellItem.one_memory_min }}GB;</div>
<div>
200金币
</div>
</el-col>
<el-col :span="2" class="approval_status">
<el-col :span="3" class="approval_status">
<div>
<div v-if="cellItem.approval_first_level == 0 && cellItem.pay_status != -1">待审核</div>
<div
v-else-if="cellItem.approval_first_level == 1 && cellItem.approval_second_level == 0 && cellItem.pay_status != -1"
>审核中</div>
v-if="
cellItem.approval_first_level == 0 && cellItem.pay_status != -1
"
>
待审核
</div>
<div
v-else-if="
cellItem.approval_first_level == 1 &&
cellItem.approval_second_level == 0 &&
cellItem.pay_status != -1
"
>
审核中
</div>
<div
v-else-if="cellItem.approval_first_level == 1 && cellItem.approval_second_level == 1 && cellItem.pay_status != -1"
>审核通过</div>
v-else-if="
cellItem.approval_first_level == 1 &&
cellItem.approval_second_level == 1 &&
cellItem.pay_status != -1
"
>
审核通过
</div>
<div
v-else-if="(cellItem.approval_first_level == -1 || cellItem.approval_second_level == -1) && cellItem.pay_status != -1"
>审核未通过</div>
v-else-if="
(cellItem.approval_first_level == -1 ||
cellItem.approval_second_level == -1) &&
cellItem.pay_status != -1
"
>
审核未通过
</div>
<div v-else-if="cellItem.pay_status == -1">订单已取消</div>
<el-popover
v-if="cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 0"
placement="right-start"
v-if="
cellItem.approval_second_level == 1 &&
cellItem.pay_status != -1 &&
cellItem.is_estimated == 0
"
placement="left-start"
width="300"
v-model="visible"
trigger="click"
>
<p>服务评价:</p>
<div class="pop_rate">
<el-rate v-model="serviceRate" :colors="colors" show-score score-template="{value}"></el-rate>
<el-rate
v-model="serviceRate"
:colors="colors"
show-score
score-template="{value}"
></el-rate>
</div>
<p>填写评价:</p>
<div class="evaluation_text">
......@@ -258,21 +210,49 @@
></el-input>
</div>
<div class="pop_btn_group">
<el-button size="small" class="pop_cancel" type="text" @click="visible = false">取消</el-button>
<el-button type="primary" class="pop_submit" size="small" @click="addEvaluation">确定提交</el-button>
<el-button
size="small"
class="pop_cancel"
type="text"
@click="visible = false"
>取消</el-button
>
<el-button
type="primary"
class="pop_submit"
size="small"
@click="addEvaluation"
>确定提交</el-button
>
</div>
<div class="approval_status_btn" slot="reference">服务评价</div>
</el-popover>
<div
v-else-if="cellItem.order_type != 3 && cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && !showMsgBox"
v-else-if="
cellItem.order_type != 3 &&
cellItem.approval_second_level == 1 &&
cellItem.pay_status != -1 &&
cellItem.is_estimated == 1 &&
!showMsgBox
"
class="approval_status_btn"
@click="getMessage"
>查看评价</div>
>
查看评价
</div>
<div
v-else-if="cellItem.order_type != 3 && cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && showMsgBox"
v-else-if="
cellItem.order_type != 3 &&
cellItem.approval_second_level == 1 &&
cellItem.pay_status != -1 &&
cellItem.is_estimated == 1 &&
showMsgBox
"
class="approval_status_btn"
@click="showMsgBox = false"
>收起评价</div>
>
收起评价
</div>
</div>
</el-col>
<el-col :span="3" class="cell_option">
......@@ -281,24 +261,43 @@
size="madium"
class="cell_option_btn"
@click="viewDetail(cellItem.order_id)"
>查看详情</el-button>
>查看详情</el-button
>
<div
v-if="cellItem.approval_second_level == 1 && cellItem.pay_status != -1 || cellItem.pay_status == -1"
v-if="
(cellItem.approval_second_level == 1 &&
cellItem.pay_status != -1) ||
cellItem.pay_status == -1
"
class="cell_option_spec"
@click="nextApply"
>再次申请</div>
>
再次申请
</div>
<div
v-if="(cellItem.approval_first_level == 0 && cellItem.pay_status != -1) || (cellItem.approval_first_level == 1 && cellItem.approval_second_level == 0 && cellItem.pay_status != -1)"
v-if="
(cellItem.approval_first_level == 0 &&
cellItem.pay_status != -1) ||
(cellItem.approval_first_level == 1 &&
cellItem.approval_second_level == 0 &&
cellItem.pay_status != -1)
"
class="cell_option_spec"
@click="cancelDetail"
>取消申请</div>
>
取消申请
</div>
</div>
</el-col>
<el-collapse-transition>
<el-col v-if="showMsgBox" :span="24" class="evaluation_msg">
<div class="msg_title">服务评分:</div>
<div class="msg_rate">
<el-rate v-model="message.score" disabled :colors="colors"></el-rate>
<el-rate
v-model="message.score"
disabled
:colors="colors"
></el-rate>
</div>
<div class="msg_title">评价详情:</div>
<div class="msg_text">{{ message.content }}</div>
......
......@@ -2,11 +2,11 @@
<div class="order_list">
<div class="order_th_pad">
<el-row class="order_th">
<el-col :span="8">服务信息</el-col>
<el-col :span="7">服务信息</el-col>
<el-col :span="5">规格</el-col>
<el-col :span="3">购买时长</el-col>
<el-col :span="3">总价</el-col>
<el-col :span="2">申请状态</el-col>
<el-col :span="3">申请状态</el-col>
<el-col :span="3">操作</el-col>
</el-row>
</div>
......
......@@ -66,7 +66,7 @@
<el-col :span="6">
<el-form-item prop="cpu" class="form_item input_has_right">
<div class="form_item_title">CPU:</div>
<el-select v-model="formNew.cpu" placeholder="请选择CPU使用量">
<el-select v-model="formNew.cpu" @change="changeCPU" placeholder="请选择CPU使用量">
<el-option
v-for="item in optionsCPU"
:key="item.value"
......@@ -1101,7 +1101,6 @@ export default {
},
tabClick() {},
getNewList(val) {
console.log(val);
this.formNew.apply_file_name = val[0].name;
this.formNew.apply_file = val[0].url;
},
......@@ -1111,7 +1110,6 @@ export default {
},
handleChange() {},
getForm(val) {
console.log(val);
if (val !== "") {
let paramsOld = this.workSpaceOptions[val];
this.workSpaceId = paramsOld.Id;
......@@ -1328,6 +1326,22 @@ export default {
}
}
},
changeCPU(val) {
console.log(val);
this.formOld.memory = "";
this.formNew.memory = "";
if (val == "8") {
this.optionsRAM = [
{ value: "16", label: "16" },
{ value: "32", label: "32" },
]
} else if (val == "16") {
this.optionsRAM = [
{ value: "32", label: "32" },
{ value: "64", label: "64" },
]
}
}
},
};
</script>
......
......@@ -24,8 +24,8 @@
<div class="card_word">
<p class="card_name">账户余额</p>
<p>
{{ helper.numberFormat(user_info.answer_num)
}}<span v-if="user_info.answer_num > 10000" class="card_wan">
{{ helper.numberFormat(user_info.account_balance)
}}<span v-if="user_info.account_balance > 10000" class="card_wan">
</span>
</p>
......@@ -36,8 +36,8 @@
<div class="card_word">
<p class="card_name">充值笔数</p>
<p>
{{ helper.numberFormat(user_info.view_num)
}}<span v-if="user_info.view_num > 10000" class="card_wan">
{{ helper.numberFormat(user_info.recharge_count)
}}<span v-if="user_info.recharge_count > 10000" class="card_wan">
</span>
</p>
......@@ -67,6 +67,7 @@
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:clearable="false"
@change="getCoinList"
></el-date-picker>
</div>
<apass-table
......@@ -103,12 +104,11 @@ export default {
user_info: {
user_name: "",
role: "",
question_num: 0,
answer_num: 0,
view_num: 0,
account_balance: 0,
recharge_count: 0,
picture_path: "",
},
tableData: [{}, {}],
tableData: [],
table_header: [],
total_list: 0,
currentPage: 1,
......@@ -125,8 +125,8 @@ export default {
this.pagination.page += val;
this.refreshData();
},
getUserCoin() {
this.$api.user.getUserQA().then((response) => {
getUserCoins() {
this.$api.user.getUserCoins().then((response) => {
if (response.data.success == 1) {
this.user_info = response.data.data;
}
......@@ -140,39 +140,47 @@ export default {
let query = {
start: this.date.length != 0 ? this.date[0] : "",
end: this.date.length != 0 ? this.date[1] : "",
limit: this.currentlimit,
page: this.currentPage,
};
console.log(query)
this.$api.user.getUserQA().then((response) => {
this.$api.user.getCoinList(query).then((response) => {
if (response.data.success == 1) {
this.user_info = response.data.data;
if (response.data.data && response.data.data.length != 0) {
this.tableData = response.data.data
} else {
this.tableData = [];
this.currentPage = 1;
}
this.total_list = response.data.total;
}
});
},
},
mounted() {
this.getUserCoin();
this.getUserCoins();
this.getCoinList();
this.table_header = [
{
prop: "title",
prop: "serial_number",
label: "充值流水ID",
align: "center",
type: "html",
getHtml: (str) => {
return `<span style="color:#0f2683;font-weight:bold;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;" title="${str.title}">123123</span>`;
return `<span style="color:#0f2683;font-weight:bold;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;" title="${str.serial_number}">${str.serial_number}</span>`;
},
},
{
prop: "content",
prop: "amount",
label: "充值金额(金币/个)",
align: "center",
type: "html",
getHtml: (str) => {
return `<span style="width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">123123123</span>`;
return `<span style="width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">${str.amount}</span>`;
},
},
{
prop: "answer_num",
prop: "balance",
label: "账户余额(金币/个)",
align: "center",
},
......
......@@ -2,7 +2,9 @@
<div>
<el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item :to="{ path: '/user' }">个人中心</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/user/order_list' }">订单管理</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/user/order_list' }">
订单管理
</el-breadcrumb-item>
<el-breadcrumb-item>订单详情</el-breadcrumb-item>
</el-breadcrumb>
<block-radius class="detail">
......@@ -12,24 +14,49 @@
<p class="detail_head_cell_title">申请状态</p>
<p
class="detail_head_cell_val text_yellow"
v-if="orderDetail.approval_first_level == 0 && orderDetail.pay_status != -1"
>待审核</p>
v-if="
orderDetail.approval_first_level == 0 &&
orderDetail.pay_status != -1
"
>
待审核
</p>
<p
class="detail_head_cell_val text_yellow"
v-else-if="orderDetail.approval_first_level == 1&& orderDetail.approval_second_level == 0 && orderDetail.pay_status != -1"
>审核中</p>
v-else-if="
orderDetail.approval_first_level == 1 &&
orderDetail.approval_second_level == 0 &&
orderDetail.pay_status != -1
"
>
审核中
</p>
<p
class="detail_head_cell_val text_blue"
v-else-if="orderDetail.approval_first_level == 1 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1"
>审核通过</p>
v-else-if="
orderDetail.approval_first_level == 1 &&
orderDetail.approval_second_level == 1 &&
orderDetail.pay_status != -1
"
>
审核通过
</p>
<p
class="detail_head_cell_val text_red"
v-else-if="(orderDetail.approval_first_level == -1 || orderDetail.approval_second_level == -1) && orderDetail.pay_status != -1"
>审核未通过</p>
v-else-if="
(orderDetail.approval_first_level == -1 ||
orderDetail.approval_second_level == -1) &&
orderDetail.pay_status != -1
"
>
审核未通过
</p>
<p
class="detail_head_cell_val text_blackblue"
v-else-if="orderDetail.pay_status == -1"
>已取消</p>
>
已取消
</p>
</div>
<div class="detail_head_cell detail_head_no border_right">
<p class="detail_head_cell_title">订单编号</p>
......@@ -37,20 +64,26 @@
</div>
<div class="detail_head_cell detail_head_time">
<p class="detail_head_cell_title">申请时间</p>
<p class="detail_head_cell_val">{{ helper.dateStringTransform(orderDetail.add_time) }}</p>
<p class="detail_head_cell_val">
{{ helper.dateStringTransform(orderDetail.add_time) }}
</p>
</div>
<div
v-if="orderDetail.pay_status == -1"
class="detail_head_cell detail_head_time border_left"
>
<p class="detail_head_cell_title">取消时间</p>
<p
class="detail_head_cell_val"
>{{ helper.dateStringTransform(orderDetail.cancel_time) }}</p>
<p class="detail_head_cell_val">
{{ helper.dateStringTransform(orderDetail.cancel_time) }}
</p>
</div>
<div class="btn_group">
<el-popover
v-if="orderDetail.is_estimated == 0 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1"
v-if="
orderDetail.is_estimated == 0 &&
orderDetail.approval_second_level == 1 &&
orderDetail.pay_status != -1
"
placement="right-start"
width="300"
v-model="visible"
......@@ -58,7 +91,12 @@
>
<p>服务评价:</p>
<div class="pop_rate">
<el-rate v-model="serviceRate" :colors="colors" show-score score-template="{value}"></el-rate>
<el-rate
v-model="serviceRate"
:colors="colors"
show-score
score-template="{value}"
></el-rate>
</div>
<p>填写评价:</p>
<div class="evaluation_text">
......@@ -72,69 +110,131 @@
></el-input>
</div>
<div class="pop_btn_group">
<el-button size="small" class="pop_cancel" type="text" @click="visible = false">取消</el-button>
<el-button
size="small"
class="pop_cancel"
type="text"
@click="visible = false"
>
取消
</el-button>
<el-button
type="primary"
class="pop_submit"
size="small"
@click="addEvaluation"
>确定提交</el-button>
>
确定提交
</el-button>
</div>
<el-button class="evaluation" slot="reference">服务评价</el-button>
<el-button class="evaluation" slot="reference">
服务评价
</el-button>
</el-popover>
<el-button
v-else-if="orderDetail.order_type != 3 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && !showMsgBox"
v-else-if="
orderDetail.order_type != 3 &&
orderDetail.approval_second_level == 1 &&
orderDetail.pay_status != -1 &&
orderDetail.is_estimated == 1 &&
!showMsgBox
"
class="approval_status_btn"
@click="getMessage"
>查看评价</el-button>
>查看评价</el-button
>
<el-button
v-else-if="orderDetail.order_type != 3 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && showMsgBox"
v-else-if="
orderDetail.order_type != 3 &&
orderDetail.approval_second_level == 1 &&
orderDetail.pay_status != -1 &&
orderDetail.is_estimated == 1 &&
showMsgBox
"
class="approval_status_btn"
@click="showMsgBox = false"
>收起评价</el-button>
>收起评价</el-button
>
<el-button
v-if="orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 || orderDetail.pay_status == -1"
v-if="
(orderDetail.approval_second_level == 1 &&
orderDetail.pay_status != -1) ||
orderDetail.pay_status == -1
"
class="again"
@click="nextApply"
>再次申请</el-button>
>再次申请</el-button
>
<el-button
v-if="(orderDetail.approval_first_level == 0 && orderDetail.pay_status != -1) || (orderDetail.approval_first_level == 1 && orderDetail.approval_second_level == 0 && orderDetail.pay_status != -1)"
v-if="
(orderDetail.approval_first_level == 0 &&
orderDetail.pay_status != -1) ||
(orderDetail.approval_first_level == 1 &&
orderDetail.approval_second_level == 0 &&
orderDetail.pay_status != -1)
"
class="again"
@click="cancelDetail"
>取消申请</el-button>
>取消申请</el-button
>
</div>
</div>
<el-collapse-transition>
<div v-if="showMsgBox" class="evaluation_msg">
<div class="msg_title">服务评分:</div>
<div class="msg_rate">
<el-rate v-model="message.score" disabled :colors="colors"></el-rate>
<el-rate
v-model="message.score"
disabled
:colors="colors"
></el-rate>
</div>
<div class="msg_title">评价详情:</div>
<div class="msg_text">{{ message.content }}</div>
</div>
</el-collapse-transition>
</div>
<div class="detail_title">{{ orderDetail.order_type == 1 ? "服务" : "应用"}}信息</div>
<div class="detail_title">
{{ orderDetail.order_type == 1 ? "服务" : "应用" }}信息
</div>
<div class="detail_service">
<el-row class="detail_service_row">
<el-col :span="10" v-if="orderDetail.order_type == 1" class="detail_service_msg">
<el-col
:span="8"
v-if="orderDetail.order_type == 1"
class="detail_service_msg"
>
<img :src="orderDetail.cover" class="detail_service_msg_img" />
<div class="detail_service_msg_right">
<div class="detail_service_name">
<span>{{ orderDetail.name }}</span>
<span v-if="orderDetail.mapService" class="tags map_service">mapService</span>
<span v-if="orderDetail.openness == 1" class="tags shared">共享</span>
<span v-else-if="orderDetail.openness == 2" class="tags restricted">受限</span>
<span v-if="orderDetail.mapService" class="tags map_service">
mapService
</span>
<span v-if="orderDetail.openness == 1" class="tags shared">
共享
</span>
<span
v-else-if="orderDetail.openness == 2"
class="tags restricted"
>
受限
</span>
<span v-else class="tags sensitive">敏感</span>
</div>
<div class="detail_service_msg_other">
<div class="detail_service_type">{{ orderDetail.sector }}</div>
<div class="detail_service_creator">{{ orderDetail.src_organization }}</div>
<div class="detail_service_creator">
{{ orderDetail.src_organization }}
</div>
</div>
</div>
</el-col>
<el-col :span="10" v-else-if="orderDetail.order_type == 2" class="detail_service_msg">
<el-col
:span="8"
v-else-if="orderDetail.order_type == 2"
class="detail_service_msg"
>
<img :src="orderDetail.cover" class="detail_service_msg_img" />
<div class="detail_service_msg_right">
<div class="detail_service_name">
......@@ -142,60 +242,93 @@
</div>
<div class="detail_service_msg_other">
<div class="detail_service_type">{{ orderDetail.sector }}</div>
<div class="detail_service_creator">{{ orderDetail.src_organization }}</div>
<div class="detail_service_creator">
{{ orderDetail.src_organization }}
</div>
</div>
</div>
</el-col>
<el-col :span="10" v-else-if="orderDetail.order_type == 3" class="detail_service_msg">
<img :src="require('@/assets/imgs/img_yunziyuan.png')" class="detail_service_msg_img" />
<el-col
:span="8"
v-else-if="orderDetail.order_type == 3"
class="detail_service_msg"
>
<img
:src="require('@/assets/imgs/img_yunziyuan.png')"
class="detail_service_msg_img"
/>
<div class="detail_service_msg_right">
<div class="detail_service_name_cloud">
<span>{{ orderDetail.namespace }}{{ orderDetail.workplace }}</span>
<span>
{{ orderDetail.namespace }}{{ orderDetail.workplace }}
</span>
</div>
</div>
</el-col>
<el-col :span="8" class="detail_service_specification">
<el-col :span="6" class="detail_service_specification">
<div v-if="orderDetail.order_type == 1">
<div>
<span class="detail_service_specification_gg">规格:</span>
<span
class="detail_service_specification_val"
>访问次数:{{ orderDetail.spec_svc_count }}/日,访问量:{{ orderDetail.spec_svc_pv }}/日</span>
</div>
<div>
<span class="detail_service_specification_type">申请方式:</span>
<span
class="detail_service_specification_val"
>{{orderDetail.duration_unit == 1 ? "按月" : "按年"}}</span>
<span class="detail_service_specification_gg">
{{ orderDetail.spec_app == 0 ? "计次收费:" : "时长收费:" }}
</span>
<span class="detail_service_specification_val"
>2000金币/月</span
>
</div>
</div>
<div v-else-if="orderDetail.order_type == 2">
<div>
<span class="detail_service_specification_gg">规格:</span>
<span
class="detail_service_specification_val"
>{{ orderDetail.spec_app == 0 ? "申请获取应用镜像部署权限" : "申请获取应用镜像开发权限" }}</span>
<span class="detail_service_specification_gg">{{
orderDetail.spec_app == 0
? "申请获取应用镜像部署权限:"
: "申请获取应用镜像开发权限:"
}}</span>
<span class="detail_service_specification_val"
>2000金币/月</span
>
</div>
</div>
<div v-else-if="orderDetail.order_type == 3">
<div>
<span class="detail_service_specification_gg">类型:</span>
<span
class="detail_service_specification_val"
>{{ orderDetail.apply_type == 0 ? "申请新的工作区域" : "升级现有工作区域" }}</span>
<span class="detail_service_specification_val">{{
orderDetail.apply_type == 0
? "申请新的工作区域"
: "升级现有工作区域"
}}</span>
</div>
</div>
</el-col>
<el-col :span="6" class="detail_service_time">
<el-col :span="5" class="detail_service_time">
<div>
<span class="detail_service_time_title">申请时长:</span>
<span
class="detail_service_specification_val"
>{{ orderDetail.duration + (orderDetail.duration_unit == 1 ? "个月" : "") }}</span>
<span class="detail_service_specification_val">{{
orderDetail.duration == 0
? "不限"
: orderDetail.duration +
(orderDetail.duration_unit == 1 ? "个月" : "")
}}</span>
</div>
</el-col>
<el-col :span="5" class="detail_service_money">
<div>
<span class="detail_service_money_title">总价:</span>
<span class="detail_service_specification_val"
>12793017230金币</span
>
<span v-if="1" class="adhekadwn">(升级费用:3000金币,原规格抵扣:1000金币)</span>
</div>
</el-col>
</el-row>
</div>
<div v-if="orderDetail.order_type == 2">
<div class="detail_s_title">业务领域:</div>
<div class="detail_app_scence">{{ orderDetail.app_desc }}</div>
</div>
<div v-if="orderDetail.order_type == 2">
<div class="detail_s_title">上线时间:</div>
<div class="detail_app_scence">{{ orderDetail.app_func }}</div>
</div>
<div v-if="orderDetail.order_type == 2">
<div class="detail_s_title">应用简介:</div>
<div class="detail_app_scence">{{ orderDetail.app_desc }}</div>
......@@ -220,23 +353,33 @@
</div>
<div class="params_block_item_in">
<span class="params_block_item_title">内存:</span>
<span class="params_block_item_val">{{ orderDetail.memory }}GB</span>
<span class="params_block_item_val"
>{{ orderDetail.memory }}GB</span
>
</div>
<div class="params_block_item_in">
<span class="params_block_item_title">容器组:</span>
<span class="params_block_item_val">{{ orderDetail.memory }}</span>
<span class="params_block_item_val"
>{{ orderDetail.memory }}</span
>
</div>
<div
v-if="orderDetail.apply_type == 0 && orderDetail.disk_num != 0"
class="params_block_item_in"
>
<span class="params_block_item_title">数据盘:</span>
<span
class="params_block_item_val"
>{{ orderDetail.disk_num }}块,每块{{orderDetail.disk_cap }}GB</span>
<span class="params_block_item_val"
>{{ orderDetail.disk_num }}块,每块{{
orderDetail.disk_cap
}}GB</span
>
</div>
<div
v-else-if="orderDetail.apply_type != 0 && orderDetail.adjust_disk && orderDetail.adjust_disk.length != 0"
v-else-if="
orderDetail.apply_type != 0 &&
orderDetail.adjust_disk &&
orderDetail.adjust_disk.length != 0
"
class="params_block_item_in"
>
<span class="params_block_item_title">数据盘:</span>
......@@ -245,7 +388,14 @@
v-for="(item, index) in orderDetail.adjust_disk"
:key="'sjp' + index"
class="val_has_2"
>{{ "数据盘" + item.disk_num + "块,每块数据盘容量" + item.disk_cap + "GB;" }}</span>
>{{
"数据盘" +
item.disk_num +
"块,每块数据盘容量" +
item.disk_cap +
"GB;"
}}</span
>
</p>
</div>
</div>
......@@ -254,15 +404,23 @@
<div class="params_block_item_in">
<span class="params_block_item_title">CPU:</span>
<p class="params_block_item_val">
<span class="val_has_2">最高&nbsp;{{ orderDetail.one_cpu_max }}</span>
<span class="val_has_2">默认&nbsp;{{ orderDetail.one_cpu_min }}</span>
<span class="val_has_2"
>最高&nbsp;{{ orderDetail.one_cpu_max }}</span
>
<span class="val_has_2"
>默认&nbsp;{{ orderDetail.one_cpu_min }}</span
>
</p>
</div>
<div class="params_block_item_in">
<span class="params_block_item_title">内存:</span>
<p class="params_block_item_val">
<span class="val_has_2">最高&nbsp;{{ orderDetail.one_memory_max }}GB</span>
<span class="val_has_2">默认&nbsp;{{ orderDetail.one_memory_min }}GB</span>
<span class="val_has_2"
>最高&nbsp;{{ orderDetail.one_memory_max }}GB</span
>
<span class="val_has_2"
>默认&nbsp;{{ orderDetail.one_memory_min }}GB</span
>
</p>
</div>
</div>
......@@ -272,8 +430,23 @@
<table-um :headers="header_arr" :datas="data"></table-um>
</div>
<div class="detail_title">申请人信息</div>
<info-list @download="download" :list_arr="list_arr" class="detail_s_val"></info-list>
<process-card v-if="orderDetail.order_type != 3" :data="approval_arr1" class="detail_s_val"></process-card>
<info-list
@download="download"
:list_arr="list_arr"
class="detail_s_val"
></info-list>
<div
v-if="orderDetail.order_type != 3 && showApproval"
class="detail_title"
>
审批信息
</div>
<process-card
v-if="orderDetail.order_type != 3 && showApproval"
:data="approval_arr1"
class="detail_s_val"
>
</process-card>
</block-radius>
</div>
</template>
......@@ -371,6 +544,7 @@ export default {
],
},
],
showApproval: false,
header_arr: [
{
prop: "name",
......@@ -477,15 +651,24 @@ export default {
.then((response) => {
if (response.data.success == 1) {
let data = response.data.data || [];
for (let i = 0; i < data.length; i++) {
this.approval_arr1[i].result = data[i].apply_type_name;
this.approval_arr1[i].arr[0].info = data[i].created;
this.approval_arr1[i].arr[1].info = data[i].department_name;
this.approval_arr1[i].arr[2].info = data[i].user_name;
this.approval_arr1[i].arr[3].info = data[i].comments;
if (data.length != 0) {
for (let i = 0; i < data.length; i++) {
this.approval_arr1[i].result = data[i].apply_type_name;
this.approval_arr1[i].arr[0].info = data[i].created;
this.approval_arr1[i].arr[1].info = data[i].department_name;
this.approval_arr1[i].arr[2].info = data[i].user_name;
this.approval_arr1[i].arr[3].info = data[i].comments;
}
this.approval_arr1.splice(data.length);
} else {
this.approval_arr1[0].result = "待审批";
this.approval_arr1[0].arr = [];
this.approval_arr1.splice(1);
}
this.approval_arr1.splice(data.length);
this.showApproval = true;
console.log(this.approval_arr1);
} else {
this.showApproval = false;
console.log(response.data.errMsg);
}
});
......@@ -578,6 +761,7 @@ export default {
.detail {
margin: 0 20px;
}
.detail_head {
width: 100%;
background-color: #f6f7fb;
......@@ -586,87 +770,109 @@ export default {
position: relative;
margin-bottom: 20px;
}
.detail_head_msg {
padding: 20px;
}
.detail_head_cell {
display: inline-block;
height: 50px;
text-align: center;
}
.detail_head_status {
width: 160px;
}
.detail_head_no {
width: 360px;
}
.detail_head_time {
width: 240px;
}
.border_right {
border-right: 1px #e3e5ef solid;
}
.border_left {
border-left: 1px #e3e5ef solid;
}
.detail_head_cell_title {
font-size: 14px;
color: #8890a7;
line-height: 22px;
}
.detail_head_cell_val {
font-size: 16px;
font-weight: 700;
line-height: 28px;
color: #242c43;
}
.text_blue {
color: #515fe7;
}
.text_yellow {
color: #ef9433;
}
.text_blackblue {
color: #242c43;
}
.text_red {
color: #e15260;
}
.btn_group {
position: absolute;
right: 20px;
top: 26px;
}
.evaluation {
width: 100px;
background-color: #c3caf8;
color: #0f2683;
margin-right: 20px;
}
.again {
width: 100px;
background-color: #0f2683;
color: #f8f9fd;
}
.pop_rate {
padding: 0 0 0 50px;
margin: 15px 0;
}
.evaluation_text {
padding: 15px 4px;
}
.pop_cancel {
color: #58617a;
margin-right: 20px;
}
.pop_submit {
background-color: #e56600;
border: 0;
}
.pop_btn_group {
margin-top: 10px;
text-align: center;
}
.detail_title {
font-size: 18px;
margin: 10px 0 20px;
......@@ -674,6 +880,7 @@ export default {
position: relative;
color: #58617a;
}
.detail_title::before {
position: absolute;
content: "";
......@@ -684,6 +891,7 @@ export default {
left: 0;
top: 4px;
}
.detail_service {
width: 100%;
height: 100%;
......@@ -691,6 +899,7 @@ export default {
border-radius: 8px;
border: solid 1px #ededed;
}
.detail_service_msg {
height: 162px;
padding: 20px 10px 20px 20px;
......@@ -698,17 +907,20 @@ export default {
justify-content: space-between;
border-right: 1px #ededed solid;
}
.detail_service_msg_img {
width: 118px;
height: 118px;
border-radius: 8px;
border: 3px #f4f7fc solid;
}
.detail_service_msg_right {
width: calc(100% - 140px);
margin: 0 0 0 10px;
position: relative;
}
.detail_service_name {
width: 100%;
line-height: 24px;
......@@ -721,6 +933,7 @@ export default {
-webkit-box-orient: vertical;
font-size: 16px;
}
.detail_service_name_cloud {
width: 100%;
line-height: 24px;
......@@ -734,20 +947,24 @@ export default {
-webkit-box-orient: vertical;
font-size: 16px;
}
.detail_service_msg_other {
position: absolute;
bottom: 2px;
}
.detail_service_type {
color: #8890a7;
font-size: 14px;
line-height: 22px;
}
.detail_service_creator {
color: #8890a7;
font-size: 14px;
line-height: 22px;
}
.tags {
display: inline-block;
margin-left: 10px;
......@@ -759,26 +976,31 @@ export default {
position: relative;
top: -2px;
}
.map_service {
background-color: #626de9;
border: solid 1px #626de9;
color: #fff;
}
.shared {
background-color: #e7fdfc;
border: solid 1px #8bd6d0;
color: #25bdb1;
}
.restricted {
background-color: #fffee8;
border: solid 1px #e4c884;
color: #ef9433;
}
.sensitive {
background-color: #ffefef;
border: solid 1px #d7a4a9;
color: #e15260;
}
.detail_service_specification {
height: 162px;
color: #8890a7;
......@@ -789,37 +1011,63 @@ export default {
padding: 22px 20px;
border-right: 1px #ededed solid;
}
.detail_service_specification_val {
color: #242c43;
}
.detail_service_time {
text-align: center;
height: 162px;
display: flex;
justify-content: center;
align-items: center;
border-right: 1px #ededed solid;
}
.detail_service_time_title {
color: #8890a7;
}
.detail_service_money {
text-align: center;
height: 162px;
display: flex;
justify-content: center;
align-items: center;
}
.detail_service_money_title {
color: #8890a7;
}
.adhekadwn {
color: #8890a7;
display: block;
margin-top: 20px;
}
.detail_s_title {
color: #8890a7;
margin: 20px 0 10px;
padding: 0 0 0 20px;
}
.detail_app_scence {
padding: 0 0 0 20px;
color: #242c43;
font-size: 14px;
line-height: 22px;
}
.detail_s_val {
padding: 0 0 0 20px;
}
.approval_status_btn {
background-color: #e1e4fb;
color: #626de9;
}
.params_block {
background-color: #f8f9fd;
border-radius: 8px;
......@@ -828,47 +1076,58 @@ export default {
font-size: 14px;
line-height: 22px;
}
.params_block_title {
padding-left: 5px;
color: #242c43;
}
.params_block_item {
padding: 10px 0 0 0;
}
.params_block_item_in {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
.params_block_item_title {
color: #8890a7;
width: 80px;
text-align: right;
}
.params_block_item_val {
color: #242c43;
width: calc(100% - 82px);
}
.val_has_2 {
margin-right: 20px;
}
.margin_top_20 {
display: block;
margin-top: 20px;
}
.evaluation_msg {
height: 100%;
border-top: solid 2px #e3e5ef;
padding: 20px;
background-color: #fff;
}
.msg_title {
color: #8890a7;
margin: 0 0 10px;
}
.msg_rate {
margin: 0 0 20px 0;
}
.msg_text {
/* margin-left: 20px; */
color: #242c43;
......@@ -878,6 +1137,7 @@ export default {
.pop_rate .el-rate__icon {
font-size: 24px;
}
.pop_rate .el-rate__text {
font-size: 20px;
margin-left: 20px;
......@@ -885,7 +1145,8 @@ export default {
top: 1px;
color: #58617a !important;
}
.evaluation_text .el-textarea__inner {
border-radius: 8px;
}
</style>
\ No newline at end of file
</style>
......@@ -1144,8 +1144,12 @@ export default {
bodys = JSON.stringify(request);
} else if (this.zhfwQqt == "x-www-form-urlencoded") {
let request = this.$refs.fwcs_zhfw_www.getTableData().concat();
let arr = [];
request.pop();
bodys = JSON.stringify(request);
request.forEach(item => {
arr.push({key: item.requestEncoding, val: item.requestValue, field_type: "text"})
});
bodys = JSON.stringify(arr);
}
}
}
......
......@@ -71,10 +71,10 @@ const user = {
// my coins
getUserCoins() {
return axios.get(``)
return axios.get(`/apaas/backmgt/user/myAccount`)
},
getCoinList() {
return axios.get(``)
getCoinList(params) {
return axios.get(`/apaas/backmgt/user/rechargeRecords?start=${params.start}&end=${params.end}&limit=${params.limit}&page=${params.page}`)
}
}
......
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