提交 4e63713e 编写于 作者: changdi.hao's avatar changdi.hao

Merge branch 'dev-20210727' into 'release'

添加退款原因

See merge request com.pica.cloud.education.frontend/pica.cloud.web-education-admin!281
......@@ -2803,10 +2803,6 @@
"loader-utils": "~0.2.5"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#1.3.8"
},
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
......@@ -2961,7 +2957,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
......@@ -2982,12 +2979,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -3002,17 +3001,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -3129,7 +3131,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
......@@ -3141,6 +3144,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -3155,6 +3159,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -3162,12 +3167,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
......@@ -3186,6 +3193,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -3266,7 +3274,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
......@@ -3278,6 +3287,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -3363,7 +3373,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -3399,6 +3410,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -3418,6 +3430,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -3461,12 +3474,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
......@@ -4448,7 +4463,6 @@
"integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==",
"requires": {
"canvg": "1.5.3",
"file-saver": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"html2canvas": "1.0.0-alpha.12",
"omggif": "1.0.7",
"promise-polyfill": "8.1.0",
......@@ -4468,6 +4482,10 @@
"base64-arraybuffer": "^0.1.5"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e"
},
"html2canvas": {
"version": "1.0.0-alpha.12",
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz",
......
......@@ -72,6 +72,7 @@
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">所属药代:{{orderDetailData.brokerName}}</p>
<p>下单人手机号:{{orderDetailData.prescriberMobile}}</p>
<p>订单类型:{{orderDetailData.saleTypeStr}}</p>
<p v-if="orderDetailData.refundReason">退款原因:{{orderDetailData.refundReason}}</p>
<!--<p>发货时间:{{orderDetailData.sendTime}}</p>-->
<!--<p>成交时间:{{orderDetailData.finishTime}}</p>-->
</div>
......
<template>
<div class="order-manage-wrapper">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<bread-crumb
:curmbFirst="curmbFirst"
:curmbSecond="curmbSecond"
></bread-crumb>
<div class="order-manage-content screenSet" id="screenSet">
<div class="header-title">订单管理</div>
<el-form ref="searchForm" :model="searchForm" label-width="80px" label-suffix=":" :inline="true">
<el-form
ref="searchForm"
:model="searchForm"
label-width="80px"
label-suffix=":"
:inline="true"
>
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="24">
<el-form-item label="商品名称">
<el-input v-model="searchForm.goodsName" size="small" placeholder="请输入商品名称"></el-input>
<el-input
v-model="searchForm.goodsName"
size="small"
placeholder="请输入商品名称"
></el-input>
</el-form-item>
<el-form-item label="订单号">
<el-input v-model="searchForm.orderNo" size="small" placeholder="请输入订单号"></el-input>
<el-input
v-model="searchForm.orderNo"
size="small"
placeholder="请输入订单号"
></el-input>
</el-form-item>
<el-form-item label="买家名称">
<el-input v-model="searchForm.receiver" size="small" placeholder="请输入买家名称"></el-input>
<el-input
v-model="searchForm.receiver"
size="small"
placeholder="请输入买家名称"
></el-input>
</el-form-item>
<el-form-item label="创建人">
<el-input v-model="searchForm.prescriberName" size="small" placeholder="请输入创建人名称"></el-input>
<el-input
v-model="searchForm.prescriberName"
size="small"
placeholder="请输入创建人名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -30,8 +55,9 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 90%;"
:picker-options="pickerOptions1">
style="width: 90%"
:picker-options="pickerOptions1"
>
</el-date-picker>
</el-form-item>
<el-form-item label="招募人">
......@@ -70,7 +96,8 @@
v-model="searchForm.saleType"
placeholder="请选择订单类型"
size="small"
clearable>
clearable
>
<el-option
v-for="item in saleTypeList"
:key="item.value"
......@@ -80,26 +107,36 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="订单类型">-->
<!-- <el-select-->
<!-- v-model="searchForm.saleType"-->
<!-- placeholder="请选择订单类型"-->
<!-- size="small"-->
<!-- clearable>-->
<!-- <el-option-->
<!-- v-for="item in saleTypeList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="订单类型">-->
<!-- <el-select-->
<!-- v-model="searchForm.saleType"-->
<!-- placeholder="请选择订单类型"-->
<!-- size="small"-->
<!-- clearable>-->
<!-- <el-option-->
<!-- v-for="item in saleTypeList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6" style="text-align: right">
<el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
<el-button type="primary" size="small" @click="exportOrder">导出订单</el-button>
<el-button type="primary" size="small" @click="searchList"
>查询</el-button
>
<el-button
type="default"
size="small"
@click="resetForm"
style="margin-left: 0"
>重置</el-button
>
<el-button type="primary" size="small" @click="exportOrder"
>导出订单</el-button
>
</el-col>
</el-row>
</el-form>
......@@ -109,97 +146,257 @@
<el-tab-pane label="等待发货" name="second"></el-tab-pane>
<el-tab-pane label="已发货" name="third"></el-tab-pane>
<el-tab-pane label="交易成功" name="fourth"></el-tab-pane>
<el-tab-pane label="关闭交易" name="five"></el-tab-pane>
<el-tab-pane label="退款/关闭" name="five"></el-tab-pane>
</el-tabs>
<el-table :data="tableData" border max-height="1000" class="item-table" style="width: 100%;margin-top: 10px;">
<el-table-column prop="id" label="订单号" min-width="100" align="center"></el-table-column>
<el-table-column prop="goodsNameList" label="商品名称" min-width="150" align="center">
<el-table
:data="tableData"
border
max-height="1000"
class="item-table"
style="width: 100%; margin-top: 10px"
>
<el-table-column
prop="id"
label="订单号"
min-width="100"
align="center"
></el-table-column>
<el-table-column
prop="goodsNameList"
label="商品名称"
min-width="150"
align="center"
>
<template slot-scope="scope">
<!--<span>{{ scope.row.goodsName }}</span>-->
<p v-for="(item, index) in scope.row.goodsNameList" :key="index" class="p-normal">{{item}}</p>
<!--<span>{{ scope.row.goodsName }}</span>-->
<p
v-for="(item, index) in scope.row.goodsNameList"
:key="index"
class="p-normal"
>
{{ item }}
</p>
</template>
</el-table-column>
<el-table-column prop="showStatusStr" label="交易状态" min-width="100" align="center">
<el-table-column
prop="showStatusStr"
label="交易状态"
min-width="100"
align="center"
>
</el-table-column>
<el-table-column prop="amount" label="实收款" min-width="100" align="center">
<el-table-column
prop="amount"
label="实收款"
min-width="100"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.amount | toFixed2}}</span>
<span>{{ scope.row.amount | toFixed2 }}</span>
</template>
</el-table-column>
<el-table-column prop="prescriberName" label="创建人" min-width="100" align="center"></el-table-column>
<el-table-column prop="receiver" label="买家" min-width="100" align="center"></el-table-column>
<el-table-column prop="goodsQuantityList" label="数量" min-width="100" align="center">
<el-table-column
prop="prescriberName"
label="创建人"
min-width="100"
align="center"
></el-table-column>
<el-table-column
prop="receiver"
label="买家"
min-width="100"
align="center"
></el-table-column>
<el-table-column
prop="goodsQuantityList"
label="数量"
min-width="100"
align="center"
>
<template slot-scope="scope">
<!--<span>{{ scope.row.goodsQuantity }}</span>-->
<p v-for="(item, index) in scope.row.goodsQuantityList" :key="index" class="p-normal">{{item}}</p>
<p
v-for="(item, index) in scope.row.goodsQuantityList"
:key="index"
class="p-normal"
>
{{ item }}
</p>
</template>
</el-table-column>
<el-table-column prop="sizeList" label="规格" min-width="100" align="center">
<el-table-column
prop="sizeList"
label="规格"
min-width="100"
align="center"
>
<template slot-scope="scope">
<!--<span>{{ scope.row.size }}</span>-->
<p v-for="(item, index) in scope.row.sizeList" :key="index" class="p-normal">{{item}}</p>
<p
v-for="(item, index) in scope.row.sizeList"
:key="index"
class="p-normal"
>
{{ item }}
</p>
</template>
</el-table-column>
<el-table-column prop="priceList" label="单价" min-width="100" align="center">
<el-table-column
prop="priceList"
label="单价"
min-width="100"
align="center"
>
<template slot-scope="scope">
<!--<span>{{ scope.row.price }}</span>-->
<p v-for="(item, index) in scope.row.priceList" :key="index" class="p-normal">{{item | toFixed2}}</p>
<p
v-for="(item, index) in scope.row.priceList"
:key="index"
class="p-normal"
>
{{ item | toFixed2 }}
</p>
</template>
</el-table-column>
<el-table-column prop="saleTypeStr" label="销售方式" width="170" align="center">
<el-table-column
prop="saleTypeStr"
label="销售方式"
width="170"
align="center"
>
</el-table-column>
<el-table-column prop="createTime" label="下单时间" min-width="100" align="center">
<el-table-column
prop="createTime"
label="下单时间"
min-width="100"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerName" label="招募人" min-width="100" align="center"></el-table-column>
<el-table-column prop="brokerName" label="药代姓名" min-width="100" align="center"></el-table-column>
<el-table-column prop="comments" label="备注" min-width="100" align="center"></el-table-column>
<el-table-column label="操作" min-width="250" align="center" fixed="right">
<el-table-column
prop="ownerName"
label="招募人"
min-width="100"
align="center"
></el-table-column>
<el-table-column
prop="brokerName"
label="药代姓名"
min-width="100"
align="center"
></el-table-column>
<el-table-column
prop="comments"
label="备注"
min-width="100"
align="center"
></el-table-column>
<el-table-column
label="操作"
min-width="250"
align="center"
fixed="right"
>
<template slot-scope="scope">
<div>
<!--<el-button @click="closeTrade(scope.row)" type="text" size="small">关闭交易</el-button>-->
<!--<el-button @click="changePrice(scope.row)" type="text" size="small">修改价格</el-button>-->
<!-- <el-button @click="sendGoods(scope.row)" type="text" size="small">发货</el-button>-->
<el-button v-if="scope.row.storeType == 1 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="sendGoods(scope.row)" type="text" size="small">发货</el-button>
<el-button v-if="scope.row.storeType == 2 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="distribute(scope.row)" type="text" size="small">配送</el-button>
<el-button v-if="scope.row.storeType == 1 && (scope.row.showStatus == 1 || scope.row.showStatus == 2)" @click="viewLogistics(scope.row)" type="text" size="small">查看物流</el-button>
<el-button v-if="scope.row.storeType == 2 && scope.row.showStatus == 2" @click="distributeComplete(scope.row)" type="text" size="small">配送完成</el-button>
<el-button @click="goDetail(scope.row)" type="text" size="small">查看详情</el-button>
<el-button v-if="(scope.row.storeType == 1 || scope.row.storeType == 2) && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="openTuiDialog(scope.row)" type="text" size="small">退款退货</el-button>
<!-- <el-button @click="sendGoods(scope.row)" type="text" size="small">发货</el-button>-->
<el-button
v-if="
scope.row.storeType == 1 &&
scope.row.showStatus == 3 &&
scope.row.refundStatus == 0
"
@click="sendGoods(scope.row)"
type="text"
size="small"
>发货</el-button
>
<el-button
v-if="
scope.row.storeType == 2 &&
scope.row.showStatus == 3 &&
scope.row.refundStatus == 0
"
@click="distribute(scope.row)"
type="text"
size="small"
>配送</el-button
>
<el-button
v-if="
scope.row.storeType == 1 &&
(scope.row.showStatus == 1 || scope.row.showStatus == 2)
"
@click="viewLogistics(scope.row)"
type="text"
size="small"
>查看物流</el-button
>
<el-button
v-if="scope.row.storeType == 2 && scope.row.showStatus == 2"
@click="distributeComplete(scope.row)"
type="text"
size="small"
>配送完成</el-button
>
<el-button @click="goDetail(scope.row)" type="text" size="small"
>查看详情</el-button
>
<el-button
v-if="
(scope.row.storeType == 1 || scope.row.storeType == 2) &&
scope.row.showStatus == 3 &&
scope.row.refundStatus == 0
"
@click="openTuiDialog(scope.row)"
type="text"
size="small"
>退款退货</el-button
>
<!-- <el-button type="text" size="small">查看物流</el-button> -->
</div>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleNumChange"
:current-page="searchForm.pageNo"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
background
@size-change="handleSizeChange"
@current-change="handleNumChange"
:current-page="searchForm.pageNo"
:page-sizes="[10, 30, 50, 100]"
:page-size="searchForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
<el-dialog
title="确定关闭交易吗?"
:visible="closeTradeDialog"
@close="cancelTrade"
:show-close="false"
width="600px"
center>
<p style="text-align: center;margin-top: -25px;color: #9B9997">关闭后买家将不能再付款</p>
<div style="text-align: center;margin-top: 30px;">
<el-input type="textarea"
v-model="reasonTxt"
maxlength="400"
rows="5"
placeholder="请输入备注内容"
style="width: 80%;"></el-input>
<span class="word-num">{{reasonTxt.replace(/\s+/g,"").length}}/400</span>
title="确定关闭交易吗?"
:visible="closeTradeDialog"
@close="cancelTrade"
:show-close="false"
width="600px"
center
>
<p style="text-align: center; margin-top: -25px; color: #9b9997">
关闭后买家将不能再付款
</p>
<div style="text-align: center; margin-top: 30px">
<el-input
type="textarea"
v-model="reasonTxt"
maxlength="400"
rows="5"
placeholder="请输入备注内容"
style="width: 80%"
></el-input>
<span class="word-num"
>{{ reasonTxt.replace(/\s+/g, "").length }}/400</span
>
</div>
<!--<el-form ref="auditForm" :model="auditForm" label-width="120px">
<el-form-item label="拒绝原因:">
......@@ -220,67 +417,90 @@
</el-form-item>
</el-form>-->
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelTrade">取 消</el-button>
<el-button size="small" type="primary" @click="submitTrade">关闭交易</el-button>
</span>
<el-button size="small" @click="cancelTrade">取 消</el-button>
<el-button size="small" type="primary" @click="submitTrade"
>关闭交易</el-button
>
</span>
</el-dialog>
<el-dialog
title="修改价格"
:visible="changePriceDialog"
@close="cancelPrice"
width="600px"
center>
<el-form ref="changePriceForm" :model="changePriceForm" label-width="120px" label-suffix=":">
title="修改价格"
:visible="changePriceDialog"
@close="cancelPrice"
width="600px"
center
>
<el-form
ref="changePriceForm"
:model="changePriceForm"
label-width="120px"
label-suffix=":"
>
<el-form-item label="目前价格">
<span>¥{{changePriceForm.nowPrice}}</span>
<span>¥{{ changePriceForm.nowPrice }}</span>
</el-form-item>
<el-form-item label="修改价格">
<el-input type="text" v-model="changePriceForm.updatePrice" placeholder="请输入修改后的价格" style="width: 70%"></el-input>
<el-input
type="text"
v-model="changePriceForm.updatePrice"
placeholder="请输入修改后的价格"
style="width: 70%"
></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="submitPrice">完成</el-button>
</span>
<el-button size="small" type="primary" @click="submitPrice"
>完成</el-button
>
</span>
</el-dialog>
<send-set-dialog
:sendGoodsDialog="sendGoodsDialog"
:dialogTitle="dialogTitle"
:sendSetFormData="sendSetForm"
@closeSendSet="closeSendSet">
:sendGoodsDialog="sendGoodsDialog"
:dialogTitle="dialogTitle"
:sendSetFormData="sendSetForm"
@closeSendSet="closeSendSet"
>
</send-set-dialog>
<el-dialog
title="查看物流"
:visible="viewLogisticsDialog"
@close="cancelView"
:show-close="false"
width="600px"
center>
title="查看物流"
:visible="viewLogisticsDialog"
@close="cancelView"
:show-close="false"
width="600px"
center
>
<div class="view-content">
<i class="el-icon-truck" style="font-size: 18px"></i><span class="send-status">已发货</span>
<span class="view-number">{{logisticeInfo}}</span>
<i class="el-icon-truck" style="font-size: 18px"></i
><span class="send-status">已发货</span>
<span class="view-number">{{ logisticeInfo }}</span>
<el-button type="text" @click="copyTxt">复制单号</el-button>
<el-button type="text" @click="updateOrderNo">修改物流单号</el-button>
</div>
<input type="text" id="copyInput" class="hidden-input" />
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="cancelView">我知道了</el-button>
</span>
<el-button size="small" type="primary" @click="cancelView"
>我知道了</el-button
>
</span>
</el-dialog>
<el-dialog
title=""
:visible="disCompleteDialog"
@close="cancelDis"
:show-close="false"
width="600px"
center>
title=""
:visible="disCompleteDialog"
@close="cancelDis"
:show-close="false"
width="600px"
center
>
<div class="view-content">
<p class="center-title">确认配送完成吗?</p>
<p class="center-title">确认配送完成吗?</p>
<p class="center-subtitle">请确认线下已将商品送达</p>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelDis">取消</el-button>
<el-button size="small" type="primary" @click="submitDisComplete">配送完成</el-button>
</span>
<el-button size="small" @click="cancelDis">取消</el-button>
<el-button size="small" type="primary" @click="submitDisComplete"
>配送完成</el-button
>
</span>
</el-dialog>
</div>
<el-dialog
......@@ -290,8 +510,17 @@
@close="showTuiDialog = false"
width="385px"
>
<div style="margin-bottom: 20px;margin-top: -20px;text-align: center;"><span style="color: red;">温馨提示:订单一旦退款,订单关联的预约单将被同步取消,请谨慎操作退款</span></div>
<el-form ref="tuiForm" :rules="rules" :model="tuiForm" label-width="120px">
<div style="margin-bottom: 20px; margin-top: -20px; text-align: center">
<span style="color: red"
>温馨提示:订单一旦退款,订单关联的预约单将被同步取消,请谨慎操作退款</span
>
</div>
<el-form
ref="tuiForm"
:rules="rules"
:model="tuiForm"
label-width="120px"
>
<el-form-item label="退款退货方式:">
<el-select v-model="tuiForm.type" placeholder="请选择退货方式">
<el-option
......@@ -312,16 +541,29 @@
v-for="item in userTypes"
:key="item.value"
:label="item.label"
:value="item.value"/>
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="退款理由" prop="">
<el-input
:maxlength="20"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
placeholder="请输入内容"
v-model="tuiForm.refundReason"
>
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="confirmTui">完成</el-button>
<el-button size="small" type="primary" @click="confirmTui"
>完成</el-button
>
</span>
</el-dialog>
<el-dialog
class="tui-dialog"
title="修改物流单号"
......@@ -329,7 +571,12 @@
@close="showOrderNoFlag = false"
width="600px"
>
<el-form ref="expressForm" :rules="rulesExpress" :model="expressForm" label-width="120px">
<el-form
ref="expressForm"
:rules="rulesExpress"
:model="expressForm"
label-width="120px"
>
<el-form-item label="快递公司" prop="company">
<el-input v-model="expressForm.company"></el-input>
</el-form-item>
......@@ -341,525 +588,566 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="confirmExpressNo">完成</el-button>
<el-button size="small" type="primary" @click="confirmExpressNo"
>完成</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import SendSetDialog from "@/components/shop/send-set-dialog";
import { getOrdersExportUrl } from "@/utils/yqrange/yqrangeApi";
import { queryOrderList, updateExpress, refundApply, brokerListAll, brokerOwnerListAll, updateExpressNo} from "@/utils/shop";
import { toDecimal2 } from '@/utils';
import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import SendSetDialog from "@/components/shop/send-set-dialog";
import { getOrdersExportUrl } from "@/utils/yqrange/yqrangeApi";
import {
queryOrderList,
updateExpress,
refundApply,
brokerListAll,
brokerOwnerListAll,
updateExpressNo,
} from "@/utils/shop";
import { toDecimal2 } from "@/utils";
export default {
components: {
SendSetDialog,
BreadCrumb
},
data(){
return{
createRangeTime: '',
curmbFirst: '云鹊店铺',
curmbSecond: '订单管理',
activeName: 'all',
searchForm: {
showStatus: -1,
storeId: 0,
goodsName: '',
orderNo: '',
receiver: '',
prescriberName: '',
orderTime:'',
orderBeginTime:'',
orderEndTime: '',
brokerId:'',
ownerId:'',
pageNo: 1,
pageSize: 10,
saleType:0,
export default {
components: {
SendSetDialog,
BreadCrumb,
},
data() {
return {
createRangeTime: "",
curmbFirst: "云鹊店铺",
curmbSecond: "订单管理",
activeName: "all",
searchForm: {
showStatus: -1,
storeId: 0,
goodsName: "",
orderNo: "",
receiver: "",
prescriberName: "",
orderTime: "",
orderBeginTime: "",
orderEndTime: "",
brokerId: "",
ownerId: "",
pageNo: 1,
pageSize: 10,
saleType: 0,
},
totalRows: 0,
tableData: [],
closeTradeDialog: false,
reasonTxt: "",
changePriceDialog: false,
changePriceForm: {
nowPrice: 45,
updatePrice: "",
},
sendGoodsDialog: false,
dialogTitle: "",
sendSetForm: {},
viewLogisticsDialog: false,
logisticeInfo: "", //复制物流信息
disCompleteDialog: false,
disCompleteData: {},
rules: {
name: [{ required: true, message: "请输入快递公司", trigger: "blur" }],
orderNum: [
{ required: true, message: "请输入快递单号", trigger: "blur" },
],
userName: [
{ required: true, message: "请选择退款对象", trigger: "blur" },
],
},
showTuiDialog: false,
tuiForm: {
order: null,
type: 0,
refundReason: "",
money: "",
},
expressForm: {
order: null,
company: "",
no: "",
extendMessage: "",
},
rulesExpress: {
company: [
{ required: true, message: "请输入快递公司", trigger: "blur" },
],
no: [{ required: true, message: "请输入快递单号", trigger: "blur" }],
},
tuiTypes: [
{
label: "仅退款,无需退货",
value: 0,
disabled: false,
},
totalRows: 0,
tableData: [],
closeTradeDialog: false,
reasonTxt: '',
changePriceDialog: false,
changePriceForm: {
nowPrice: 45,
updatePrice: '',
{
label: "仅退货,无需退款",
value: 1,
disabled: true,
},
sendGoodsDialog: false,
dialogTitle: '',
sendSetForm: {},
viewLogisticsDialog: false,
logisticeInfo: '',//复制物流信息
disCompleteDialog: false,
disCompleteData: {},
rules: {
name: [
{ required: true, message: '请输入快递公司', trigger: "blur"},
],
orderNum: [
{ required: true, message: '请输入快递单号', trigger: "blur"},
],
userName: [
{ required: true, message: '请选择退款对象', trigger: "blur"},
],
{
label: "退款退货",
value: 2,
disabled: true,
},
showTuiDialog: false,
tuiForm: {
order: null,
type: 0,
money: ''
],
userType: "", // 1.开单医生, 2.支付用户
userTypes: [
{
label: "开单医生",
value: 1,
},
expressForm: {
order: null,
company: '',
no: '',
extendMessage: ''
{
label: "支付用户",
value: 2,
},
rulesExpress: {
company: [
{ required: true, message: '请输入快递公司', trigger: "blur"},
],
no: [
{ required: true, message: '请输入快递单号', trigger: "blur"},
]
],
saleTypeList: [
{
value: 0,
label: "全部",
},
tuiTypes: [
{
label: '仅退款,无需退货',
value: 0,
disabled: false
},
{
label: '仅退货,无需退款',
value: 1,
disabled: true
},
{
label: '退款退货',
value: 2,
disabled: true
}
],
userType: "", // 1.开单医生, 2.支付用户
userTypes: [
{
label: '开单医生',
value: 1,
},
{
label: '支付用户',
value: 2,
},
],
saleTypeList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "零售"
},
{
value: 2,
label: "批发"
}],
ownerId:'',
brokerList:[],
brokerOwnerList:[],
showOrderNoFlag:false,
pickerOptions1: {
disabledDate: time => {
return (
time.getTime() > new Date().getTime()
); //减去一天的时间代表可以选择同一天;
}
{
value: 1,
label: "零售",
},
}
{
value: 2,
label: "批发",
},
],
ownerId: "",
brokerList: [],
brokerOwnerList: [],
showOrderNoFlag: false,
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() > new Date().getTime(); //减去一天的时间代表可以选择同一天;
},
},
};
},
created() {
console.log("order created() : enter");
(this.searchForm.storeId = this.$route.query.storeId || 0),
this.searchList();
this.brokerListAll();
this.brokerOwnerListAll();
},
methods: {
searchList() {
this.searchForm.orderBeginTime = this.createRangeTime[0];
this.searchForm.orderEndTime = this.createRangeTime[1];
console.log("searchList搜索开始");
openLoading(this);
queryOrderList(this.searchForm).then((res) => {
closeLoading(this);
if (res.code == "000000") {
console.log("searchList搜索结束");
this.tableData = res.data.orderSingleDtoList;
this.totalRows = res.data.totalNum;
}
});
},
created() {
console.log("order created() : enter");
this.searchForm.storeId = this.$route.query.storeId || 0,
resetForm() {
console.log("resetForm重置");
this.activeName = "all";
this.createRangeTime = "";
this.searchForm = {
showStatus: -1,
storeId: this.$route.query.storeId,
goodsName: "",
prescriberName: "",
orderBeginTime: "",
orderEndTime: "",
orderNo: "",
receiver: "",
orderDate: "",
brokerId: "",
ownerId: "",
saleType: 0,
pageNo: 1,
pageSize: 10,
};
this.ownerId = "";
this.searchList();
this.brokerListAll();
this.brokerOwnerListAll();
this.brokerListAll();
},
methods: {
searchList(){
this.searchForm.orderBeginTime = this.createRangeTime[0];
this.searchForm.orderEndTime = this.createRangeTime[1];
console.log("searchList搜索开始")
openLoading(this);
queryOrderList(this.searchForm).then(res => {
closeLoading(this);
if (res.code == '000000') {
console.log("searchList搜索结束")
this.tableData = res.data.orderSingleDtoList;
this.totalRows = res.data.totalNum;
}
})
},
resetForm() {
console.log("resetForm重置")
this.activeName = 'all';
this.createRangeTime = '';
this.searchForm = {
showStatus: -1,
storeId: this.$route.query.storeId,
goodsName: '',
prescriberName: '',
orderBeginTime:'',
orderEndTime: '',
orderNo: '',
receiver: '',
orderDate: '',
brokerId:'',
ownerId:'',
saleType:0,
pageNo: 1,
pageSize: 10,
};
this.ownerId = "";
this.searchList();
this.brokerOwnerListAll();
this.brokerListAll();
},
handleSizeChange(val) {
this.searchForm.pageSize = val;
this.searchForm.pageNo = 1;
this.searchList();
},
handleNumChange(val) {
this.searchForm.pageNo = val;
this.searchList();
},
handleClick(tab, event) {
//-1全部,1已完成,2已发货,3待发货,4待支付,5交易关闭
if (this.activeName == 'all') {//全部
this.searchForm.showStatus = -1;
}else if (this.activeName == 'first') {//等待买家付款
this.searchForm.showStatus = 4;
}else if (this.activeName == 'second') {//待发货
this.searchForm.showStatus = 3;
}else if (this.activeName == 'third') {//已发货
this.searchForm.showStatus = 2;
}else if (this.activeName == 'fourth') {//交易成功
this.searchForm.showStatus = 1;
}else if (this.activeName == 'five') {//交易关闭
this.searchForm.showStatus = 5;
handleSizeChange(val) {
this.searchForm.pageSize = val;
this.searchForm.pageNo = 1;
this.searchList();
},
handleNumChange(val) {
this.searchForm.pageNo = val;
this.searchList();
},
handleClick(tab, event) {
//-1全部,1已完成,2已发货,3待发货,4待支付,5交易关闭
if (this.activeName == "all") {
//全部
this.searchForm.showStatus = -1;
} else if (this.activeName == "first") {
//等待买家付款
this.searchForm.showStatus = 4;
} else if (this.activeName == "second") {
//待发货
this.searchForm.showStatus = 3;
} else if (this.activeName == "third") {
//已发货
this.searchForm.showStatus = 2;
} else if (this.activeName == "fourth") {
//交易成功
this.searchForm.showStatus = 1;
} else if (this.activeName == "five") {
//交易关闭
this.searchForm.showStatus = 5;
}
this.searchForm.pageNo = 1;
this.searchList();
},
//关闭交易
closeTrade(row) {
this.closeTradeDialog = true;
},
cancelTrade() {
this.closeTradeDialog = false;
},
submitTrade() {
this.closeTradeDialog = false;
},
//修改价格
changePrice(row) {
this.changePriceDialog = true;
},
cancelPrice() {
this.changePriceDialog = false;
},
submitPrice() {
this.changePriceDialog = false;
},
//发货
sendGoods(row) {
this.sendGoodsDialog = true;
this.dialogTitle = "发货设置";
this.sendSetForm = row;
},
closeSendSet(val) {
console.log("关闭,val.type:" + val.type);
//保存操作
if (val.type == 2) {
console.log("刷新列表resetForm");
this.resetForm(); //更新列表
}
this.sendGoodsDialog = false;
},
//配送
distribute(row) {
this.sendGoodsDialog = true;
this.dialogTitle = "配送设置";
this.sendSetForm = row;
},
//查看物流
viewLogistics(row) {
this.viewLogisticsDialog = true;
this.logisticeInfo = `${row.expressName} ${row.expressNo}`;
this.expressForm.order = row;
this.expressForm.company = `${row.expressName}`;
this.expressForm.no = `${row.expressNo}`;
this.expressForm.extendMessage = `${row.remark}`;
},
cancelView() {
this.viewLogisticsDialog = false;
},
copyTxt() {
let txt = document.getElementById("copyInput");
txt.value = this.logisticeInfo;
// if (navigator.userAgent.match(/(iPhone|iPod|iPad|Mac);?/i)) {
if (
navigator.userAgent.indexOf("Safari") > -1 &&
navigator.userAgent.indexOf("Chrome") < 1
) {
var el = document.createElement("input");
el.value = txt.value; //要复制的内容
el.style.opacity = "0";
document.body.appendChild(el);
var editable = el.contentEditable;
var readOnly = el.readOnly;
el.contentEditable = true;
el.readOnly = false;
const range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
el.setSelectionRange(0, 999999);
el.contentEditable = editable;
el.readOnly = readOnly;
var ret = document.execCommand("copy");
el.blur();
} else {
txt.select(); //选择对象
document.execCommand("copy");
}
this.$message.success("复制成功");
},
//配送完成
distributeComplete(row) {
this.disCompleteDialog = true;
this.disCompleteData = row;
},
cancelDis() {
this.disCompleteDialog = false;
},
//确认配送完成
submitDisComplete() {
let para = this.disCompleteData;
para.type = 3;
updateExpress(para).then((res) => {
if (res.code == "000000") {
this.$message.success("操作成功");
this.disCompleteDialog = false;
this.resetForm(); //更新列表
} else {
this.$message.error(res.message);
}
this.searchForm.pageNo = 1;
this.searchList();
},
//关闭交易
closeTrade(row) {
this.closeTradeDialog = true;
},
cancelTrade() {
this.closeTradeDialog = false;
},
submitTrade() {
this.closeTradeDialog = false;
},
//修改价格
changePrice(row) {
this.changePriceDialog = true;
},
cancelPrice() {
this.changePriceDialog = false;
},
submitPrice() {
this.changePriceDialog = false;
},
//发货
sendGoods(row) {
this.sendGoodsDialog = true;
this.dialogTitle = '发货设置';
this.sendSetForm = row;
},
closeSendSet(val) {
console.log("关闭,val.type:" + val.type);
//保存操作
if (val.type == 2) {
console.log("刷新列表resetForm");
this.resetForm();//更新列表
});
},
//查看详情
goDetail(row) {
this.$router.push({
path: `/order-detail`,
query: {
id: row.id,
storeId: this.searchForm.storeId,
storeType: row.storeType,
},
});
},
openTuiDialog(item) {
this.tuiForm.order = item;
this.tuiForm.money = toDecimal2(item.amount);
this.showTuiDialog = true;
},
confirmTui() {
if (this.userType == null || this.userType == "") {
this.$message.error("请选择退款对象");
return;
}
refundApply({
orderId: this.tuiForm.order.id,
userType: this.userType,
refundReason:this.tuiForm.refundReason
}).then((res) => {
if (res.code == "000000") {
this.$message.success("操作成功");
this.showTuiDialog = false;
this.searchList();
} else {
this.$message.success(`操作失败:${res.message},请重试`);
}
this.sendGoodsDialog = false;
},
//配送
distribute(row) {
this.sendGoodsDialog = true;
this.dialogTitle = '配送设置';
this.sendSetForm = row;
},
//查看物流
viewLogistics(row) {
this.viewLogisticsDialog = true;
this.logisticeInfo = `${row.expressName} ${row.expressNo}`;
this.expressForm.order = row;
this.expressForm.company = `${row.expressName}`;
this.expressForm.no = `${row.expressNo}`;
this.expressForm.extendMessage = `${row.remark}`
},
cancelView() {
this.viewLogisticsDialog = false;
},
copyTxt() {
let txt = document.getElementById("copyInput");
txt.value = this.logisticeInfo;
// if (navigator.userAgent.match(/(iPhone|iPod|iPad|Mac);?/i)) {
if (navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") < 1) {
var el = document.createElement('input');
el.value = txt.value;//要复制的内容
el.style.opacity = '0';
document.body.appendChild(el);
var editable = el.contentEditable;
var readOnly = el.readOnly;
el.contentEditable = true;
el.readOnly = false;
const range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
el.setSelectionRange(0, 999999);
el.contentEditable = editable;
el.readOnly = readOnly;
var ret = document.execCommand('copy');
el.blur();
});
},
// 修改物流单号
updateOrderNo() {
this.viewLogisticsDialog = false;
this.showOrderNoFlag = true;
},
confirmExpressNo() {
if (this.expressForm.company == null || this.expressForm.company == "") {
this.$message.error("请填写快递公司");
return;
}
if (this.expressForm.no == null || this.expressForm.no == "") {
this.$message.error("请填写快递单号");
return;
}
updateExpressNo({
orderId: this.expressForm.order.id,
expressName: this.expressForm.company,
expressNo: this.expressForm.no,
remark: this.expressForm.extendMessage,
}).then((res) => {
if (res.code == "000000") {
this.$message.success("操作成功");
this.showOrderNoFlag = false;
this.searchList();
} else {
txt.select(); //选择对象
document.execCommand("copy");
this.$message.success(`操作失败:${res.message},请重试`);
}
this.$message.success('复制成功');
},
//配送完成
distributeComplete(row) {
this.disCompleteDialog = true;
this.disCompleteData = row;
},
cancelDis() {
this.disCompleteDialog = false;
},
//确认配送完成
submitDisComplete() {
let para = this.disCompleteData;
para.type = 3;
updateExpress(para).then(res => {
if (res.code == '000000') {
this.$message.success('操作成功')
this.disCompleteDialog = false;
this.resetForm();//更新列表
}else {
this.$message.error(res.message);
}
});
},
//查看详情
goDetail(row) {
this.$router.push({
path: `/order-detail`,
query:{
id: row.id,
storeId: this.searchForm.storeId,
storeType: row.storeType,
}
})
},
openTuiDialog(item) {
this.tuiForm.order = item;
this.tuiForm.money = toDecimal2(item.amount);
this.showTuiDialog = true;
},
confirmTui() {
if (this.userType == null || this.userType == "") {
this.$message.error("请选择退款对象");
});
},
exportOrder() {
const {
goodsName,
orderNo,
receiver,
orderDate,
storeId,
brokerId,
ownerId,
prescriberName,
orderBeginTime,
orderEndTime,
saleType,
} = this.searchForm;
getOrdersExportUrl({
goodsName,
orderNo,
receiver,
orderDate,
storeId,
brokerId,
ownerId,
prescriberName,
orderBeginTime,
orderEndTime,
saleType,
}).then((res) => {
if (res.code != "000000") {
this.$message({ message: res.message, type: "error" });
return;
}
refundApply({ orderId: this.tuiForm.order.id, userType: this.userType }).then(res => {
if (res.code == '000000') {
this.$message.success('操作成功');
this.showTuiDialog = false;
this.searchList();
} else {
this.$message.success(`操作失败:${res.message},请重试`);
}
});
},
// 修改物流单号
updateOrderNo(){
this.viewLogisticsDialog = false;
this.showOrderNoFlag = true;
},
confirmExpressNo() {
if (this.expressForm.company == null || this.expressForm.company == "") {
this.$message.error("请填写快递公司");
return;
window.open(res.data);
});
},
// 云鹊店铺-订单管理-药代列表
brokerListAll() {
brokerListAll({ ownerId: this.ownerId }).then((res) => {
closeLoading(this);
if (res.code == "000000") {
this.brokerList = res.data;
}
if (this.expressForm.no == null || this.expressForm.no == "") {
this.$message.error("请填写快递单号");
return;
});
},
//云鹊店铺-订单管理-招募人列表
brokerOwnerListAll() {
brokerOwnerListAll().then((res) => {
closeLoading(this);
if (res.code == "000000") {
this.brokerOwnerList = res.data;
}
});
},
updateExpressNo({
orderId: this.expressForm.order.id,
expressName: this.expressForm.company,
expressNo: this.expressForm.no,
remark: this.expressForm.extendMessage
}).then(res => {
if (res.code == '000000') {
this.$message.success('操作成功');
this.showOrderNoFlag = false;
this.searchList();
} else {
this.$message.success(`操作失败:${res.message},请重试`);
}
});
},
exportOrder() {
const { goodsName, orderNo, receiver, orderDate, storeId, brokerId, ownerId, prescriberName, orderBeginTime, orderEndTime, saleType} = this.searchForm;
getOrdersExportUrl({ goodsName, orderNo, receiver, orderDate, storeId,brokerId,ownerId,prescriberName, orderBeginTime, orderEndTime, saleType}).then(res => {
if (res.code != '000000') {
this.$message({ message: res.message, type: 'error' });
return;
}
window.open(res.data);
});
},
// 云鹊店铺-订单管理-药代列表
brokerListAll(){
brokerListAll({ownerId:this.ownerId}).then(res => {
closeLoading(this);
if (res.code == '000000') {
this.brokerList = res.data;
}
})
},
//云鹊店铺-订单管理-招募人列表
brokerOwnerListAll(){
brokerOwnerListAll().then(res => {
closeLoading(this);
if (res.code == '000000') {
this.brokerOwnerList = res.data;
}
})
},
changeOwner(data) {
this.ownerId = data;
this.brokerListAll();
},
changeOwner(data) {
this.ownerId = data;
this.brokerListAll();
},
filters: {
toFixed2: function (value) {
let val;
if (value) {
val = (value/100).toFixed(2);
}else {
val = 0.00
}
return val;
},
filters: {
toFixed2: function (value) {
let val;
if (value) {
val = (value / 100).toFixed(2);
} else {
val = 0.0;
}
return val;
},
}
},
};
</script>
<style lang="scss">
.order-manage-wrapper{
.order-manage-content{
background: #fff;
padding: 10px;
.header-title{
padding: 10px 12px;
font-size: 13px;
color: #449284;
border-bottom: 1px solid #efefef;
}
}
.el-button--text{
.order-manage-wrapper {
.order-manage-content {
background: #fff;
padding: 10px;
.header-title {
padding: 10px 12px;
font-size: 13px;
color: #449284;
font-size: 14px;
&::after{
content: '';
border-bottom: 1px solid #efefef;
}
}
.el-button--text {
color: #449284;
font-size: 14px;
&::after {
content: "";
position: relative;
height: 14px;
/*border-right: 1px solid #EBEEF5;*/
border-right: 1px solid #aaaaaa;
padding-right: 10px;
}
&:last-of-type {
&::after {
content: "";
position: relative;
width: 1px;
height: 14px;
/*border-right: 1px solid #EBEEF5;*/
border-right: 1px solid #aaaaaa;
padding-right: 10px;
}
&:last-of-type{
&::after{
content: '';
position: relative;
width: 1px;
height: 14px;
border-right: none;
}
border-right: none;
}
}
}
.el-tabs__item.is-active{
color: #449284;
}
.el-tabs__item.is-active {
color: #449284;
}
.el-tabs__active-bar {
background-color: #449284;
}
.el-tabs__item:hover {
color: #449284;
}
.view-content {
.send-status {
margin-left: 5px;
}
.el-tabs__active-bar{
background-color: #449284;
.view-number {
color: #999999;
margin-left: 15px;
margin-right: 15px;
}
.el-tabs__item:hover{
color: #449284;
.center-title {
text-align: center;
}
.view-content{
.send-status{
margin-left: 5px;
}
.view-number{
color: #999999;
margin-left: 15px;
margin-right: 15px;
}
.center-title{
text-align: center;
}
.center-subtitle{
text-align: center;
font-size: 13px;
margin-top: 10px;
color: #999999;
}
.center-subtitle {
text-align: center;
font-size: 13px;
margin-top: 10px;
color: #999999;
}
.hidden-input {
height: 0;
}
.hidden-input {
height: 0;
}
.p-normal {
line-height: 26px;
border-bottom: 1px solid #e4e7ed;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
margin: 10px 0;
text-align: center;
&:last-child {
border-bottom: none;
}
.p-normal{
line-height: 26px;
border-bottom: 1px solid #E4E7ED;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
margin: 10px 0;
}
.tui-dialog {
.el-dialog__header {
text-align: center;
&:last-child{
border-bottom: none;
}
}
.tui-dialog {
.el-dialog__header {
text-align: center;
}
.is-disabled {
width: 193px;
}
.is-disabled {
width: 193px;
}
}
</style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册