515 lines
26 KiB
HTML
515 lines
26 KiB
HTML
<!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"></i>下载模板</button>
|
||
<button type="button" id="LAY-excel-upload" class="layui-btn layui-btn-sm"><i class="layui-icon"></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> |