ah_sz_gqj/src/main/resources/static/js/samples/samplesMge.js

367 lines
12 KiB
JavaScript
Raw Normal View History

2024-07-22 21:21:20 +08:00
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
let orgData,selectOrgId;
2024-07-23 18:23:48 +08:00
let quanju = new Array();//全局
let huancun = new Array();//缓存
2024-07-22 21:21:20 +08:00
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)
});
}
2024-07-23 18:23:48 +08:00
/**
* 获取数据
*/
2024-07-22 21:21:20 +08:00
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) {
if (result.data) {
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)
});
}
2024-07-23 18:23:48 +08:00
/**
* 分页
*/
2024-07-22 21:21:20 +08:00
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);
}
}
});
})
}
2024-07-23 18:23:48 +08:00
/**
* 初始化表格
*/
2024-07-22 21:21:20 +08:00
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: [
[
2024-07-23 18:23:48 +08:00
{type: 'checkbox', fixed: 'left', align: "center", templet: function(d) {
console.log("d.teamName:",d.teamName)
if (d.teamName != null) {
console.log("1223455")
return `<input type="checkbox" name="id" value="${d.id}" lay-skin="primary" lay-filter="test" disabled>`;
} else {
return `<input type="checkbox" name="id" value="${d.id}" lay-skin="primary" lay-filter="test">`;
}
}},
2024-07-22 21:21:20 +08:00
//表头
{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");
2024-07-23 18:23:48 +08:00
// 处理复选框禁用
let checkboxes = this.elem.next(".layui-table-view").find("input[type='checkbox']");
dataList.forEach((item, index) => {
console.log("item.teamName:",item.teamName)
if (item.teamName) {
// 禁用该行的复选框
checkboxes.eq(index).prop('disabled', true);
}
});
2024-07-22 21:21:20 +08:00
},
});
}
2024-07-23 18:23:48 +08:00
/**
* 获取选中的数据
*/
function getCheckedValues() {
let data = table.checkStatus("table_data").data;
let ids = [];
if (data.length === 0) {
return '';
2024-07-22 21:21:20 +08:00
}
2024-07-23 18:23:48 +08:00
for (let i = 0; i < data.length; i++) {
ids.push(data[i].id);
}
2024-07-22 21:21:20 +08:00
2024-07-23 18:23:48 +08:00
// 将 ids 数组用逗号分隔成字符串
return ids.join(',');
}
2024-07-22 21:21:20 +08:00
// 获取参数
function getReqParams(page, limit, type) {
var selectedValue =$('#sampleTools').val()
// 2. 查找对应的选项文本
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
2024-07-23 18:23:48 +08:00
if (selectedText=='请选择'){
2024-07-22 21:21:20 +08:00
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);
}
2024-07-23 18:23:48 +08:00
/**
* 派工
*/
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)
});
});
}
});
}
}
2024-07-22 21:21:20 +08:00
2024-07-23 18:23:48 +08:00
/**
* 获取班组数据
*/
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)
});
}
/**
* 下拉选表单赋值
*/
2024-07-22 21:21:20 +08:00
function setSelectValue(list, selectName) {
console.log("list",list)
2024-07-23 18:23:48 +08:00
let html = '<option value="" selected>请选择</option>';
2024-07-22 21:21:20 +08:00
$.each(list, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
$('#' + selectName).empty().append(html);
layui.form.render();
}
2024-07-23 18:23:48 +08:00
function closePage(type) {
layer.closeAll();
if (type === 1) {
pages(1, 10, 1)
}
}