You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
591 lines
19 KiB
591 lines
19 KiB
let selectTableData = [];
|
|
let checkPrice = 0;
|
|
let priceters = 0;
|
|
|
|
$(document).ready(function () {
|
|
Array.prototype.myForEach = function myForEach(callback, context) {
|
|
context = context || window;
|
|
if (Array.prototype.forEach) {
|
|
// 调用forEach方法,不做任何处理
|
|
this.forEach(callback, context);
|
|
return;
|
|
}
|
|
}
|
|
// 页面权限
|
|
if (!cookieHandler.get("normal_login_token")) {
|
|
Dreamer.error("请先登录");
|
|
setTimeout(function () {
|
|
window.location.href = 'login.html?time=' + new Date().getTime();
|
|
}, 1000)
|
|
} else {
|
|
if (!cookieHandler.get("isliCode")) {
|
|
Dreamer.error("账号未认证,请进行认证!");
|
|
setTimeout(function () {
|
|
window.location.href = 'MyCetification.html?time=' + new Date().getTime();
|
|
}, 1000)
|
|
} else {
|
|
if (cookieHandler.get("userType") === "0") {
|
|
Dreamer.error("个人认证账号没有访问权限!");
|
|
setTimeout(function () {
|
|
history.back(-1)
|
|
}, 1000)
|
|
} else {
|
|
ificationList();
|
|
}
|
|
}
|
|
}
|
|
// $("#liation_use").hide();//控制申请使用的显示隐藏
|
|
});
|
|
|
|
/**
|
|
* 判断是否为一个整数
|
|
* @param {object} obj 字符串
|
|
* @return {boolean} true/false
|
|
*/
|
|
function isInteger(obj) {
|
|
return Math.floor(obj) === obj;
|
|
}
|
|
|
|
/**
|
|
* 将一个浮点数转成整数,返回整数和倍数。如 3.14 >> 314,倍数是 100
|
|
* @param {object} floatNum 小数
|
|
* @return {object} {times:100, num: 314}
|
|
*/
|
|
function toInteger(floatNum) {
|
|
var ret = {
|
|
times: 1,
|
|
num: 0
|
|
}
|
|
var isNegative = floatNum < 0
|
|
if (isInteger(floatNum)) {
|
|
ret.num = floatNum
|
|
return ret
|
|
}
|
|
var strfi = floatNum + ''
|
|
var dotPos = strfi.indexOf('.')
|
|
var len = strfi.substr(dotPos + 1).length
|
|
var times = Math.pow(10, len)
|
|
var intNum = parseInt(Math.abs(floatNum) * times + 0.5, 10)
|
|
ret.times = times
|
|
if (isNegative) {
|
|
intNum = -intNum
|
|
}
|
|
ret.num = intNum
|
|
return ret
|
|
}
|
|
|
|
/**
|
|
* 浮点型数字运算精度丢失修复
|
|
* @param {object} num 小数
|
|
* @param {number} s 小数位数
|
|
* @return {object} s位小数
|
|
*/
|
|
function toFixed(num, s) {
|
|
var times = Math.pow(10, s);
|
|
var des = num * times + 0.5;
|
|
des = (parseInt(des, 10) / times) + '';
|
|
|
|
var pos_decimal = des.indexOf('.');
|
|
if (pos_decimal > 0) {
|
|
while (des.length <= pos_decimal + s) {
|
|
des += '0';
|
|
}
|
|
}
|
|
return des;
|
|
}
|
|
|
|
function operation(a, b, dig, op) {
|
|
var o1 = toInteger(a)
|
|
var o2 = toInteger(b)
|
|
var n1 = o1.num
|
|
var n2 = o2.num
|
|
var t1 = o1.times
|
|
var t2 = o2.times
|
|
var max = t1 > t2 ? t1 : t2
|
|
var result = null
|
|
switch (op) {
|
|
case 'add':
|
|
if (t1 === t2) { // 两个小数位数相同
|
|
result = n1 + n2
|
|
} else if (t1 > t2) { // o1 小数位 大于 o2
|
|
result = n1 + n2 * (t1 / t2)
|
|
} else { // o1 小数位 小于 o2
|
|
result = n1 * (t2 / t1) + n2
|
|
}
|
|
return toFixed(result / max, dig)
|
|
case 'subtract':
|
|
if (t1 === t2) {
|
|
result = n1 - n2
|
|
} else if (t1 > t2) {
|
|
result = n1 - n2 * (t1 / t2)
|
|
} else {
|
|
result = n1 * (t2 / t1) - n2
|
|
}
|
|
return toFixed(result / max, dig)
|
|
case 'multiply':
|
|
result = (n1 * n2) / (t1 * t2)
|
|
return toFixed(result, dig)
|
|
case 'divide':
|
|
if (n2 === 0)
|
|
result = 0
|
|
else
|
|
result = (n1 / n2) * (t2 / t1)
|
|
return toFixed(result, dig)
|
|
}
|
|
}
|
|
|
|
let user_isli = null;
|
|
let lengths = 0;
|
|
|
|
//查询购物车数据
|
|
function ificationList() {
|
|
user_isli = cookieHandler.get("isliCode"); //获取用户委托关联编码
|
|
$("#table-javascript").bootstrapTable({
|
|
method: "POST",
|
|
contentType: "application/x-www-form-urlencoded",
|
|
url: AgencyAddress + "order/getShoppingCar?user_isli=" + user_isli,
|
|
pageNumber: 1,
|
|
pagination: true,
|
|
sidePagination: 'client',
|
|
pageSize: 10, //每页的记录行数(*)
|
|
pageList: [10, 20], //可供选择的每页的行数(*)
|
|
queryParamsType: "limit",
|
|
ajaxOptions: {
|
|
headers: {
|
|
"normal_login_token": cookieHandler.get("normal_login_token")
|
|
}
|
|
},
|
|
responseHandler: function (res) {
|
|
if (res.resultCode === "00000000") {
|
|
return res.data
|
|
} else {
|
|
return []
|
|
}
|
|
},
|
|
// 请求失败
|
|
onLoadError: function (err) {
|
|
if (err == 401) {
|
|
cookieHandler.del("isliCode")
|
|
cookieHandler.del("normal_login_token")
|
|
cookieHandler.del("accountId")
|
|
cookieHandler.del("cellPhone")
|
|
cookieHandler.del("userType")
|
|
Dreamer.error("请先登录");
|
|
setTimeout(function () {
|
|
window.location.href = 'login.html?time=' + new Date().getTime();
|
|
}, 1500)
|
|
}
|
|
},
|
|
columns: [{
|
|
field: 'checked',
|
|
checkbox: true,
|
|
align: 'center',
|
|
valign: 'middle'
|
|
},
|
|
{
|
|
title: '缩略图',
|
|
field: 'detail.goods_image',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
height: "150px",
|
|
formatter: function (value, row, index) {
|
|
let getimg = "";
|
|
var myPix = new Array("../images/180-180.jpg", "../images/180-180-2.jpg",
|
|
"../images/180-180-3.jpg",
|
|
"../images/180-180-3.jpg");
|
|
var randomNum = Math.floor((Math.random() * myPix.length));
|
|
if (value) {
|
|
let reg = RegExp(/data:image\/.*;base64,/);
|
|
if (reg.test(value)) { //判断图片数据是base64吗
|
|
getimg = '<img style="height:40px;" src=' + value + '>';
|
|
} else {
|
|
getimg = '<img style="height:40px;" src=' + pathURL + '' +
|
|
encodeURIComponent(value) + '>';
|
|
}
|
|
} else {
|
|
let newdaimg = myPix[randomNum];
|
|
getimg = '<img style="height:40px;" src=' + newdaimg + ' alt="">'
|
|
}
|
|
return getimg
|
|
}
|
|
},
|
|
{
|
|
title: '标的名称',
|
|
field: 'detail.goods_name',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
}, {
|
|
title: '标的委托关联编码',
|
|
field: 'goods_islicode',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
}, {
|
|
title: '交易方式',
|
|
field: 'detail.goods_entrust',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (value == 1) { //1:转让;2:授权
|
|
return "转让"
|
|
} else if (value == 2) {
|
|
return "授权"
|
|
}
|
|
}
|
|
}, {
|
|
title: '付费类型',
|
|
field: 'detail.charges_type',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (value == 1) { //1:免费;2:付费
|
|
return "免费"
|
|
} else if (value == 2) {
|
|
return "付费"
|
|
}
|
|
}
|
|
}, {
|
|
title: '委托方',
|
|
field: 'username',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
}, {
|
|
title: '单价',
|
|
field: 'detail.price',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (row.username == "国家图书馆出版社有限公司" || row.username == "中国数字文化集团有限公司" || row.username == "深圳国夏文化数字科技有限公司") {
|
|
return "可议价"
|
|
} else {
|
|
return '¥' + value;
|
|
}
|
|
}
|
|
}, {
|
|
title: '购买年限',
|
|
field: 'transaction_count',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (row.username == "国家图书馆出版社有限公司" || row.username == "中国数字文化集团有限公司" || row.username == "深圳国夏文化数字科技有限公司") {
|
|
return "-"
|
|
} else {
|
|
if (value == "-" && row.detail.goods_entrust == "1") {
|
|
return "永久"
|
|
} else if (row.detail.charges_type == "1") {
|
|
return "永久"
|
|
} else {
|
|
return value != "" ? value : "--";
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
title: '小计',
|
|
field: 'goods_price',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (row.username == "国家图书馆出版社有限公司" || row.username == "中国数字文化集团有限公司" || row.username == "深圳国夏文化数字科技有限公司") {
|
|
return "-"
|
|
} else {
|
|
var f = parseFloat(value);
|
|
if (isNaN(f)) {
|
|
return false;
|
|
}
|
|
var f = Math.round(value * 100) / 100;
|
|
var s = f.toString();
|
|
var rs = s.indexOf('.');
|
|
if (rs < 0) {
|
|
rs = s.length;
|
|
s += '.';
|
|
}
|
|
while (s.length <= rs + 2) {
|
|
s += '0';
|
|
}
|
|
return '¥' + s;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
title: '交易佣金',
|
|
field: 'service_charge',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (row.username == "国家图书馆出版社有限公司" || row.username == "中国数字文化集团有限公司" || row.username == "深圳国夏文化数字科技有限公司") {
|
|
return "-"
|
|
} else {
|
|
return '¥' + value;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
title: '合计',
|
|
field: 'total_money',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: function (value, row, index) {
|
|
if (row.username == "国家图书馆出版社有限公司" || row.username == "中国数字文化集团有限公司" || row.username == "深圳国夏文化数字科技有限公司") {
|
|
return "-"
|
|
} else {
|
|
var f = parseFloat(value);
|
|
if (isNaN(f)) {
|
|
return false;
|
|
}
|
|
var f = Math.round(value * 100) / 100;
|
|
var s = f.toString();
|
|
var rs = s.indexOf('.');
|
|
if (rs < 0) {
|
|
rs = s.length;
|
|
s += '.';
|
|
}
|
|
while (s.length <= rs + 2) {
|
|
s += '0';
|
|
}
|
|
return '¥' + s;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
title: '操作',
|
|
field: 'namesize',
|
|
align: 'center',
|
|
valign: 'middle',
|
|
formatter: formatLook
|
|
}
|
|
],
|
|
|
|
//点击全选框时触发的操作
|
|
onCheckAll: function (row) {
|
|
selectTableData = [];
|
|
selectTableData = row;
|
|
lengths = selectTableData.length
|
|
$("#Selected").html(lengths);
|
|
checkPrice = 0;
|
|
let filtered = selectTableData.filter(function (number) {
|
|
return number.username != "中国数字文化集团有限公司" && number.username != "国家图书馆出版社有限公司" && number.username != "深圳国夏文化数字科技有限公司";
|
|
});
|
|
filtered.myForEach(function (v, index, arr) {
|
|
let total = Math.round(parseFloat(v.total_money * 100)) / 100;
|
|
checkPrice += Number(total);
|
|
$("#eckprice").html(checkPrice.toFixed(2));
|
|
});
|
|
free_pay();
|
|
},
|
|
//点击取消全选
|
|
onUncheckAll: function (row, tr, flied) {
|
|
selectTableData = [];
|
|
lengths = 0;
|
|
$("#Selected").html(0);
|
|
checkPrice = 0;
|
|
$("#eckprice").html(0);
|
|
free_pay();
|
|
},
|
|
// 点击每一个单选框时触发的操作
|
|
onCheck: function (row) {
|
|
lengths++
|
|
$("#Selected").html(lengths);
|
|
if (row.username != "中国数字文化集团有限公司" && row.username != "国家图书馆出版社有限公司" && row.username != "深圳国夏文化数字科技有限公司") {
|
|
selectTableData.push(row);
|
|
let priceters = Math.round(parseFloat(row.total_money * 100)) / 100;
|
|
checkPrice = operation(checkPrice, priceters, 2, 'add');
|
|
$("#eckprice").html(checkPrice);
|
|
}
|
|
free_pay();
|
|
},
|
|
//取消每一个单选框时对应的操作;
|
|
onUncheck: function (row) {
|
|
lengths--
|
|
$("#Selected").html(lengths);
|
|
selectTableData.myForEach(function (v, index, arr) {
|
|
if (v.goods_isli == row.goods_isli) {
|
|
selectTableData.splice(index, 1);
|
|
let subter = Math.round(parseFloat(v.total_money * 100)) / 100;
|
|
let priceters = operation(checkPrice, subter, 2, 'subtract');
|
|
checkPrice = priceters;
|
|
checkPrice = Number(checkPrice);
|
|
$("#eckprice").html(checkPrice);
|
|
}
|
|
});
|
|
free_pay();
|
|
},
|
|
})
|
|
}
|
|
|
|
// let goods_islicode = null;
|
|
// let goods_usetime = null;
|
|
//添加查看按钮
|
|
function formatLook(value, row, index) {
|
|
// goods_islicode = row.goods_islicode; //委托数据委托关联编码
|
|
// goods_usetime = row.goods_usetime; //委托数据购买使用年限
|
|
//row 这一行数据,index 下标
|
|
// <button class='text-btn' onclick=\"handelLook('" + row.goods_image + "','" + index +
|
|
// "' )\">查看</button>
|
|
var htm = "<button class='text-btn' onclick=\"deltabel('" + row.goods_islicode + "')\">删除</button>";
|
|
return htm;
|
|
}
|
|
|
|
// 点击删除按钮操作
|
|
function deltabel(goods_islicode) {
|
|
user_isli = cookieHandler.get("isliCode"); //用户委托关联编码
|
|
//goods_isli 商品委托关联编码
|
|
var ajaxDeleteShop = new AJAX_OBJ(AgencyAddress + "order/delShoppingCa?goods_isli=" + goods_islicode +
|
|
"&user_isli=" + user_isli, DeleteShop, onUrlError);
|
|
ajaxDeleteShop.postRequestData();
|
|
}
|
|
|
|
function DeleteShop(xmlHttp) {
|
|
var res = eval('(' + xmlHttp.responseText + ')');
|
|
if (res.resultCode === "00000000") {
|
|
Dreamer.success("删除成功!");
|
|
reLoad();
|
|
} else {
|
|
Dreamer.error(res.resultMsg);
|
|
}
|
|
}
|
|
|
|
function reLoad() {
|
|
$('#table-javascript').bootstrapTable('destroy');
|
|
ificationList();
|
|
checkPrice = 0;
|
|
lengths = 0;
|
|
selectTableData = [];
|
|
$("#Selected").html(0);
|
|
$("#eckprice").html(0);
|
|
}
|
|
|
|
//查看数据中是免费还是付费的,全部免费显示申请使用,有一个收费就显示立即购买
|
|
function free_pay() {
|
|
for (let i = 0; i < selectTableData.length; i++) {
|
|
if (selectTableData[i].detail.charges_type == 2) {
|
|
$("#placeOrder").val("");
|
|
return $("#placeOrder").val("提交订单");
|
|
} else {
|
|
$("#placeOrder").val("");
|
|
$("#placeOrder").val("申请使用");
|
|
}
|
|
}
|
|
}
|
|
|
|
//提交订单
|
|
$("#placeOrder").click(function (e) {
|
|
user_isli = cookieHandler.get("isliCode");
|
|
if (user_isli) {
|
|
if (cookieHandler.get("userType") === "0") {
|
|
Dreamer.error($("#placeOrder").val() == "提交订单" ? "个人认证账号不能提交订单!" : "个人认证账号不能申请使用!");
|
|
} else {
|
|
if (selectTableData.length != 0) {
|
|
// if ($("#eckprice").html() > 20000) {
|
|
// Dreamer.warning("购买金额不能高于2万");
|
|
// } else {
|
|
//获取委托数据委托关联编码 用,拼接
|
|
let manyislicode = "";
|
|
//购买方用户委托关联编码 用,拼接
|
|
let manyYears = "";
|
|
let new_shop_Name = "";
|
|
let new_userName = ""; //判断是不是中国数字文化集团有限公司,国家图书馆出版社有限公司,深圳国夏文化数字科技有限公司
|
|
let new_company = ""; //北京玖扬博文文化发展有限公司
|
|
selectTableData.myForEach(function (item, index, arr) {
|
|
if (index < selectTableData.length - 1) {
|
|
manyislicode += item.goods_islicode + ",";
|
|
} else {
|
|
manyislicode += item.goods_islicode + "";
|
|
}
|
|
if (index < selectTableData.length - 1) {
|
|
manyYears += item.use_years + ",";
|
|
} else {
|
|
manyYears += item.use_years + "";
|
|
}
|
|
//拼接撤销数据的名称
|
|
if (item.goods_status != 1 && item.goods_status != 5) {
|
|
if (index < selectTableData.length - 1) {
|
|
new_shop_Name += item.detail.goods_name + ",";
|
|
} else {
|
|
new_shop_Name += item.detail.goods_name + "";
|
|
}
|
|
} else {
|
|
new_shop_Name = "";
|
|
}
|
|
if (index < selectTableData.length - 1) {
|
|
new_userName += item.username + ",";
|
|
} else {
|
|
new_userName += item.username + "";
|
|
}
|
|
if (item.username == "北京玖扬博文文化发展有限公司" && item.detail.charges_type == "1") {
|
|
if (index < selectTableData.length - 1) {
|
|
new_company += item.username + ",";
|
|
} else {
|
|
new_company += item.username + "";
|
|
}
|
|
}
|
|
});
|
|
//判断是不是北京玖扬博文文化发展有限公司
|
|
let company_Number = null;
|
|
if (new_company.split(",").includes("北京玖扬博文文化发展有限公司")) {
|
|
company_Number = 1;
|
|
} else {
|
|
company_Number = null
|
|
}
|
|
//判断是不是中国数字文化集团有限公司和国家图书馆出版社有限公司、深圳国夏文化数字科技有限公司
|
|
let china_Number = null;
|
|
if (new_userName.split(",").includes("中国数字文化集团有限公司") || new_userName.split(",").includes("国家图书馆出版社有限公司") || new_userName.split(",").includes("深圳国夏文化数字科技有限公司")) {
|
|
china_Number = 1;
|
|
} else {
|
|
china_Number = null
|
|
}
|
|
if (company_Number == null) {
|
|
if (china_Number == null) { //判断数据中是否有中国数字文化集团有限公司,国家图书馆出版社有限公司,深圳国夏文化数字科技有限公司 的委托数据
|
|
if (new_shop_Name == "") {
|
|
$("#placeOrder").attr("disabled", true);
|
|
let data = {
|
|
goods_isli: manyislicode, //委托数据委托关联编码
|
|
is_car: 1, //1:购物车商品;2:不是购物车商品
|
|
use_years: manyYears, //委托数据购买使用年限
|
|
user_isli: user_isli //购买方用户委托关联编码
|
|
}
|
|
var ajaxAddShop = new AJAX_OBJ(AgencyAddress + "order/createOrder?goods_isli=" +
|
|
data
|
|
.goods_isli + "&is_car=" + data.is_car + "&use_years=" + data
|
|
.use_years +
|
|
"&user_isli=" + data.user_isli, entrustAddShop, onUrlError);
|
|
ajaxAddShop.postRequestData();
|
|
} else {
|
|
Dreamer.warning(new_shop_Name + "无法购买");
|
|
}
|
|
} else {
|
|
Dreamer.warning("可议价商品暂不支持线上购买,如需议价请拨打电话:0755-88266899");
|
|
}
|
|
} else {
|
|
Dreamer.warning("如需申领使用,请拨打电话 0755-88266899");
|
|
}
|
|
// }
|
|
} else {
|
|
Dreamer.warning("请选择商品");
|
|
}
|
|
}
|
|
} else {
|
|
Dreamer.error("账号未认证,请进行认证!");
|
|
setTimeout(function () {
|
|
window.location.href = 'MyCetification.html?time=' + new Date().getTime();
|
|
}, 1000)
|
|
}
|
|
});
|
|
|
|
function entrustAddShop(xmlHttp) {
|
|
var res = eval('(' + xmlHttp.responseText + ')');
|
|
if (res.resultCode === "00000000") {
|
|
if ($("#placeOrder").val() == "提交订单") {
|
|
Dreamer.success("订单提交成功");
|
|
ificationList();
|
|
// res.data.batchcode //订单号
|
|
$(location).prop('href', './payment.html?batchcode=' + res.data.batchcode + '&time=' + new Date()
|
|
.getTime());
|
|
selectTableData = [];
|
|
} else if ($("#placeOrder").val() == "申请使用") {
|
|
$(location).prop('href', './BuyOrder.html?time=' + new Date().getTime());
|
|
selectTableData = [];
|
|
}
|
|
} else {
|
|
$("#placeOrder").attr("disabled", false);
|
|
Dreamer.error(res.resultMsg);
|
|
}
|
|
}
|
|
|