Commit 49b2f150 authored by 张俊's avatar 张俊

服务应用金币充值

parent 2b4f077d
......@@ -5,7 +5,7 @@
ref="inpNum"
v-model="inputText"
oninput="value=value.replace(/[^\d]/g, '')"
:disabled="couldNotEdit || name == ''"
:disabled="couldNotEdit || name == ''||itemEdit"
size="small"
@input="changeValue"
class="table_in_input"
......@@ -18,7 +18,7 @@
<el-input
ref="inp"
v-model="inputText"
:disabled="couldNotEdit || name == ''"
:disabled="couldNotEdit || name == ''||itemEdit"
size="small"
@input="changeValue"
class="table_in_input"
......@@ -80,6 +80,10 @@ export default {
type: Boolean,
default: false
},
itemEdit:{
type: Boolean,
default: false
},
type: {
type: String,
default: ""
......@@ -98,6 +102,11 @@ export default {
inputTextUp: "",
helper: helper
}),
watch:{
item(n,o){
this.inputText = n
}
},
mounted() {
this.inputText = this.item;
},
......
......@@ -84,6 +84,9 @@
:show-overflow-tooltip="true"
:render-header="item.require ? renderHeader : null"
>
<template slot="header" slot-scope="scope">
<span v-html="scope.column.label"></span>
</template>
<template slot-scope="scope">
<!-- 操作按钮 -->
<span v-if="item.type === 'Button'">
......@@ -153,12 +156,13 @@
<v-apaas-table-input
v-else-if="item.type === 'input' || item.type === 'upload' || item.type === 'inputNumber'"
:item="helper.GetProperty(scope.row, item.prop)"
:header="item.prop"
:header="item.prop" ref=""
:id="scope.row.id"
:name="scope.row.name"
:rowId="scope.$index"
:type="scope.row[item.uploadKey] ? scope.row[item.uploadKey] : ''"
:typeHead="item.type"
:itemEdit="scope.row[item.prop]=='不限次数'||scope.row[item.prop]=='申请获取应用镜像部署权限'||scope.row[item.prop]=='提供2核4G,4核8G等多种规格'"
:couldNotEdit="couldNotEdit"
@changeInputValue="changeInputValue"
@changeUpFile="changeUpFile"
......
......@@ -185,6 +185,7 @@ export default {
if(res.data.success){
this.$refs.dialog.hide();
this.$message.success('充值成功')
this.change_date()
}else{
this.$message.error(res.data.errMsg)
}
......
......@@ -118,6 +118,7 @@ export default {
use_approval_arr: [],
process_in_up:false,//是否是服务注册产生的
perception_in:false,//是否是感知服务
service_apply_type:1,//服务申请的方式,1:计次收费2:时长收费
port_select:'',
req_solt_code_arr:'',
res_solt_code_arr:'',
......@@ -618,6 +619,10 @@ export default {
title: "申请时间:",
info: "",
},
{
title: "支付总价:",
info: "2000",
},
{
title: "审批信息",
prop: "title",
......@@ -720,15 +725,7 @@ export default {
? "#515fe7"
: "#e15260"
);
this.$set(
this.service_header_arr["first"][2],
"text",
data.service_apply_info.service_end_time == "0001-01-01T00:00:00Z"
? "-"
: data.service_apply_info.service_end_time
.replace("T", " ")
.split("+")[0]
);
this.$set(this.service_header_arr["second"][0], "text", data.req_url);
this.$set(this.service_header_arr, "url", data.cover);
......@@ -737,6 +734,28 @@ export default {
this.service_header_arr.second = []
this.service_header_arr.second.push(temp_sj)
}
if(this.service_apply_type==1){
this.$set(
this.service_header_arr["first"][2],
"text",
data.service_apply_info.service_end_time == "0001-01-01T00:00:00Z"
? "-"
: data.service_apply_info.service_end_time
.replace("T", " ")
.split("+")[0]
);
this.$set(this.service_header_arr["first"][2],'name','可调用次数')
}else{
this.$set(
this.service_header_arr["first"][2],
"text",
data.service_apply_info.service_end_time == "0001-01-01T00:00:00Z"
? "-"
: data.service_apply_info.service_end_time
.replace("T", " ")
.split("+")[0]
);
}
this.$set(this.list_arr[0], "info", data.descript);
this.$set(this.list_arr[1], "info", data.data_service_type2_name);
this.$set(
......
......@@ -262,7 +262,11 @@ export default {
{
title: "申请规格:",
info: ""
}
},
{
title: "总价:",
info: "2000",
},
]
};
},
......
......@@ -24,6 +24,7 @@
:style="
now_service == index ? { borderBottom: '4px solid #f5ab4c' } : {}
"
v-if="index<3||in_origin_ser"
>
{{ item }}
</div>
......@@ -192,7 +193,7 @@
:headers="service_size_arr"
:datas="service_size_data"
></table-um>
<p style="color: #8890a7;">购买方式:</p>
<!-- <p style="color: #8890a7;">购买方式:</p>
<p style="color: #242c43;margin:10px 0px;">
{{
buy_type == 1
......@@ -201,7 +202,7 @@
? "按年购买"
: "按月购买&按年购买"
}}
</p>
</p> -->
<div
class="editbtn"
v-if="now_user == 1"
......@@ -227,7 +228,7 @@
:datas="service_size_data"
@changeTable="now_size_data"
></table-um>
<p
<!-- <p
v-if="now_user == 1 && sizeset_flag"
style="color: #8890a7;margin:10px 0;"
>
......@@ -244,12 +245,56 @@
:type="buy_style.indexOf(2) !== -1 ? 'primary' : ''"
@click="change_buy(2)"
>按年购买</el-button
>
> -->
<div class="savebtn" v-if="now_user == 1 && sizeset_flag">
<el-button @click="change_service_size">保存</el-button>
<el-button @click="sizeset_flag = false">取消</el-button>
</div>
</div>
<div v-show="now_service == 4">
<info-list :list_arr="trans_log_arr">
<div slot="trans_all" class="trans_all">
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_shouyizonge.png" alt="">
<p>服务收益总额</p>
<p>{{trans_all_obj.all}} </p>
<span>金币</span>
</div>
</div>
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_jiaoyizs.png" alt="">
<p>交易总数</p>
<p>{{trans_all_obj.times}} </p>
<span></span>
</div>
</div>
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_yuejiaoyi.png" alt="">
<p>本月交易总数</p>
<p>{{trans_all_obj.month}} </p>
<span></span>
</div>
</div>
</div>
<div slot="trans_log" class="trans_log">
<table-um
:headers="trans_log_header"
:datas="trans_log_data"
></table-um>
<list-pagination
:total="translistTotal"
:page-sizes="pageSizes"
:page-size="transpageSize"
:current-page="transcurrentPage"
@size-change="transchangePageSize"
@current-change="transchangeCurrentPage"
></list-pagination>
</div>
</info-list>
</div>
</div>
</div>
</div>
......@@ -285,13 +330,17 @@ export default {
data() {
return {
now_user: 0, //0:普通用户,1:组织管理员,2:超级管理员
process_in_up:true,//是否是服务注册产生的
process_in_up:false,//是否是服务注册产生的
perception_in:false,//是否是感知服务
in_origin_ser:true,//是否是组织内部的服务
buy_style: [1],
// editstr:'<h1>1221312</h1>wuqwyequ827812731731',
listTotal: 0,
currentPage: 1,
pageSize: 10,
translistTotal: 0,
transcurrentPage: 1,
transpageSize: 10,
pageSizes: [10, 50, 100],
responseParamUrl: "",
codeExampleUrl: "",
......@@ -310,6 +359,82 @@ export default {
req_gz_solt_data:[],
res_gz_solt_data:[],
service_gz_process_arr:[],
trans_all_obj:{
all:1123,
times:13215,
month:1312,
},
trans_log_arr:[
{
title: "应用交易概览",
info: "",
prop:'title',
type: "solt",
solt_name: "trans_all",
},
{
title: "应用交易记录",
info: "",
prop:'title',
type: "solt",
solt_name: "trans_log",
},
],
trans_log_header:[
{
prop: "dydw",
label: "申请单位",
minWidth: "20%",
align: "left",
},
{
prop: "dyyw",
label: "业务系统",
minWidth: "20%",
align: "left",
},
{
prop: "sqr",
label: "申请人",
minWidth: "20%",
align: "center",
},
{
prop: "gg",
label: "规格",
minWidth: "20%",
align: "left",
},
{
prop: "sqsc",
label: "购买时长",
width: "110px",
align: "center",
},
{
prop: "price",
label: "订单总价",
width: "150px",
align: "center",
},
{
prop: "sqsj",
label: "交易时间",
width: "160px",
align: "center",
},
],
trans_log_data:[
{
dydw:'机关事务局',
dyyw:'业务系统',
sqr:'超管用户',
gg:'申请获取应用镜像部署权限(3000/月)',
sqsc:'1',
price:'3000金币',
sqsj:'2020-10-12 10:30:52'
}
],
res_solt_header_arr: [
{
prop: "name",
......@@ -521,8 +646,8 @@ export default {
sizeset_flag: false, //规格设置是否显示
service_arr: [
["服务基本信息", "接口详细信息", "服务运行状态"],
["服务基本信息", "接口详细信息", "服务运行状态", "服务计费规则"],
["服务基本信息", "接口详细信息", "服务运行状态", "服务规格"],
["服务基本信息", "接口详细信息", "服务运行状态", "服务计费规则","服务交易记录"],
["服务基本信息", "接口详细信息", "服务运行状态", "服务规格","服务交易记录"],
],
service_size_data: [], //服务规格数组
service_header_arr: {
......@@ -718,17 +843,29 @@ export default {
],
service_size_arr: [
{
prop: "count",
label: "访问次数(次/日)",
prop: "index",
label: "序号",
width: "100px",
align: "center",
},
{
prop: "type",
label: "规格类型",
minWidth: "33.33%",
align: "center",
},
{
prop: "pv",
label: "访问量(PV/日)",
label: "规格",
minWidth: "33.33%",
align: "center",
},
{
prop: "pv",
label: "购买时长",
width: "200px",
align: "center",
},
{
prop: "des",
label: "规格说明",
......@@ -737,26 +874,55 @@ export default {
},
],
edit_size_arr: [
{
prop: "type",
label: '规格类型<span title="计费计时"><img style="width:20px;" src="'+require('../../../assets/imgs/demo_logo.png')+'" alt=""></span>',
width: "180px",
align: "center",
type: "select",
selectArr:[
{
label:'计次收费规格',
value:1
},
{
label:'时长收费规格',
value:2
}
]
},
{
prop: "count",
label: "访问次数(次/日)",
minWidth: "33.33%",
label: "价格/金币",
width: "200px",
align: "center",
type: "inputNumber",
},
{
prop: "pv",
label: "访问量(PV/日)",
minWidth: "33.33%",
label: "调用次数",
width: "200px",
align: "center",
type: "inputNumber",
type: "input",
},
{
prop: "d_price",
label: "单价",
width: "150px",
align: "left",
},
{
prop: "time",
label: "时长",
width: "150px",
align: "left"
},
{
prop: "des",
label: "规格说明",
minWidth: "33.33%",
align: "left",
type: "input",
type:'input'
},
{
label: "操作",
......@@ -984,10 +1150,19 @@ export default {
this.currentPage = 1;
this.get_use_list();
},
transchangePageSize(value) {
this.transpageSize = value;
this.transcurrentPage = 1;
},
changeCurrentPage(value) {
this.currentPage = value;
this.get_use_list();
},
transchangeCurrentPage(value) {
this.transcurrentPage = value;
},
iconChange (val) {
// el-select实际上是两层div包裹的input
this.port_select = val;
......@@ -1198,6 +1373,28 @@ export default {
},
now_size_data(val) {
console.log(val);
val.forEach(e => {
if(e.type==1){
if(e.pv=='不限次数'){
e.pv = ''
e.time = ''
e.des = ''
e.count = ''
e.d_price = ''
}
e.time = '不限时长'
e.des = '提供'+e.pv+'次服务,时长不限'
if(e.count&&e.pv){
e.d_price = parseInt(e.count/e.pv)+'金币/次'
}
}else if(e.type==2){
e.pv = '不限次数'
e.d_price = '-'
e.time = '按月'
e.des = '每月不限调用次数'
}
});
this.size_arr_down = val;
},
getsize_arr() {
......@@ -1429,4 +1626,58 @@ export default {
margin-top: 10px;
padding: 20px 30px;
}
.trans_all{
width: 100%;
height: 128px;
background-color: #fbfcfe;
border-radius: 12px;
}
.trans_all .trans_box{
width: 33.3%;
float: left;
height: 65px;
line-height: 65px;
margin-top: 30px;
border-right: 2px solid #e6ebfe;
}
.trans_all .trans_box:nth-last-of-type(1){
border: 0;
}
.trans_middle{
width: 200px;
height: 65px;
line-height: 65px;
margin: 0 auto;
position: relative;
text-align: right;
}
.trans_middle img{
position: absolute;
left: 0;
top: 15px;
}
.trans_middle span{
position: absolute;
right: -20px;
top: 18px;
font-size: 16px;
color: #242c43;
}
.trans_middle p{
font-size: 16px;
line-height: 32px;
color: #58617a;
}
.trans_middle p:nth-of-type(2){
font-size: 24px;
font-weight: bold;
color: #242c43;
}
.trans_all .trans_box:nth-of-type(1) .trans_middle span{
right: -40px;
}
.trans_log{
width: 100%;
}
</style>
......@@ -889,10 +889,10 @@ export default {
num: ""
},
{
text: "收益总额",
pic: require("@/assets/imgs/ic_shouyize.png"),
bg: "rgb(255,242,226)",
color: "#ea7d19",
text: "工作区域",
pic: require("@/assets/imgs/ic_gongzuoquyu.png"),
bg: "#e7fdfc",
color: "#25bdb1",
type: "earnings_money",
num: ""
}
......
......@@ -192,6 +192,89 @@
>
</service-tab-comments>
</div>
<div v-if="service_arr[now_user][now_service]=='应用计费规则'">
<p style="color: #8890a7;">应用规格:</p>
<table-um
:stripe="true"
:headers="service_size_arr"
:datas="service_size_data"
></table-um>
<div
class="editbtn"
v-if="now_user == 1"
@click="sizeset_flag = true"
>
编辑
</div>
<p
v-if="now_user == 1 && sizeset_flag"
style="color: #8890a7;margin-bottom:10px;"
>
规格设置:
</p>
<table-um
v-if="now_user == 1 && sizeset_flag"
:headers="edit_size_arr"
headerCellClassName="th_pink"
:border="true"
:autoAdd="true"
:couldNotEdit="false"
:radius="true"
:isIndex="true"
:datas="service_size_data"
@changeTable="now_size_data"
></table-um>
<div class="savebtn" v-if="now_user == 1 && sizeset_flag">
<el-button @click="change_service_size">保存</el-button>
<el-button @click="sizeset_flag = false">取消</el-button>
</div>
</div>
<div v-if="service_arr[now_user][now_service]=='应用交易记录'">
<info-list :list_arr="trans_log_arr">
<div slot="trans_all" class="trans_all">
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_shouyizonge.png" alt="">
<p>应用收益总额</p>
<p>{{trans_all_obj.all}} </p>
<span>金币</span>
</div>
</div>
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_jiaoyizs.png" alt="">
<p>交易总数</p>
<p>{{trans_all_obj.times}} </p>
<span></span>
</div>
</div>
<div class="trans_box">
<div class="trans_middle">
<img src="../../../assets/imgs/ic_yuejiaoyi.png" alt="">
<p>本月交易总数</p>
<p>{{trans_all_obj.month}} </p>
<span></span>
</div>
</div>
</div>
<div slot="trans_log" class="trans_log">
<table-um
:headers="trans_log_header"
:datas="trans_log_data"
></table-um>
<list-pagination
:total="translistTotal"
:page-sizes="pageSizes"
:page-size="transpageSize"
:current-page="transcurrentPage"
@size-change="transchangePageSize"
@current-change="transchangeCurrentPage"
></list-pagination>
</div>
</info-list>
</div>
</div>
</div>
</div>
......@@ -214,6 +297,7 @@ import { getRole } from "@/utils/common";
import { mapGetters, mapState } from "vuex";
import apassTable from "@/components/apass-table";
import imageDetail from "@/components/image-detail";
import ListPagination from "@/components/comments-pagination";
export default {
components: {
infoList,
......@@ -224,6 +308,7 @@ export default {
serviceTabComments,
apassTable,
imageDetail,
ListPagination
},
data() {
var checkname = (rule, value, callback) => {
......@@ -251,9 +336,15 @@ export default {
buy_style: 0,
image_loading: false,
image_noMore: false,
sizeset_flag:false,
translistTotal: 0,
transcurrentPage: 1,
transpageSize: 10,
pageSizes: [10, 50, 100],
preview: "preview",
subfield: false,
image_arr: [],
size_arr_down:[],
now_page: 1,
total: 0,
anotherData: {},
......@@ -274,6 +365,151 @@ export default {
taps: "",
},
fileList: [],
trans_log_header:[
{
prop: "dydw",
label: "申请单位",
minWidth: "20%",
align: "left",
},
{
prop: "dyyw",
label: "业务系统",
minWidth: "20%",
align: "left",
},
{
prop: "sqr",
label: "申请人",
minWidth: "20%",
align: "center",
},
{
prop: "gg",
label: "规格",
minWidth: "20%",
align: "left",
},
{
prop: "sqsc",
label: "购买时长",
width: "110px",
align: "center",
},
{
prop: "price",
label: "订单总价",
width: "150px",
align: "center",
},
{
prop: "sqsj",
label: "交易时间",
width: "160px",
align: "center",
},
],
trans_log_data:[
{
dydw:'机关事务局',
dyyw:'业务系统',
sqr:'超管用户',
gg:'申请获取应用镜像部署权限(3000/月)',
sqsc:'1',
price:'3000金币',
sqsj:'2020-10-12 10:30:52'
}
],
trans_log_arr:[
{
title: "应用交易概览",
info: "",
prop:'title',
type: "solt",
solt_name: "trans_all",
},
{
title: "应用交易记录",
info: "",
prop:'title',
type: "solt",
solt_name: "trans_log",
},
],
trans_all_obj:{
all:1123,
times:13215,
month:1312,
},
service_size_data:[],
service_size_arr: [
{
prop: "type",
label: "规格类别",
minWidth: "33.33%",
align: "center",
},
{
prop: "time",
label: "时长",
minWidth: "33.33%",
align: "center",
},
{
prop: "price",
label: "价格",
width: "200px",
align: "center",
},
{
prop: "des",
label: "规格说明",
minWidth: "33.33%",
align: "left",
},
],
edit_size_arr:[
{
prop: "type",
label: "规格类别",
width: "150px",
align: "left",
type:'input'
},
{
prop: "price",
label: "价格",
width: "200px",
align: "center",
type: "inputNumber",
},
{
prop: "time",
label: "时长",
minWidth: "33.33%",
align: "center",
},
{
prop: "des",
label: "规格说明",
minWidth: "33.33%",
align: "left",
type:'input'
},
{
label: "操作",
type: "Button",
align: "center",
width: 140,
btnList: [
{
type: "action-delete",
label: "删除",
local: true,
},
],
},
],
rules: {
name: [{ required: true, message: "请输入镜像名称", trigger: "blur" },
{ max:20, message: "应小于20个字符", trigger: 'blur' },
......@@ -417,6 +653,24 @@ export default {
];
},
methods: {
transchangePageSize(value) {
this.transpageSize = value;
this.transcurrentPage = 1;
},
transchangeCurrentPage(value) {
this.transcurrentPage = value;
},
change_service_size(){},
now_size_data(val){
val.forEach(e=>{
e.type = '申请获取应用镜像部署权限'
e.time = '按月'
e.des = '提供2核4G,4核8G等多种规格'
})
this.size_arr_down = val
},
showImageDetail(item) {
this.$refs.imageDetail.showDialog({
...item,
......@@ -775,7 +1029,13 @@ export default {
data.up_platform_status == 0
) {
this.service_arr[this.now_user].push("评分及评论");
if(this.$route.query.source == "apply"){
}else{
this.service_arr[this.now_user].push(...["应用计费规则","应用交易记录"]);
}
}
if (this.now_user == 0) {
temp_info.fxdetail = true;
}
......@@ -883,7 +1143,18 @@ export default {
padding: 30px 10px 10px 10px;
width: 100%;
}
.editbtn {
width: 124px;
height: 44px;
line-height: 44px;
background-color: #0f2683;
border-radius: 8px;
font-size: 16px;
color: #f8f9fd;
text-align: center;
cursor: pointer;
margin-bottom: 30px;
}
.savebtn {
margin-top: 50px;
overflow: hidden;
......@@ -930,4 +1201,58 @@ export default {
height: 284px;
overflow-y: auto;
}
.trans_all{
width: 100%;
height: 128px;
background-color: #fbfcfe;
border-radius: 12px;
}
.trans_all .trans_box{
width: 33.3%;
float: left;
height: 65px;
line-height: 65px;
margin-top: 30px;
border-right: 2px solid #e6ebfe;
}
.trans_all .trans_box:nth-last-of-type(1){
border: 0;
}
.trans_middle{
width: 200px;
height: 65px;
line-height: 65px;
margin: 0 auto;
position: relative;
text-align: right;
}
.trans_middle img{
position: absolute;
left: 0;
top: 15px;
}
.trans_middle span{
position: absolute;
right: -20px;
top: 18px;
font-size: 16px;
color: #242c43;
}
.trans_middle p{
font-size: 16px;
line-height: 32px;
color: #58617a;
}
.trans_middle p:nth-of-type(2){
font-size: 24px;
font-weight: bold;
color: #242c43;
}
.trans_all .trans_box:nth-of-type(1) .trans_middle span{
right: -40px;
}
.trans_log{
width: 100%;
}
</style>
......@@ -134,6 +134,10 @@ export default {
title: "申请时间:",
info: "",
},
{
title: "总价:",
info: "2000",
},
{
title: "审批信息",
prop:"title",
......
......@@ -244,6 +244,10 @@ export default {
{
title: "申请时间:",
info: ""
},
{
title: "订单总价:",
info: "30000"
}
]
};
......
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