<template>
|
<div class="order-mng" v-if="!isShowDetail">
|
<div class="head-name">订单管理</div>
|
<div class="search">
|
<div class="left">
|
<div class="id">
|
订单编号/产品名称
|
<el-input v-model="inputText" placeholder="请输入"></el-input>
|
</div>
|
|
<div class="cluster">
|
创建时间
|
<el-date-picker
|
size="small"
|
v-model="searchTime"
|
@change="searchingBtn"
|
type="datetimerange"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
:default-time="['00:00:00', '23:59:59']"
|
></el-date-picker>
|
</div>
|
</div>
|
|
<div class="right">
|
<div class="button searchBtn" @click="searchingBtn">搜索</div>
|
<div class="button resetBtn" @click="clearSearch">重置</div>
|
</div>
|
<div class="to-excel" @click="exportList">
|
<span class="iconfont"></span> <span>导出</span>
|
</div>
|
</div>
|
|
<div class="table-area">
|
<el-table
|
id="multipleTable"
|
ref="multipleTable"
|
tooltip-effect="dark"
|
:data="dataList"
|
:fit="true"
|
:default-sort="{ prop: 'createTime', order: 'descending' }"
|
:stripe="true"
|
>
|
<el-table-column label="序号" width="55" class-name="index">
|
<template slot-scope="scope">{{
|
scope.$index + 1 + (page - 1) * size
|
}}</template>
|
</el-table-column>
|
<el-table-column
|
prop="sn"
|
label="订单编号"
|
show-overflow-tooltip
|
></el-table-column>
|
<el-table-column label="产品名称" show-overflow-tooltip>
|
<template slot-scope="scope">
|
{{ scope.row.products[0].productName }}
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="createTime"
|
label="创建时间"
|
show-overflow-tooltip
|
></el-table-column>
|
<el-table-column prop="orderMoney" label="订单金额"></el-table-column>
|
<el-table-column label="支付方式">
|
<template slot-scope="scope">
|
<div v-if="scope.row.payMethod == 0">线下汇款</div>
|
<div v-if="scope.row.payMethod == 1">支付宝</div>
|
<div v-if="scope.row.payMethod == 2">微信</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="status" label="订单状态"></el-table-column>
|
|
<el-table-column label="操作">
|
<template slot-scope="scope">
|
<span class="option" @click="showDetail(scope.row)">订单详情</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
<div>
|
<el-pagination
|
@current-change="refrash"
|
@size-change="handleSizeChange"
|
:current-page="page"
|
:page-size="size"
|
layout="total, sizes, prev, pager, next, jumper"
|
:page-sizes="[5, 10, 15, 20, 25]"
|
:total="total"
|
background
|
></el-pagination>
|
</div>
|
</div>
|
</div>
|
|
<div class="order-detail" v-else>
|
<div class="banner">
|
<span class="iconfont" @click="back"></span>
|
<span class="t">订单详情</span>
|
</div>
|
<div class="block">
|
<div class="head-name">订单信息</div>
|
|
<div class="order-general-view">
|
<div class="detail-list">
|
<div class="item">
|
<label>订单编号:</label>
|
<span>{{ form.sn }}</span>
|
</div>
|
<div class="item">
|
<label>创建时间:</label>
|
<span>{{ form.createTime }}</span>
|
</div>
|
<div class="item">
|
<label>创建人:</label>
|
<span>{{ form.createUserName }}</span>
|
</div>
|
<div class="item">
|
<label>付款方式:</label>
|
<span>{{ form.source == 0 ? "激活码下载" : "线上购买" }}</span>
|
</div>
|
<div class="item">
|
<label>订单状态:</label>
|
<span>{{ form.status }}</span>
|
</div>
|
|
<div class="item">
|
<label>订单金额:</label>
|
<span>{{
|
form.source == 0 ? "--" : "¥ " + form.orderMoney + " 元"
|
}}</span>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="block">
|
<div class="head-name">订单详情</div>
|
<el-table
|
id="multipleTable"
|
ref="multipleTable"
|
tooltip-effect="dark"
|
:data="form.products"
|
style="width: 100%"
|
:fit="true"
|
:default-sort="{ prop: 'createTime', order: 'descending' }"
|
v-if="showTable"
|
>
|
<el-table-column prop="productName" label="产品名称"></el-table-column>
|
|
<el-table-column label="配置详情">
|
<template slot-scope="scope">
|
<div style="text-align: left">
|
<p
|
v-if="
|
scope.row.productType != 3 &&
|
scope.row.productType != 4 &&
|
scope.row.modules.length
|
"
|
>
|
模块:
|
<span v-for="item in scope.row.modules" :key="item">{{
|
item + " "
|
}}</span>
|
</p>
|
<p v-if="scope.row.productBaseDetail.hasChUnitPrice">
|
通道数量:
|
<span>{{ scope.row.ChCount }}</span>
|
</p>
|
<p v-if="scope.row.productBaseDetail.hasAuthPrice">
|
授权数量:
|
<span>{{ scope.row.authCount }}</span>
|
</p>
|
<p
|
v-if="
|
scope.row.productType != 3 &&
|
scope.row.productType != 4 &&
|
scope.row.sdks.length
|
"
|
>
|
算法:
|
<span v-for="item in scope.row.sdks" :key="item">{{
|
item + " "
|
}}</span>
|
</p>
|
<p>
|
服务时长:
|
<span>{{ scope.row.serveYear + "年" }}</span>
|
</p>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="devCount" label="数量"></el-table-column>
|
<el-table-column label="服务起止时间">
|
<template slot-scope="scope">
|
<p>{{ scope.row.startTime }}</p>
|
<p>{{ scope.row.endTime }}</p>
|
</template>
|
</el-table-column>
|
<el-table-column label="金额">
|
<template slot-scope="scope">{{
|
form.source == 0 ? "--" : "¥ " + scope.row.price + " 元"
|
}}</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<div class="block">
|
<div class="head-name">支付信息</div>
|
<el-table
|
tooltip-effect="dark"
|
:data="form.payInfo"
|
:fit="true"
|
:default-sort="{ prop: 'createTime', order: 'descending' }"
|
v-if="showTable"
|
>
|
<el-table-column prop="payMethod" label="支付渠道" min-width="80">
|
<template slot-scope="scope">
|
<div v-if="scope.row.payMethod == 1">线下汇款</div>
|
<div v-if="scope.row.payMethod == 2">支付宝</div>
|
<div v-if="scope.row.payMethod == 3">微信</div>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column prop="payTime" label="付款时间" align="center" min-width="150" ></el-table-column> -->
|
<el-table-column prop="updateTime" label="付款时间"></el-table-column>
|
<el-table-column prop="payMoney" label="付款金额"></el-table-column>
|
|
<el-table-column prop="payAccount" label="付款账号"></el-table-column>
|
<el-table-column label="付款单位/姓名" prop="payUser"></el-table-column>
|
<el-table-column label="查看付款凭证">
|
<template slot-scope="scope">
|
<div class="link" @click="openImg(scope.row.appendix)">
|
查看付款凭证
|
</div>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { getOrders, getAuthFile } from "@/api/order";
|
import { getOrderById } from "@/api/product";
|
|
export default {
|
components: {},
|
created() {
|
this.searchingBtn();
|
},
|
data() {
|
return {
|
searchTime: [
|
this.$moment().format("YYYY-MM-DD 00:00:00"),
|
this.$moment().format("YYYY-MM-DD HH:mm:ss"),
|
], //搜索时间
|
page: 1,
|
size: 10, //分页相关
|
inputText: "", //输入框内容
|
activeStep: 0,
|
activeIndex: 0,
|
total: 0, //总数
|
dataList: [],
|
isShowAdd: false, //是否展示新增弹窗
|
isShowUnbind: false, //是否展示解绑弹窗
|
unbindId: "",
|
durationArr: [
|
{
|
value: 0,
|
label: "一年",
|
},
|
{
|
value: 1,
|
label: "两年",
|
},
|
], //所属集群下拉框
|
cluster: null, //选中的集群类型
|
showQuit: false, //展示退出集群的弹窗
|
showJoin: false, //展示加入集群的弹窗
|
form: {}, //处理中的设备
|
isShowDetail: false,
|
showTable: false,
|
};
|
},
|
methods: {
|
// 查询列表
|
searchingBtn() {
|
let param = {
|
page: this.page,
|
size: this.size,
|
startTime: this.searchTime ? this.searchTime[0] : "",
|
endTime: this.searchTime ? this.searchTime[1] : "",
|
inputText: this.inputText,
|
productBaseId: "0",
|
orderName: "",
|
orderType: "",
|
status: 0,
|
};
|
getOrders(param)
|
.then((res) => {
|
this.dataList = res.data.list.map((item, indez) => {
|
let status = "";
|
switch (item.orderStatus) {
|
case -1:
|
status = "已取消";
|
break;
|
case 0:
|
status = "未下单";
|
break;
|
case 1:
|
status = "待支付";
|
break;
|
case 2:
|
status = "已支付";
|
break;
|
case 11:
|
status = "审核中";
|
break;
|
case 12:
|
status = "已驳回";
|
break;
|
default:
|
status = "";
|
}
|
let name = "";
|
let downFlag = false;
|
let products = [];
|
item.products.forEach((every, index) => {
|
// 判断本订单是否存在可下载的内容(软件,sdk)
|
if (every.productType == 1 || every.productType == 3) {
|
downFlag = true;
|
}
|
// 归类产品和激活码以供下载
|
products.push({
|
productId: every.productId,
|
productName: every.productName,
|
activateCode: every.activateCode,
|
productTypeName: every.productTypeName,
|
});
|
if (index == 0) {
|
name += every.productName + "(" + every.productTypeName + ")";
|
} else {
|
name +=
|
" / " + every.productName + "(" + every.productTypeName + ")";
|
}
|
});
|
return {
|
id: item.id,
|
sn: item.sn,
|
name: name,
|
source: item.source == 0 ? "激活码下载" : "线上购买",
|
createTime: item.createTime,
|
status: status,
|
orderStatus: item.orderStatus,
|
orderMoney: item.orderMoney,
|
payMethod: item.payMethod,
|
code:
|
item.products.length > 1 ? "-" : item.products[0].activateCode,
|
canDownLoad: downFlag,
|
products: products,
|
};
|
});
|
this.total = res.data.total;
|
if (res.data.total <= this.size) {
|
this.page = 1;
|
}
|
})
|
.catch((err) => {
|
this.$notify.error(err.msg);
|
});
|
},
|
//分页功能
|
handleSizeChange(size) {
|
this.size = size;
|
this.searchingBtn();
|
},
|
//分页功能
|
refrash(page) {
|
this.page = page;
|
this.searchingBtn();
|
},
|
|
//获得默认时间
|
getDateInit() {
|
// 要求 默认一个月
|
const end = new Date();
|
const start = new Date();
|
const nowDate = new Date();
|
nowDate.setHours(0);
|
nowDate.setMinutes(0);
|
nowDate.setSeconds(0);
|
nowDate.setMilliseconds(0);
|
start.setTime(nowDate.getTime() - 3600 * 1000 * 24 * 30);
|
end.setTime(nowDate.getTime() + 3600 * 1000 * 24 - 1);
|
return [
|
this.$moment(start).format("YYYY-MM-DD HH:mm:ss"),
|
this.$moment(end).format("YYYY-MM-DD HH:mm:ss"),
|
];
|
},
|
|
clearSearch() {
|
debugger;
|
this.searchTime = this.getDateInit();
|
debugger;
|
this.inputText = "";
|
this.searchingBtn();
|
},
|
|
showDetail(order) {
|
getOrderById(order.id).then((res) => {
|
if (res.success) {
|
let status = "";
|
switch (res.data.orderInfo.orderStatus) {
|
case -1:
|
status = "已取消";
|
break;
|
case 0:
|
status = "未下单";
|
break;
|
case 1:
|
status = "已下单,待支付";
|
break;
|
case 2:
|
status = "已支付";
|
break;
|
default:
|
status = "";
|
}
|
|
let prod = res.data.orderInfo.products.map((item) => {
|
// 算出起始服务时间
|
let year = res.data.orderInfo.createTime.split("-")[0];
|
let endTime =
|
parseInt(year) +
|
item.serveYear +
|
res.data.orderInfo.createTime.slice(4);
|
return {
|
productId: item.productId,
|
productName: item.productName,
|
productType: item.productType,
|
orderStatus: res.data.orderInfo.orderStatus,
|
productTypeName: item.productTypeName,
|
productVersion: item.productVersion,
|
modules: item.moduleNames,
|
sdks: item.sdkNames,
|
appendix: item.appendix,
|
serveYear: item.serveYear,
|
ChCount: item.ChCount,
|
authCount: item.authCount,
|
devCount: item.devCount,
|
price: res.data.orderInfo.orderMoney,
|
startTime: res.data.orderInfo.createTime,
|
endTime: endTime,
|
deviceIds: item.devIdList,
|
code: item.activateCode,
|
productBaseDetail: item.productBaseDetail,
|
};
|
});
|
let codes = res.data.orderInfo.products.map((item) => {
|
return {
|
productId: item.productId,
|
productName: item.productName,
|
code: item.activateCode,
|
deviceIds: item.deviceIds,
|
status: item.codeStatus == 0 ? "未激活" : "已激活",
|
activeTime: item.activeTime,
|
devCount: item.devCount,
|
usedCount: item.usedCount,
|
};
|
});
|
let payInfo = res.data.orderInfo.payCerts.map((item) => {
|
return {
|
appendix: item.appendix,
|
payMethod: res.data.orderInfo.payMethod,
|
payTime: res.data.orderInfo.payTime,
|
updateTime: item.updateTime,
|
payAccount: item.payAccount,
|
payMoney: item.payMoney,
|
payUser: item.payUser,
|
tradeNo: res.data.orderInfo.tradeNo,
|
orderStatus: res.data.orderInfo.orderStatus,
|
};
|
});
|
this.form = {
|
id: res.data.orderInfo.id,
|
createTime: res.data.orderInfo.createTime,
|
createUserName: res.data.orderInfo.createUserName,
|
orderMoney: res.data.orderInfo.orderMoney,
|
orderStatus: res.data.orderInfo.orderStatus,
|
status: status,
|
sn: res.data.orderInfo.sn,
|
source: res.data.orderInfo.source,
|
payMethod: "支付宝",
|
price: "-",
|
payAble: "-",
|
payTime: "-",
|
products: prod,
|
activeCodes: codes,
|
payInfo: payInfo,
|
};
|
this.isShowDetail = true;
|
this.$nextTick(() => {
|
this.showTable = true;
|
});
|
}
|
});
|
},
|
|
back() {
|
this.isShowDetail = false;
|
this.searchingBtn();
|
},
|
|
openImg(url) {
|
window.open("/httpImage/" + url);
|
},
|
|
async exportList() {
|
let param = {
|
page: this.page,
|
size: this.size,
|
startTime: this.searchTime ? this.searchTime[0] : "",
|
endTime: this.searchTime ? this.searchTime[1] : "",
|
inputText: this.inputText,
|
productBaseId: "0",
|
orderName: "",
|
orderType: "",
|
status: 0,
|
};
|
|
const result = await getAuthFile(param);
|
|
console.log(result);
|
|
var blob = new Blob([result.body.data], {
|
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
|
}),
|
Temp = document.createElement("a");
|
|
Temp.href = window.URL.createObjectURL(blob);
|
|
console.log(result);
|
console.log(result.fileName);
|
|
Temp.download = window.decodeURI(result.fileName);
|
|
Temp.setAttribute("download", result.fileName);
|
|
document.body.appendChild(Temp);
|
|
Temp.click();
|
|
document.body.removeChild(Temp);
|
|
window.URL.revokeObjectURL(Temp);
|
},
|
},
|
mounted() {},
|
};
|
</script>
|
|
<style scoped lang="scss">
|
.order-mng {
|
padding: 20px;
|
.head-name {
|
font-weight: 700;
|
font-size: 16px;
|
line-height: 22px;
|
color: #3d3d3d;
|
border-left: 4px solid #0065ff;
|
padding-left: 10px;
|
}
|
.add-title {
|
font-weight: 700;
|
font-size: 16px;
|
cursor: pointer;
|
line-height: 22px;
|
color: #3d3d3d;
|
margin-bottom: 30px;
|
.iconfont {
|
margin-right: 10px;
|
}
|
}
|
.searchBtn {
|
width: 60px;
|
height: 32px;
|
line-height: 32px;
|
text-align: center;
|
color: #fff;
|
background: #0065ff;
|
border-radius: 3px;
|
margin-right: 20px;
|
}
|
.right {
|
display: flex;
|
justify-content: space-between;
|
}
|
.to-excel {
|
box-sizing: border-box;
|
border-radius: 3px;
|
background: #0064ff;
|
display: flex;
|
width: 84px;
|
height: 32px;
|
color: #fff;
|
align-items: center;
|
justify-content: center;
|
margin-left: 195px;
|
cursor: pointer;
|
}
|
.resetBtn {
|
width: 60px;
|
height: 32px;
|
line-height: 32px;
|
text-align: center;
|
color: #0065ff;
|
box-sizing: border-box;
|
border: 1px solid #0065ff;
|
border-radius: 3px;
|
}
|
.search {
|
display: flex;
|
font-size: 14px;
|
border-bottom: 1px solid #e9ebee;
|
margin-top: 30px;
|
border-radius: 3px;
|
box-sizing: border-box;
|
padding-bottom: 20px;
|
.left,
|
.right,
|
.id,
|
.time,
|
.cluster {
|
display: flex;
|
align-items: center;
|
.el-date-editor {
|
width: 300px;
|
height: 32px;
|
border-radius: 3px;
|
border: 1px solid #c0c5cc;
|
}
|
}
|
|
.id .el-input ::v-deep {
|
width: 200px;
|
}
|
|
.cluster::v-deep .el-input {
|
width: 300px;
|
|
margin-left: 10px;
|
margin-right: 20px;
|
.el-input__icon {
|
line-height: 32px;
|
}
|
input {
|
border-radius: 0;
|
|
&::-webkit-input-placeholder {
|
color: #999;
|
}
|
|
&:focus {
|
border-color: #0065ff;
|
}
|
}
|
}
|
|
.el-input ::v-deep {
|
width: 200px;
|
margin-left: 10px;
|
margin-right: 20px;
|
height: 32px;
|
line-height: 32px;
|
input {
|
border-radius: 3px;
|
height: 32px;
|
line-height: 32px;
|
&::-webkit-input-placeholder {
|
color: #999;
|
}
|
|
&:focus {
|
border-color: #0065ff;
|
}
|
}
|
}
|
|
.el-date-editor {
|
width: 318px;
|
height: 40px;
|
margin-left: 10px;
|
margin-right: 20px;
|
border-radius: 0;
|
|
&::-webkit-input-placeholder {
|
color: #999;
|
}
|
|
&.is-active {
|
border-color: #0065ff;
|
}
|
}
|
}
|
|
.btns {
|
display: flex;
|
margin: 20px 0;
|
text-align: center;
|
.add {
|
margin-right: 20px;
|
width: 126px;
|
height: 32px;
|
background: #0065ff;
|
color: #fff;
|
span {
|
margin-right: 5px;
|
line-height: 32px;
|
font-size: 14px;
|
}
|
}
|
|
.export {
|
width: 126px;
|
height: 32px;
|
border: 1px solid #0065ff;
|
color: #0065ff;
|
box-sizing: border-box;
|
span {
|
margin-right: 5px;
|
line-height: 32px;
|
font-size: 14px;
|
}
|
}
|
}
|
|
.el-table ::v-deep {
|
background-color: rgb(233, 235, 238);
|
padding: 1px;
|
|
&::after {
|
display: none;
|
}
|
|
td.index .cell {
|
padding-left: 16px;
|
padding-right: 4px;
|
}
|
|
.has-gutter tr th {
|
background: #f0f3f5;
|
font-size: 16px;
|
color: #3d3d3d;
|
font-weight: 700;
|
}
|
|
td .cell {
|
color: #3d3d3d;
|
}
|
|
tr:hover > td.el-table__cell {
|
background-color: #fff;
|
}
|
|
.el-table__row--striped .el-table__cell {
|
background-color: #f0f5fa !important;
|
}
|
tr:hover > td.el-table__cell {
|
background-color: #fff;
|
}
|
|
.el-table__row--striped .el-table__cell {
|
background-color: #f0f5fa !important;
|
}
|
|
.status {
|
color: #ff4b33;
|
|
&.green {
|
color: #36b24a;
|
}
|
}
|
|
.option {
|
margin-right: 10px;
|
color: rgb(0, 101, 255);
|
cursor: pointer;
|
}
|
}
|
|
.el-pagination ::v-deep {
|
margin-top: 30px;
|
text-align: center;
|
height: 24px;
|
.el-pagination__sizes {
|
margin-right: 0;
|
}
|
|
button {
|
margin: 0;
|
background-color: #fff;
|
border: 1px solid #c0c5cc;
|
border-radius: 2px;
|
}
|
|
.number {
|
background-color: #fff;
|
|
&:not(.disabled):hover {
|
color: #0065ff;
|
}
|
|
&:not(.disabled).active {
|
background-color: #0065ff;
|
color: #fff;
|
}
|
}
|
|
.el-input .el-input__inner {
|
padding-left: 0;
|
|
&:hover,
|
&:focus {
|
border-color: #0065ff;
|
}
|
}
|
}
|
}
|
.order-detail {
|
.el-table ::v-deep {
|
background-color: rgb(233, 235, 238);
|
padding: 1px;
|
|
&::after {
|
display: none;
|
}
|
|
td.index .cell {
|
padding-left: 16px;
|
padding-right: 4px;
|
}
|
|
.has-gutter tr th {
|
background: #f0f3f5;
|
font-size: 16px;
|
color: #3d3d3d;
|
font-weight: 700;
|
}
|
|
td .cell {
|
color: #3d3d3d;
|
}
|
|
tr:hover > td.el-table__cell {
|
background-color: #fff;
|
}
|
|
.el-table__row--striped .el-table__cell {
|
background-color: #f0f5fa !important;
|
}
|
tr:hover > td.el-table__cell {
|
background-color: #fff;
|
}
|
|
.el-table__row--striped .el-table__cell {
|
background-color: #f0f5fa !important;
|
}
|
|
.status {
|
color: #ff4b33;
|
|
&.green {
|
color: #36b24a;
|
}
|
}
|
|
.option {
|
margin-right: 10px;
|
font-size: 24px;
|
color: rgb(0, 101, 255);
|
cursor: pointer;
|
}
|
}
|
// padding: 0 20px;
|
background-color: #f3f5f8;
|
min-height: 856px;
|
.banner {
|
margin-bottom: 24px;
|
height: 64px;
|
background: #ffffff;
|
box-sizing: border-box;
|
padding: 20px;
|
.iconfont {
|
margin-right: 10px;
|
font-size: 18px;
|
cursor: pointer;
|
}
|
.t {
|
font-size: 16px;
|
color: #666666;
|
line-height: 24px;
|
font-weight: 700;
|
}
|
}
|
.block {
|
box-sizing: border-box;
|
padding: 20px;
|
padding-bottom: 30px;
|
margin-bottom: 24px;
|
background: #ffffff;
|
.head-name {
|
font-weight: 700;
|
font-size: 16px;
|
line-height: 22px;
|
color: #3d3d3d;
|
border-left: 4px solid #0065ff;
|
padding-left: 10px;
|
}
|
.order-general-view {
|
background: #fff;
|
.order-num {
|
text-align: left;
|
height: 22px;
|
font-size: 16px;
|
font-family: PingFangSC-Medium, PingFang SC;
|
font-weight: bold;
|
color: #111111;
|
line-height: 22px;
|
}
|
.detail-list {
|
display: flex;
|
flex-wrap: wrap;
|
text-align: left;
|
.item {
|
width: 25%;
|
// margin: 15px 0 0;
|
margin-top: 30px;
|
label {
|
height: 20px;
|
font-size: 14px;
|
font-family: PingFangSC-Regular, PingFang SC;
|
line-height: 20px;
|
color: #666666;
|
}
|
span {
|
height: 20px;
|
font-size: 14px;
|
font-family: PingFangSC-Regular, PingFang SC;
|
font-weight: 700;
|
color: #3d3d3d;
|
line-height: 20px;
|
}
|
}
|
span.reserved {
|
color: #ccc;
|
}
|
}
|
}
|
}
|
}
|
</style>
|
|
<style >
|
.el-date-table td.start-date span,
|
.el-date-table td.end-date span {
|
background-color: #0065ff;
|
}
|
|
.el-button--text span {
|
color: #0065ff;
|
}
|
|
.el-button.is-plain:hover,
|
.el-button.is-plain:focus {
|
color: #0065ff;
|
border-color: #0065ff;
|
}
|
|
.link {
|
color: #0065ff;
|
cursor: pointer;
|
}
|
</style>
|