394 lines
12 KiB
JavaScript
394 lines
12 KiB
JavaScript
let form, layer, table, tableIns;
|
||
let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10
|
||
let orgData,selectOrgId;
|
||
let quanju = new Array();//全局
|
||
let huancun = new Array();//缓存
|
||
|
||
layui.use(['form', 'layer', 'table', 'laydate'], function () {
|
||
form = layui.form;
|
||
layer = layui.layer;
|
||
table = layui.table;
|
||
layui.form.render();
|
||
pages(1, 10, 1);
|
||
getToolsSelected();
|
||
})
|
||
|
||
|
||
function getToolsSelected() {
|
||
let url = dataUrl + '/tools/all';
|
||
ajaxRequest(url, "POST", null, true, function () {
|
||
}, function (result) {
|
||
if (result.code === 200) {
|
||
setSelectValue(result.data, 'sampleTools');
|
||
// return result.data
|
||
} else {
|
||
layer.alert(result.msg, {icon: 2})
|
||
}
|
||
}, function (xhr) {
|
||
error(xhr)
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取数据
|
||
*/
|
||
function pages(pageNum, pageSize, typeNum) {
|
||
let params = getReqParams(pageNum, pageSize, typeNum);
|
||
let url = dataUrl + "/samples/getList"
|
||
ajaxRequest(url, "POST", params, true, function () {
|
||
}, function (result) {
|
||
console.log("result.data:",result.data);
|
||
if (result.code === 200) {
|
||
initTable(result.data, result.limit, result.curr)
|
||
laypages(result.count, result.curr, result.limit)
|
||
} else if (result.code === 500) {
|
||
layer.alert(result.msg, {icon: 2})
|
||
}
|
||
}, function (xhr) {
|
||
error(xhr)
|
||
});
|
||
|
||
}
|
||
|
||
/**
|
||
* 分页
|
||
*/
|
||
function laypages(total, page, limit) {
|
||
layui.use(['laypage'], function () {
|
||
let laypage = layui.laypage;
|
||
laypage.render({
|
||
elem: 'voi-page',
|
||
count: total,
|
||
curr: page,
|
||
limit: limit,
|
||
limits: [10, 20, 50, 100, 200, 500],
|
||
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
|
||
groups: 5,
|
||
jump: function (obj, first) {
|
||
if (!first) {
|
||
pageNum = obj.curr, limitSize = obj.limit;
|
||
pages(obj.curr, obj.limit, null);
|
||
}
|
||
}
|
||
});
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 初始化表格
|
||
*/
|
||
function initTable(dataList, limit, page) {
|
||
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
|
||
tableIns = table.render({
|
||
elem: "#table_data",
|
||
height: "full-130",
|
||
data: dataList,
|
||
limit: limit,
|
||
cols: [
|
||
[
|
||
{
|
||
type: 'checkbox',
|
||
fixed: 'left',
|
||
align: "center"
|
||
},
|
||
//表头
|
||
{title: "序号", width: 80, unresize: true, align: "center",
|
||
templet: function (d) {
|
||
return (page - 1) * limit + d.LAY_INDEX;
|
||
}
|
||
},
|
||
{field: "customName", title: "送样单位", unresize: true, align: "center"},
|
||
{field: "sampleUser", title: "送样人", unresize: true, align: "center"},
|
||
{field: "sampleTime", title: "送样时间", unresize: true, align: "center"},
|
||
{field: "sampleTools", title: "送样设备", unresize: true, align: "center"},
|
||
{field: "collectSamplesUser", title: "收样人", unresize: true, align: "center"},
|
||
{field: "collectSamplesTime", title: "收样时间", unresize: true, align: "center"},
|
||
{
|
||
field: "teamName", title: "试验班组", unresize: true, align: "center", templet: function (d) {
|
||
let html = '';
|
||
let view ='';
|
||
if (d.teamName == null) {
|
||
view="<a style='cursor:pointer; background: #F2F3FF'' >未派工</a>";
|
||
} else {
|
||
view="<a style='color: black;'>" + d.teamName + "</a>";
|
||
}
|
||
html=view;
|
||
return html;
|
||
}
|
||
},
|
||
{title: "操作", unresize: true, width: 85, align: "center",
|
||
templet: function (d) {
|
||
|
||
let html = '';
|
||
let view="<a style='cursor:pointer;' onclick=\"addData('" + d.id + "')\">详情</a>";
|
||
html=view;
|
||
if(d.delFlag==1){
|
||
return '';
|
||
}
|
||
return html;
|
||
}
|
||
},
|
||
],
|
||
],
|
||
done: function (res, curr, count) {
|
||
layer.close(loadingMsg);
|
||
table.resize("table_data");
|
||
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
|
||
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
|
||
var suborders_data_arr=res.data;
|
||
for (let suborders_key in suborders_data_arr) {
|
||
if (suborders_data_arr[suborders_key]['teamName']!=null&&suborders_data_arr[suborders_key]['teamName']!="") {
|
||
let index = suborders_data_arr[suborders_key]['LAY_TABLE_INDEX'];
|
||
$('tr[data-index=' + index + '] input[type="checkbox"]').prop('disabled', true).attr("name","layTableCheckboxDisabled"); // 禁止部分选择
|
||
}
|
||
};
|
||
form.render('checkbox');
|
||
},
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取选中的数据
|
||
*/
|
||
function getCheckedValues() {
|
||
let data = table.checkStatus("table_data").data;
|
||
let ids = [];
|
||
if (data.length === 0) {
|
||
return '';
|
||
}
|
||
for (let i = 0; i < data.length; i++) {
|
||
if (!data[i].teamName) {
|
||
// teamName 为空时才加入 ids 数组
|
||
ids.push(data[i].id);
|
||
}
|
||
}
|
||
console.log("ids1:", ids);
|
||
console.log("ids2:", ids.join(','))
|
||
// 将 ids 数组用逗号分隔成字符串
|
||
return ids.join(',');
|
||
}
|
||
|
||
// 获取参数
|
||
function getReqParams(page, limit, type) {
|
||
var selectedValue =$('#sampleTools').val()
|
||
// 2. 查找对应的选项文本
|
||
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
|
||
if (selectedText=='请选择'){
|
||
selectedText=''
|
||
}
|
||
let obj = {};
|
||
if (!type) {
|
||
obj = {
|
||
page: page + "",
|
||
limit: limit + "",
|
||
sampleTools: selectedText,
|
||
collectSamplesUser:$('#collectSamplesUser').val(),
|
||
keyWord:$('#keyWord').val()
|
||
};
|
||
} else {
|
||
obj = {
|
||
page: '1',
|
||
limit: '10',
|
||
sampleTools: '',
|
||
collectSamplesUser: '',
|
||
keyWord: ''
|
||
};
|
||
}
|
||
console.log(obj)
|
||
obj={
|
||
encryptedData:encryptCBC(JSON.stringify(obj))
|
||
}
|
||
return obj;
|
||
}
|
||
|
||
// 查询/重置
|
||
function query() {
|
||
let pattern = new RegExp("[%_<>]");
|
||
if (pattern.test($("#loginName").val())) {
|
||
$("#loginName").val('');
|
||
return layer.msg('用户名查询包含特殊字符,请重新输入', {
|
||
icon: 2,
|
||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||
});
|
||
}
|
||
if (pattern.test($("#phone").val())) {
|
||
$("#phone").val('');
|
||
return layer.msg('手机号查询包含特殊字符,请重新输入', {
|
||
icon: 2,
|
||
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
||
});
|
||
}
|
||
pageNum = 1;
|
||
pages(1, limitSize);
|
||
}
|
||
|
||
|
||
//重置
|
||
function reset() {
|
||
pages(1, limitSize, 1)
|
||
}
|
||
|
||
|
||
function reloadData() {
|
||
pages(pageNum, limitSize);
|
||
}
|
||
|
||
// 新增/修改平台用户
|
||
function addData(id) {
|
||
if (id) {
|
||
title = '收样管理/详情';
|
||
}
|
||
let param = {
|
||
'id': id
|
||
}
|
||
openIframe2("addOrEditUser", title, "child/samplesForm.html", '100%', '100%', param);
|
||
}
|
||
|
||
/**
|
||
* 收样
|
||
*/
|
||
function collectSamples(id) {
|
||
title = '收样';
|
||
let param = {
|
||
'id': id
|
||
}
|
||
openIframe2("addOrEditUser", title, "child/samplesAdd.html", '70%', '90%', param);
|
||
}
|
||
|
||
/**
|
||
* 检查是否有权限
|
||
*/
|
||
function isHasAuth(name) {
|
||
//先去查一下是否有权限,后台接口查询
|
||
let url = dataUrl + '/samples/getAuthority';
|
||
let params = {
|
||
'name': name
|
||
}
|
||
params = {
|
||
encryptedData: encryptCBC(JSON.stringify(params))
|
||
}
|
||
ajaxRequest(url, "POST", params, true, function () {
|
||
}, function (result) {
|
||
if (result.code === 200) {
|
||
if (result.data){
|
||
if (name=='派工'){
|
||
dispatch();
|
||
}else if (name=='收样'){
|
||
collectSamples('');
|
||
}
|
||
}else {
|
||
return layer.msg('您不具有该功能权限', {icon: 7})
|
||
}
|
||
} else {
|
||
layer.alert(result.msg, {icon: 2})
|
||
}
|
||
}, function (xhr) {
|
||
error(xhr)
|
||
});
|
||
|
||
}
|
||
|
||
/**
|
||
* 派工
|
||
*/
|
||
function dispatch() {
|
||
//获取复选框选中数据的Id
|
||
var ids = getCheckedValues();
|
||
if (ids==='') {
|
||
return layer.msg('请选择需要派工的数据', {icon: 7})
|
||
} else {
|
||
layer.open({
|
||
type: 1,
|
||
id: 'dispatch',
|
||
area: ['380px', '45%'],
|
||
resize: false,
|
||
shadeClose: true,
|
||
title: '请选择试验班组',
|
||
content: `
|
||
<div class="layui-form" lay-filter="filter-test-layer" style="margin: 16px;">
|
||
<div class="demo-login-container">
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-wrap">
|
||
<select id="teamId" lay-filter="teamId" lay-verify="required" placeholder="请选择班组" name="teamId" class="form-control input-sm">
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="margin-top: 45%;margin-left: 46%">
|
||
<button class="layui-btn" lay-filter="demo-login">取消</button>
|
||
<button class="layui-btn" lay-submit lay-filter="upload">确认派工</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
`,
|
||
success: function () {
|
||
// 对弹层中的表单进行初始化渲染
|
||
form.render();
|
||
getTeamSelected();
|
||
// 表单提交事件
|
||
form.on('submit(upload)', function (data) {
|
||
console.log("data.field:",data.field)
|
||
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||
let url = dataUrl + '/samples/dispatchWork';
|
||
let params = {
|
||
"ids": ids,
|
||
teamId: data.field.teamId
|
||
}
|
||
params={
|
||
encryptedData:encryptCBC(JSON.stringify(params))
|
||
}
|
||
ajaxRequest(url, "POST", params, true, function () {
|
||
}, function (result) {
|
||
layer.close(loadingMsg); // 关闭提示层
|
||
if (result.code === 200) {
|
||
closePage(1);
|
||
parent.layer.msg("派工成功", {icon: 1});
|
||
}else {
|
||
layer.alert(result.msg, {icon: 2})
|
||
}
|
||
}, function (xhr) {
|
||
layer.close(loadingMsg); // 关闭提示层
|
||
error(xhr)
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 获取班组数据
|
||
*/
|
||
function getTeamSelected() {
|
||
let url = dataUrl + '/samples/getTeamSelected';
|
||
ajaxRequest(url, "POST", null, true, function () {
|
||
}, function (result) {
|
||
if (result.code === 200) {
|
||
setSelectValue(result.data, 'teamId');
|
||
// return result.data
|
||
} else {
|
||
layer.alert(result.msg, {icon: 2})
|
||
}
|
||
}, function (xhr) {
|
||
error(xhr)
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 下拉选表单赋值
|
||
*/
|
||
function setSelectValue(list, selectName) {
|
||
console.log("list",list)
|
||
let html = '<option value="" selected>请选择</option>';
|
||
$.each(list, function (index, item) {
|
||
html += '<option value="' + item.id + '">' + item.name + '</option>';
|
||
})
|
||
$('#' + selectName).empty().append(html);
|
||
layui.form.render();
|
||
}
|
||
|
||
function closePage(type) {
|
||
layer.closeAll();
|
||
if (type === 1) {
|
||
pages(1, 10, 1)
|
||
}
|
||
} |