在头部增加;工程、专业、工序选择

This commit is contained in:
lSun 2025-05-23 16:46:21 +08:00
parent 3dbc3273c7
commit 71d96179ed
8 changed files with 372 additions and 241 deletions

View File

@ -26,6 +26,11 @@
margin: 0; margin: 0;
margin-left: 15px; margin-left: 15px;
} }
.selectd{
padding-top: 1%;
color: #FFFFFF;
font-size: 20px;
}
</style> </style>
<body> <body>
<div class="layui-layout layui-layout-admin" style="border-bottom: solid 5px #eeecec;height: 65px;"> <div class="layui-layout layui-layout-admin" style="border-bottom: solid 5px #eeecec;height: 65px;">
@ -39,7 +44,30 @@
<div class="admin-side-toggle" style="display: none;"> <div class="admin-side-toggle" style="display: none;">
<i class="fa fa-bars" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i>
</div> </div>
<div class="layui-form-item selectd" style="margin-left: 8%;" >
<label class="layui-form-label" style="width: 100px;">项目名称:</label>
<div class="layui-input-inline" style="width: 210px;">
<select class="layui-input" id="proId" name="proName" lay-verify="required" lay-search="" lay-filter="proId">
</select>
</div> </div>
<label class="layui-form-label">专业:</label>
<div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search="">
</select>
</div>
<label class="layui-form-label">工序:</label>
<div class="layui-input-inline">
<select class="layui-input" id="gxId" name="gxName" lay-filter="gxId" lay-search="">
</select>
</div>
</div>
</div>
<ul class="layui-nav" pc style="background-color: transparent !important;"> <ul class="layui-nav" pc style="background-color: transparent !important;">
<li class="layui-nav-item"> <li class="layui-nav-item">
<!-- <a href='javascript:;' lay-id="-997" data-url="pages/notice/noticePubList.html"><i class="fa fa-envelope-o" aria-hidden="true" title="公告" unreadNotice></i></a>--> <!-- <a href='javascript:;' lay-id="-997" data-url="pages/notice/noticePubList.html"><i class="fa fa-envelope-o" aria-hidden="true" title="公告" unreadNotice></i></a>-->
@ -100,6 +128,7 @@
<script type="text/javascript" src="js/libs/jquery-3.7.0.min.js"></script> <script type="text/javascript" src="js/libs/jquery-3.7.0.min.js"></script>
<script type="text/javascript" src="js/jq.js"></script> <script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript" src="js/publicJs.js"></script> <script type="text/javascript" src="js/publicJs.js"></script>
<script type="text/javascript" src="js/select.js"></script>
<script type="text/javascript" src="js/my/aes.js"></script> <script type="text/javascript" src="js/my/aes.js"></script>
<script type="text/javascript" src="js/ajaxRequest.js"></script> <script type="text/javascript" src="js/ajaxRequest.js"></script>
<script type="text/javascript" src="js/main.js"></script> <script type="text/javascript" src="js/main.js"></script>

View File

@ -19,11 +19,21 @@ let files1, files2;
let proId, proName, majorId, majorName, gxId, gxName; let proId, proName, majorId, majorName, gxId, gxName;
let formData; let formData;
layui.use(['laydate', 'upload'], function () {
let selectedProId = localStorage.getItem('selectedProId');
let selectedProName = localStorage.getItem('selectedProName');
let selectedMajor = localStorage.getItem('selectedMajor');
let selectedMajorName = localStorage.getItem('selectedMajorName');
let selectedGxId = localStorage.getItem('selectedGxId');
let selectedGxName = localStorage.getItem('selectedGxName');
layui.use(['laydate', 'upload', 'form'], function () {
var upload = layui.upload; var upload = layui.upload;
var layer = layui.layer; var layer = layui.layer;
var element = layui.element; var element = layui.element;
var $ = layui.$; var $ = layui.$;
var forms = layui.form;
var violation = JSON.stringify({ var violation = JSON.stringify({
uploadType: 1, // 上传类型 uploadType: 1, // 上传类型
@ -221,8 +231,34 @@ function setParams(params) {
processList = getProcessSelected(); processList = getProcessSelected();
if (idParam) { if (idParam) {
getUserById(); getUserById();
}else{
setTimeout(function () {
var s = parent.$('#proId').val()
alert(s);
if(selectedProId){
proId = selectedProId ;
proName = selectedProName;
$('#proId option[value=' + selectedProId + ']').attr('selected', true)
layui.form.render('select')
} }
if(selectedMajor){
majorId = selectedMajor ;
majorName = selectedMajorName;
$('#majorId option[value=' + selectedMajor + ']').attr('selected', true)
layui.form.render('select')
}
if(selectedMajor && selectedGxId){
let gxs = getGxsSelect(selectedMajor);
setSelectValueName(gxs, 'gxId', '请选择工序');
gxId = selectedGxId ;
gxName = selectedGxName;
$('#gxId option[value=' + selectedGxId + ']').attr('selected', true)
layui.form.render('select')
}
},100)
}
form.on('select(proId)', function (data) { form.on('select(proId)', function (data) {
// 获取选中的 id 和 name // 获取选中的 id 和 name
const selectedId = data.value; // 获取选中项的 value 值 const selectedId = data.value; // 获取选中项的 value 值
@ -266,6 +302,8 @@ function setParams(params) {
formData = data; formData = data;
uploadPhoto() uploadPhoto()
}); });
}); });
} }

View File

@ -1,32 +1,37 @@
let urlIds=new Array(); let urlIds = new Array();
initMenu(); initMenu();
initsy(); initsy();
function initMenu(){
getMajorSelected();
getProcessSelected();
getProSelected();
function initMenu() {
$.ajax({ $.ajax({
url: ctxPath + "/permissions/current", url: ctxPath + "/permissions/current",
type:"get", type: "get",
async:false, async: false,
success:function(result){ success: function (result) {
if (result.status === 200) { if (result.status === 200) {
var data = result.data var data = result.data
console.log(data); console.log(data);
if(!$.isArray(data)){ if (!$.isArray(data)) {
location.href=ctxPath + '/login.html'; location.href = ctxPath + '/login.html';
return; return;
} }
var menu = $("#menu"); var menu = $("#menu");
$.each(data, function(i,item){ $.each(data, function (i, item) {
var a = $("<a href='javascript:;'></a>"); var a = $("<a href='javascript:;'></a>");
var css = item.css; var css = item.css;
if(css!=null && css!=""){ if (css != null && css != "") {
a.append("<i aria-hidden='true' class='fa " + css +"'></i>"); a.append("<i aria-hidden='true' class='fa " + css + "'></i>");
} }
a.append("<cite>"+item.name+"</cite>"); a.append("<cite>" + item.name + "</cite>");
a.attr("lay-id", item.id); a.attr("lay-id", item.id);
urlIds.push(item.id); urlIds.push(item.id);
var href = item.href; var href = item.href;
if(href != null && href != ""){ if (href != null && href != "") {
a.attr("data-url", href); a.attr("data-url", href);
} }
@ -39,12 +44,12 @@ function initMenu(){
//多级菜单 //多级菜单
setChild(li, item.child) setChild(li, item.child)
}); });
localStorage.setItem("uelData",urlIds.join("@")); localStorage.setItem("uelData", urlIds.join("@"));
} else if (result.status === 500) { } else if (result.status === 500) {
layer.alert(result.msg, {icon: 2}) layer.alert(result.msg, {icon: 2})
} }
}, error : function(xhr, textStatus, errorThrown) { }, error: function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText; var msg = xhr.responseText;
var response = JSON.parse(msg); var response = JSON.parse(msg);
var status = response.status; var status = response.status;
@ -55,27 +60,29 @@ function initMenu(){
} }
}); });
} }
function initsy() { function initsy() {
var $tabs=$('#menu'); var $tabs = $('#menu');
var $tabsTitle = $tabs.find('.layui-nav-item a'); var $tabsTitle = $tabs.find('.layui-nav-item a');
$.each($tabsTitle,function(idx, ele){ $.each($tabsTitle, function (idx, ele) {
var id=$(ele).attr("lay-id"); var id = $(ele).attr("lay-id");
$("#sy").attr("src","pages/home/home.html?token="+localStorage.getItem("token")); $("#sy").attr("src", "pages/home/home.html?token=" + localStorage.getItem("token"));
}) })
} }
function setChild(parentElement, child){
if(child != null && child.length > 0){ function setChild(parentElement, child) {
$.each(child, function(j,item2){ if (child != null && child.length > 0) {
$.each(child, function (j, item2) {
var ca = $("<a href='javascript:;'></a>"); var ca = $("<a href='javascript:;'></a>");
ca.attr("data-url", item2.href); ca.attr("data-url", item2.href);
ca.attr("lay-id", item2.id); ca.attr("lay-id", item2.id);
urlIds.push(item2.id) urlIds.push(item2.id)
var css2 = item2.css; var css2 = item2.css;
if(css2!=null && css2!=""){ if (css2 != null && css2 != "") {
ca.append("<i aria-hidden='true' class='fa " + css2 +"'></i>"); ca.append("<i aria-hidden='true' class='fa " + css2 + "'></i>");
} }
ca.append("<cite>"+item2.name+"</cite>"); ca.append("<cite>" + item2.name + "</cite>");
var dd = $("<dd></dd>"); var dd = $("<dd></dd>");
dd.append(ca); dd.append(ca);
@ -91,12 +98,13 @@ function setChild(parentElement, child){
// 登陆用户头像昵称 // 登陆用户头像昵称
showLoginInfo(); showLoginInfo();
function showLoginInfo(){
function showLoginInfo() {
$.ajax({ $.ajax({
type : 'get', type: 'get',
url : ctxPath + '/users/current', url: ctxPath + '/users/current',
async : false, async: false,
success : function(result) { success: function (result) {
if (result.status === 200) { if (result.status === 200) {
let data = result.data let data = result.data
$(".admin-header-user span").text(data.nickname); $(".admin-header-user span").text(data.nickname);
@ -107,8 +115,8 @@ function showLoginInfo(){
var sex = data.sex; var sex = data.sex;
var url = data.headImgUrl; var url = data.headImgUrl;
if(url == null || url == ""){ if (url == null || url == "") {
if(sex == 1){ if (sex == 1) {
url = ctxPath + "/img/avatars/sunny.png"; url = ctxPath + "/img/avatars/sunny.png";
} else { } else {
url = ctxPath + "/img/avatars/1.png"; url = ctxPath + "/img/avatars/1.png";
@ -120,7 +128,7 @@ function showLoginInfo(){
} }
var img = $(".admin-header-user img"); var img = $(".admin-header-user img");
img.attr("src", url); img.attr("src", url);
}else if (result.status === 500) { } else if (result.status === 500) {
layer.alert(result.msg, {icon: 2}) layer.alert(result.msg, {icon: 2})
} }
} }
@ -128,20 +136,18 @@ function showLoginInfo(){
} }
function logout() {
function logout(){
$.ajax({ $.ajax({
type : 'get', type: 'get',
url : ctxPath + '/logout', url: ctxPath + '/logout',
success : function(data) { success: function (data) {
localStorage.removeItem("token"); localStorage.removeItem("token");
location.href= ctxPath + '/login.html'; location.href = ctxPath + '/login.html';
} }
}); });
} }
function changeUserPwd(){ function changeUserPwd() {
let param = { let param = {
'id': '', 'id': '',
@ -152,46 +158,49 @@ function changeUserPwd(){
var active; var active;
var element ; var element;
var form;
layui.use(['layer', 'element'], function() { layui.use(['form', 'layer', 'element'], function () {
form = layui.form;
var $ = layui.jquery, var $ = layui.jquery,
layer = layui.layer; layer = layui.layer;
element = layui.element; //导航的hover效果、二级菜单等功能需要依赖element模块 element = layui.element; //导航的hover效果、二级菜单等功能需要依赖element模块
element.on('nav(demo)', function(elem){ element.on('nav(demo)', function (elem) {
//layer.msg(elem.text()); //layer.msg(elem.text());
}); });
//触发事件 //触发事件
active = { active = {
tabAdd: function(obj){ tabAdd: function (obj) {
var lay_id = $(this).attr("lay-id"); var lay_id = $(this).attr("lay-id");
var title = $(this).html() + '<i class="layui-icon" data-id="' + lay_id + '"></i>'; var title = $(this).html() + '<i class="layui-icon" data-id="' + lay_id + '"></i>';
//新增一个Tab项 //新增一个Tab项
element.tabAdd('admin-tab', { element.tabAdd('admin-tab', {
title: title, title: title,
content: '<iframe src="' + $(this).attr('data-url')+'?token='+localStorage.getItem("token") + '"></iframe>', content: '<iframe src="' + $(this).attr('data-url') + '?token=' + localStorage.getItem("token") + '"></iframe>',
id: lay_id id: lay_id
}); });
element.tabChange("admin-tab", lay_id); element.tabChange("admin-tab", lay_id);
}, },
tabDelete: function(lay_id){ tabDelete: function (lay_id) {
element.tabDelete("admin-tab", lay_id); element.tabDelete("admin-tab", lay_id);
}, },
tabChange: function(lay_id){ tabChange: function (lay_id) {
element.tabChange('admin-tab', lay_id); element.tabChange('admin-tab', lay_id);
} }
}; };
//添加tab //添加tab
$(document).on('click','a',function(){ $(document).on('click', 'a', function () {
if(!$(this)[0].hasAttribute('data-url') || $(this).attr('data-url')===''){ if (!$(this)[0].hasAttribute('data-url') || $(this).attr('data-url') === '') {
return; return;
} }
var tabs = $(".layui-tab-title").children(); var tabs = $(".layui-tab-title").children();
var lay_id = $(this).attr("lay-id"); var lay_id = $(this).attr("lay-id");
for(var i = 0; i < tabs.length; i++) { for (var i = 0; i < tabs.length; i++) {
if($(tabs).eq(i).attr("lay-id") == lay_id) { if ($(tabs).eq(i).attr("lay-id") == lay_id) {
active.tabChange(lay_id); active.tabChange(lay_id);
return; return;
} }
@ -201,18 +210,18 @@ var element ;
}); });
$(window).on('resize', function() { $(window).on('resize', function () {
var $content = $('.admin-nav-card .layui-tab-content'); var $content = $('.admin-nav-card .layui-tab-content');
$content.height($(this).height() - 147); $content.height($(this).height() - 147);
$content.find('iframe').each(function() { $content.find('iframe').each(function () {
$(this).height($content.height()); $(this).height($content.height());
}); });
}).resize(); }).resize();
//toggle左侧菜单 //toggle左侧菜单
$('.admin-side-toggle').on('click', function() { $('.admin-side-toggle').on('click', function () {
var sideWidth = $('#admin-side').width(); var sideWidth = $('#admin-side').width();
if(sideWidth === 200) { if (sideWidth === 200) {
$('#admin-body').animate({ $('#admin-body').animate({
left: '0' left: '0'
}); });
@ -244,6 +253,19 @@ var element ;
shadeMobile.on('click', function () { shadeMobile.on('click', function () {
$('body').removeClass('site-mobile'); $('body').removeClass('site-mobile');
}); });
// 监听选择事件并存储选中的值
document.getElementById('majorId').addEventListener('change', function () {
const selectElement = event.target;
const selectedId = selectElement.value; // 获取选中项的 value (id)
if (selectedId === '' || selectedId == '') {
setSelectValueName("", 'gxId', '请先选择专业');
} else {
let gxs = getGxsSelect(selectedId);
setSelectValueName(gxs, 'gxId', '请选择工序');
}
});
}); });
/** /**
@ -252,9 +274,9 @@ var element ;
* @param lay_id * @param lay_id
* @param title * @param title
*/ */
function parentOpen(url,lay_id,title){ function parentOpen(url, lay_id, title) {
const isContained = urlIds.includes(lay_id); const isContained = urlIds.includes(lay_id);
if(!isContained){ if (!isContained) {
return; return;
} }
@ -264,7 +286,7 @@ function parentOpen(url,lay_id,title){
} }
element.tabAdd('admin-tab', { element.tabAdd('admin-tab', {
title: title, title: title,
content: '<iframe src="' + url+'?token='+localStorage.getItem("token") + '"></iframe>', content: '<iframe src="' + url + '?token=' + localStorage.getItem("token") + '"></iframe>',
id: lay_id id: lay_id
}); });
@ -273,12 +295,54 @@ function parentOpen(url,lay_id,title){
} }
//iframe自适应 //iframe自适应
function resize(){ function resize() {
var $content = $('.admin-nav-card .layui-tab-content'); var $content = $('.admin-nav-card .layui-tab-content');
$content.height($(this).height() - 147); $content.height($(this).height() - 147);
$content.find('iframe').each(function() { $content.find('iframe').each(function () {
$(this).height($content.height()); $(this).height($content.height());
}); });
} }
/**
* 获取工程数据
*/
function getProSelected() {
let url = dataUrl + '/sys/select/getProsSelect';
let data = {
encryptedData: encryptCBC(JSON.stringify({}))
}
ajaxRequest(url, "POST", data, true, function () {
}, function (result) {
if (result.code === 200) {
setSelectValueName(result.data, 'proId', "请选择项目(可搜索)");
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
/**
* 获取专业数据
*/
function getMajorSelected() {
let url = dataUrl + '/sys/select/getProfessionSelect';
ajaxRequest(url, "GET", null, true, function () {
}, function (result) {
if (result.code === 200) {
setSelectValueName(result.data, 'majorId', "请选择专业");
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
/**
* 获取工序数据
*/
function getProcessSelected() {
setSelectValueName("", 'gxId', '请先选择专业');
}

View File

@ -71,15 +71,15 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">专业:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>专业:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search=""> <select class="layui-input" id="majorId" name="majorName" lay-verify="required" lay-filter="majorId" lay-search="">
</select> </select>
</div> </div>
<label class="layui-form-label">工序:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>工序:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="gxId" name="gxName" lay-filter="gxId" lay-search=""> <select class="layui-input" id="gxId" name="gxName" lay-verify="required" lay-filter="gxId" lay-search="">
</select> </select>
</div> </div>

View File

@ -65,7 +65,7 @@
</select> </select>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item" style="display: none">
<label class="layui-form-label">专业:</label> <label class="layui-form-label">专业:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search=""> <select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search="">

View File

@ -66,15 +66,15 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">专业:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>专业:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search=""> <select class="layui-input" id="majorId" name="majorName" lay-verify="required" lay-filter="majorId" lay-search="">
</select> </select>
</div> </div>
<label class="layui-form-label">工序:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>工序:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="gxId" name="gxName" lay-filter="gxId" lay-search=""> <select class="layui-input" id="gxId" name="gxName" lay-verify="required" lay-filter="gxId" lay-search="">
</select> </select>
</div> </div>

View File

@ -66,15 +66,15 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">专业:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>专业:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search=""> <select class="layui-input" id="majorId" name="majorName" lay-verify="required" lay-filter="majorId" lay-search="">
</select> </select>
</div> </div>
<label class="layui-form-label">工序:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>工序:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="gxId" name="gxName" lay-filter="gxId" lay-search=""> <select class="layui-input" id="gxId" name="gxName" lay-verify="required" lay-filter="gxId" lay-search="">
</select> </select>
</div> </div>

View File

@ -67,15 +67,15 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">专业:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>专业:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="majorId" name="majorName" lay-filter="majorId" lay-search=""> <select class="layui-input" id="majorId" name="majorName" lay-verify="required" lay-filter="majorId" lay-search="">
</select> </select>
</div> </div>
<label class="layui-form-label">工序:</label> <label class="layui-form-label"><i style="padding: 0 10px;">*</i>工序:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select class="layui-input" id="gxId" name="gxName" lay-filter="gxId" lay-search=""> <select class="layui-input" id="gxId" name="gxName" lay-verify="required" lay-filter="gxId" lay-search="">
</select> </select>
</div> </div>