zerp 4 роки тому
батько
коміт
91a706caff

+ 1 - 1
config/index.js

@@ -23,7 +23,7 @@ module.exports = {
 
     // 本地开发使用
     host: '192.168.2.14',
-    port: 130,
+    port: 61,
     autoOpenBrowser: true,
     errorOverlay: true,
     notifyOnErrors: false,

+ 24 - 2
src/App.vue

@@ -31,7 +31,7 @@ export default {
 
   /* //滚动条 */
 ::-webkit-scrollbar {
-  width: 11px; 
+  width: 10px; 
   height: 11px;
  
 }
@@ -42,7 +42,25 @@ export default {
   border-radius: 5px;
   box-shadow: 0 2px 12px 0 rgba(204, 201, 201, 0.1)
 }
-  
+/* 穿梭左右按钮 */
+ .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus{
+     /* border-radius: 50%!important;      */
+     /* width: 55px;     
+     height: 55px;   */
+     background: rgba(14, 91, 235, 0.041)!important;
+     border:1px solid rgb(199, 200, 207)!important;
+   }
+   .el-transfer__button{
+     width: 55px;   
+     height: 55px; 
+     border-radius: 50%!important;      
+
+   }
+   .el-transfer__button i, .el-transfer__button span{
+     color:rgb(199, 200, 207);
+     /* font-size: 16px!important;  */
+     font-weight:900;
+   }
   /* .el-button--black_button.is-plain {
     background: #2d2d3663;
     color: rgb(95, 92, 95);
@@ -58,4 +76,8 @@ export default {
     color: rgb(255, 255, 255);
     border: 1px solid #010102c2;
     } */
+       /*1.显示滚动条:当内容超出容器的时候,可以拖动:*/
+.el-drawer__body {
+   overflow: auto;
+}
 </style>

+ 33 - 2
src/api/channelGroup.js

@@ -10,7 +10,7 @@ export default {
     })
   },
 
-  //删除
+  //通道组组删除
   channelGroupIdDelete: function(channelGroupId){
     return request({
       // url: '/supplier/bankcard/' + supplierDelete + "/" + id,
@@ -28,7 +28,7 @@ export default {
           data:data
       })
   },
-  //添加
+  //修改
   channelGroupUpdate:function(data) {
       return request({
           url:"/channelGroup/update",
@@ -36,5 +36,36 @@ export default {
           data:data
       })
   },
+  //策略
+  distributeGroup:function(data) {
+      return request({
+          url:"/distributeGroup/getAllPolicy",
+          method: "get",
+          data:data
+      })
+  },
+  //通道
+  getAllChannelnfos:function(data) {
+      return request({
+          url:"/channel/getAllChannelnfos",
+          method: "get",
+          params:data
+      })
+  },
+  //通道删除
+  channelnfosdelete:function(id) {
+      return request({
+          url:"/distGroupChannel/delete/" + id,
+          method: "delete",
+      })
+  },
+  //分发组删除
+  distributeGroupDelete:function(distributeGroupId) {
+      return request({
+          url:"/distributeGroup/delete/" + distributeGroupId,
+          method: "delete",
+
+      })
+  },
 
 }

+ 11 - 1
src/api/orderList.js

@@ -9,6 +9,15 @@ export function ordersearch(data) {
   })
 }
 
+//设置订单状态
+export function setOrderStatus(data) {
+  return request({
+    url: '/orderManagement/setOrderStatus',
+    method: 'post',
+    data: data
+  })
+}
+
 
 export default {
   finance: {
@@ -30,5 +39,6 @@ export default {
       data: data
     })
   }
-}
+},
+
 }

+ 9 - 0
src/api/userList.js

@@ -75,6 +75,15 @@ export default {
       // data:data
     })
   },
+      //合作伙伴
+  userLlist: function(type){
+    return request({
+      // url: '/supplier/bankcard/' + supplierDelete + "/" + id,
+      url: '/user/' + type,
+      method: 'get',
+      // data:data
+    })
+  },
 
   },
 

+ 1 - 0
src/icons/svg/白名单.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1624589351269" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1974" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="600"><defs><style type="text/css"></style></defs><path d="M930.1 638.3c-15.2-11.9-37.2-9.2-49.1 6.1L725.2 844.1l-103.1-80.4c-15.2-11.9-37.2-9.2-49.1 6.1-11.9 15.2-9.2 37.2 6.1 49.1l130.7 101.9c6.2 4.8 13.8 7.4 21.5 7.4 1.4 0 2.9-0.1 4.3-0.3 9.2-1.1 17.6-5.9 23.3-13.2l177.3-227.4c11.9-15.2 9.1-37.1-6.1-49z" p-id="1975"></path><path d="M519.2 901.8H150.4V894.9c0.3-196.7 160.6-356.6 357.3-356.6 59.9 0 119.1 15.1 171.3 43.7 17 9.3 38.2 3.1 47.5-13.9 9.3-17 3.1-38.2-13.9-47.5-20.2-11-41.2-20.4-62.9-28 10.5-7.6 20.5-16.1 29.8-25.4 45.9-45.9 71.2-106.9 71.2-171.8s-25.3-125.9-71.2-171.8-106.9-71.4-171.8-71.4-125.9 25.3-171.8 71.2c-45.9 45.9-71.2 106.9-71.2 171.8S290 421.1 335.9 467c9.3 9.3 19.3 17.8 29.8 25.4-8.1 2.9-16.1 6-24.1 9.3-50.8 21.5-96.5 52.2-135.7 91.4-39.2 39.2-70 84.8-91.6 135.6C92 781.3 80.6 837.2 80.5 894.8v42c0 19.3 15.7 35 35 35h403.8c19.3 0 35-15.7 35-35s-15.8-35-35.1-35zM334.7 295.2c0-95.4 77.6-173 173-173s173 77.6 173 173-77.6 173-173 173-173-77.6-173-173z" p-id="1976"></path></svg>

+ 41 - 7
src/views/channel/account.vue

@@ -11,10 +11,14 @@
         </el-option>
       </el-select>
         <el-button class="filter-item" icon="el-icon-search" type="primary" plain @click="Search">搜索</el-button>
-        <el-button class="classitem" style="marginRight:50px" type="primary" plain icon="el-icon-plus" @click="handlerAdd">加款</el-button>
       </div>
       <!-- 列表 -->
       <el-table v-loading="loading" :data="tableData" border style="width: 100%">
+         <el-table-column label="序号" width="60" align="center">
+                <template slot-scope="scope">
+                <span>{{ scope.$index + 1 }}</span>
+                </template>
+            </el-table-column>
           <el-table-column label="供应商" width="120" align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                   <el-button type="text" @click="hookLook(scope.row)">{{ scope.row.supplierName }}</el-button>
@@ -24,6 +28,23 @@
                 <template slot-scope="scope">
                   <span>{{ scope.row.amount / 10000 }}</span>
                 </template>
+              </el-table-column>
+              <el-table-column label="可用余额" width="100" align="center" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <span>{{ scope.row.balance }}</span>
+                </template>
+              </el-table-column>
+
+              <el-table-column label="累计充值" width="110" align="center" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <span>{{ scope.row.rechargeAmount  }}</span>
+                </template>
+              </el-table-column>
+
+              <el-table-column label="累计消费" width="110" align="center" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <span>{{ scope.row.consumeAmount }}</span>
+                </template>
               </el-table-column>
                 <el-table-column label="出款账户" width="110"  align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
@@ -63,15 +84,16 @@
               </el-table-column>
            
               
-              <el-table-column label="加款时间" width="120" align="center" show-overflow-tooltip>
+              <el-table-column label="加款时间" width="190" align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                   <span>{{ scope.row.time }}</span>
                 </template>
               </el-table-column>
             
 
-              <el-table-column label="操作" fixed="right" width="200" align="center">
+              <el-table-column label="操作" fixed="right" width="300" align="center">
                 <template slot-scope="scope">
+                  <el-button size="small" type="primary" plain icon="el-icon-plus" @click="handlerAdd(scope.row)">加款</el-button>
                   <el-button size="small" icon="el-icon-edit" type="warning" plain @click="handleEdit(scope.row)">修改</el-button>
                   <el-button size="small" icon="el-icon-edit" type="danger" v-if="scope.row.undo == 0" plain @click="handleRevocation(scope.row)">撤销</el-button>
                 </template>
@@ -80,7 +102,7 @@
         <!-- 新增加款 -->
       <el-dialog :title="operation?'新增加款':'编辑加款'" :visible.sync="dialogFormVisible" width="55%" center>
         <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
-              <el-form-item label="供应商" prop="cardNo" :label-width="formLabelWidth"  >
+              <el-form-item label="供应商" prop="relationId" :label-width="formLabelWidth"  >
                 <el-select v-model="dataForm.relationId" :disabled="!operation" filterable  @change="onclick(dataForm.relationId)" clearable  placeholder="请选择客户" style="width:100%">
                   <el-option
                     v-for="item in userList"
@@ -240,7 +262,9 @@ export default {
         type:"customer"
       },
       rules2:{
-            phoneNo: [{ required: true, message: '请输入手机', trigger: 'blur' } ],
+            relationId: [{ required: true, message: '请输入供应商名称', trigger: 'blur' } ],
+            cardNo: [{ required: true, message: '请输入银行卡', trigger: 'blur' } ],
+            amount: [{ required: true, message: '请输入加款金额', trigger: 'blur' } ],
       },
       userList:[],
       operation:false,
@@ -270,6 +294,9 @@ export default {
       //选择供应商出发银行卡
     onclick(row){
       this.bankcardURL(row)
+       this.dataForm.account = ""
+      this.dataForm.bankDeposit = ""
+      this.dataForm.cardNo = ""
     },
     //银行卡
     bankcardURL(row){
@@ -328,10 +355,17 @@ export default {
       this.dataFormVisible = true
     },
     //新增
-    handlerAdd(){
+    handlerAdd(row){
       this.operation = true // true:新增, false:编辑
             this.dialogFormVisible = true // 控制弹出框
-            this.dataForm = {}
+            let list = JSON.parse(JSON.stringify(row))
+            this.bankcardURL(list.relationId)
+            console.log(list)
+            this.dataForm = list
+            this.dataForm.amount = ""       //加款钱
+            this.dataForm.certificate = ""  //凭证
+            this.dataForm.paymentAccount = ""  //出款账户
+            // this.dataForm = {}
             this.imgurl = ""
             this.fileList=[]   //图片
             this.card = []    //银行卡

+ 7 - 2
src/views/channel/channel.vue

@@ -224,7 +224,7 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button type="primary" @click="submitForm" >确 定</el-button>
       </div>
     </el-dialog>
 
@@ -596,6 +596,8 @@ export default {
           if(row.channelProductId){
             api.productDelete(row.channelProductId).then((res)=>{
               this.dataForm.channelProductInfos.splice(index,1)
+              this.reLoad()
+              // this.handleSizeChange()
               this.$message({
                   type: 'success',
                   message: '删除成功'
@@ -731,6 +733,7 @@ export default {
             type: 'warning'
           }).then(()=>{
             let code = JSON.parse(JSON.stringify(row))
+            console.log(code)
             code.isValid = i   // 2:暂停   1:有效
             let info = {
               isValid:code.isValid,
@@ -808,6 +811,8 @@ export default {
     margin-top: 20px;
 }
 .edit_dev >>> .el-transfer-panel {
-     width:250px;
+     width:36%;
    }
+   
+
 </style>

+ 484 - 21
src/views/channel/channelGroup.vue

@@ -68,43 +68,287 @@
     <el-dialog :title="operation?'通道组新增':'通道组编辑'" :visible.sync="dialogFormVisible" width="85%" center>
       <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
  
-            <el-form-item label="通道组名称" prop="groupName" :label-width="formLabelWidth"  style="width:420px;margin:15px auto">
-              <el-input v-model="dataForm.groupName" placeholder="请输入通道组名称" />
+            <el-form-item label="通道组名称"  :label-width="formLabelWidth"  style="width:420px;margin:15px auto;paddingBottom:30px">
+              <el-input v-model="dataForm.groupName" :disabled="true" placeholder="请输入通道组名称" />
             </el-form-item>
+            <!-- 添加产品 -->
+       <el-card  shadow="hover" v-if="!operation">
+        <div slot="header" class="clearfix">
+          <span class="topClass">分发组信息</span>
+          
+        </div>
+        <div>
+          <!-- 添加 -->
+          <el-table  ref="multipleTable" :data="dataForm.distributeGroups">
+          <!-- <el-table  ref="multipleTable" :data="dataForm.distributeGroups"  @selection-change="handleSelectionChange"> -->
+             <!-- <el-table-column
+                type="selection"
+                width="55">
+              </el-table-column> -->
 
+          <el-table-column label="分发组名称" width="200" align="center" show-overflow-tooltip>
+            <template slot-scope="scope" >
+              <!-- <span >{{ scope.row.name }}</span>   -->
+              <el-input v-model="scope.row.name" :disabled="scope.row.distributeGroupId != null" @keyup.enter.native="addGroup"></el-input>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="策略" width="130" align="center">
+            <template slot-scope="scope" >
+              <!-- <el-input v-model="scope.row.policy" @keyup.enter.native="addGroup"></el-input> -->
+              <div class="code"  v-if="selectref" @click="onpolicy(scope.row)"></div>
+              <el-select size="small"  v-model="scope.row.policy" v-if="selectref" @click.native="onpolicy(scope.row)"  @keyup.enter.native="addGroup"  placeholder="请选择运营商" style="width: 100%" >
+                  <el-option
+                  v-for="item in distribute"
+                  :key="item.policy"
+                  :label="item.desc"
+                  :value="item.policy"
+                  />
+                </el-select>
+              <el-select size="small"  v-model="scope.row.policy" v-else @click.native="inpolicy(scope.row)"  @keyup.enter.native="addGroup"  placeholder="请选择运营商" style="width: 100%" >
+                  <el-option
+                  v-for="item in distribute"
+                  :key="item.policy"
+                  :label="item.desc"
+                  :value="item.policy"
+                  />
+                </el-select>
+              <!-- <span >{{ scope.row.policy }}</span>   -->
+            </template>
+          </el-table-column>
+          
+          <el-table-column label="运营商" align="center" show-overflow-tooltip>
+            <template slot-scope="scope" >
+              <el-select size="small" v-model="scope.row.operator"  :disabled="scope.row.distributeGroupId != null" @keyup.enter.native="addGroup"  placeholder="请选择运营商" style="width: 90%" >
+                  <el-option
+                  v-for="item in dataOperator"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                  />
+                  </el-select>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="通道" align="center" show-overflow-tooltip>
+            <template slot-scope="scope" >
+              <!-- <span >{{ scope.row.channel }}</span>   -->
+              <el-tooltip class="item" effect="dark" content="配置通道" placement="top" v-if="scope.row.channels == undefined || scope.row.channels.length <= 0 ">
+                <el-button type="primary" plain icon="el-icon-plus" @click ="onwarning(scope.row)" circle > </el-button>
+              </el-tooltip> 
+              <el-tooltip class="item" effect="dark" content="查看通道" placement="top" v-else>
+                <el-button type="primary" plain icon="el-icon-view" @click ="onwarning(scope.row)" circle > </el-button>
+              </el-tooltip>        
+            </template>
+          </el-table-column>
+
+          <el-table-column label="排序" align="center"  show-overflow-tooltip>
+            <template slot-scope="scope" >
+              <el-input v-model="scope.row.weight" @keyup.enter.native="addGroup"></el-input>
+              <!-- <span>{{scope.row.weight}}</span>   -->
+            </template>
+          </el-table-column>
+
+          <el-table-column label="是否有效"  align="center" show-overflow-tooltip >
+            <template slot-scope="scope">
+              <!-- <span v-if="scope.row.isValid == 1">有效</span>
+              <span v-if="scope.row.isValid == 0">无效</span> -->
+               <el-select size="small" v-model="scope.row.isValid" @keyup.enter.native="addGroup"  placeholder="请选择是否有效" style="width: 90%" >
+                  <el-option
+                  v-for="item in status"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                  />
+                  </el-select>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="操作"  width="165" min-width="150" align="center">
+              <template slot-scope="scope">
+                 <!-- <el-tooltip class="item" effect="dark" content="编辑分发组" placement="top">
+                   <el-button  type="primary" plain icon="el-icon-edit" circle @click="priceEdie(scope.row,scope.$index,$event)"></el-button>
+                 </el-tooltip> -->
+                 <el-tooltip class="item" effect="dark" content="删除分发组" placement="top">
+                    <el-button type="danger" plain icon="el-icon-delete" circle  @click="priceDelete(scope.row,scope.$index,$event)"></el-button>
+                 </el-tooltip>
+              </template>
+            </el-table-column>
+        </el-table>
+        <el-button class="addGroupButton" type="primary" round plain @click="addGroup(dataForm)">添加分发组</el-button>
+        </div>
+       </el-card>
  
+
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取 消</el-button>
         <el-button type="primary" @click="submitForm">确 定</el-button>
+        <!-- <el-button type="primary" @click="submitForm" :loading="buttonLoading">确 定</el-button> -->
       </div>
     </el-dialog>
+
+    <!-- 添加分发组 -->
+     <!-- <el-dialog :title="group?'分发组新增':'分发组编辑'" :visible.sync="groupVisible" :close-on-click-modal="false" width="45%" center>
+      <el-form ref="infoForm" :model="infoForm" :rules="rules2" label-width="80px" size="small" label-position="right">
+  
+            <el-form-item label="分发组名称" prop="name" :label-width="formLabelWidth"  >
+              <el-input v-model="infoForm.name" placeholder="请输入分发组名称" />
+            </el-form-item>
+
+            <el-form-item label="策略" prop="policy" :label-width="formLabelWidth"  >
+        
+                <el-col :span="12">
+                   <el-input v-model="infoForm.policy" placeholder="请输入策略" />
+                </el-col>
+                <el-col :span="2" style="marginLeft:10px">
+                 <el-tooltip class="item" effect="dark" content="配置通道" placement="top">
+                   <el-button type="primary" plain icon="el-icon-plus" @click ="onwarning" circle > </el-button>
+                 </el-tooltip> 
+                 </el-col>
+            </el-form-item>
+
+            <el-form-item label="运营商" prop="channel" :label-width="formLabelWidth" >
+              <el-select size="small" v-model="infoForm.operator"  placeholder="请选择是否有效" style="width: 100%" >
+                  <el-option
+                  v-for="item in dataOperator"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                  />
+                  </el-select>
+            </el-form-item>
+      
+            <el-form-item label="排序" prop="name" :label-width="formLabelWidth"  >
+              <el-input v-model="infoForm.weight" placeholder="请输入排序" />
+            </el-form-item>
+
+            <el-form-item label="是否有效" prop="channel" :label-width="formLabelWidth" >
+               <el-select size="small" v-model="infoForm.isValid"  placeholder="请选择是否有效" style="width: 100%" >
+                  <el-option
+                  v-for="item in status"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                  />
+                  </el-select>
+            </el-form-item>
+
+      </el-form>
+      <div slot="footer" class="dialogFooter">
+        <el-button @click="groupVisible = false">取 消</el-button>
+        <el-button type="primary" @click="GroupSubmitForm">确 定</el-button>
+      </div>
+    </el-dialog> -->
+
+    <!-- 给分发组添加通道 -->
+    <el-drawer
+      title="通道"
+      style="width:150%"
+      :before-close="handleClose"
+      :visible.sync="GroupDialog"
+      direction="ltr"
+
+      >
+      <div class="demo-drawer__content">
+               <el-table :data="infoForm.channels" >
+                    <el-table-column label="通道名称"  align="center"  show-overflow-tooltip>
+                      <template slot-scope="scope" >
+                        <!-- <el-input v-model="scope.row.channelName" @keyup.enter.native="onAddChannel"></el-input>  channelInfosList -->
+                        <el-select size="small" v-model="scope.row.channelId" filterable  @keyup.enter.native="onAddChannel" style="width: 90%" >
+                        <el-option
+                        v-for="item in channelInfosList"
+                        :key="item.channelId"
+                        :label="item.channelName"
+                        :value="item.channelId"
+                        />
+                        </el-select>
+                      </template>
+                    </el-table-column>
+
+                    <el-table-column label="权重" width="120" align="center" show-overflow-tooltip>
+                      <template slot-scope="scope">
+                        <el-input v-model="scope.row.weight"  @keyup.enter.native="onAddChannel"></el-input>
+             
+                      </template>
+                    </el-table-column>
+
+                    <el-table-column label="操作" width="120"  align="center">
+                        <template slot-scope="scope">
+                          <el-button type="danger" icon="el-icon-delete" plain @click="CardsDelete(scope.row,scope.$index,$event)" circle></el-button>
+                        </template>
+                      </el-table-column>
+               </el-table>
+               <el-button style="width:90%;margin:15px"  type="primary" round plain @click="onAddChannel">添加通道</el-button>
+        <!-- <div class="dialogFooterl">
+          <el-button @click="GroupDialog = false">取 消</el-button>
+          <el-button type="primary"  @click="handleClose">确定</el-button>
+        </div> -->
+      </div>
+    </el-drawer>
     
     </div>
 </template>
 
 <script>
 import api from '@/api/channelGroup.js'
+// import { delete } from 'vuedraggable'
 export default {
     data(){
         return{  
             loading:false,   //表格数据加载
             tableData:[],       //表格数据
+            buttonLoading:false,
             body:{
                 size:10,
                 current:1,
                 groupName:""   //名称搜索
             },
             total:0,
-            dataForm:{},
+            dataForm:{
+              distributeGroups:[
+                {}
+              ]
+            },
+            infoForm:{
+
+            },
             rules2:{},
             operation:false,
+            group:false,
             dialogFormVisible:false,
-            formLabelWidth:"120px"
+            groupVisible:false,
+            GroupDialog:false,
+            formLabelWidth:"120px",
+            dataOperator:[
+              {id:1,name:"移动"},
+              {id:2,name:"联通"},
+              {id:3,name:"电信"},
+            ],
+            dataPolicy:[
+              {
+                id:1,name:"成本优先",
+              },
+              {
+                id:2,name:"成功率"
+              }
+            ],
+             status:[{
+                id:1,
+                name:"有效"
+            },{
+                id:0,
+                name:"无效"
+            }],
+            distribute:[],    //策略
+            channelInfosList:[],     //通道
+            selectref:true
+
         }
     },
     created(){
         this.reLoad()
+        this.distributeGroup()
     },
     methods:{
          // 重载数据
@@ -113,11 +357,195 @@ export default {
             api.channelGroupList(this.body).then((res) => {
                 this.loading = false
                 let list = res.data.data.records
-                // console.log(data)
                 this.tableData = list
                 this.total = res.data.data.total
             })
         },
+        //获取策略
+        distributeGroup(){
+          api.distributeGroup().then((res)=>{
+            this.distribute = res.data.data
+          })
+        },
+
+        //选择策略
+        onpolicy(row){
+          this.selectref = false
+          if(row.distributeGroupId){
+             this.$confirm('此操作将修改策略, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                showClose:false,
+                closeOnClickModal:false,
+                type: 'warning'
+              }).then(() => {
+                 this.selectref = false
+              }).catch(() => {
+                this.selectref = true
+              });
+          }else{
+            this.selectref = true
+          }
+        },
+        inpolicy(row){
+          this.selectref = false
+          if(row.distributeGroupId){
+          this.selectref = true
+          }else{
+            this.selectref = true
+          }
+        },
+        //添加分发组
+        addGroup(row){
+          this.group =true
+          this.groupVisible = true
+          if(this.dataForm.distributeGroups == null){
+            this.dataForm.distributeGroups = []
+          }
+           let object = {
+             channelGroupId:row.channelGroupId,
+             channels:[],
+             isValid:1,
+             name:"",
+             operator:"",
+             policy:"",
+             weight:""
+           }
+            this.dataForm.distributeGroups.push(object)
+          //  this.infoForm = {}
+        },
+        //编辑分发组
+        priceEdie(row){
+          this.group = false
+          this.groupVisible = true
+          this.infoForm = row
+        },
+          //添加分发组
+          // GroupSubmitForm(){
+          //   if(this.group){
+          //     this.dataForm.distributeGroups.push(this.infoForm)
+          //     this.groupVisible = false
+          //   }else{
+          //     this.groupVisible = false
+          //   }
+          // },
+       //策略通道
+        onwarning(row){
+          if(row.operator){
+            this.infoForm = row
+            this.GroupDialog = true
+            const params = new URLSearchParams()
+            params.append('operator', row.operator)
+            api.getAllChannelnfos(params).then((res)=>{
+               this.channelInfosList = res.data.data
+            })
+          }else{
+            this.$message({
+                type: 'error',
+                message: "请先选择运营商"
+            })
+          }
+          // if(this.infoForm.channelInfos == undefined || this.infoForm.channelInfos.length == 0){
+          //   this.infoForm.channelInfos = [
+          //     {
+          //       channelName :"",
+          //       weight:""
+          //     }
+          //   ]
+          // }
+        },
+          handleClose(done) {
+            this.GroupDialog = false
+            // this.$confirm('确定要提交表单吗?')
+            //   .then(_ => {
+            //       this.GroupDialog = false
+            //   })
+            //   .catch(_ => {});
+          },
+          //添加分发组通道
+          onAddChannel(){
+            let object = {
+              channelId :"",
+              weight:""
+            }
+            this.infoForm.channels.push(object)
+          },
+          //删除分发组
+          priceDelete(row,index,e){
+            // row.splice(index,1)
+
+            if(row.distributeGroupId){
+              this.$confirm('是否删除该分发组', '提示', {
+                      confirmButtonText: '确定',
+                      cancelButtonText: '取消',
+                      type: 'warning'
+                    }).then(()=>{
+                        api.distributeGroupDelete(row.distributeGroupId).then((res)=>{
+                            this.dataForm. distributeGroups.splice(index,1)
+                            this.reLoad()
+                            this.$message({
+                                type: 'success',
+                                message: '删除成功'
+                              })
+                          })
+                    }).catch(() => {
+                    this.$message({
+                      type: 'info',
+                      message: '已取消'
+                    });          
+              });
+            }else{
+                this.dataForm.distributeGroups.splice(index,1)
+                this.$message({
+                  type: 'success',
+                  message: '删除成功'
+                })
+            }
+          
+              let target=e.target;
+            if(target.nodeName == 'SPAN' || target.nodeName == 'I'){
+              target = e.target.parentNode;
+            }
+            target.blur(); 
+          },
+          //删除分发组中的通道
+           CardsDelete(row,index,e){
+            let relationId=this.dataForm.relationId
+                if(row.id){
+                   this.$confirm('是否删除该通道', '提示', {
+                      confirmButtonText: '确定',
+                      cancelButtonText: '取消',
+                      type: 'warning'
+                    }).then(()=>{
+                      api.channelnfosdelete(row.id).then((res)=>{
+                        this.reLoad()
+                        this.infoForm.channels.splice(index,1)
+                        this.$message({
+                            type: 'success',
+                            message: '删除成功'
+                          })
+                      })
+                      }).catch(() => {
+                        this.$message({
+                          type: 'info',
+                          message: '已取消'
+                        });          
+                      });
+                      
+                }else{
+                    this.infoForm.channels.splice(index,1)
+                    this.$message({
+                        type: 'success',
+                        message: '删除成功'
+                      })
+                }
+   
+            let target=e.target;
+            if(target.nodeName == 'SPAN' || target.nodeName == 'I'){
+                  target = e.target.parentNode;
+            }
+            target.blur();  
+        },
         //搜索数据
         Search(){
             this.body.current = 1
@@ -125,29 +553,37 @@ export default {
         },
         //新增和修改API
         submitForm(){
-         
+         this.buttonLoading = true
           this.$refs['dataForm'].validate((valid) => {
                   if (valid) {
                     if (!this.operation) {
                         let dataForm = this.dataForm
                       // 编辑
-                      api.channelGroupUpdate(dataForm).then(response => {
-                        if (response.status === 200) {
-                          this.$message({
-                            type: 'success',
-                            message: '操作成功'
+                         this.$confirm('确认是否提交, 是否继续?', '提示', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        // showClose:false,
+                        // closeOnClickModal:false,
+                        type: 'warning'
+                      }).then(() => {
+                          api.channelGroupUpdate(dataForm).then(response => {
+                            this.buttonLoading = false
+                            if (response.status === 200) {
+                              this.$message({
+                                type: 'success',
+                                message: '操作成功'
+                              })
+                              this.dialogFormVisible = false
+                              this.reLoad()
+                            } else {
+                              this.$message({
+                                type: 'error',
+                                message: response.data.msg
+                              })
+                            }
                           })
-                          this.dialogFormVisible = false
-                          this.reLoad()
-                        } else {
-                          this.$message({
-                            type: 'error',
-                            message: response.data.msg
-                          })
-                        }
                       })
                     } else {
-                      console.log(this.dataForm)
                     //   // 添加
                       api.channelGroupAdd(this.dataForm).then(response => {
                         if (response.status === 200) {
@@ -182,6 +618,9 @@ export default {
         handleEdit(row){
            this.operation = false // true:新增, false:编辑
            this.dialogFormVisible = true // 控制弹出框 
+          //  row.distributeGroups = [
+          //    {name:"ck分发组",policy:1,channelInfos:[],operator:2,weight:"99",isValid:1}
+          //  ]
            this.dataForm = JSON.parse(JSON.stringify(row)) 
            if(this.$refs['dataForm']){
                this.$refs['dataForm'].resetFields();
@@ -224,7 +663,6 @@ export default {
         },
         handleCurrentChange: function(val) {
             this.body.current = val
-            console.log(val)
             this.reLoad()
         }
     }
@@ -248,5 +686,30 @@ export default {
     /* margin: 0 auto; */
     padding-bottom: 20px;
     }
+    .el-card {
+    border: 0px solid #e6ebf5;
+    margin-top: 20px;
+    }
+    .dialogFooterl{
+     float: right;
+     margin-top: 35px;
+     margin-right: 35px;
+    }
+    .addGroupButton{
+      width: 80%;
+      margin: 30px 10px 10px 90px;
+      text-align: center;
 
+    }
+      :focus {
+          outline: 0;
+        }
+    .code{
+      position: absolute;
+      top: 0;
+      width: 90%;
+      height: 90%;
+      /* border: 1px solid red; */
+      z-index: 20;
+    }
 </style>

+ 1 - 0
src/views/channel/index.vue

@@ -871,6 +871,7 @@ export default {
             }
             api.supplierDelete(row.id).then((res)=>{
               this.dataForm.bankCards.splice(index,1)
+              this.reLoad()
               this.$message({
                   type: 'success',
                   message: '删除成功'

+ 59 - 17
src/views/orderList/Distribute.vue

@@ -3,7 +3,7 @@
     <div class="filter-container" style="margin: 10px 0 10px 0">
       <div class="flex">
         <div class="w_input">
-          <span class="textSpan"> 订单号:</span>
+          <span class="textSpan">  订单号:</span>
           <el-input
             v-model="body.orderId"
             style="width:65%;"
@@ -37,7 +37,7 @@
       </div>
       <div class="flex">
         <div class="w_input">
-          <span class="textSpan">订单状态:</span>
+          <span class="textSpan"> 订单状态:</span>
           <el-select v-model="body.status" size="small" clearable placeholder="请选择订单状态" style="width: 65%" @change="changeScope">
             <el-option
               v-for="item in status"
@@ -50,12 +50,21 @@
         <div class="w_input">
           <span class="textSpan"> 面额:</span>
           <el-input
-            v-model="flowAmount"
-            style="width:65%;"
-            placeholder="请输入订单号"
-            size="small"
-            clearable
-            @change="changeflow"
+              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">
@@ -71,7 +80,7 @@
       </div>
       <div class="flex">
         <div class="w_input">
-          <span class="textSpan">分发ID号:</span>
+          <span class="textSpan">分发订单号:</span>
           <el-input
             v-model="body.recId"
             style="width:65%;"
@@ -82,7 +91,18 @@
         </div>
 
          <div class="w_input">
-          <span class="textSpan">运营商:</span>
+          <span class="textSpan">通道订单号:</span>
+          <el-input
+            v-model="body.gwSeqNo"
+            style="width:65%;"
+            placeholder="请输入通道订单号"
+            size="small"
+            clearable
+          />
+        </div>
+
+         <div class="w_input">
+          <span class="textSpan"> 运营商:</span>
           <el-select v-model="body.phoneOperator" size="small" clearable placeholder="请选择运营商" style="width: 65%" @change="changeoperator">
             <el-option
               v-for="item in mobileOperator"
@@ -96,7 +116,7 @@
       </div>
       <div class="flex">
         <div class="w_date" >
-          <span class="textSpan">发送时间:</span>
+          <span class="textSpan"> 发送时间:</span>
           <el-date-picker
             v-model="applyDateStart"
             size="small"
@@ -257,6 +277,7 @@ export default {
       applyDateStart: '', // 发送时间
       checkTimeStart: '', // 回调时间
       flowAmount: '', // 面额乘以10000
+      flowAmount1: '', // 面额乘以10000
       body: {
         orderId: '',
         channelName:'',
@@ -343,10 +364,18 @@ export default {
       console.log(this.phone)
     },
     // 搜索面额
-    changeflow() {
-      const flow = this.flowAmount
-      // let body=this.body.flowAmount;
-      this.body.flowAmount = flow //* 10000
+    // changeflow() {
+    //   const flow = this.flowAmount
+    //   // let body=this.body.flowAmount;
+    //   this.body.flowAmount = flow //* 10000
+    // },
+     //清除面额
+    changeflow(flow) {
+      this.flowAmount = "";
+    },
+    //清除面额
+    changeflow1(flow) {
+      this.flowAmount1 = "";
     },
     // 搜索发送时间
     oncustom() {
@@ -384,8 +413,21 @@ export default {
         this.body.checkTimeStart = ''
         this.body.checkTimeEnd = ''
       }
-      if (this.flowAmount == null || this.flowAmount == 0) { // 面额
-        this.body.flowAmount = ''
+      //面额前后为空判断
+      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()

+ 1 - 1
src/views/orderList/blackList.vue

@@ -56,7 +56,7 @@
       <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
  
             <el-form-item label="手机号" prop="phoneNo" :label-width="formLabelWidth"  style="width:420px;margin:15px auto">
-              <el-input v-model="dataForm.phoneNo" placeholder="请输入通道组名称" />
+              <el-input v-model="dataForm.phoneNo" placeholder="请输入手机号" />
             </el-form-item>
             <el-form-item label="备注" prop="groupName" :label-width="formLabelWidth"  style="width:420px;margin:15px auto">
               <el-input  type="textarea" :autosize="{ minRows: 2, maxRows: 4}" v-model="dataForm.note" placeholder="请输入备注" />

+ 689 - 529
src/views/orderList/index.vue

@@ -1,230 +1,296 @@
 <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 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 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
-                    />
-            </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"
+          </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
                 />
-            </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">
+            <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="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>
+            <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
-                      type="textarea"
-                      v-model="body.phoneNo"
-                      :autosize="{ minRows: 1.1, maxRows: 5}"
-                      class="phone"
+                      v-model="flowAmount"
+                      @clear="changeflow(flowAmount)"
+                      style="width:26%"
+                      placeholder="请输入面额"
                       size="small"
-                      placeholder="请输入手机号"
                       clearable
-                      >
-                    </el-input>
-
-            </div>
-        </div>
-          <div class="flexend">
-            <el-button class="black-item" size="small" type="black_button" icon="el-icon-warning-outline"   @click="handleResetBlack">黑名单
-            </el-button>
-            <el-button class="filter-item" size="small" type="info" icon="el-icon-edit"  plain @click="handleReset">置重发
-            </el-button>
-            <el-button class="filter-item" size="small" type="warning" icon="el-icon-message" plain @click="handleReset">置回调
-            </el-button>
-           
-            <el-button class="filter-item" size="small" icon="el-icon-delete" type="danger" plain @click="handleReset">置失败
-            </el-button>
-            <el-button class="filter-item" size="small" type="warning" icon="el-icon-check" plain @click="handleReset">置成功
-            </el-button>
-            <el-button class="filter-item" size="small" type="success" icon="el-icon-check" plain @click="handleReset">补单
-            </el-button>
-            
-             <el-button class="classitem" size="small" style="marginRight:50px"  type="primary" plain  icon="el-icon-star-off"  @click="handleReset">导出
-            </el-button>
-            <el-button class="filter-item" size="small" icon="el-icon-search" type="primary" plain @click="handleSearch">搜索</el-button>
+                  />
+                  <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>
+                    <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
+          class="black-item"
+          size="small"
+          type="black_button"
+          icon="el-icon-warning-outline"
+          @click="handleResetBlack"
+          >黑名单
+        </el-button>
+        <el-button
+          class="filter-item"
+          size="small"
+          type="info"
+          icon="el-icon-edit"
+          plain
+          @click="handleReseted(7)"
+          >置重发
+        </el-button>
+        <el-button
+          class="filter-item"
+          size="small"
+          type="warning"
+          icon="el-icon-message"
+          plain
+          @click="handleReset"
+          >置回调
+        </el-button>
+
+        <el-button
+          class="filter-item"
+          size="small"
+          icon="el-icon-delete"
+          type="danger"
+          plain
+          @click="handleReseted(4)"
+          >置失败
+        </el-button>
+        <el-button
+          class="filter-item"
+          size="small"
+          type="warning"
+          icon="el-icon-check"
+          plain
+          @click="handleReseted(6)"
+          >置成功
+        </el-button>
+        <el-button
+          class="filter-item"
+          size="small"
+          type="success"
+          icon="el-icon-check"
+          plain
+          @click="handleReset"
+          >补单
+        </el-button>
+
+        <el-button
+          class="classitem"
+          size="small"
+          style="marginRight:50px"
+          type="primary"
+          plain
+          icon="el-icon-star-off"
+          @click="handleReset"
+          >导出
+        </el-button>
+        <el-button
+          class="filter-item"
+          size="small"
+          icon="el-icon-search"
+          type="primary"
+          plain
+          @click="handleSearch"
+          >搜索</el-button
+        >
+      </div>
     </div>
-    <el-table v-loading="loading" :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="40"/>
+    <el-table
+      v-loading="loading"
+      :data="tableData"
+      border
+      style="width: 100%"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column type="selection" width="40" />
 
-      <el-table-column label="订单号" width="120" align="center" show-overflow-tooltip>
+      <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"
@@ -247,35 +313,46 @@
         </template>
       </el-table-column>
       <el-table-column
-      label="产品ID"
+        label="产品ID"
         width="100"
         align="center"
         prop="createTime"
         show-overflow-tooltip
       >
-         <template slot-scope="scope">
-           <span>{{scope.row.packageId}}</span>
-         </template>
+        <template slot-scope="scope">
+          <span>{{ scope.row.packageId }}</span>
+        </template>
       </el-table-column>
 
-       <el-table-column label="手机号码" width="110" align="center" show-overflow-tooltip>
+      <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
+      <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 === 3" size="small">电信</el-tag>
-            <el-tag v-if="scope.row.phoneOperator === 1" size="small">移动</el-tag>
-            <el-tag v-if="scope.row.phoneOperator === 2" size="small">联通</el-tag>
+          <el-tag v-if="scope.row.phoneOperator === 3" size="small"
+            >电信</el-tag
+          >
+          <el-tag v-if="scope.row.phoneOperator === 1" size="small"
+            >移动</el-tag
+          >
+          <el-tag v-if="scope.row.phoneOperator === 2" size="small"
+            >联通</el-tag
+          >
         </template>
       </el-table-column>
       <el-table-column
@@ -290,36 +367,46 @@
         </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.applyDate}}</span>
-         </template>
+      <el-table-column
+        label="发送时间"
+        width="170"
+        align="center"
+        show-overflow-tooltip
+      >
+        <template slot-scope="scope">
+          <i class="el-icon-time"></i>
+          <span>{{ scope.row.applyDate }}</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.callbackTime" class="el-icon-time"></i>
-           <span>{{ scope.row.callbackTime}}</span>
-         </template>
+      <el-table-column
+        label="回调时间"
+        width="170"
+        align="center"
+        show-overflow-tooltip
+      >
+        <template slot-scope="scope">
+          <i v-if="scope.row.callbackTime" class="el-icon-time"></i>
+          <span>{{ scope.row.callbackTime }}</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">
-            <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
+      <el-table-column
         label="用时"
         width="90"
         align="center"
@@ -330,7 +417,7 @@
           <span>{{ scope.row.usedTime }}</span>
         </template>
       </el-table-column>
-           <el-table-column
+      <el-table-column
         label="回调状态"
         width="90"
         align="center"
@@ -339,11 +426,15 @@
       >
         <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-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"
@@ -354,330 +445,399 @@
         <template slot-scope="scope">
           <span>{{ scope.row.channelName }}</span>
         </template>
-         </el-table-column>
-      <el-table-column label="客户订单号" width="120" align="center" show-overflow-tooltip>
+      </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>
+      </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>
 
-      <el-table-column label="通道错误代码" width="120" align="center" show-overflow-tooltip>
+      <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>
+      </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-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>
+      <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 api from '@/api/blackList.js'
-import { ordersearch } from '@/api/orderList'
+import api from "@/api/blackList.js";
+import { ordersearch, setOrderStatus } from "@/api/orderList";
 export default {
   data() {
     return {
-      Name: '',
+      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,
+      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:[
+      total: 0, //总数据
+      loading: false,
+      status: [
         // 1-待充值 2-充值中  3-重发  4-失败  6-成功
-        { id: 1, name: '待充值' },
-        { id: 2, name: '充值中' },
-        { id: 3, name: '重发' },
-        { id: 4, name: '失败' },
-        { id: 6, name: '成功' },
+        { id: 1, name: "待充值" },
+        { id: 2, name: "充值中" },
+        { id: 3, name: "重发" },
+        { id: 4, name: "失败" },
+        { id: 6, name: "成功" }
       ],
-      mobileOperator:[
-          {id:1,name:"移动"},
-          {id:2,name:"联通"},
-          {id:3,name:"电信"},
+      mobileOperator: [
+        { id: 1, name: "移动" },
+        { id: 2, name: "联通" },
+        { id: 3, name: "电信" }
       ],
-      dealFlag:[
-        {id:"6",name:"成功"},        
-        {id:"4",name:"失败"},
-      ],
-      ArryList:[],
-    }
+      dealFlag: [{ id: "6", name: "成功" }, { id: "4", name: "失败" }],
+      ArryList: []
+    };
   },
-  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()
+  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.callbackTime != null && res.callbackTime != ""){
-                let limitedDate = res.applyDate
-                let lastModifyDate =res.callbackTime
-                 //发送时间 减去  回调时间
-                 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
-                console.log(limitedDate)
-                console.log(lastModifyDate)
-                console.log(used)
-             }
-             return res
-          })
-          this.tableData=arry
-          // console.log(arry)
-          this.total=res.data.data.total
-          // console.log(res.data.data.records)
-        })
+    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;
+        console.log(res.data);
+        let arry = tableData.map(res => {
+          if (res.callbackTime != null && res.callbackTime != "") {
+            let limitedDate = res.applyDate;
+            let lastModifyDate = res.callbackTime;
+            //发送时间 减去  回调时间
+            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;
+            console.log(limitedDate);
+            console.log(lastModifyDate);
+            console.log(used);
+          }
+          return res;
+        });
+        this.tableData = arry;
+        // console.log(arry)
+        this.total = res.data.data.total;
+        // console.log(res.data.data.records)
+      });
     },
     //多选
-    handleSelectionChange(row){
-      this.ArryList = row
+    handleSelectionChange(row) {
+      this.ArryList = row;
+      console.log(row);
     },
     //搜索手机号
-    onphon(){
-      console.log(this.phone)
+    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();
     },
-      //清除面额
-      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()
-      },
-      //黑名单
-      handleResetBlack(){
-        let arry = this.ArryList
-        let arryList = []
-            arry.map(res=>{
-                let phoneNo = {phoneNo:res.phoneNo,note:"黑名单"}
-                arryList.push(phoneNo)
-            })
-             console.log(arryList)
-             let that = this
-            that.$confirm('此操作将该手机号拉入黑名单', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            })
-            .then(() => {
-                api.add(arryList).then((res)=>{
-                     if (res.status === 200) {
-                        that.$message({
-                            type: 'success',
-                            message: '成功拉入黑名单'
-                        })
-                        that.getTenantList()
-                     } else {
-                        that.$message({
-                            type: 'error',
-                            message: res.msg
-                        })
-                     }
-                })
-            })    
-      },
-      //
-      handleReset(){
+    //黑名单
+    handleResetBlack() {
+      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
+              });
+            }
+          });
+        });
+    },
 
-      },
-      //分页
-      handleSizeChange:function(val){
-        this.body.size=val
-        this.getTenantList()
-      },
-       // 换页
-    handleCurrentChange: function(val) {
-      this.body.page = val
-      this.getTenantList()
+    //置失败--4  或者  成功--6  重发---7
+    handleReseted(i) {
+      let arry = this.ArryList;
+      let that = this;
+      //定义一个空数组,存放 置状态的数据
+      let arryList = [];
+      let status = i;
+      arry.map(res => {
+        // console.log(res);
+        let orderId = res.orderId;
+        arryList.push(orderId);
+      });
+      //定义一个变量,代替成功和失败文字
+      let msg = "";
+      if (i == 4) {
+        msg = "失败";
+      } else if (i == 6) {
+        msg = "成功";
+      } else if (i == 7) {
+        msg = "重发";
+      }
+      let oderArry = {
+        orderIds: arryList,
+        status: status
+      };
+      that
+        .$confirm(`此操作将该订单置为${msg}状态`, "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+        .then(() => {
+          setOrderStatus(oderArry).then(res => {
+            if (res.status == 200) {
+              that.$message({
+                type: "success",
+                message: `已置为${msg}状态`
+              });
+              that.getTenantList();
+            } else {
+              that.$message({
+                type: "error",
+                message: res.msg
+              });
+            }
+          });
+        });
     },
-  },
-}
+    //
+    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{
+.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;
  } */
- .black-item{
-    background: #19191b25;
-    color: rgba(22, 22, 22, 0.651);
-    border: 1px solid #2d2d361e;
- }
- .black-item:hover{
-    background: #2d2d36d0;
-    color: rgb(255, 255, 255);
-    border: 1px solid #2d2d3663;
- }
- .black-item:focus{
-    background: #2d2d36d0;
-    color: rgb(255, 251, 255);
-    border: 1px solid #2d2d3663;
- }
+.black-item {
+  background: #19191b25;
+  color: rgba(22, 22, 22, 0.651);
+  border: 1px solid #2d2d361e;
+}
+.black-item:hover {
+  background: #2d2d36d0;
+  color: rgb(255, 255, 255);
+  border: 1px solid #2d2d3663;
+}
+.black-item:focus {
+  background: #2d2d36d0;
+  color: rgb(255, 251, 255);
+  border: 1px solid #2d2d3663;
+}
 </style>

+ 692 - 0
src/views/orderList/index1.vue

@@ -0,0 +1,692 @@
+<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.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">
+                <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>
+                     <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 class="black-item" size="small" type="black_button" icon="el-icon-warning-outline"   @click="handleResetBlack">黑名单
+            </el-button>
+            <el-button class="filter-item" size="small" type="info" icon="el-icon-edit"  plain @click="handleReset">置重发
+            </el-button>
+            <el-button class="filter-item" size="small" type="warning" icon="el-icon-message" plain @click="handleReset">置回调
+            </el-button>
+           
+            <el-button class="filter-item" size="small" icon="el-icon-delete" type="danger" plain @click="handleReset">置失败
+            </el-button>
+            <el-button class="filter-item" size="small" type="warning" icon="el-icon-check" plain @click="handleReset">置成功
+            </el-button>
+            <el-button class="filter-item" size="small" type="success" icon="el-icon-check" plain @click="handleReset">补单
+            </el-button>
+            
+             <el-button class="classitem" size="small" style="marginRight:50px"  type="primary" plain  icon="el-icon-star-off"  @click="handleReset">导出
+            </el-button>
+            <el-button class="filter-item" size="small" icon="el-icon-search" type="primary" plain @click="handleSearch">搜索</el-button>
+          </div>
+    </div>
+    <el-table v-loading="loading" :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange">
+      <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 === 3" size="small">电信</el-tag>
+            <el-tag v-if="scope.row.phoneOperator === 1" size="small">移动</el-tag>
+            <el-tag v-if="scope.row.phoneOperator === 2" 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.applyDate}}</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.callbackTime" class="el-icon-time"></i>
+           <span>{{ scope.row.callbackTime}}</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 api from '@/api/blackList.js'
+import { ordersearch,setOrderStatus } 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:[
+        // 1-待充值 2-充值中  3-重发  4-失败  6-成功
+        { id: 1, name: '待充值' },
+        { id: 2, name: '充值中' },
+        { id: 3, name: '重发' },
+        { id: 4, name: '失败' },
+        { id: 6, name: '成功' },
+      ],
+      mobileOperator:[
+          {id:1,name:"移动"},
+          {id:2,name:"联通"},
+          {id:3,name:"电信"},
+      ],
+      dealFlag:[
+        {id:"6",name:"成功"},        
+        {id:"4",name:"失败"},
+      ],
+      ArryList:[],
+    }
+  },
+  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.callbackTime != null && res.callbackTime != ""){
+                let limitedDate = res.applyDate
+                let lastModifyDate =res.callbackTime
+                 //发送时间 减去  回调时间
+                 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
+                console.log(limitedDate)
+                console.log(lastModifyDate)
+                console.log(used)
+             }
+             return res
+          })
+          this.tableData=arry
+          // console.log(arry)
+          this.total=res.data.data.total
+          // console.log(res.data.data.records)
+        })
+    },
+    //多选
+    handleSelectionChange(row){
+      this.ArryList = row
+    },
+    //搜索手机号
+    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()
+      },
+      //黑名单
+      handleResetBlack(){
+        let arry = this.ArryList
+        let arryList = []
+            arry.map(res=>{
+                let phoneNo = {phoneNo:res.phoneNo,note:"黑名单"}
+                arryList.push(phoneNo)
+            })
+             console.log(arryList)
+             let that = this
+            that.$confirm('此操作将该手机号拉入黑名单', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            })
+            .then(() => {
+                api.add(arryList).then((res)=>{
+                     if (res.status === 200) {
+                        that.$message({
+                            type: 'success',
+                            message: '成功拉入黑名单'
+                        })
+                        that.getTenantList()
+                     } else {
+                        that.$message({
+                            type: 'error',
+                            message: res.msg
+                        })
+                     }
+                })
+            })    
+      },
+      //
+      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;
+ } */
+ .black-item{
+    background: #19191b25;
+    color: rgba(22, 22, 22, 0.651);
+    border: 1px solid #2d2d361e;
+ }
+ .black-item:hover{
+    background: #2d2d36d0;
+    color: rgb(255, 255, 255);
+    border: 1px solid #2d2d3663;
+ }
+ .black-item:focus{
+    background: #2d2d36d0;
+    color: rgb(255, 251, 255);
+    border: 1px solid #2d2d3663;
+ }
+</style>

+ 63 - 5
src/views/userList/access.vue

@@ -154,13 +154,55 @@
         </el-row>
 
         <el-row :gutter="20">
+          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
+           <el-form-item label="是否二次回调" :label-width="formLabelWidth"  >
+            <el-select size="small"  value-key="relationId" filterable v-model="dataForm.secondCallback" clearable placeholder="请选择" style="width: 100%" >
+                    <el-option
+                    v-for="item in secondCallback"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                    />
+                </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
+           <el-form-item label="Ip白名单" :label-width="formLabelWidth"  >
+            <el-input v-model="dataForm.ipAddress" />
+            </el-form-item>
+          </el-col>
+         
+
+        </el-row>
+
+        <el-row :gutter="20" v-for="element in dataForm.ipWhiteListList" :key="element.id" > 
             <el-col :span="12">
                 <el-form-item label="Ip地址" :label-width="formLabelWidth">
-                    <el-input   type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="dataForm.ipAddress"></el-input>
+                    <el-input  v-model="element.ipAddr"></el-input>                     
+                </el-form-item>
+               
+            </el-col>
+         
+             <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
+            <el-form-item label="Ip描述" :label-width="formLabelWidth"  >
+                <el-input  type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="element.des" />
                 </el-form-item>
+            </el-col>  
+            <el-col :span="1" class="icon-list__tips">
+            <el-tooltip placement="top" effect="light" style="padding: 10px; 0 0 0">
+            <div slot="content">
+                <p>Ip地址与Ip描述:</p>
+                <p>其中不能有为空的操作!!!</p>
+                </div>
+            <i class="el-icon-warning" />
+            </el-tooltip>
             </el-col>
         </el-row>
-      
+        <el-row :gutter="20" > 
+             <div style="width:100%" >
+                   <el-button class="addGroupButton" type="primary" round plain @click="addGroup()">添加IP</el-button>
+             </div>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取 消</el-button>
@@ -215,7 +257,11 @@ export default {
                id:0,
                name:"无效"
            }],
-           channelGroupId:""
+           channelGroupId:"",
+           secondCallback:[
+               {id:0,name:"不支持"},
+               {id:1,name:"支持"}
+           ]
         }
     },
     created() {
@@ -241,6 +287,14 @@ export default {
             this.body.current = 1
             this.loadData()
         },
+        //添加ip
+        addGroup(){
+            let ipWhiteListList = {
+                ipAddr:"",
+                des:""
+            }
+            this.dataForm.ipWhiteListList.push(ipWhiteListList)
+        },
         ModifyStatus(row,i){
             this.$confirm('是否修改 '+row.customerName+' 的状态', '提示', {
                 confirmButtonText: '确定',
@@ -335,6 +389,10 @@ export default {
 }
 </script>
 
-<style>
-
+<style scoped>
+    .addGroupButton{
+         width: 80%;
+      margin: 0px 10px 10px 90px;
+      text-align: center;
+    }
 </style>

+ 40 - 7
src/views/userList/account.vue

@@ -11,10 +11,14 @@
         </el-option>
       </el-select>
         <el-button class="filter-item" icon="el-icon-search" type="primary" plain @click="Search">搜索</el-button>
-        <el-button class="classitem" style="marginRight:50px" type="primary" plain icon="el-icon-plus" @click="handlerAdd">加款</el-button>
       </div>
       <!-- 列表 -->
       <el-table v-loading="loading" :data="tableData" border style="width: 100%">
+        <el-table-column label="序号" width="60" align="center">
+                <template slot-scope="scope">
+                <span>{{ scope.$index + 1 }}</span>
+                </template>
+            </el-table-column>
           <el-table-column label="客户" width="120" align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                   <el-button type="text" @click="hookLook(scope.row)">{{ scope.row.customerName }}</el-button>
@@ -25,6 +29,23 @@
                   <span>{{ scope.row.amount / 10000 }}</span>
                 </template>
               </el-table-column>
+                <el-table-column label="帐号余额" align="center" show-overflow-tooltip>
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.balance }}</span>
+                  </template>
+                </el-table-column>
+
+                <el-table-column label="授信额度" align="center" show-overflow-tooltip>
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.creditAmount }}</span>
+                  </template>
+                </el-table-column>
+
+                <el-table-column label="当前费用" align="center" show-overflow-tooltip>
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.currentAmount }}</span>
+                  </template>
+                </el-table-column>
                 <el-table-column label="出款账户" width="110"  align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                   <span>{{ scope.row.paymentAccount }}</span>
@@ -63,15 +84,16 @@
               </el-table-column>
            
               
-              <el-table-column label="加款时间" width="120" align="center" show-overflow-tooltip>
+              <el-table-column label="加款时间" width="190" align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                   <span>{{ scope.row.time }}</span>
                 </template>
               </el-table-column>
             
 
-              <el-table-column label="操作" fixed="right" width="200" align="center">
+              <el-table-column label="操作" fixed="right" min-width="300" align="center">
                 <template slot-scope="scope">
+                  <el-button size="small" class="classitem" type="primary" plain icon="el-icon-plus" @click="handlerAdd(scope.row)">加款</el-button>
                   <el-button size="small" icon="el-icon-edit" type="warning" plain @click="handleEdit(scope.row)">修改</el-button>
                   <el-button size="small" icon="el-icon-edit" type="danger" v-if="scope.row.undo == 0" plain @click="handleRevocation(scope.row)">撤销</el-button>
                 </template>
@@ -80,7 +102,7 @@
         <!-- 新增加款 -->
       <el-dialog :title="operation?'新增加款':'编辑加款'" :visible.sync="dialogFormVisible" width="55%" center>
         <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
-              <el-form-item label="客户" prop="cardNo" :label-width="formLabelWidth"  >
+              <el-form-item label="客户" prop="relationId" :label-width="formLabelWidth"  >
                 <el-select v-model="dataForm.relationId" :disabled="!operation" filterable @change="onclick(dataForm.relationId)"  clearable  placeholder="请选择客户" style="width:100%">
                   <el-option
                     v-for="item in userList"
@@ -239,7 +261,9 @@ export default {
         type:"customer"
       },
       rules2:{
-            phoneNo: [{ required: true, message: '请输入手机', trigger: 'blur' } ],
+            relationId: [{ required: true, message: '请选择客户', trigger: 'blur' } ],
+            cardNo: [{ required: true, message: '请选择银行卡', trigger: 'blur' } ],
+            amount: [{ required: true, message: '请输入加款', trigger: 'blur' } ],
       },
       userList:[],
       operation:false,
@@ -268,6 +292,9 @@ export default {
     //选择客户出发银行卡
     onclick(row){
       this.bankcardURL(row)
+       this.dataForm.account = ""
+      this.dataForm.bankDeposit = ""
+      this.dataForm.cardNo = ""
     },
     //银行卡
     bankcardURL(row){
@@ -325,10 +352,16 @@ export default {
       this.dataFormVisible = true
     },
     //新增
-    handlerAdd(){
+    handlerAdd(row){
       this.operation = true // true:新增, false:编辑
             this.dialogFormVisible = true // 控制弹出框
-            this.dataForm = {}
+            let list = JSON.parse(JSON.stringify(row))
+            this.bankcardURL(list.relationId)
+            console.log(list)
+            this.dataForm = list
+            this.dataForm.amount = ""       //加款钱
+            this.dataForm.certificate = ""  //凭证
+            this.dataForm.paymentAccount = ""  //出款账户
             this.imgurl = ""
             this.fileList=[]   //图片
             this.cardNo = ""

+ 120 - 32
src/views/userList/index.vue

@@ -5,8 +5,8 @@
       <!-- <el-input v-model="body.customerName" style="width:200px;" placeholder="客户名称" size="small" clearable /> -->
        <el-select v-model="body.customerName" filterable  clearable  placeholder="请选择">
         <el-option
-          v-for="item in userList"
-          :key="item.customerName"
+          v-for="item in userDataList"
+          :key="item.customerId"
           :label="item.customerName"
           :value="item.customerName">   
         </el-option>
@@ -41,7 +41,8 @@
 
       <el-table-column label="客户简称" align="center" show-overflow-tooltip>
         <template slot-scope="scope">
-          <el-button type="text" @click="productLook(scope.row)">{{ scope.row.shorterName }}</el-button>
+          <span type="text" >{{ scope.row.shorterName }}</span>
+          <!-- <el-button type="text" @click="productLook(scope.row)">{{ scope.row.shorterName }}</el-button> -->
         </template>
       </el-table-column>
 
@@ -180,8 +181,16 @@
                       </el-form-item>
                     </el-col>
                     <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
-                        <el-form-item label="合作伙伴ID" :label-width="formLabelWidth"  >
-                          <el-input v-model="dataForm.partnerId"  />
+                        <el-form-item label="合作伙伴" :label-width="formLabelWidth"  >
+                          <!-- <el-input v-model="dataForm.partnerId"  /> -->
+                          <el-select v-model="dataForm.partnerId" size="small" >
+                            <el-option
+                              v-for="item in onuserList"
+                              :key="item.partnerId"
+                              :label="item.partnerName"
+                              :value="item.partnerId"
+                            />
+                          </el-select>
                         </el-form-item>
                     </el-col>
                     <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
@@ -199,17 +208,18 @@
                     </el-col>
                   </el-row>
                     <el-row :gutter="20">
-                    <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
-                      <!-- <el-form-item label="是否有效" :label-width="formLabelWidth"  >
-                       <el-select size="small"  v-model="dataForm.status">
-                        <el-option
-                        v-for="item in status"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id"
-                        />
-                        </el-select>
-                      </el-form-item> -->
+                       <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="8">
+                        <el-form-item label="登录用户" :label-width="formLabelWidth"  >
+                          <!-- <el-input v-model="dataForm.partnerId"  /> -->
+                          <el-select v-model="dataForm.userId" size="small" >
+                            <el-option
+                              v-for="item in onList"
+                              :key="item.userId"
+                              :label="item.username"
+                              :value="item.userId"
+                            />
+                          </el-select>
+                        </el-form-item>
                     </el-col>
                   </el-row>
       
@@ -442,6 +452,60 @@
                   </el-table>
                   </div>
                 </el-card>
+                <!-- 查看产品 -->
+                <el-card  shadow="hover" >
+                  <div slot="header" class="clearfix">
+                    <span class="topClass">客户产品信息</span>
+                    <!-- <el-button style="float: right;" type="primary" plain @click="addCards(dataForm.supplierId)">添加银行卡</el-button> -->
+                  </div>
+                  <div>
+                    <!-- 查看产品 -->
+                      <el-table  ref="multipleTable" :data="channelProductInfos" >
+  
+
+                        <el-table-column label="产品Id" align="center" width="100"  show-overflow-tooltip>
+                          <template slot-scope="scope" >
+                            <!-- <el-input v-model="scope.row.packageId"></el-input> -->
+                            <span>{{ scope.row.packageId }}</span>
+                          </template>
+                        </el-table-column>
+
+                        <el-table-column label="客户产品名称" align="center" show-overflow-tooltip>
+                          <template slot-scope="scope" >
+                            <!-- <el-input  v-model="scope.row.channelProductName"></el-input> -->
+                            <span >{{ scope.row.productName }}</span>  
+                          </template>
+                        </el-table-column>
+
+                        <el-table-column label="面额"  width="100" align="center" show-overflow-tooltip>
+                          <template slot-scope="scope" >
+                            <!-- <el-input  v-model="scope.row.price"></el-input> -->
+                            <span >{{ scope.row.facePrice  }}</span>  
+                          </template>
+                        </el-table-column>
+                        <el-table-column label="结算价格"  align="center" show-overflow-tooltip>
+                          <template slot-scope="scope" >
+                            <!-- <el-input  v-model="scope.row.price"></el-input> -->
+                            <span >{{ scope.row.price }}</span>  
+                          </template>
+                        </el-table-column>
+                        <el-table-column label="折扣"  align="center" show-overflow-tooltip>
+                          <template slot-scope="scope" >
+                            <!-- <div v-if="scope.row.disCount" >{{ ((scope.row.disCount ) * 100).toFixed(2)}}  </div>   -->
+                            <div v-if="scope.row.disCount" >{{ parseFloat(scope.row.disCount * 100).toFixed(4)}}  %</div>  
+                            <!-- <el-input  v-model="scope.row.price"></el-input> -->
+                          </template>
+                        </el-table-column>
+
+                        <el-table-column label="是否有效"  align="center" show-overflow-tooltip >
+                          <template slot-scope="scope" >
+                            <span v-if="scope.row.isEffective == 0">无效</span>
+                            <span v-if="scope.row.isEffective == 1">有效</span>
+                          </template>
+                        </el-table-column>
+                        </el-table>
+                  </div>
+                </el-card>
           </el-form>
           <div slot="footer" class="dialog-footer">
             <el-button @click="dialogFormLook = false">取 消</el-button>
@@ -450,42 +514,36 @@
         </el-dialog>
 
         <!-- 查看产品 -->
-        <el-dialog :title="productData.customerName+' 产品'" width="85%" :visible.sync="LookProduct" center>
-          <!-- 添加 -->
+        <!-- <el-dialog :title="productData.customerName+' 产品'" width="85%" :visible.sync="LookProduct" center>
+       
           <el-table  ref="multipleTable" :data="channelProductInfos" >
   
 
           <el-table-column label="产品Id" align="center" width="100"  show-overflow-tooltip>
             <template slot-scope="scope" >
-              <!-- <el-input v-model="scope.row.packageId"></el-input> -->
               <span>{{ scope.row.packageId }}</span>
             </template>
           </el-table-column>
 
           <el-table-column label="客户产品名称" align="center" show-overflow-tooltip>
             <template slot-scope="scope" >
-              <!-- <el-input  v-model="scope.row.channelProductName"></el-input> -->
               <span >{{ scope.row.productName }}</span>  
             </template>
           </el-table-column>
 
           <el-table-column label="面额"  width="100" align="center" show-overflow-tooltip>
             <template slot-scope="scope" >
-              <!-- <el-input  v-model="scope.row.price"></el-input> -->
               <span >{{ scope.row.facePrice  }}</span>  
             </template>
           </el-table-column>
           <el-table-column label="结算价格"  align="center" show-overflow-tooltip>
             <template slot-scope="scope" >
-              <!-- <el-input  v-model="scope.row.price"></el-input> -->
               <span >{{ scope.row.price }}</span>  
             </template>
           </el-table-column>
           <el-table-column label="折扣"  align="center" show-overflow-tooltip>
             <template slot-scope="scope" >
-              <!-- <div v-if="scope.row.disCount" >{{ ((scope.row.disCount ) * 100).toFixed(2)}}  </div>   -->
               <div v-if="scope.row.disCount" >{{ parseFloat(scope.row.disCount * 100).toFixed(4)}}  %</div>  
-              <!-- <el-input  v-model="scope.row.price"></el-input> -->
             </template>
           </el-table-column>
 
@@ -500,7 +558,7 @@
             <el-button @click="LookProduct = false">取 消</el-button>
             <el-button type="primary" @click="LookProduct = false">确 定</el-button>
           </div>
-        </el-dialog>
+        </el-dialog> -->
 
         <!-- 添加产品 -->
         <el-dialog :title="productData.customerName+' 产品'" width="85%" :visible.sync="productShow" center>
@@ -723,12 +781,15 @@ export default {
       value:[],
       batch:[],          //批量所选的数据
       channelProductInfos:[],  //添加产品列表
-      userList:[]
+      userDataList:[],
+      onuserList:[],
+      onList:[]
     }
   },
   created() {
     this.getTenantList()
-    this.user()
+    this.inuserList()
+    this.inList()
   },
   methods: {
     //客户名称
@@ -737,7 +798,7 @@ export default {
       let user = "{customerName}"
       api.account.userList(user).then((res) => {
         this.loading =false
-        let userList = res.data.data
+        let userDataList = res.data.data
         // userList.map((res)=>{
         //   // let user = {
         //   //   relationId:res.customerId,
@@ -747,7 +808,17 @@ export default {
         //   delete res.customerId
         //   return res
         // })
-        this.userList = userList
+        this.userDataList = userDataList
+      })
+    },
+    inList(){
+      api.index.userLlist(2).then((res)=>{
+        this.onList = res.data.data
+      })
+    },
+    inuserList(){
+      api.index.userLlist(3).then((res)=>{
+        this.onuserList = res.data.data
       })
     },
     //新增弹框
@@ -768,9 +839,9 @@ export default {
       }
       let newObj=JSON.parse(JSON.stringify(row))
       this.dataForm = newObj
-       if(this.$refs['dataForm']){
-            this.$refs['dataForm'].resetFields();
-        }
+      if(this.$refs['dataForm']){
+          this.$refs['dataForm'].resetFields();
+      }
     },
     ModifyDelete(row) {
       this.$confirm('此操作将删除客户:' + row.customerName, '提示', {
@@ -808,6 +879,7 @@ export default {
         this.tableData = res.data.data.records
         this.total = res.data.data.total
       })
+      this.user()
     },
     //获取产品信息
     AddProduct(row){
@@ -839,6 +911,20 @@ export default {
             }
             let newObj=JSON.parse(JSON.stringify(row))
             this.dataForm = newObj
+             this.productData = row
+              let info={
+                customerId:row.customerId,
+                type: 1,     // 1:话费   
+              }
+              api.index.paroductDetails(info).then((res)=>{
+                let list = res.data.data
+                list.map((res)=>{
+                            res.price = (res.price / 10000).toFixed(4)
+                            res.facePrice = res.facePrice / 10000
+                          return res
+                        })
+                this.channelProductInfos = list
+              })
         },
      //查看产品
      productLook(row){
@@ -969,6 +1055,7 @@ export default {
                   }
                   api.index.supplierDelete(row.id).then((res)=>{
                     this.dataForm.bankCards.splice(index,1)
+                    this.getTenantList()
                     this.$message({
                         type: 'success',
                         message: '删除成功'
@@ -1044,6 +1131,7 @@ export default {
           if(row.customerProductId){
             api.index.delectCustomer(row.customerProductId).then((res)=>{
              this.channelProductInfos.splice(index,1)
+             this.getTenantList()
               this.$message({
                   type: 'success',
                   message: '删除成功'

+ 247 - 0
src/views/userList/whiteList.vue

@@ -0,0 +1,247 @@
+<template>
+     <div class="app-container ">
+       <div class="margin_top">
+        <!-- 搜索向 -->
+      <div class="flex">
+          <div class="w_input">
+            <span  class="textSpan">手机号:</span>
+            <el-input v-model="body.phoneNo" style="width:200px" placeholder="请输入手机号" size="small" clearable />
+            <el-button class="filter-item"  icon="el-icon-search" type="primary" plain @click="Search">搜索</el-button>
+            <el-button class="classitem" style="marginRight:30px" type="primary" plain icon="el-icon-plus" @click="dataFormAdd">新增</el-button>
+           <el-button  icon="el-icon-delete" type="danger" plain @click="ModifyDelete">删除</el-button>
+          </div>
+      </div>
+      <div >
+      </div>
+        <!-- 表格数据 -->
+      <el-table v-loading="loading" :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange">
+           <el-table-column
+            type="selection"
+            align="center"
+            width="55">
+            </el-table-column>
+
+          <el-table-column label="手机号" align="center" width="300" show-overflow-tooltip>
+              <template slot-scope="scope">
+                  <span>{{ scope.row.phoneNo }}</span>
+              </template>
+          </el-table-column>
+
+          <el-table-column label="备注" align="center"  show-overflow-tooltip>
+              <template slot-scope="scope">
+                  <span type="text" >{{ scope.row.note }}</span>
+              </template>
+          </el-table-column>
+
+
+        
+      </el-table>
+        <!-- 分页 -->
+      <div class="pagination">
+      <el-pagination
+        current-page.sync="body.current"
+        :current-page="body.current"
+        :page-sizes="[10, 20, 30, 50]"
+        :page-size="body.size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+    </div>
+    </div>
+     <!-- 新增与修改 -->
+    <el-dialog :title="operation?'新增黑名单':'编辑黑名单'" :visible.sync="dialogFormVisible" width="55%" center>
+      <el-form ref="dataForm" :model="dataForm" :rules="rules2" label-width="80px" size="small" label-position="right">
+ 
+            <el-form-item label="手机号" prop="phoneNo" :label-width="formLabelWidth"  style="width:420px;margin:15px auto">
+              <el-input v-model="dataForm.phoneNo" placeholder="请输入手机号" />
+            </el-form-item>
+            <el-form-item label="备注" prop="groupName" :label-width="formLabelWidth"  style="width:420px;margin:15px auto">
+              <el-input  type="textarea" :autosize="{ minRows: 2, maxRows: 4}" v-model="dataForm.note" placeholder="请输入备注" />
+            </el-form-item>
+
+ 
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">取 消</el-button>
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+      </div>
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+import api from '@/api/blackList.js'
+export default {
+    data(){
+        return{
+            loading:false,   //表格数据加载
+            tableData:[],       //表格数据
+            body:{
+                size:10,
+                current:1,
+                phoneNo:""   //名称搜索
+            },
+             total:0,
+            dataForm:{},
+            rules2:{
+                  phoneNo: [{ required: true, message: '请输入手机', trigger: 'blur' } ],
+            },
+            phone:[],
+            operation:false,
+            dialogFormVisible:false,
+            formLabelWidth:"120px"
+        }
+    },
+ created(){
+        this.reLoad()
+    },
+    methods:{
+         // 重载数据
+        reLoad(){
+            this.loading = true
+            api.Search(this.body).then((res) => {
+                this.loading = false
+                console.log(res)
+                let list = res.data.data.records
+                // console.log(data)
+                this.tableData = list
+                this.total = res.data.data.total
+            })
+        },
+        //搜索数据
+        Search(){
+            this.body.current = 1
+            this.reLoad()
+        },
+        //新增和修改API
+        submitForm(){
+         
+          this.$refs['dataForm'].validate((valid) => {
+                  if (valid) {
+                    if (!this.operation) {
+
+                    } else {
+                      console.log(this.dataForm)
+                    //   // 添加
+                    let dataForm = this.dataForm
+                    let list = []
+                    list.push(dataForm)
+                      api.add(list).then(response => {
+                        if (response.status === 200) {
+                          this.$message({
+                            type: 'success',
+                            message: '操作成功'
+                          })
+                          this.dialogFormVisible = false
+                          this.reLoad()
+                        } else {
+                          this.$message({
+                            type: 'error',
+                            message: response.data.msg
+                          })
+                        }
+                      })
+                    }
+                  }
+                })
+        },
+        //新增弹框
+        dataFormAdd(){
+            this.operation = true // true:新增, false:编辑
+            this.dialogFormVisible = true // 控制弹出框
+            this.dataForm = {}
+            if(this.$refs['dataForm']){
+                 this.$refs['dataForm'].resetFields();
+            }
+           
+        },
+        //编辑弹框
+        handleEdit(row){
+           this.operation = false // true:新增, false:编辑
+           this.dialogFormVisible = true // 控制弹出框 
+           this.dataForm = JSON.parse(JSON.stringify(row)) 
+           if(this.$refs['dataForm']){
+               this.$refs['dataForm'].resetFields();
+           }
+        },
+          //删除API
+        ModifyDelete(){
+            const that = this
+            if(this.phone.length > 0){
+              that.$confirm('此操作将删除该手机号', '提示', {
+                  confirmButtonText: '确定',
+                  cancelButtonText: '取消',
+                  type: 'warning'
+              })
+              .then(() => {
+                  api.del(this.phone).then((res)=>{
+                       if (res.status === 200) {
+                          that.$message({
+                              type: 'success',
+                              message: '删除成功'
+                          })
+                          that.reLoad()
+                       } else {
+                          that.$message({
+                              type: 'error',
+                              message: res.msg
+                          })
+                       }
+                  })
+              })    
+            }else{
+              that.$message({
+                  type: 'error',
+                  message: "请至少选择一项"
+              })
+            }
+        },
+        //多选
+        handleSelectionChange(row){
+            let arryList = []
+            row.map(res=>{
+                let phoneNo = res.phoneNo
+                arryList.push(phoneNo)
+            })
+            this.phone = arryList
+        },
+        ///分页
+        handleSizeChange: function(val) {
+            this.body.size = val
+            this.reLoad()
+        },
+        handleCurrentChange: function(val) {
+            this.body.current = val
+            console.log(val)
+            this.reLoad()
+        }
+    }
+}
+</script>
+
+<style scoped>
+    .flex{
+     width: 90%;
+     display: flex;
+     flex-direction: row;
+     margin-bottom: 10px;
+     /* flex-wrap: wrap; */
+     justify-content: flex-start;
+     /* margin: 20px auto; */
+    }
+    .flexend{
+    display: flex;
+    justify-content: flex-end;
+    /* padding-right: 2rem; */
+    width: 100%;
+    /* margin: 0 auto; */
+    padding-bottom: 20px;
+    }
+
+    
+
+
+</style>