|
// ========================================================================== 请求数据
|
// 导购后台 请求地址
|
function gethttp ()
|
{
|
var hcj = "http://api.haicaojie.com/hcj"; // 海草街
|
var flq = "http://api.flqapp.com/fanli"; // 返利券
|
var h122 = "http://192.168.1.122:8080/fanli"; // 辉哥电脑
|
var h200 = "http://192.168.1.200:8088/fanli"; // 喻健电脑服务器
|
var h253 = "http://192.168.1.253:8080/fanli"; // 公司253电脑
|
var myhttp = "http://193.112.42.128/fanli"; // 外网IP测试
|
return flq;
|
}
|
|
|
|
// ========================================================================== 最初执行
|
// 要引入的头文件获取(外层)
|
doui.importSet([
|
'css/font-awesome.min.css',
|
'css/mystyle.css',
|
'http://cdn.yeshitv.com/js/jquery.min.js',
|
'http://cdn.yeshitv.com/js/vue.min.js',
|
]);
|
|
|
|
// ========================================================================== 通用数据
|
// 操作人员登录cookie
|
function adminCookieGet ()
|
{
|
var back = { id: "", userName: "", passWord: "", nickName: "", };
|
var cookdata = doui.cookieGet("adminInfo");
|
if (cookdata)
|
{
|
back.id = cookdata.id;
|
back.userName = cookdata.account;
|
back.passWord = cookdata.pwd;
|
back.nickName = cookdata.name;
|
}
|
else { doui.showToast("登录失效,请重新登录"); }
|
return back;
|
}
|
|
// 保存筛选项,参数: 1. 缓存文件名字 2. topSearch对象 3. optScreen对象 4. OptSort对象 5. table对象
|
function saveOpt (nameC, topSearchC, optScreenC, optSortC, tableC)
|
{
|
// 新建筛选对象
|
var newObj = {
|
topSearch: { strKey: '' },
|
optScreen: {},
|
optSort: {},
|
table: { yema: 1 },
|
};
|
newObj.topSearch.strKey = topSearchC.strKey; // 搜索字段
|
newObj.optScreen = optScreenC; // 筛选项
|
newObj.optSort = optSortC; // 排序项
|
newObj.table.yema = tableC.yema; // 表格页码
|
// 转化为字符串
|
var mydata = JSON.stringify(newObj);
|
doui.cookieSet(nameC, mydata, 8);
|
console.log("筛选记录已保存");
|
}
|
function getOpt (nameC, topSearchC, optScreenC, optSortC, tableC)
|
{
|
var mydata = doui.cookieGet(nameC);
|
if (mydata)
|
{
|
// 转化为对象集
|
var newObj = mydata;
|
// 替换设置项
|
topSearchC.strKey = newObj.topSearch.strKey; // 搜索字段
|
tableC.yema = newObj.table.yema; // 表格页码
|
// 筛选项
|
for (var k in newObj.optScreen) { optScreenC[k].result = newObj.optScreen[k].result; }
|
// 排序项
|
for (var k in newObj.optSort) { optSortC[k].result = newObj.optSort[k].result; }
|
doui.cookieDel(nameC);
|
console.log("筛选记录已设置,并且删除缓存");
|
}
|
}
|
|
// 商品加入备选,参数: 1. 保存商品的组
|
function goodsGroupSet (zuC)
|
{
|
if (zuC && zuC.length > 0)
|
{
|
// 从cookie中获取已经有的
|
var cookie = doui.cookieGet('goodsGroup');
|
var goodsGroup = new Array();
|
if (cookie) { goodsGroup = cookie; }
|
|
// 串联2个数组
|
goodsGroup = goodsGroup.concat(zuC);
|
var chuChong = unique(goodsGroup);
|
var strJson = JSON.stringify(chuChong);
|
|
doui.cookieSet('goodsGroup', strJson, 8);
|
doui.showToast('加入备选成功');
|
}
|
/*
|
{
|
auctionId: '', // 商品id
|
title: '', // 商品名称
|
pictUrl: '', // 商品图片
|
}
|
* */
|
}
|
function goodsGroupGet ()
|
{
|
var back = [];
|
var cookie = doui.cookieGet('goodsGroup');
|
if (cookie) { back = cookie; }
|
return back;
|
}
|
function goodsGroupDel () { doui.cookieDel('goodsGroup'); }
|
|
// 页面跳转
|
function pageToUrl (urlC) { window.location.href = urlC; }
|
// 页面重定向
|
function pageReplaceUrl (urlC) { window.location.replace(urlC); }
|
// 页面窗口新建
|
function pageOpenUrl (urlC) { window.open(urlC); }
|
|
|
|
// ========================================================================== 表格操作
|
//
|
// ------------------------------------------------------------------ 1. 筛选区域
|
// 初始化 具体筛选项, 参数: 1. 该项全设置对象
|
function initOptScreen (objC)
|
{
|
if (objC.type == "xuan" || objC.type == "text") { objC.result = ""; }
|
else if (objC.type == "texts" || objC.type == "dates") { objC.result.min = ""; objC.result.max = ""; }
|
else if (objC.type == "datetime") { objC.result.date = ""; objC.result.time = ""; }
|
else if (objC.type == "time") { objC.result.day = "12小时"; objC.result.time = "03:00"; }
|
/*
|
1. 选择型设置
|
laiYuan: {
|
value: "商品来源",
|
type: "xuan",
|
child: [
|
{ value: "淘宝", key: "0" },
|
{ value: "天猫", key: "1" },
|
],
|
result: "",
|
},
|
|
2. 单项输入型设置
|
xiaoLiang: {
|
value: "最低销量",
|
type: "text",
|
child: [
|
{ value: "100", key: "100" },
|
{ value: "500", key: "500" },
|
],
|
result: "",
|
},
|
|
3. 大小输入型设置
|
money: {
|
value: "售价",
|
type: "texts",
|
child: [
|
{ value: "¥0~¥50", key: { min:"0", max:"50"} },
|
{ value: "¥1000以上", key: { min:"1000", max:""} },
|
],
|
result: { min: "", max: "" },
|
},
|
|
4. 前后日期范围型设置(年-月-日)
|
time: {
|
value: "日期范围",
|
type: "dates",
|
child: [],
|
result: { min: "", max: "" },
|
},
|
|
5. 日期+时间型设置
|
datetime: {
|
value: "结束时间",
|
type: "datetime",
|
child: [],
|
result: { date: "", time: "" },
|
},
|
*/
|
}
|
|
// 点击 具体筛选项, 参数: 1. 该项全设置对象 2. 具体点击元素
|
function clickOptScreenChild (objC, itemC)
|
{
|
if (objC.type == "xuan" || objC.type == "text")
|
{
|
// 如果是已经选中过的
|
if (itemC.key == objC.result) { initOptScreen(objC); }
|
// 第一次选中
|
else
|
{
|
// 初始化所有选取
|
initOptScreen(objC);
|
// 设置结果赋值
|
objC.result = itemC.key;
|
}
|
}
|
else if (objC.type == "texts")
|
{
|
// 如果是已经选中过的
|
if (itemC.key.min == objC.result.min && itemC.key.max == objC.result.max) { initOptScreen(objC); }
|
// 第一次选中
|
else
|
{
|
// 初始化所有选取
|
initOptScreen(objC);
|
// 设置结果赋值
|
objC.result.min = itemC.key.min;
|
objC.result.max = itemC.key.max;
|
}
|
}
|
}
|
|
// ------------------------------------------------------------------ 2. 排序区域
|
// 初始化 全部排序选项, 参数: 1. 排序设置对象
|
function initOptSort (objC)
|
{
|
for (var k in objC) { objC[k].result = ""; }
|
/*
|
排序 格式
|
optSort: {
|
// 权重排序
|
weight: { value: "权重", down: "1", up: "2", result: "" },
|
// 创建时间排序
|
creatTime: { value: "创建时间", down: "3", up: "4", result: "" },
|
},
|
*/
|
}
|
|
// 点击 某个排序选项, 参数: 1. 排序设置对象
|
function clickOptSort (objC, itemC, callback)
|
{
|
if (callback == null) { callback = function () {}; }
|
// 第一次点击
|
if (itemC.result != itemC.down && itemC.result != itemC.up)
|
{
|
// 初始化选择
|
initOptSort(objC);
|
// 如果该降序存在 让结果为此选项的降序
|
if (itemC.down != null) { itemC.result = itemC.down; }
|
// 否则为升序
|
else if (itemC.up != null) { itemC.result = itemC.up; }
|
}
|
// 第二次及以上点击
|
else
|
{
|
// 1. 已经为降序
|
if (itemC.result == itemC.down) { if (itemC.up != null) { itemC.result = itemC.up; } else { itemC.result = ""; } }
|
// 2. 已经为升序
|
else if (itemC.result == itemC.up) { itemC.result = ""; }
|
}
|
callback();
|
}
|
|
// 获取 当前选择结果,参数: 1. 排序设置对象
|
function getOptSortResult (objC)
|
{
|
var back = "";
|
for (var k in objC) { if (objC[k].result.length > 0) { back = objC[k].result; break; } }
|
return back;
|
}
|
|
// ------------------------------------------------------------------ 3. 选择区域
|
// 初始化 批量操作,参数: 1. 表格列表对象 2. 批量对象
|
function initPi (listC, piC)
|
{
|
// 是否显示批量处理弹出框
|
piC.show = false;
|
// 是否已经全部选中
|
piC.hadAllXuan = false;
|
// 让表格每一行都初始化为 未选中
|
for (var i = 0; i < listC.length; i++) { listC[i].xuan = false; }
|
/*
|
批处理 格式
|
pi: {
|
show: false, // 是否显示操作弹框
|
hadAllXuan: false, // 是否点击了全选
|
},
|
*/
|
}
|
|
// 某一行点击,参数: 1. 表格列表对象 2. 该选择行对象 3. 批量对象
|
function checkTr (listC, itemC, piC)
|
{
|
// 该行反选
|
if (itemC.xuan && itemC.xuan == true) { itemC.xuan = false; piC.hadAllXuan = false; }
|
else
|
{
|
itemC['xuan'] = true;
|
// 查看是否已经全选
|
var xuan_not = 0;
|
for (var i = 0; i < listC.length; i++) { if (listC[i].xuan == false) { xuan_not++; break; } }
|
// 判断是否已经全选
|
if (xuan_not <= 0) { piC.hadAllXuan = true; }
|
else { piC.hadAllXuan = false; }
|
}
|
}
|
|
// 全选点击,参数: 1. 表格列表对象 2. 批量对象
|
function clickAllXuan (listC, piC)
|
{
|
// 1. 还未全选
|
if (piC.hadAllXuan == false)
|
{
|
for (var i = 0; i < listC.length; i++) { listC[i].xuan = true; }
|
piC.hadAllXuan = true;
|
}
|
// 2. 已经全选了
|
else
|
{
|
for (var i = 0; i < listC.length; i++) { listC[i].xuan = false; }
|
piC.hadAllXuan = false;
|
}
|
}
|
|
// 批处理前置行为 获取选中项, 参数: 1. 表格列表数据
|
function getTableListXuaned (listC)
|
{
|
var back = { xuanNum: 0, xuanList: [], };
|
// 已经选中数量
|
var xuanHad = 0;
|
var xuanList = new Array();
|
for (var i = 0; i < listC.length; i++)
|
{
|
if (listC[i].xuan == true)
|
{
|
xuanHad++;
|
xuanList.push(listC[i]);
|
}
|
}
|
// 返回赋值
|
back.xuanNum = xuanHad;
|
back.xuanList = xuanList;
|
return back;
|
}
|
|
// ------------------------------------------------------------------ 4. 翻页区域
|
// 底部页码输入 直接跳转,参数: 1. 页码输入组件的id或class 2. 表格对象
|
function yemaZhuandao (mingC, tableC, callback)
|
{
|
if (callback == null) { callback = function () {}; }
|
// 未输入直接退出
|
if ($(mingC).val() && $(mingC).val().length > 0)
|
{
|
// 获取输入的页码
|
var mo = parseInt($(mingC).val());
|
// 判断页码合服规范
|
if (mo < 1 || mo > tableC.yemamax) { doui.showToast("页码不在范围内"); }
|
// 将 选择的页码赋值 请求该页数据
|
else { tableC.yema = mo; tableC.list = new Array(); callback(); }
|
}
|
}
|
|
// 上下翻页,参数: 1. 翻页方向 2. 表格对象
|
function yemaChange (typeC, tableC, callback)
|
{
|
if (callback == null) { callback = function () {}; }
|
// 点击上一页
|
if (typeC=="shang" && tableC.yema>1) { tableC.yema--; tableC.list = new Array(); callback(); }
|
// 点击下一页
|
else if (typeC=="xia" && !tableC.yemamax) { tableC.yema++; tableC.list = new Array(); callback(); }
|
else if (typeC=="xia" && tableC.yema<tableC.yemamax) { tableC.yema++; tableC.list = new Array(); callback(); }
|
}
|
|
// ------------------------------------------------------------------ 5. 表格内容区域
|
// 选择文件获取,参数: 1. 文件file标签名字
|
function getFileData (ev)
|
{
|
var back = null;
|
back = $(ev)[0].files[0];
|
return back;
|
}
|
|
// 数组元素顺序改变
|
// 元素上移
|
function upRecord (arr, $index) { if($index == 0) { return; } swapItems(arr, $index, $index - 1); }
|
// 元素下移
|
function downRecord (arr, $index) { if($index == arr.length - 1) { return; } swapItems(arr, $index, $index + 1); }
|
// 交换数组元素
|
function swapItems (arr, index1, index2) { arr[index1] = arr.splice(index2, 1, arr[index1])[0]; return arr; }
|
// 数组查重方法
|
function unique(arr)
|
{
|
// 新建数组
|
var result = new Array();
|
var obj = {};
|
// 将传递数组依次加入新数组
|
for(var i=0; i < arr.length; i++)
|
{
|
if(!obj[arr[i].auctionId])
|
{
|
result.push(arr[i]);
|
obj[arr[i].auctionId] = true;
|
}
|
}
|
// 返回新数组
|
return result;
|
}
|