2021-11-01 15:39:51 +08:00

515 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../../lib/layui-v2.5.5/css/layui.css" media="all">
<link rel="stylesheet" href="../../../css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 0">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">图纸编号</label>
<div class="layui-input-inline">
<input type="text" name="FileNum" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">图纸名称</label>
<div class="layui-input-inline">
<input type="text" name="FileName" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit
lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
</div>
</div>
</form>
</div>
</fieldset>
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
<button type="button" id="LAY-excel-download" class="layui-btn layui-btn-sm" lay-event="download"><i class="layui-icon">&#xe601;</i></button>
<button type="button" id="LAY-excel-upload" class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe67c;</i></button>
</div>
</script>
<table class="layui-hide" id="GalleryFilesList" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
</script>
</div>
</div>
<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="../../../js/lay-config.js" charset="utf-8"></script>
<script src="../../../js/PublicParameters/PublicParameters.js" charset="utf-8"></script>
<script>
layui.use(['form', 'table', 'upload', 'excel'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table,
excel = layui.excel,
upload = layui.upload;;
var apiUrl = GetWebApiUrl();
var listUrl = apiUrl + '/api/services/app/GalleryFiles/GetAllGalleryFiles';
var ProjectID = getQueryString('ProjectID');
if (ProjectID != '') {
listUrl += '?ProjectID=' + ProjectID;
}
table.render({
elem: '#GalleryFilesList',
url: listUrl,
parseData: function (res) { //res 即为原始返回的数据
return {
"code": res.result.code, //解析接口状态
"msg": res.result.msg, //解析提示文本
"count": res.result.count, //解析数据长度
"data": res.result.data //解析数据列表
};
},
toolbar: '#toolbar',
defaultToolbar: ['filter', 'exports'],
cols: [[
{ type: "checkbox", width: 50 },
{ type: "numbers", title: '序号', width: 30 },
{ field: 'id', hide: true, width: 300, title: 'ID' },
{ field: 'createTime', hide: true, width: 200, title: '创建时间' },
{ field: 'fileNum', width: 170, title: '图样编号', sort: true, align: "center" },
{ field: 'patternType', width: 150, title: '图样类型', sort: true, align: "center", templet: '#patternType' },
{ field: 'fileName', width: 250, title: '图样名称', align: "left" },
{ field: 'pictureFrame', width: 80, title: '图幅', sort: true, align: "center" },
{ field: 'isAnnex', width: 110, title: '图纸查看', align: "center", templet: '#isAnnex' },
{ field: 'isCard', width: 110, title: '检验卡片', align: "center", templet: '#isCard' },
{ field: 'annex_id', hide: true, width: 110, title: '图纸ID', align: "center" },
{ field: 'card_id', hide: true, width: 110, title: '卡片ID', align: "center" },
{ field: 'annex_url', hide: true, width: 110, title: '图纸URL', align: "center" },
{ field: 'card_url', hide: true, width: 110, title: '卡片URL', align: "center" },
{ field: 'remark', width: 300, title: '备注', sort: true, align: "left" },
{ title: '操作', width: 200, toolbar: '#currentTableBar', align: "center" }
]],
initSort: {
field: 'createTime', //排序字段,对应 cols 设定的各字段名
type: 'desc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
},
limits: [10, 15, 20, 25, 50, 100],
limit: 15,
page: true,
skin: 'line'
});
upload.render({
elem: '#LAY-excel-upload', //绑定元素
url: '/upload/', //上传接口PS:这里不用传递整个 excel
auto: false, //选择文件后不自动上传
accept: 'file',
choose: function (obj) {// 选择文件回调
var files = obj.pushFile()
var fileArr = Object.values(files)// 注意这里的数据需要是数组,所以需要转换一下
// 用完就清理掉,避免多次选中相同文件时出现问题
for (var index in files) {
if (files.hasOwnProperty(index)) {
delete files[index]
}
}
$('#LAY-excel-upload').next().val('');
uploadExcel(fileArr) // 如果只需要最新选择的文件,可以这样写: uploadExcel([files.pop()])
}
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var result = JSON.stringify(data.field);
//执行搜索重载
table.reload('GalleryFilesList', {
page: {
curr: 1
}
, where: {
FileNum: data.field.FileNum,
FileName: data.field.FileName,
}
}, 'data');
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听添加操作
var ProjectID = getQueryString('ProjectID');
var ProjectCode = getQueryString('ProjectCode');
var index = layer.open({
title: '新增',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['95%', '95%'],
content: 'addPattern.html?ProjectID=' + ProjectID + '&ProjectCode=' + ProjectCode,
});
$(window).on("resize", function () {
layer.full(index);
});
} else if (obj.event === 'delete') { // 监听删除操作
var checkStatus = table.checkStatus('GalleryFilesList'),
data = checkStatus.data;
if (data.length == 0) {
layer.alert('请选择至少一个图纸编号!');
return false;
}
delGalleryFiles(data);
return false;
}
else if (obj.event === 'download') { // 监听删除操作
var url = 'http://192.168.3.112:21021/TemplateFiles/图样管理批量导入模板.xlsx';
window.location.href = url;
}
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('tool(currentTableFilter)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var ProjectID = getQueryString('ProjectID');
var ProjectCode = getQueryString('ProjectCode');
var PatternID = data.id;
var index = layer.open({
title: '编辑',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['50%', '95%'],
content: 'editPattern.html?ProjectID=' + ProjectID + '&ProjectCode=' + ProjectCode + '&PatternID=' + PatternID,
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
} else if (obj.event === 'delete') {
delSingleGalleryFiles(data);
return false;
}
});
//批量删除用户
function delGalleryFiles(data) {
//弹出确认弹窗
layer.confirm('确认删除吗?', function () {
var apiUrl = GetWebApiUrl();
var CurrUserInfo = layui.sessionData('CurrUserInfo');
//删除所选的图纸编号信息更新isdelete字段为1
for (let index = 0; index < data.length; index++) {
$.ajax({
url: apiUrl + "/api/services/app/GalleryFiles/UpdateDelStateGalleryFiles", //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
contentType: 'application/json',
data: JSON.stringify({
id: data[index].id,
updateUserID: CurrUserInfo.data.userid,
updateUserName: CurrUserInfo.data.userName,
isDelete: 1,
}), //参数值
type: "PUT", //请求方式
success: function (req) {
if (req.result.code == 1) {
//请求成功时处理
layer.msg('删除成功', { time: 1000 }, function () {
window.location.reload();
});
}
else {
/*错误信息处理*/
layer.alert("图纸编号:" + data[index].fileNum + " 删除失败,请重试!");
return false;
}
},
error: function () {
/*错误信息处理*/
layer.alert("图纸编号:" + data[index].fileNum + " 删除失败,请重试!");
return false;
},
});
}
return false;
});
}
//删除单个用户
function delSingleGalleryFiles(data) {
//弹出确认弹窗
layer.confirm('确认删除吗?', function () {
//删除所选的图纸编号信息更新isdelete字段为1
var apiUrl = GetWebApiUrl();
var CurrUserInfo = layui.sessionData('CurrUserInfo');
$.ajax({
url: apiUrl + "/api/services/app/GalleryFiles/UpdateDelStateGalleryFiles", //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
contentType: 'application/json',
data: JSON.stringify({
id: data.id,
updateUserID: CurrUserInfo.data.userid,
updateUserName: CurrUserInfo.data.userName,
isDelete: 1,
}), //参数值
type: "PUT", //请求方式
success: function (req) {
if (req.result.code == 1) {
//请求成功时处理
layer.msg('删除成功', { time: 1000 }, function () {
window.location.reload();
});
}
else {
/*错误信息处理*/
layer.alert("图纸编号:" + data.fileNum + " 删除失败,请重试!");
return false;
}
},
error: function () {
/*错误信息处理*/
layer.alert("图纸编号:" + data.fileNum + " 删除失败,请重试!");
return false;
},
});
return false;
});
}
function uploadExcel(files) {
try {
excel.importExcel(files, {
// 读取数据的同时梳理数据
fields: {
'number': 'C',
'patterntype': 'G',
'filename': 'J',
'signaturecode': 'H',
'subcode': 'I',
'pictureframe': 'K',
'remark': 'L',
}
}, function (data) {
var dataArr = data[0].Sheet1;
//数据校验
if (dataArr.length > 1) {
//从1开始避过标题
for (let index = 2; index < dataArr.length; index++) {
if (dataArr[index].patterntype != 0 && dataArr[index].patterntype != 2 && dataArr[index].patterntype != 5 && dataArr[index].patterntype != 6 && dataArr[index].patterntype != 8) {
//图样类型
layer.msg("序号:" + dataArr[index].number + " 的数据,图样类型有误,请检查!");
return false;
}
if (dataArr[index].patterntype == 5 || dataArr[index].patterntype == 6 || dataArr[index].patterntype == 8) {
//特征码
if (dataArr[index].signaturecode == '' || dataArr[index].signaturecode == null || dataArr[index].signaturecode == undefined) {
layer.msg("序号:" + dataArr[index].number + " 的数据,特征码不能为空,请检查!");
return false;
}
}
if (dataArr[index].subcode != '' && dataArr[index].subcode != null && dataArr[index].subcode != undefined) {
//附加尾号
var pattern = /^[1-9]\d*$/;//非零的正整数
if (pattern.test(dataArr[index].subcode) == false) {
layer.msg("序号:" + dataArr[index].number + " 的数据,附加尾号有误,请检查!");
return false;
}
else if (parseInt(dataArr[index].subcode) < 1 || parseInt(dataArr[index].subcode) > 999) {
layer.msg("序号:" + dataArr[index].number + " 的数据附加尾号的值为1-999之间的整数请检查");
return false;
}
}
if (dataArr[index].pictureframe != '' && dataArr[index].pictureframe != null && dataArr[index].pictureframe != undefined) {
//图幅
if (dataArr[index].pictureframe != 'A1' && dataArr[index].pictureframe != 'A2' && dataArr[index].pictureframe != 'A3' && dataArr[index].pictureframe != 'A4') {
layer.msg("序号:" + dataArr[index].number + " 的数据,图幅有误,请检查!");
return false;
}
}
}
}
else {
layer.msg("导入的Excel没有数据请检查");
return false;
}
//校验无误,保存导入的数据
for (let index = 2; index < dataArr.length; index++) {
var CurrUserInfo = layui.sessionData('CurrUserInfo');
var order = '';
$.ajax({
url: apiUrl + '/api/services/app/GalleryFiles/GetGalleryFilesTypeCount', //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
data: { Type: dataArr[index].patterntype }, //参数值
type: "GET", //请求方式
success: function (req) {
//请求成功时处理
if (!isNaN(parseInt(req.result.count))) {
var count = parseInt(req.result.count) + 1;
count = count + '';
if (count.length == 1) {
order = '00' + count;
}
else if (count.length == 2) {
order = '0' + count;
}
else {
order = count + '';
}
}
else {
layer.msg("获取序列号无效,请检查!");
return false;
}
},
error: function () {
/*错误信息处理*/
layer.msg("获取序列号失败,请重试!");
return false;
},
});
var FileNumber = getFileNumber(dataArr[index].patterntype, dataArr[index].signaturecode, order, dataArr[index].subcode);
var ProjectCode = getQueryString('ProjectCode');
$.ajax({
url: apiUrl + "/api/services/app/GalleryFiles/CreateGalleryFiles", //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
contentType: 'application/json',
data: JSON.stringify({
projectID: ProjectID,
projectCode: ProjectCode,
patternType: dataArr[index].patterntype,
fileNum: FileNumber,
subCode: dataArr[index].subcode,
fileName: dataArr[index].filename,
pictureFrame: dataArr[index].pictureframe,
remark: dataArr[index].remark,
isAnnex: 0,
isCard: 0,
isDelete: 0,
createTime: getDatetime(),
createUserID: CurrUserInfo.data.userid,
createUserName: CurrUserInfo.data.userName
}), //参数值
type: "POST", //请求方式
success: function (req) {
//请求成功时处理
},
error: function () {
/*错误信息处理*/
layer.msg("导入失败,请重试!");
return false;
},
});
}
layer.msg('导入成功', { time: 1000 }, function () {
table.reload('GalleryFilesList');
});
})
} catch (e) {
layer.alert(e.message)
}
}
//创建编号
function getFileNumber(patterntype, signaturecode, order, subcode) {
var ProjectCode = getQueryString('ProjectCode');
//文件编号
var fileNum = '';
if (patterntype == 5 || patterntype == 6 || patterntype == 8) {
fileNum = patterntype + ProjectCode + '-' + signaturecode + '-' + order;
}
else {
fileNum = patterntype + ProjectCode + order;
}
if (subcode != '' && subcode != undefined && subcode != null) {
fileNum += '-' + '1~' + subcode;
}
return fileNum;
}
});
function openFiles(Url) {
Url = apiUrl + Url;
// var index = layer.open({
// title: '查看',
// type: 2,
// shade: 0.2,
// maxmin: true,
// shadeClose: true,
// area: ['95%', '95%'],
// content: Url
// });
window.open(Url);
}
</script>
<script type="text/html" id="patternType">
{{# if(d.patternType ==0 ){ }}
<span>原理图</span>
{{# } else if(d.patternType ==2 ){ }}
<span>总装图号</span>
{{# } else if(d.patternType ==5 ){ }}
<span>部件</span>
{{# } else if(d.patternType ==6 ){ }}
<span>可销售部件</span>
{{# } else if(d.patternType ==8 ){ }}
<span>零件</span>
{{# } }}
</script>
<script type="text/html" id="isAnnex">
{{# if(d.isAnnex ==0 ){ }}
<span>未上传</span>
{{# } else { }}
<a href="#" id="openFiles" class="layui-table-link" style='text-decoration:underline;' onclick="openFiles('{{d.annex_url}}');">查看</a>
{{# } }}
</script>
<script type="text/html" id="isCard">
{{# if(d.isCard ==0 ){ }}
<span>未上传</span>
{{# } else { }}
<a href="#" id="openFiles" class="layui-table-link" style='text-decoration:underline;' onclick="openFiles('{{d.card_url}}');">查看</a>
{{# } }}
</script>
</body>
</html>