123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621 |
- <template>
- <div class="app-container">
- <div class="filter-container" style="margin: 10px 0 10px 0">
- <div class="flex">
- <div class="w_input">
- <span class="textSpan"> 订单号:</span>
- <el-input
- v-model="body.orderId"
- style="width:65%;"
- placeholder="请输入订单号"
- size="small"
- clearable
- />
- </div>
- <div class="w_input">
- <span class="textSpan">客户订单号:</span>
- <el-input
- v-model="body.extorderId"
- style="width: 65%;"
- placeholder="请输入客户订单号"
- size="small"
- clearable
- />
- </div>
- <div class="w_input stylephone">
- <div class="textSpan marginphone">通道订单号:</div>
- <el-input
- v-model="body.gwSeqNo"
- style="width: 67%;"
- placeholder="请输入通道订单号"
- size="small"
- clearable
- />
- </div>
- </div>
- <div class="flex">
- <div class="w_date">
- <span class="textSpan">回调时间:</span>
- <el-date-picker
- v-model="callbackTimeEnd"
- size="small"
- type="datetimerange"
- range-separator="至"
- style="width:78%"
- @change="oncheckTimeStart"
- value-format="yyyy-MM-dd HH:mm:ss"
- :default-time='["00:00:00","23:59:59"]'
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- >
- </el-date-picker>
- </div>
- <div class="w_date">
- <span class="textSpan">发送时间:</span>
- <el-date-picker
- v-model="applyDateStart"
- size="small"
- type="datetimerange"
- style="width:80%"
- range-separator="至"
- @change="oncustom"
- value-format="yyyy-MM-dd HH:mm:ss"
- :default-time='["00:00:00","23:59:59"]'
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- >
- </el-date-picker>
- </div>
-
- </div>
- <div class="flex">
- <div class="w_input">
- <span class="textSpan">通道名称:</span>
- <el-input
- v-model="body.channelIdDesc"
- style="width:65%;"
- placeholder="请输入通道名称"
- size="small"
- clearable
- />
- </div>
- <div class="w_input">
- <span class="textSpan"> 订单状态:</span>
- <el-select size="small" v-model="body.status" clearable placeholder="请选择订单状态" style="width: 65%" @change="changeScope">
- <el-option
- v-for="item in status"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </div>
- <div class="w_input">
- <span class="textSpan"> 运营商:</span>
- <el-select size="small" v-model="body.phoneOperator" clearable placeholder="请选择运营商" style="width: 65%" @change="changeoperator">
- <el-option
- v-for="item in mobileOperator"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </div>
- </div>
- <div class="flex">
- <div class="w_input">
- <!-- <el-col :span="5"> -->
- <span class="textSpan"> 面额:</span>
- <!-- </el-col> -->
-
- <!-- <el-input
- v-model="flowAmount"
- @change="changeflow"
- style="width:65%;"
- placeholder="请输入面额"
- size="small"
- clearable
- /> -->
- <!-- <el-col :span="6"> -->
- <el-input
- v-model="flowAmount"
- @clear="changeflow(flowAmount)"
- style="width:26%"
- placeholder="请输入面额"
- size="small"
- clearable
- />
- <span> - </span>
- <el-input
- v-model="flowAmount1"
- @clear="changeflow1(flowAmount)"
- style="width:26%"
- placeholder="请输入面额"
- size="small"
- clearable
- />
- </div>
- <div class="w_input">
- <span class="textSpan"> 客户名称:</span>
- <el-input
- v-model="body.customerName"
- style="width: 65%;"
- placeholder="请输入客户名称"
- size="small"
- clearable
- />
- </div>
- <div class="w_input">
- <span class="textSpan"> 归属地:</span>
- <el-input
- v-model="body.phoneHome"
- style="width: 65%;"
- placeholder="请选择归属地"
- size="small"
- clearable
- />
- </div>
- </div>
- <div class="flex">
- <div class="w_input">
- <span class="textSpan">回调状态:</span>
- <el-select size="small" v-model="body.callbackStatus" clearable placeholder="请选择订单状态" style="width: 65%" @change="changeScope">
- <el-option
- v-for="item in dealFlag"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </div>
- <div class="w_input stylephone">
- <div class="textSpan marginphone"> 手机号:</div>
- <el-input
- type="textarea"
- v-model="body.phoneNo"
- :autosize="{ minRows: 1.1, maxRows: 5}"
- class="phone"
- size="small"
- placeholder="请输入手机号"
- clearable
- >
- </el-input>
- </div>
- </div>
- <div class="flexend">
- <el-button class="filter-item" type="info" icon="el-icon-edit" plain @click="handleReset">置重发
- </el-button>
- <el-button class="filter-item" type="warning" icon="el-icon-message" plain @click="handleReset">置回调
- </el-button>
-
- <el-button class="filter-item" icon="el-icon-delete" type="danger" plain @click="handleReset">置失败
- </el-button>
- <el-button class="filter-item" type="success" icon="el-icon-check" plain @click="handleReset">置成功
- </el-button>
-
- <el-button class="classitem" style="marginRight:50px" type="primary" plain icon="el-icon-star-off" @click="handleReset">导出
- </el-button>
- <el-button class="filter-item" icon="el-icon-search" type="primary" plain @click="handleSearch">搜索</el-button>
- </div>
- </div>
- <el-table v-loading="loading" :data="tableData" border style="width: 100%">
- <el-table-column type="selection" width="40"/>
- <el-table-column label="订单号" width="120" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.orderId }}</span>
- </template>
- </el-table-column>
- <!-- <el-table-column
- label="appID"
- width="100"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.appId }}</span>
- </template>
- </el-table-column> -->
- <el-table-column
- label="客户名称"
- width="100"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.customerName }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="面额"
- width="70"
- align="center"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.flowAmount / 10000 }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="产品ID"
- width="100"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{scope.row.packageId}}</span>
- </template>
- </el-table-column>
- <el-table-column label="手机号码" width="110" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.phoneNo }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="运营商"
- width="70"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <!-- <span>{{ scope.row.phoneOperator }}</span> -->
- <el-tag v-if="scope.row.phoneOperator === 2" size="small">电信</el-tag>
- <el-tag v-if="scope.row.phoneOperator === 1" size="small">移动</el-tag>
- <el-tag v-if="scope.row.phoneOperator === 3" size="small">联通</el-tag>
- </template>
- </el-table-column>
- <el-table-column
- label="归属地"
- width="100"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.phoneHome }}</span>
- </template>
- </el-table-column>
- <el-table-column label="发送时间" width="170" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <i class="el-icon-time"></i>
- <span>{{ scope.row.limitedDate }}</span>
- </template>
- </el-table-column>
- <el-table-column label="回调时间" width="170" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <i v-if="scope.row.lastModifyDate" class="el-icon-time"></i>
- <span>{{ scope.row.lastModifyDate }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="订单状态"
- width="90"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <el-tag v-if="scope.row.status === 2" size="small">充值中</el-tag>
- <el-tag v-if="scope.row.status === 1" size="small">待充值</el-tag>
- <!-- <el-tag v-if="scope.row.status === 3" size="small">重发</el-tag> -->
- <el-tag v-if="scope.row.status === 4" size="small" >充值失败</el-tag>
- <!-- <el-tag v-if="scope.row.status === 5" size="small">回调</el-tag> -->
- <el-tag v-if="scope.row.status === 6" size="small">充值成功</el-tag>
- </template>
- </el-table-column>
- <el-table-column
- label="用时"
- width="90"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.usedTime }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="回调状态"
- width="90"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <!-- <span>{{ scope.row.dealFlag }}</span> -->
- <el-tag v-if="scope.row.callbackStatus === 6" size="small">成功</el-tag>
- <el-tag v-if="scope.row.callbackStatus === 4" size="small">失败</el-tag>
- </template>
- </el-table-column>
-
- <el-table-column
- label="通道名称"
- width="90"
- align="center"
- prop="createTime"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <span>{{ scope.row.channelName }}</span>
- </template>
- </el-table-column>
- <el-table-column label="客户订单号" width="120" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.extorderId }}</span>
- </template>
- </el-table-column>
- <el-table-column label="通道订单号" width="120" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.gwSeqNo }}</span>
- </template>
- </el-table-column>
- <el-table-column label="通道错误代码" width="120" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.gwErrorCode }}</span>
- </template>
- </el-table-column>
- <el-table-column label="通道错误原因" width="120" align="center" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{ scope.row.gwStatus }}</span>
- </template>
- </el-table-column>
-
- </el-table>
- <!--分页-->
- <div class="pagination">
- <el-pagination
- current-page.sync="body.page"
- @size-change="handleSizeChange"
- :current-page="body.page"
- @current-change="handleCurrentChange"
- :page-sizes="[10, 20, 30, 50]"
- :page-size="body.size"
- layout="total, sizes, prev, pager, next, jumper"
- background
- :total="total">
- </el-pagination>
- </div>
- </div>
- </template>
- <script>
- import { ordersearch } from '@/api/orderList'
- export default {
- data() {
- return {
- Name: '',
- // phone:true, //控制批量手机号
- tableData:[],
- applyDateStart:"", //发送时间
- callbackTimeEnd:"", //回调时间
- flowAmount:"", //面额乘以10000
- flowAmount1:"", //面额乘以10000
- body:{
- Id:"",
- gwSeqNo:"",
- orderId:"",
- extorderId:"",
- phoneNo:"",
- applyDateStart:"",
- applyDateEnd:"",
- customerName:"",
- channelIdDesc:"",
- phoneHome:"",
- status:"",
- phoneOperator:"",
- flowAmount:"",
- callbackTimeStart:"",
- callbackTimeEnd:"",
- callbackStatus:"",
- mobileHome:"",
- page:1,
- size:10,
- },
- total:0, //总数据
- loading:false,
- status:[
- {id:1,name:"待发"},
- {id:2,name:"充值中"},
- {id:6,name:"成功"},
- {id:4,name:"失败"},
- ],
- mobileOperator:[
- {id:1,name:"移动"},
- {id:3,name:"联通"},
- {id:2,name:"电信"},
- ],
- dealFlag:[
- {id:"4",name:"失败"},
- {id:"6",name:"成功"},
- ]
- }
- },
- created(){
- let nowDate = new Date()
- let date = {
- year: nowDate.getFullYear(),
- month: nowDate.getMonth() + 1,
- date: nowDate.getDate()
- }
- let systemTime = date.year + '-' + date.month + '-' + date.date
- // this.body.applyDateStart = "2021-05-14 + " 00:00:00"
- this.applyDateStart = [systemTime + " 00:00:00",systemTime + " 23:59:59"]
- this.body.applyDateStart = systemTime + " 00:00:00"
- this.body.applyDateEnd = systemTime + " 23:59:59"
- // this.body.applyDateEnd = systemTime + " 23:59:59"
- // this.
- this.getTenantList()
- },
- methods: {
- //获取数据
- getTenantList(){
- this.loading=true
- ordersearch(this.body).then(res=>{
- this.loading=false
- // this.tableData=res.data.data.records
- // limitedDate :发送时间
- // lastModifyDate :回调
- // usedTime :用时
- let tableData=res.data.data.records
- let arry=tableData.map((res)=>{
- if(res.lastModifyDate != null && res.lastModifyDate != ""){
- let limitedDate = res.limitedDate
- let lastModifyDate =res.lastModifyDate
- //发送时间 减去 回调时间
- let date = new Date(limitedDate)
- let time= date.valueOf()
- let modify =new Date(lastModifyDate)
- let last = modify.valueOf()
- let used = last - time
- res.usedTime = used / 1000
- }
- return res
- })
- this.tableData=arry
- // console.log(arry)
- this.total=res.data.data.total
- // console.log(res.data.data.records)
- })
- },
- //搜索手机号
- onphon(){
- console.log(this.phone)
- },
- //清除面额
- changeflow(flow){
- this.flowAmount = ""
- },
- //清除面额
- changeflow1(flow){
- this.flowAmount1 = ""
- },
- //搜索发送时间
- oncustom(){
- let applyDateStart = this.applyDateStart;
- this.body.applyDateStart = applyDateStart[0]
- this.body.applyDateEnd = applyDateStart[1]
- // console.log(applyDateStart)
- // console.log(this.body.applyDateStart)
- },
- //搜索回调时间
- oncheckTimeStart(){
- // checkTimeStart:"",
- // checkTimeEnd:"",
- let callbackTimeStart =this.callbackTimeEnd
- this.body.callbackTimeStart= callbackTimeStart[0]
- this.body.callbackTimeEnd =callbackTimeStart[1]
- },
- //搜索状态
- changeScope(){
- console.log(this.body.status)
- },
- //运营商
- changeoperator(){
- console.log(this.body.mobileOperator)
- },
- //搜索
- handleSearch(){
- this.body.page = 1
- if(this.applyDateStart == null){ //发送时间为空时清空 body 里的发送时间
- this.body.applyDateEnd = ""
- this.body.applyDateStart = ""
- }
- if(this.callbackTimeEnd == null){ //回调时间
- this.body.callbackTimeStart = ""
- this.body.callbackTimeEnd = ""
- }
- //面额前后为空判断
- let flowAmount=this.flowAmount * 10000;
- let flowAmount1=this.flowAmount1 * 10000;
- if(this.flowAmount1 != "" && this.flowAmount != ""){ //面额
- this.body.flowAmount = flowAmount + "-" + flowAmount1
- }
- if(this.flowAmount == "" && this.flowAmount1 == ""){
- this.body.flowAmount = ""
- // console.log(this.body.flowAmount)
- }
- else if(this.flowAmount == ""){ //面额
- this.body.flowAmount = 0 + "-" + flowAmount1
- }
- else if(this.flowAmount1 == ""){
- this.body.flowAmount = flowAmount + "-" + 10000000
- }
- this.currentPage="1"
- this.getTenantList()
- },
- //
- handleReset(){
- },
- //分页
- handleSizeChange:function(val){
- this.body.size=val
- this.getTenantList()
- },
- // 换页
- handleCurrentChange: function(val) {
- this.body.page = val
- this.getTenantList()
- },
- },
- }
- </script>
- <style scoped>
- .textSpan{
- position: relative;
- top: 0;
- font-size: 14px;
- font-weight: 600;
- color:rgb(87, 86, 86)
- }
- .stylephone{
- display: flex;
- }
- .marginphone{
- padding-top: 9px;
- }
- .flex{
- width: 100%;
- display: flex;
- flex-direction: row;
- margin-bottom: 10px;
- /* flex-wrap: wrap; */
- /* justify-content: space-evenly; */
- }
- .w_date{
- width: 66%;
- }
- .w_input{
- width:33.33%;
- }
- .flexend{
- display: flex;
- justify-content: flex-end;
- padding-top:20px;
- padding-right: 40px;
- }
- .phone{
- width:66.5% !important ;
- z-index: 100;
- }
- /* .classitem{
- background: salmon;
- } */
- </style>
|