|
|
@@ -206,8 +206,8 @@
|
|
|
|
|
|
|
|
|
<!-- 遮罩框的显示 -->
|
|
|
- <el-dialog title="进度提示" width="30%" :visible.sync="dialogVisible" :before-close="handleClose" :show-close='false' >
|
|
|
- <el-progress type="circle" :percentage="child_num" ></el-progress>
|
|
|
+ <el-dialog title="进度提示" width="60%" :visible.sync="dialogVisible" :before-close="handleClose" :show-close='false' >
|
|
|
+ <el-progress type="circle" :percentage="child_num" :text-inside="true" :stroke-width="18"></el-progress>
|
|
|
</el-dialog>
|
|
|
<!-- 遮罩框的显示 -->
|
|
|
|
|
|
@@ -233,7 +233,8 @@
|
|
|
type:'', //信息的类型 (发起请求的类型)
|
|
|
volume:'', //存储跟踪订单的volume信息
|
|
|
},
|
|
|
-
|
|
|
+ isertArray: [],
|
|
|
+ isInsert:false,
|
|
|
users: [], //请求的所有用户
|
|
|
userdata:[], //对用户数据进行(分割)
|
|
|
total: 0, //用户总数
|
|
|
@@ -241,9 +242,7 @@
|
|
|
page_size:100, //用户分页的数目
|
|
|
listLoading: false, //用户表的loading效果
|
|
|
sels: [], //用户表 列表选中列
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ allInsert: null, //用来判断是否是全部插入
|
|
|
dialogVisible:false, //控制是否显示锁屏
|
|
|
child_num:0, //控制进度条的进度
|
|
|
|
|
|
@@ -424,6 +423,7 @@
|
|
|
},
|
|
|
// insert表中选择的数据
|
|
|
selsChange: function (sels) {
|
|
|
+ this.isInsert = true;
|
|
|
this.sels = sels;
|
|
|
},
|
|
|
// rollback表中选择的数据
|
|
|
@@ -446,12 +446,14 @@
|
|
|
this.loading_insert = false;
|
|
|
this.listLoading = true;
|
|
|
var __that__ = this;
|
|
|
+
|
|
|
this.$api.post('/api/index/index/getuser',para,response => {
|
|
|
if (response.status == 200 && response.status < 300) {
|
|
|
let { msg, code ,user} = response.data;
|
|
|
if(code=="00"){
|
|
|
|
|
|
this.total = user.length;
|
|
|
+
|
|
|
//对用户中的数据进行了计算
|
|
|
user.forEach(element => {
|
|
|
if(element.BALANCE<__that__.filters.step && element.BALANCE>__that__.filters.tolerance){
|
|
|
@@ -469,8 +471,9 @@
|
|
|
this.listLoading = false;
|
|
|
this.display_table = true;
|
|
|
}else{
|
|
|
-
|
|
|
+
|
|
|
// 失败就清除所有的用户信息
|
|
|
+ this.total = 0;
|
|
|
this.listLoading = false;
|
|
|
this.users=[];
|
|
|
this.userdata=[];
|
|
|
@@ -536,26 +539,48 @@
|
|
|
if (response.status == 200 && response.status < 300) {
|
|
|
let { msg, code } = response.data;
|
|
|
if(code=="00"){
|
|
|
- console.log('插入函数');
|
|
|
+ console.log('插入函数');
|
|
|
+ console.log(_this.isInsert);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
for (let index = 0; index < _this.sels.length; index++) {
|
|
|
- const element = _this.sels[index];
|
|
|
+ const element = _this.sels[index];
|
|
|
+ if(_this.isInsert == true){
|
|
|
+ _this.isertArray.push(element.LOGIN);
|
|
|
+ }
|
|
|
+
|
|
|
if(element.state !=0){
|
|
|
_this.$message.error("含有做过的单");
|
|
|
return false;
|
|
|
}else{
|
|
|
- if(element.BALANCE<_this.filters.tolerance){
|
|
|
+ var min = parseInt(_this.filters.tolerance);
|
|
|
+ if(parseInt(_this.filters.step) < parseInt(_this.filters.tolerance)){
|
|
|
+
|
|
|
+ min = parseInt(_this.filters.step);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(parseInt(element.BALANCE)<min){
|
|
|
|
|
|
_this.sels.splice(index,1); //删除手数为0的元素
|
|
|
index = index-1; //因为数组会改变,所以长度也会变化
|
|
|
continue; //结束本次循环
|
|
|
}
|
|
|
- element.step = _this.filters.step; //加入步长的计算
|
|
|
+
|
|
|
+ element.step = _this.filters.step; //加入步长的计算
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if(_this.sels.length==0){
|
|
|
_this.$message.error("没有任何选择");
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+ console.log(_this.sels.length);
|
|
|
+
|
|
|
_this.insert_index = 0;
|
|
|
_this.loading_insert = true;
|
|
|
_this.dialogVisible = true;
|
|
|
@@ -565,7 +590,7 @@
|
|
|
data_insert.data = _this.sels; //数组的格式(多个数据发送过去)
|
|
|
//发送socket
|
|
|
_this.socket.send(JSON.stringify(data_insert));
|
|
|
-
|
|
|
+ return true;
|
|
|
}else{
|
|
|
this.logining = false;
|
|
|
this.$message.error(msg);
|
|
|
@@ -591,6 +616,8 @@
|
|
|
Insert_all(){
|
|
|
//将所有的数据传递给sels
|
|
|
this.sels = this.users;
|
|
|
+ this.isInsert = false;
|
|
|
+ this.allInsert = true;
|
|
|
this.Insert(); //发送数据
|
|
|
|
|
|
},
|
|
|
@@ -833,8 +860,8 @@
|
|
|
// socket连接函数
|
|
|
connect: function () {
|
|
|
var _that_ = this;
|
|
|
- this.socket = new WebSocket('ws://127.0.0.1:12380');
|
|
|
-
|
|
|
+ //this.socket = new WebSocket('ws://47.106.182.13:12380');
|
|
|
+ this.socket = new WebSocket('ws://103.85.110.232:12383');
|
|
|
//连接成功后的回调函数
|
|
|
this.socket.onopen = function () {
|
|
|
clearInterval(this.reConnect);
|
|
|
@@ -856,20 +883,25 @@
|
|
|
case "set_current_order": //设置当前跟单订单信息
|
|
|
break;
|
|
|
case "insert": //插入发送内容
|
|
|
- var insert_data = msg['dest']; //将数组数据传递过去
|
|
|
+ var insert_data = msg['dest']; //将数组数据传递过去
|
|
|
+ var aa = 1;
|
|
|
_that_.insert_index+=insert_data.length;
|
|
|
console.log("insert执行了");
|
|
|
var arraylog=[_that_.insert_index,_that_.sels.length];
|
|
|
+
|
|
|
_that_.bugout.log(arraylog);
|
|
|
+
|
|
|
_that_.child_num = (Math.round(_that_.insert_index / _that_.sels.length * 10000) / 100.00);
|
|
|
if(_that_.sels.length == _that_.insert_index){
|
|
|
+ aa = 2;
|
|
|
// 全部执行完成后,对所有不是失败的数据,进行成功操作
|
|
|
_that_.sels.forEach((element1,index) => {
|
|
|
if(element1.state == 0){
|
|
|
_that_.$set(element1,'state',100); //成功的订单
|
|
|
}
|
|
|
});
|
|
|
- _that_.loading_insert = false;
|
|
|
+ _that_.loading_insert = false;
|
|
|
+ aa = _that_.insert_index;
|
|
|
_that_.insert_index = 0;
|
|
|
_that_.dialogVisible = false;
|
|
|
_that_.child_num = 0;
|
|
|
@@ -883,6 +915,13 @@
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+ console.log(aa,_that_.sels.length);
|
|
|
+ //console.log(_that_.allInsert);
|
|
|
+ if(aa == _that_.sels.length){
|
|
|
+ _that_.reInsert();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
break;
|
|
|
case "rollback": //Rollback请求
|
|
|
var rollback_data = msg['desc']; //将数组数据传递过去
|
|
|
@@ -1085,6 +1124,120 @@
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ //执行重新insert
|
|
|
+ reInsert(){
|
|
|
+ console.log('执行reinsert');
|
|
|
+ var _this = this;
|
|
|
+
|
|
|
+
|
|
|
+ let para = {
|
|
|
+ group: this.filters.group, //组的 条件
|
|
|
+ user: this.filters.username, //用户 条件
|
|
|
+ order:this.filters.orderid //当前准备跟踪的订单
|
|
|
+ };
|
|
|
+ this.loading_insert = false;
|
|
|
+ this.listLoading = true;
|
|
|
+ var __that__ = this;
|
|
|
+
|
|
|
+ this.$api.post('/api/index/index/getuser',para,response => {
|
|
|
+ if (response.status == 200 && response.status < 300) {
|
|
|
+ let { msg, code ,user} = response.data;
|
|
|
+ if(code=="00"){
|
|
|
+
|
|
|
+ this.total = user.length;
|
|
|
+
|
|
|
+ //对用户中的数据进行了计算
|
|
|
+ user.forEach(element => {
|
|
|
+ if(element.BALANCE<__that__.filters.step && element.BALANCE>__that__.filters.tolerance){
|
|
|
+ element.handsnum = 1*(__that__.filters.volume/10000); //对数据进行格式化(保留两位小数)
|
|
|
+ element.ladder =1;
|
|
|
+ }else{
|
|
|
+ element.handsnum = __that__.toDecimal2(Math.floor((element.BALANCE/__that__.filters.step))*(__that__.filters.volume/10000)); //对数据进行格式化(保留两位小数)
|
|
|
+ element.ladder = parseInt(element.BALANCE/__that__.filters.step);
|
|
|
+ }
|
|
|
+ element.state =0; //初始状态均为0 即是暂无
|
|
|
+ });
|
|
|
+ this.users = user;
|
|
|
+ this.page_size = 100;
|
|
|
+ this.userdata = this.users.slice((this.page-1)*this.page_size,this.page*this.page_size);
|
|
|
+ this.listLoading = false;
|
|
|
+ var datas = user;
|
|
|
+ _this.sels = user;
|
|
|
+
|
|
|
+ for (let index = 0; index < _this.sels.length; index++) {
|
|
|
+ const element = _this.sels[index];
|
|
|
+ if(_this.isInsert == true){
|
|
|
+
|
|
|
+ if(_this.isertArray.indexOf(_this.sels[index].LOGIN) >= -1){
|
|
|
+ _this.sels.splice(index,1);
|
|
|
+ index = index-1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if(element.state !=0){
|
|
|
+ _this.$message.error("含有做过的单");
|
|
|
+ return false;
|
|
|
+ }else{
|
|
|
+ var min = parseInt(_this.filters.tolerance);
|
|
|
+ if(parseInt(_this.filters.step) < parseInt(_this.filters.tolerance)){
|
|
|
+
|
|
|
+ min = parseInt(_this.filters.step);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(parseInt(element.BALANCE)<min){
|
|
|
+
|
|
|
+ _this.sels.splice(index,1); //删除手数为0的元素
|
|
|
+ index = index-1; //因为数组会改变,所以长度也会变化
|
|
|
+ continue; //结束本次循环
|
|
|
+ }
|
|
|
+
|
|
|
+ element.step = _this.filters.step; //加入步长的计算
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(_this.sels.length==0){
|
|
|
+ if(_this.isInsert == true){
|
|
|
+ _this.Preview();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.display_table = true;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ _this.insert_index = 0;
|
|
|
+ _this.loading_insert = true;
|
|
|
+ _this.dialogVisible = true;
|
|
|
+ let data_insert={};
|
|
|
+ data_insert.type = 'vue_insert';
|
|
|
+ data_insert.orderid = _this.filters.orderid;
|
|
|
+ data_insert.data = _this.sels; //数组的格式(多个数据发送过去)
|
|
|
+ //发送socket
|
|
|
+ _this.socket.send(JSON.stringify(data_insert));
|
|
|
+
|
|
|
+ _this.isertArray = [];
|
|
|
+ }else{
|
|
|
+
|
|
|
+ // 失败就清除所有的用户信息
|
|
|
+ this.total = 0;
|
|
|
+ this.listLoading = false;
|
|
|
+ this.users=[];
|
|
|
+ this.userdata=[];
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ this.listLoading = false;
|
|
|
+ console.log(response.message);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
//保留两位小数的函数
|
|
|
toDecimal2(x) {
|
|
|
var f = parseFloat(x);
|