|
@@ -2,197 +2,207 @@
|
|
|
<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 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 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.channelName"
|
|
|
- style="width:65%;"
|
|
|
- placeholder="请输入通道名称"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <span class="textSpan">通道名称:</span>
|
|
|
+ <el-input
|
|
|
+ v-model="body.channelName"
|
|
|
+ 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">
|
|
|
+ <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"
|
|
|
+ v-for="item in status"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
+ </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">
|
|
|
+ <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"
|
|
|
+ v-for="item in mobileOperator"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
+ </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 class="w_input">
|
|
|
+ <!-- <el-col :span="5"> -->
|
|
|
+ <span class="textSpan"> 面额:</span>
|
|
|
+ <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
|
|
|
+ <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>
|
|
|
- <el-col :span="1" class="icon-list__tips">
|
|
|
- <el-tooltip placement="top" effect="light" style="padding: 10px; 0 0 0">
|
|
|
- <div slot="content">
|
|
|
- <p>手机号格式:</p>
|
|
|
- <p>多个手机号搜索以英文逗号隔开,其中不能有空格!!!</p>
|
|
|
- </div>
|
|
|
- <i class="el-icon-warning" />
|
|
|
- </el-tooltip>
|
|
|
- </el-col>
|
|
|
- </div>
|
|
|
-
|
|
|
+ </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>
|
|
|
+ <el-col :span="1" class="icon-list__tips">
|
|
|
+ <el-tooltip
|
|
|
+ placement="top"
|
|
|
+ effect="light"
|
|
|
+ style="padding: 10px; 0 0 0"
|
|
|
+ >
|
|
|
+ <div slot="content">
|
|
|
+ <p>手机号格式:</p>
|
|
|
+ <p>多个手机号搜索以英文逗号隔开,其中不能有空格!!!</p>
|
|
|
+ </div>
|
|
|
+ <i class="el-icon-warning" />
|
|
|
+ </el-tooltip>
|
|
|
+ </el-col>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="flexend">
|
|
|
<el-button
|
|
@@ -209,7 +219,7 @@
|
|
|
type="info"
|
|
|
icon="el-icon-edit"
|
|
|
plain
|
|
|
- @click="handleReseted(7)"
|
|
|
+ @click="handleReseted(9)"
|
|
|
>置重发
|
|
|
</el-button>
|
|
|
<el-button
|
|
@@ -218,7 +228,7 @@
|
|
|
type="warning"
|
|
|
icon="el-icon-message"
|
|
|
plain
|
|
|
- @click="handleReset"
|
|
|
+ @click="handleReseted(10)"
|
|
|
>置回调
|
|
|
</el-button>
|
|
|
|
|
@@ -282,7 +292,7 @@
|
|
|
|
|
|
<el-table-column
|
|
|
label="订单号"
|
|
|
- width="120"
|
|
|
+ width="180"
|
|
|
align="center"
|
|
|
show-overflow-tooltip
|
|
|
>
|
|
@@ -293,7 +303,7 @@
|
|
|
|
|
|
<el-table-column
|
|
|
label="客户名称"
|
|
|
- width="100"
|
|
|
+ width="190"
|
|
|
align="center"
|
|
|
prop="createTime"
|
|
|
show-overflow-tooltip
|
|
@@ -400,7 +410,7 @@
|
|
|
<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 === 4" size="small" style="danger">充值失败</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>
|
|
@@ -429,7 +439,7 @@
|
|
|
<el-tag v-if="scope.row.callbackStatus === 6" size="small"
|
|
|
>成功</el-tag
|
|
|
>
|
|
|
- <el-tag v-if="scope.row.callbackStatus === 4" size="small"
|
|
|
+ <el-tag v-if="scope.row.callbackStatus === 4" size="small" style="danger"
|
|
|
>失败</el-tag
|
|
|
>
|
|
|
</template>
|
|
@@ -448,7 +458,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="客户订单号"
|
|
|
- width="120"
|
|
|
+ width="300"
|
|
|
align="center"
|
|
|
show-overflow-tooltip
|
|
|
>
|
|
@@ -458,7 +468,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="通道订单号"
|
|
|
- width="120"
|
|
|
+ width="300"
|
|
|
align="center"
|
|
|
show-overflow-tooltip
|
|
|
>
|
|
@@ -687,48 +697,56 @@ export default {
|
|
|
|
|
|
//黑名单
|
|
|
handleResetBlack() {
|
|
|
- this.$prompt('此操作将该手机号拉入黑名单', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- inputPattern:/^[\s\S]*.*[^\s][\s\S]*$/,
|
|
|
- inputErrorMessage: '请描述原因'
|
|
|
+ if(this.ArryList.length){
|
|
|
+ this.$prompt("此操作将该手机号拉入黑名单", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/,
|
|
|
+ inputErrorMessage: "请描述原因"
|
|
|
}).then(({ value }) => {
|
|
|
- console.log(this.ArryList, "11");
|
|
|
- let arry = this.ArryList;
|
|
|
- // console.log(this.ArryList)
|
|
|
- let arryList = [];
|
|
|
- arry.map(res => {
|
|
|
- let phoneNo = { phoneNo: res.phoneNo, note: value };
|
|
|
- arryList.push(phoneNo);
|
|
|
- });
|
|
|
- console.log(arryList, "arrylist");
|
|
|
- let that = this;
|
|
|
- api.add(arryList).then(res => {
|
|
|
- if (res.status === 200) {
|
|
|
- that.$message({
|
|
|
- type: "success",
|
|
|
- message: "成功拉入黑名单"
|
|
|
- });
|
|
|
- that.getTenantList();
|
|
|
- } else {
|
|
|
- that.$message({
|
|
|
- type: "error",
|
|
|
- message: res.msg
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ console.log(this.ArryList, "11");
|
|
|
+ let arry = this.ArryList;
|
|
|
+ // console.log(this.ArryList)
|
|
|
+ let arryList = [];
|
|
|
+ arry.map(res => {
|
|
|
+ let phoneNo = { phoneNo: res.phoneNo, note: value };
|
|
|
+ arryList.push(phoneNo);
|
|
|
+ });
|
|
|
+ console.log(arryList, "arrylist");
|
|
|
+ let that = this;
|
|
|
+ api.add(arryList).then(res => {
|
|
|
+ if (res.status === 200) {
|
|
|
+ that.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "成功拉入黑名单"
|
|
|
+ });
|
|
|
+ that.getTenantList();
|
|
|
+ } else {
|
|
|
+ that.$message({
|
|
|
+ type: "error",
|
|
|
+ message: res.data.message
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: "请至少选择一项"
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
- //置失败--4 或者 成功--6 重发---7
|
|
|
+ //置失败--4 或者 成功--6 重发---9 回调---10
|
|
|
handleReseted(i) {
|
|
|
+ if(this.ArryList.length){
|
|
|
let arry = this.ArryList;
|
|
|
let that = this;
|
|
|
//定义一个空数组,存放 置状态的数据
|
|
|
let arryList = [];
|
|
|
let status = i;
|
|
|
arry.map(res => {
|
|
|
- // console.log(res);
|
|
|
+ console.log(res, "1111");
|
|
|
let orderId = res.orderId;
|
|
|
arryList.push(orderId);
|
|
|
});
|
|
@@ -738,35 +756,52 @@ export default {
|
|
|
msg = "失败";
|
|
|
} else if (i == 6) {
|
|
|
msg = "成功";
|
|
|
- } else if (i == 7) {
|
|
|
+ } else if (i == 9) {
|
|
|
msg = "重发";
|
|
|
+ } else if (i == 10) {
|
|
|
+ msg = "回调";
|
|
|
}
|
|
|
let oderArry = {
|
|
|
orderIds: arryList,
|
|
|
status: status
|
|
|
};
|
|
|
- that
|
|
|
- .$confirm(`此操作将该订单置为${msg}状态`, "提示", {
|
|
|
+ that.$confirm(`此操作将该订单置为${msg}状态`, "提示", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
|
})
|
|
|
.then(() => {
|
|
|
setOrderStatus(oderArry).then(res => {
|
|
|
- if (res.status == 200) {
|
|
|
+ if (res.data.status == "200") {
|
|
|
that.$message({
|
|
|
type: "success",
|
|
|
message: `已置为${msg}状态`
|
|
|
});
|
|
|
that.getTenantList();
|
|
|
} else {
|
|
|
- that.$message({
|
|
|
- type: "error",
|
|
|
- message: res.msg
|
|
|
- });
|
|
|
+ that.$confirm(res.data.message, "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ that.getTenantList();
|
|
|
+
|
|
|
+ });
|
|
|
+ // that.$message({
|
|
|
+ // type: "error",
|
|
|
+ // message: res.message,
|
|
|
+ // });
|
|
|
}
|
|
|
+ console.log(res, "222");
|
|
|
});
|
|
|
});
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: "请至少选择一项"
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
//
|
|
|
handleReset() {},
|